/* Academy domain browser. Inherits the accepted site's display and body fonts. */
.af-domain{padding:clamp(64px,7vw,112px) 0;background:#f5f7f8;scroll-margin-top:185px}
.af-domain:nth-child(even){background:#fff}
.af-domain-heading{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:64px;margin-bottom:44px}
.af-domain-heading h2{font-family:var(--font-display);font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.12;letter-spacing:-.045em;margin:16px 0 0;max-width:20ch}
.af-domain-heading>p{color:#596575;font-size:1.03rem;line-height:1.75;margin:0;max-width:52ch}
.af-domain-tagline{font:500 1rem/1.5 var(--font-display);color:#556778;margin:18px 0 0}
.af-framework-context{border-top:1px solid #d9e3e9;margin:0 0 32px;padding:14px 0;color:#546371}.af-framework-context summary{font-size:.88rem;font-weight:700;cursor:pointer;min-height:44px;display:flex;align-items:center}.af-framework-context p{font-size:.9rem;line-height:1.7;max-width:85ch}
.af-work-preview,.af-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.af-work-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.af-work-item{padding:28px 0;border-top:2px solid #0093c4}.af-work-item>span{font-size:.7rem;letter-spacing:.04em;color:#007ba0;font-weight:700}.af-work-item h3{font:600 1.24rem/1.3 var(--font-display);letter-spacing:-.025em;margin:16px 0 13px}.af-work-item p{font-size:.91rem;line-height:1.75;color:#596878}.af-work-more{border-top:1px solid #dce5eb;margin-top:22px}.af-work-more summary{display:flex;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;font-size:.87rem;font-weight:700;min-height:44px}.af-work-more summary span{font-weight:400;color:#6a7685}
.af-browser{display:grid;grid-template-columns:minmax(245px, .34fr) minmax(0,1fr);gap:28px;align-items:start}
.af-services{display:grid;gap:10px;min-width:0}
.af-nav-label{font-size:.75rem;font-weight:700;color:#697586;margin:0 0 6px;padding:0 2px}
.af-service{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:21px 22px;border:1px solid #e3e8ec;border-radius:17px;background:#fff;color:#0b0f15;text-decoration:none;transition:background 180ms,color 180ms,border-color 180ms;min-height:106px;scroll-margin-top:195px}
.af-service-code{grid-column:1;font-size:.72rem;letter-spacing:.06em;color:#00799f;font-weight:800;margin-bottom:9px}
.af-service strong{grid-column:1;font:600 1.04rem/1.32 var(--font-display);letter-spacing:-.01em;padding-right:6px}
.af-service small{grid-column:1;font-size:.75rem;line-height:1.5;color:#657080;margin-top:7px}
.af-service-arrow{grid-column:2;grid-row:2;color:#008ebc;font-size:1.1rem}
.af-service:hover{border-color:#0093c4}.af-service[aria-selected="true"]{background:#0b0f15;color:#fff;border-color:#0b0f15}
.af-service[aria-selected="true"] small{color:#b8c1cd}.af-service[aria-selected="true"] .af-service-code,.af-service[aria-selected="true"] .af-service-arrow{color:#54c8ed}
.af-panel{min-width:0;border:1px solid #dfe6eb;border-radius:24px;background:white;overflow:clip;margin-bottom:24px;scroll-margin-top:185px}
.af-panel-heading{padding:clamp(27px,3.2vw,44px);background:#0b0f15;color:white}
.af-eyebrow{display:block;font-size:.68rem;font-weight:800;letter-spacing:.12em;line-height:1.5;color:#00789d}
.af-panel-heading .af-eyebrow{color:#63caea}
.af-panel-heading h3{font:600 clamp(1.6rem,2.5vw,2.45rem)/1.18 var(--font-display);letter-spacing:-.035em;margin:13px 0 18px;color:#fff;max-width:25ch}
.af-panel-heading>p{font-size:1rem;line-height:1.75;color:#c8d0d9;max-width:65ch;margin:0}
.af-panel-meta{display:flex;gap:22px;justify-content:space-between;align-items:center;margin-top:30px;padding-top:19px;border-top:1px solid #2d353e;font-size:.76rem;color:#aab6c3}
.af-panel-meta a{color:#6bd2f3;text-decoration:none;font-weight:700}.af-panel-meta a span{margin-left:9px}
.af-panel-body{padding:clamp(24px,3vw,40px)}
.af-topic-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.af-topic-heading h4{font:600 1rem/1.4 var(--font-display);margin:0}.af-topic-heading>span{font-size:.74rem;color:#697585}
.af-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.af-topic{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 13px;border:1px solid #e0e7eb;border-radius:9px;color:#334350;background:#fff;font-size:.76rem;line-height:1.45;text-decoration:none;min-height:48px;transition:background 150ms,border-color 150ms}
.af-topic-label{min-width:0;color:inherit;overflow-wrap:anywhere}.af-topic-arrow{color:#0087b1;justify-self:end}.af-topic:hover{border-color:#0093c4}.af-topic[aria-pressed="true"]{background:#edf8fc;border-color:#0093c4;color:#064b61}
.af-topic{font-size:.875rem}
.af-source-videos{margin-top:30px;padding-top:24px;border-top:1px solid #dbe5ea}
.af-source-videos a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;color:#00789d;font:600 .9rem/1.5 var(--font-body);text-decoration:underline;text-underline-offset:4px;margin-top:8px}
.af-source-videos a>span:first-child{min-width:0}.af-source-videos a>span:last-child{flex:0 0 auto}
.af-topic-detail{margin-top:24px;padding:26px 28px;background:#f5f8fa;border-radius:12px;border-left:3px solid #0093c4;scroll-margin-top:185px}
.af-topic-detail h4{font:600 1.27rem/1.35 var(--font-display);margin:10px 0 12px;letter-spacing:-.025em}
.af-topic-detail p{font-size:.93rem;line-height:1.7;margin:8px 0;color:#4c5968}
.af-programme-names{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin:22px 0;font-size:.86rem;color:#283b49}
.af-programme-names li{padding-bottom:8px;border-bottom:1px solid #dbe4e9}
.af-calendar-link{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;margin-top:24px;border:1px solid #acd8e7;background:#edf8fc;border-radius:10px;color:#006383;text-decoration:none;font-size:.88rem;font-weight:700}
.af-advisory h4{font:600 1.25rem/1.4 var(--font-display);margin:0 0 14px}.af-advisory p{color:#596575;font-size:.95rem;line-height:1.8}
.af-source-note,.af-sample-note{font-size:.75rem!important;line-height:1.6!important;color:#657281!important;margin-top:18px!important}
.af-sample{border-top:1px solid #e0e7eb;margin-top:32px;padding-top:28px}
.af-sample h5{font:600 1.3rem/1.3 var(--font-display);letter-spacing:-.02em;margin:10px 0 14px}
.af-sample>p{font-size:.88rem;line-height:1.65;color:#526170}
.af-demo-controls{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.af-demo-controls button,.af-survey-steps button,#afProgrammeMore{border:1px solid #d4e0e6;background:#fff;border-radius:9px;min-height:44px;padding:11px 14px;font:600 .78rem/1.4 var(--font-body);color:#334654;cursor:pointer;transition:background 160ms,border-color 160ms}
.af-demo-controls button:hover,.af-survey-steps button:hover{border-color:#0093c4}.af-demo-controls button[aria-pressed="true"],.af-survey-steps button[aria-pressed="true"]{background:#0b0f15;color:#fff;border-color:#0b0f15}
.af-conversation{display:grid;gap:16px;padding:22px;background:#f3f7fa;border-radius:14px}
.af-conversation p{margin:0;font-size:.88rem;line-height:1.7;padding:15px 19px;border-radius:12px;max-width:90%}
.af-message-user{background:#0b0f15;color:#fff;justify-self:end}.af-message-coach{background:#fff;color:#40515f;border:1px solid #dce7ed}
.af-survey-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}
.af-survey-steps button{text-align:left}.af-survey-steps button span{display:block;color:#0087b1;margin-bottom:8px;font-size:.7rem}
.af-survey-detail,.af-inspection-detail,.af-building-detail{padding:18px 20px;background:#edf8fc;border-left:3px solid #0093c4;border-radius:8px;font-size:.88rem;line-height:1.7;color:#3b5362}
.af-building svg,.af-bus{display:block;width:100%;height:auto;max-height:280px;background:#f5f8fa;border-radius:12px}
.af-gallery{margin-top:28px;border-top:1px solid #e0e7eb}
.af-gallery summary{display:flex;justify-content:space-between;gap:18px;font-weight:700;font-size:.84rem;cursor:pointer;padding:20px 0;min-height:44px}
.af-gallery summary span{color:#697586;font-weight:400}.af-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.af-gallery figure{margin:0;min-width:0}.af-gallery img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;object-position:left top;background:#f7f9fa;border:1px solid #e0e7eb;border-radius:10px}
.af-gallery figcaption{font-size:.73rem;line-height:1.5;color:#607081;padding-top:10px}
.af-next{display:flex;justify-content:space-between;align-items:center;gap:24px;color:#0b0f15;text-decoration:none;border-top:1px solid #dfe5ea;padding-top:25px;margin-top:38px;font-size:.84rem}.af-next>span{color:#657080}.af-next strong span{color:#0093c4;margin-left:18px}
.af-find-controls{display:grid;grid-template-columns:1fr 240px;gap:16px}.af-find-controls label{font-size:.77rem;font-weight:700;display:grid;gap:9px}
.af-find-controls input,.af-find-controls select{width:100%;padding:15px 17px;border:1px solid #d6e0e7;border-radius:11px;background:white;font:inherit;font-size:.95rem;color:#24333f;min-height:52px}
#afProgrammeCount{font-size:.82rem;color:#627080;margin:22px 0 15px}
.af-programme-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:start}.af-programme{border-top:1px solid #d8e1e6;min-width:0}
.af-programme summary{display:grid;grid-template-columns:85px 1fr 18px;gap:15px;align-items:center;padding:20px 0;list-style:none;cursor:pointer;min-height:70px}.af-programme summary::-webkit-details-marker{display:none}
.af-programme summary>span{font-size:.67rem;color:#00789d}.af-programme summary strong{font:600 .94rem/1.4 var(--font-display)}.af-programme summary b{color:#0088b3;font-size:1.1rem;font-weight:400}.af-programme[open] summary b{transform:rotate(45deg)}
.af-programme>div{padding:0 0 24px}.af-programme p,.af-programme li{font-size:.9rem;line-height:1.7;color:#536373}.af-programme ul{padding-left:20px}.af-programme-empty{padding:30px 0;color:#596777}
#afProgrammeMore{display:block;margin:26px auto 0;padding:14px 24px;color:#006d91}
[hidden],.af-panel[hidden],.af-topic-detail[hidden],.af-programme[hidden]{display:none!important}
.af-domain a:focus-visible,.af-domain button:focus-visible,.af-finder a:focus-visible,.af-finder button:focus-visible,.af-finder input:focus-visible,.af-finder select:focus-visible{outline:3px solid #0093c4;outline-offset:4px}
.af-domain.is-enhanced .af-panel{margin-bottom:0}.af-domain.is-enhanced .af-services{position:sticky;top:190px}
/* Core semantic content must remain visible before scripts and when scripts are disabled. */
body[data-page="academy"] [data-reveal]{opacity:1!important;transform:none!important}
/* Fit the two overview phrases to the copy column; balance narrow-screen wraps. */
.academy-hero-copy{container-type:inline-size}
.academy-title-line{display:block;text-wrap:balance}
.academy-hero-copy h1{font-size:clamp(1.5rem,7.6cqi,3.25rem)!important;max-width:none!important;text-wrap:balance}
@media(max-width:850px){.academy-hero-copy h1{font-size:clamp(1.8rem,6vw,3.1rem)!important}}
/* Scope motion controls to Academy. The accepted hero remains visually intact. */
.af-motion-control{background:transparent;border:1px solid #adcddb;border-radius:999px;color:#496272;padding:9px 14px;font:600 .72rem var(--font-body);cursor:pointer;min-height:40px;margin-top:16px}
.af-static-motion *, .af-static-motion *::before, .af-static-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body:not(.af-motion-ready) .academy-particle-track,body:not(.af-motion-ready) .academy-ambient{animation:none!important}
.af-sample button:disabled{cursor:default;color:#78838d;background:#f5f7f8}
@media(min-width:1100px){.af-browser{gap:34px}.af-services{max-width:320px}}
@media(max-width:1024px){.af-domain-heading{gap:32px}.af-browser{grid-template-columns:260px minmax(0,1fr);gap:22px}.af-topics{grid-template-columns:repeat(2,minmax(0,1fr))}.af-panel-heading,.af-panel-body{padding:28px}.af-service{padding:19px}.af-survey-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.af-domain-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.af-domain-heading>p{max-width:65ch}.af-browser{grid-template-columns:minmax(0,1fr);gap:22px}.af-services{grid-template-columns:repeat(2,minmax(0,1fr))}.af-nav-label{grid-column:1/-1}.af-domain.is-enhanced .af-services{position:static}.af-service{min-height:110px}.af-next{margin-top:30px}.af-panel{border-radius:18px}}
@media(max-width:800px){.af-work-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.af-work-grid,.af-work-preview{grid-template-columns:1fr}.af-work-more summary{align-items:start;flex-direction:column;gap:10px}}
@media(max-width:520px){.af-domain{padding:55px 0;scroll-margin-top:170px}.af-domain .wrap,.af-finder .wrap{width:calc(100% - 36px)}.af-domain-heading h2{font-size:2.2rem;max-width:18ch}.af-domain-heading>p{font-size:.94rem}.af-services{gap:8px}.af-service{padding:15px 13px;min-height:126px;border-radius:12px}.af-service strong{font-size:.86rem}.af-service small{font-size:.68rem}.af-service-code{font-size:.67rem}.af-panel-heading,.af-panel-body{padding:23px 20px}.af-panel-heading h3{font-size:1.8rem}.af-panel-heading>p{font-size:.91rem}.af-panel-meta{align-items:start;gap:14px;font-size:.71rem}.af-topic-heading{align-items:start;flex-direction:column;gap:4px}.af-topics{gap:7px}.af-topic{font-size:.72rem;padding:11px 10px;min-height:50px}.af-topic-detail{padding:21px 18px}.af-topic-detail h4{font-size:1.15rem}.af-topic-detail p{font-size:.86rem}.af-next{align-items:start;flex-direction:column;gap:12px}.af-gallery-grid{gap:14px}.af-survey-steps{gap:7px}.af-find-controls,.af-programme-list{grid-template-columns:1fr}.af-programme-names{grid-template-columns:1fr}.af-programme summary{grid-template-columns:74px 1fr 15px;gap:10px}.af-conversation{padding:14px}.af-conversation p{max-width:100%;padding:14px}.af-demo-controls button{flex:1 1 auto}.af-gallery figcaption{font-size:.68rem}.af-panel-heading .af-eyebrow{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body[data-page="academy"] *,body[data-page="academy"] *::before,body[data-page="academy"] *::after{animation:none!important;transition:none!important}.academy-particle-track,.academy-ambient{animation:none!important}.af-building-marker{transform:none!important}}
/* Phone rows give long supplied names room without shrinking the type or crowding arrows. */
@media(max-width:520px){.af-topics{grid-template-columns:minmax(0,1fr);gap:8px}.af-topic{font-size:.9rem;padding:14px 16px;min-height:54px}.af-services{grid-template-columns:minmax(0,1fr)}.af-service{min-height:0;padding:17px 18px}.af-service strong{font-size:1rem}.af-service small{font-size:.76rem}.af-panel-meta{flex-wrap:wrap;row-gap:10px}.af-panel-meta a{white-space:nowrap}}
.af-calendar-static summary{padding:18px 0;font-weight:700;cursor:pointer}.af-calendar-static ul{padding:0;list-style:none}.af-calendar-static li{padding:15px 0;border-top:1px solid #dce5eb}.af-calendar-static strong,.af-calendar-static span{display:block;font-size:.9rem;line-height:1.6}.af-calendar-static span{color:#64717e}
.af-legacy-anchor{display:block;scroll-margin-top:185px}
body[data-page="academy"] #acaJump a.active{background:#0b0f15;color:#fff;border-color:#0b0f15}
@media(max-width:600px){body[data-page="academy"] .exc-launch{width:48px;height:48px;min-width:48px;padding:0;border-radius:50%;justify-content:center}body[data-page="academy"] .exc-launch .lx-label{display:none}}

/* Native phone selectors replace long choice lists only after enhancement. */
.af-mobile-choice{display:none}
@media(max-width:520px){
  .af-domain.is-enhanced .af-mobile-choice{display:grid;gap:9px;min-width:0;color:#526473;font:600 .8rem/1.5 var(--font-body)}
  .af-mobile-choice select{appearance:auto;display:block;width:100%;max-width:100%;min-width:0;min-height:52px;padding:13px 12px;border:1px solid #b9cdd8;border-radius:10px;background:#fff;color:#173544;font:500 1rem/1.45 var(--font-body)}
  .af-mobile-choice select:focus-visible{outline:3px solid #0093c4;outline-offset:3px}
  .af-domain.is-enhanced .af-has-mobile-choice{display:none}
  .af-domain.is-enhanced .af-browser{gap:18px}
  .af-domain.is-enhanced .af-topic-detail{margin-top:18px}
}
