/* Native links and server-rendered templates retain the approved V28 hierarchy. */
html,body{margin:0;padding:0}body{background:#faf9f6}#adept-sketch{container:adept / inline-size;color-scheme:light dark;min-height:100vh}#adept-sketch[data-appearance=light]{color-scheme:light}#adept-sketch[data-appearance=dark]{color-scheme:dark}
#adept-sketch a{color:inherit}#adept-sketch img{max-width:100%;height:auto}#adept-sketch figure{max-width:100%}#adept-sketch .ad-text-button{text-decoration:none}#adept-sketch a:focus-visible,#adept-sketch summary:focus-visible{outline:2px solid var(--ad-gold,#97834f);outline-offset:3px}#adept-sketch .ad-skip{position:absolute;left:-10000px;z-index:1000}#adept-sketch .ad-skip:focus{left:20px;top:20px;padding:16px;background:var(--ad-paper)}
#adept-sketch .ad-brand{display:block;text-decoration:none}#adept-sketch .ad-main-column{min-width:0}#adept-sketch .ad-rail-cover{display:block;margin:0 auto}
#adept-sketch .ad-wp-navigation{position:sticky;top:0;z-index:50;display:flex;gap:10px;align-items:center;overflow:visible;background:var(--ad-paper)}#adept-sketch .ad-wp-navigation #ad-navigation{display:flex;flex:1;gap:0;flex-wrap:nowrap;justify-content:space-between;padding:0;margin:0;border:0;min-width:0}#adept-sketch .ad-wp-navigation .ad-menu-entry{position:static;display:flex;align-items:center;min-width:0}#adept-sketch .ad-wp-navigation .ad-nav-link{display:flex;align-items:center;min-height:52px;font-size:clamp(14px,1.45cqi,18px);padding:6px 8px;text-decoration:none;white-space:nowrap}#adept-sketch .ad-nav-link[aria-current=page]{text-decoration:underline;text-underline-offset:7px}#adept-sketch .ad-wp-dropdown>summary{cursor:pointer;list-style:none;padding:12px 4px;min-width:24px;text-align:center}#adept-sketch .ad-wp-dropdown>summary::-webkit-details-marker{display:none}#adept-sketch .ad-wp-submenu{position:absolute;top:100%;left:0;max-height:70vh;overflow:auto;min-width:300px;width:min(820px,100%);padding:22px;background:var(--ad-paper);border:1px solid var(--ad-line);box-shadow:0 15px 20px -20px var(--ad-ink)}#adept-sketch .ad-wp-specialty{border-bottom:1px solid var(--ad-line);padding:8px 0}#adept-sketch .ad-wp-specialty summary{padding:10px;cursor:pointer}#adept-sketch .ad-wp-specialty .ad-v27-hub-link{padding-left:20px}#adept-sketch .ad-languages a{display:grid;place-items:center;min-width:36px;min-height:44px;font-size:12px;text-decoration:none}#adept-sketch .ad-languages a[aria-current=true]{background:var(--ad-ink);color:var(--ad-paper)}
#adept-sketch .ad-rotation-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:10px;color:var(--ad-secondary);min-height:40px}#adept-sketch .ad-rotation-bar>span{margin-right:auto}#adept-sketch .ad-rotation-bar button{background:var(--ad-paper);border:1px solid var(--ad-line);min-height:36px;min-width:36px;padding:4px 8px;font-size:11px}#adept-sketch .ad-rotation-items .adept-campaign{margin:0}#adept-sketch .ad-rotation-items figcaption{display:none}#adept-sketch .ad-phone-campaign{display:none}#adept-sketch .ad-header-campaign .adept-campaign{margin:0}
#adept-sketch .ad-wp-features{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scroll-padding:0 1px}#adept-sketch .ad-wp-features>.ad-feature-card{flex:0 0 calc((100% - 24px)/2);scroll-snap-align:start;display:flex;flex-direction:column}#adept-sketch .ad-wp-features h2{font-size:clamp(19px,2cqi,27px)}#adept-sketch .ad-wp-features .ad-photo{aspect-ratio:3/2;min-height:0;flex:none}#adept-sketch .ad-wp-features .adept-link{margin-top:auto;margin-bottom:12px}#adept-sketch .ad-wp-adoption{grid-template-columns:repeat(2,minmax(0,1fr))}#adept-sketch .ad-article-card{display:block!important;margin-bottom:24px}#adept-sketch .ad-article-card .ad-photo{display:block;aspect-ratio:3/2;min-height:0}#adept-sketch .ad-card-meta{font-size:11px;line-height:1.6;color:var(--ad-secondary);margin:8px 0}#adept-sketch .ad-article-card h3{font-size:19px;line-height:1.45}#adept-sketch .ad-wp-magazines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin:30px 0}#adept-sketch .ad-wp-magazines article{min-width:0}#adept-sketch .ad-wp-magazines a{text-decoration:none}#adept-sketch .ad-wp-magazines img{width:100%;max-width:250px;display:block}#adept-sketch .ad-wp-magazines h2{font-size:20px;margin-top:12px}#adept-sketch .ad-wp-hub{max-width:1050px;margin:30px auto}#adept-sketch .ad-event-card{padding:20px 0;border-top:1px solid var(--ad-line)}#adept-sketch .ad-event-card time{font-size:13px;color:var(--ad-secondary)}
#adept-sketch .ad-reading{width:100%;max-width:850px}#adept-sketch .ad-reading h1{text-align:left}#adept-sketch .ad-article-meta{font-size:13px;color:var(--ad-secondary);margin:18px 0}#adept-sketch .ad-article-feature{margin:24px 0}#adept-sketch .ad-article-feature img{display:block;width:auto;max-width:100%;height:auto}#adept-sketch .ad-article-feature figcaption,#adept-sketch .wp-caption-text{font-size:12px;color:var(--ad-secondary);line-height:1.6;margin-top:8px}#adept-sketch .ad-article-body{font-size:16px;line-height:1.9;overflow-wrap:break-word}#adept-sketch .ad-article-body p{margin:0 0 20px;text-align:justify}#adept-sketch .ad-article-body h2,#adept-sketch .ad-article-body h3{margin:28px 0 16px;text-align:left}#adept-sketch .ad-article-body ul,#adept-sketch .ad-article-body ol{padding-left:25px}#adept-sketch .ad-article-body img{height:auto;max-width:100%}#adept-sketch .ad-article-body .aligncenter{display:block;margin-left:0;margin-right:auto}#adept-sketch .ad-article-body .wp-caption{max-width:100%;margin-left:0}#adept-sketch .ad-article-body iframe{max-width:100%}#adept-sketch .ad-article-body iframe[src*="youtube"],#adept-sketch .ad-article-body iframe[src*="vimeo"]{width:100%;height:auto;aspect-ratio:16/9}#adept-sketch .ad-table-scroll{overflow-x:auto;max-width:100%;margin:24px 0}#adept-sketch .ad-table-scroll table{border-collapse:collapse;min-width:100%}#adept-sketch .ad-table-scroll td,#adept-sketch .ad-table-scroll th{padding:10px;border:1px solid var(--ad-line)}#adept-sketch .ad-article-body blockquote{margin:24px 0;padding:8px 24px;border-left:3px solid var(--ad-gold,#a79058)}
#adept-sketch .ad-pagination{display:flex!important;gap:8px;flex-wrap:wrap;margin:30px 0;border:0}#adept-sketch .ad-pagination a,#adept-sketch .ad-pagination span{padding:9px 14px;border:1px solid var(--ad-line)}#adept-sketch .ad-pagination .current{background:var(--ad-ink);color:var(--ad-paper)}#adept-sketch .ad-search-form label{display:block;font-size:13px;margin-bottom:9px}#adept-sketch .ad-search-controls input{background:var(--ad-paper);color:var(--ad-ink);border:1px solid var(--ad-line);padding:12px}#adept-sketch .ad-search-controls button{border:1px solid var(--ad-line);background:var(--ad-panel)}#adept-sketch .ad-footer-route{display:block;padding:14px 0;text-decoration:none;border-bottom:1px solid var(--ad-line)}#adept-sketch .ad-footer-brand-button{display:block;width:110px}
@container adept (max-width:1199px){#adept-sketch .ad-wp-features .ad-card-meta{order:0}#adept-sketch .ad-wp-features h2{order:1}#adept-sketch .ad-wp-features .ad-photo{order:2}#adept-sketch .ad-wp-features .ad-excerpt{order:3}#adept-sketch .ad-wp-features .adept-link{order:4}#adept-sketch .ad-wp-magazines{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container adept (max-width:899px){#adept-sketch .ad-wp-navigation{display:flex}#adept-sketch .ad-wp-navigation .ad-menu-toggle{display:block;margin-right:auto}#adept-sketch .ad-wp-navigation #ad-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:12px;background:var(--ad-paper);max-height:70vh;overflow:auto;border:1px solid var(--ad-line)}#adept-sketch .ad-wp-navigation #ad-navigation.ad-open{display:block}#adept-sketch .ad-wp-navigation .ad-menu-entry{display:flex;flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--ad-line)}#adept-sketch .ad-wp-navigation .ad-nav-link{font-size:17px;min-height:50px}#adept-sketch .ad-wp-dropdown[open]{width:100%}#adept-sketch .ad-wp-dropdown[open]>summary{text-align:right}#adept-sketch .ad-wp-submenu{position:static;width:100%;min-width:0;box-shadow:none;padding:10px;border:0}#adept-sketch .ad-v27-topic-groups{display:block}#adept-sketch .ad-head-actions{margin-left:0}#adept-sketch .ad-wp-magazines{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container adept (max-width:699px){#adept-sketch .ad-header-campaign{display:none}#adept-sketch .ad-phone-campaign{display:block;width:100%;max-width:728px}#adept-sketch .ad-wp-features>.ad-feature-card{flex-basis:100%}#adept-sketch .ad-wp-features .ad-photo{aspect-ratio:16/9}#adept-sketch .ad-wp-features .ad-excerpt{display:none}#adept-sketch .ad-wp-features h2{font-size:19px}#adept-sketch .ad-wp-adoption{grid-template-columns:1fr}#adept-sketch .ad-wp-magazines{gap:22px 14px}#adept-sketch .ad-wp-magazines h2{font-size:17px}#adept-sketch .ad-wp-magazines p{font-size:12px}#adept-sketch .ad-footer-connect nav{display:flex}#adept-sketch .ad-article-body{font-size:16px;line-height:1.85}#adept-sketch .ad-reading::before{inset:-12px -8px}}
@media(prefers-reduced-motion:reduce){#adept-sketch *{scroll-behavior:auto!important}}
/* Neutralize the prototype's measured button widths for native navigation links. */
#adept-sketch .ad-wp-navigation #ad-navigation{width:auto;max-width:none;transform:none;flex-direction:row}
#adept-sketch .ad-wp-navigation .ad-menu-entry{width:auto;max-width:none;flex:0 1 auto}
#adept-sketch .ad-wp-navigation .ad-nav-link{width:auto;flex:0 1 auto;justify-content:flex-start}
#adept-sketch .ad-wp-navigation .ad-menu-toggle{display:none}
@container adept (max-width:899px){#adept-sketch .ad-wp-navigation .ad-menu-toggle{display:flex}#adept-sketch .ad-wp-navigation #ad-navigation{width:100%}#adept-sketch .ad-wp-navigation .ad-menu-entry{width:100%}}
/* The production document scrolls in the viewport, unlike the bounded mockup. */
#adept-sketch .ad-site{height:auto;max-height:none;overflow:visible}
@container adept (max-width:699px){#adept-sketch[data-current-page="article"] .ad-reading::before{inset:-12px -8px}}
@container adept (max-width:1279px){#adept-sketch .ad-phone-campaign{display:block;width:728px;max-width:100%}}

/* Native catalogue filters and existing form plugins. */
#adept-content .ad-catalogue-filters{display:flex;flex-wrap:wrap;align-items:end;gap:18px;margin:24px 0}
#adept-content .ad-catalogue-filters label{display:grid;gap:6px;min-width:180px;flex:1}
#adept-content .ad-catalogue-filters :is(input,select){font:inherit;color:inherit;background:var(--ad-paper,#fff);border:1px solid currentColor;padding:12px;max-width:100%;min-width:0}
#adept-content .ad-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
#adept-content .ad-session-card{min-width:0;padding:20px;border:1px solid color-mix(in srgb,currentColor 25%,transparent)}
#adept-content .ad-session-card img{max-width:100%;height:auto}
#adept-content .ad-speakers{padding-left:20px}
#adept-content .ad-speakers span{display:block;font-size:.9em}
#adept-content .ad-native-form{max-width:900px;margin:40px auto}
#adept-content .ad-native-form :is(input:not([type=checkbox]):not([type=radio]),textarea,select){max-width:100%;font:inherit;box-sizing:border-box}
#adept-content .ad-native-form textarea{width:100%}
#adept-sketch .adept-footer .ad-social-links img{width:20px;height:20px;filter:brightness(0) invert(1)}
#adept-sketch .adept-footer .ad-keymar-logo{max-width:200px;height:auto;margin-top:24px}
@container adept (max-width:699px){#adept-content .ad-session-grid{grid-template-columns:1fr}#adept-content .ad-catalogue-filters label{min-width:100%;max-width:100%}}

.ad-commercial-label{font-size:.8rem;font-weight:600;color:var(--ad-muted,inherit);border-left:3px solid #b59b40;padding-left:.65rem}
.ad-native-form{max-width:850px;margin:2.5rem auto}.ad-native-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),.ad-native-form select{max-width:100%;box-sizing:border-box}.ad-native-form .gform_wrapper{padding:1rem}

/* Gravity Forms' default dark text must follow the page's light/dark palette. */
#adept-sketch .gform_wrapper :is(label,legend,.gform-field-label,.gfield_description,.gform_description,.gform_required_legend,.ginput_container_consent,.gfield_consent_description){color:var(--ad-ink)!important}
#adept-sketch .gform_wrapper .gfield_consent_description{border-color:var(--ad-line)}
#adept-sketch .gform_wrapper :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select){background:var(--ad-paper);color:var(--ad-ink);border:1px solid var(--ad-secondary);border-radius:2px;min-height:44px;font-size:16px}
#adept-sketch .gform_wrapper :is(input,textarea,select):focus-visible{outline:2px solid var(--ad-ink);outline-offset:3px}
#adept-sketch .gform_wrapper .gfield_required{color:var(--ad-ink)}

/* Native historical videos keep their aspect ratio within the article column. */
#adept-sketch .ad-article-body .wp-video{max-width:100%}
#adept-sketch .ad-article-body video{display:block;max-width:100%;height:auto}

/* Native event cards keep dates, titles and locations readable at every width. */
#adept-sketch .ad-event-card{display:block;padding:20px}
#adept-sketch .ad-event-card time{display:block;margin-bottom:10px}
#adept-sketch .ad-event-card h3{font-size:clamp(18px,15px + .3cqi,22px);line-height:1.4;margin:0 0 10px}
#adept-sketch .ad-event-card p{margin:0}

/* Validation summaries remain readable in the selected light or dark palette. */
#adept-sketch .gform_wrapper .gform_validation_errors{background:var(--ad-paper);border-color:var(--ad-ink);color:var(--ad-ink)}
#adept-sketch .gform_wrapper .gform_validation_errors :is(h2,a,.gform-icon){color:var(--ad-ink)!important}

/* Fidelity fix: use the existing light/dark ink token for the search arrow. */
#adept-sketch .ad-search-controls button{color:var(--ad-ink)}


/* Keep each mobile disclosure beside its label, with one scrollable menu. */
@container adept (max-width:899px) {
  #adept-sketch .ad-wp-navigation #ad-navigation > .ad-menu-entry {
    position:relative;display:block;border-inline-start:0;
  }
  #adept-sketch .ad-wp-navigation #ad-navigation > .ad-menu-entry > .ad-nav-link {
    display:flex;width:100%;min-height:56px;padding:12px 52px 12px 12px;
    justify-content:flex-start;text-align:left;font-size:16px;line-height:1.5;
  }
  #adept-sketch .ad-wp-navigation #ad-navigation > .ad-menu-entry > .ad-wp-dropdown {
    width:100%;
  }
  #adept-sketch .ad-wp-navigation #ad-navigation > .ad-menu-entry > .ad-wp-dropdown > summary {
    position:absolute;inset-block-start:6px;inset-inline-end:0;
    display:grid;place-items:center;width:44px;min-width:44px;height:44px;
    min-height:44px;padding:0;text-align:center;
  }
  #adept-sketch .ad-wp-navigation #ad-navigation .ad-wp-submenu {
    padding:0 12px 12px;max-height:none;overflow:visible;white-space:normal;
  }
}

/* Editorial archive QA: keep comparison tables readable on narrow screens.
   Horizontal scrolling stays inside the existing labelled, focusable region. */
#adept-sketch .ad-reading .ad-article-body .ad-table-scroll table {
 display:table;width:100%;min-width:36rem;max-width:none;table-layout:auto;overflow:visible;
}
#adept-sketch .ad-reading .ad-article-body .ad-table-scroll :is(th,td,caption,p) {
 text-align:start;text-align-last:auto;text-justify:auto;hyphens:manual;word-break:normal;
}
#adept-sketch .ad-reading .ad-article-body .ad-table-scroll :is(th,td) {
 min-width:10rem;vertical-align:top;line-height:1.65;
}
#adept-sketch .ad-reading .ad-article-body .ad-table-scroll caption {
 caption-side:top;padding:0 0 12px;font-size:.9em;line-height:1.5;
}
