:root{color-scheme:light;--sp-block:clamp(3.25rem,6vw,5.5rem);--sp-hero-top:clamp(7.25rem,8vw,8rem);--sp-hero-bot:clamp(3rem,4.5vw,4rem)}
.program-dropdown{position:relative;display:flex;align-items:center}.program-trigger-row{display:flex;align-items:center;gap:.15rem}.program-link{font-weight:600;color:var(--navy);font-size:.94rem;white-space:nowrap}.program-link.active{color:#167caf}.program-toggle{width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--navy);cursor:pointer;transition:background .2s,color .2s}.program-toggle:hover,.program-toggle:focus-visible{background:rgba(67,171,230,.14);color:#167caf}.program-toggle svg{width:15px;height:15px;transition:transform .2s}.program-dropdown.open .program-toggle svg{transform:rotate(180deg)}.program-menu{position:absolute;top:calc(100% + 18px);left:-28px;width:360px;padding:.65rem;border:1px solid rgba(8,29,51,.12);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 28px 70px rgba(8,29,51,.18);display:grid;gap:.15rem;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility .18s;z-index:120}.program-menu:before{content:"";position:absolute;left:34px;top:-7px;width:13px;height:13px;background:#fff;border-left:1px solid rgba(8,29,51,.12);border-top:1px solid rgba(8,29,51,.12);transform:rotate(45deg)}.program-dropdown:hover .program-menu,.program-dropdown:focus-within .program-menu,.program-dropdown.open .program-menu{opacity:1;visibility:visible;transform:none}.program-menu-label{padding:.65rem .8rem .45rem;color:#648096;font:700 .7rem/1 "Manrope",sans-serif;letter-spacing:.14em;text-transform:uppercase}.program-menu a{display:grid;grid-template-columns:1fr auto;gap:.15rem .7rem;padding:.85rem .8rem;border-radius:12px;color:var(--navy);transition:background .18s,transform .18s}.program-menu a:hover,.program-menu a:focus-visible{background:#eef6fb;transform:translateX(2px)}.program-menu a strong{font:700 .95rem/1.25 "Manrope",sans-serif}.program-menu a small{grid-column:1;color:#648096;font-size:.78rem;line-height:1.35}.program-menu a span{grid-column:2;grid-row:1/3;align-self:center;color:#1687df;font-weight:800}.program-menu .all-programs{margin-top:.2rem;border-top:1px solid rgba(8,29,51,.1);border-radius:0 0 12px 12px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:981px){.nav-links{gap:clamp(1.4rem,2.4vw,2.1rem)!important}.nav-links>a{white-space:nowrap}.nav-links>.btn{margin-left:clamp(.3rem,1vw,1rem);position:relative}.nav-links>.btn:before{content:"";position:absolute;left:calc(-1 * clamp(1.4rem,2.4vw,2.1rem) / 2 - clamp(.3rem,1vw,1rem) / 2);top:50%;transform:translateY(-50%);width:1px;height:22px;background:rgba(8,29,51,.16)}}
@media(max-width:980px){.nav-links.open{height:calc(100dvh - 82px);overflow:auto;background:#fff;z-index:120}.program-dropdown{display:block}.program-trigger-row{justify-content:space-between}.program-link{font-size:1.2rem;padding:1rem 0}.program-toggle{width:44px;height:44px}.program-menu{position:static;width:100%;padding:.35rem 0 .35rem .9rem;margin:0 0 .5rem;border:0;border-left:2px solid var(--blue);border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;background:transparent}.program-menu:before{display:none}.program-dropdown.open .program-menu{display:grid}.program-dropdown:not(.open):hover .program-menu,.program-dropdown:not(.open):focus-within .program-menu{display:none}.program-menu-label{padding:.45rem .75rem}.program-menu a{padding:.72rem .8rem}.program-menu a strong{font-size:.95rem}.program-menu a small{font-size:.76rem}}
body.learning-tool{--max:1240px;padding-top:82px}.learning-tool .site-header{font-family:"DM Sans",sans-serif}.learning-tool .site-header *{box-sizing:border-box}.learning-tool .site-header .wrap{width:min(var(--max),calc(100% - 3rem));max-width:none;padding:0;margin-inline:auto}.learning-tool .site-header .brand{font:800 1.7rem/1 "Manrope",sans-serif}.learning-tool .site-header a{text-decoration:none}
.learning-tool .site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(8,29,51,.08)}.learning-tool .nav{height:82px;display:flex;align-items:center;justify-content:space-between}.learning-tool .brand{color:var(--navy);letter-spacing:-.07em}.learning-tool .brand span{color:var(--sky)}.learning-tool .nav-links{display:flex;align-items:center;gap:1.65rem}.learning-tool .nav-links>a{color:var(--navy);font-weight:600;font-size:.94rem}.learning-tool .nav-links .btn-dark{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.15rem;border-radius:999px;background:var(--navy);color:#fff}.learning-tool .nav-toggle{display:none;border:0;background:none;width:44px;height:44px;cursor:pointer}.learning-tool .nav-toggle span,.learning-tool .nav-toggle:before,.learning-tool .nav-toggle:after{content:"";display:block;height:2px;background:var(--navy);margin:6px}
@media(max-width:980px){.learning-tool .nav-links{display:none;position:fixed;inset:82px 0 0;background:#fff;padding:2rem 1.5rem;align-items:stretch;flex-direction:column;gap:.4rem;overflow:auto}.learning-tool .nav-links.open{display:flex}.learning-tool .nav-links>a{font-size:1.2rem;padding:1rem 0}.learning-tool .nav-toggle{display:block}}
@media(max-width:720px){.nav-links.open{height:calc(100dvh - 70px)}body.learning-tool{padding-top:70px}.learning-tool .site-header .wrap{width:min(100% - 2rem,var(--max))}.learning-tool .nav{height:70px}.learning-tool .nav-links{inset:70px 0 0}.learning-tool .nav-links>.btn{display:none}}
body .btn:after{content:"→"!important;font-family:inherit!important}body .program-menu a span{font-size:0}body .program-menu a span:after{content:"→";font-size:1rem}
/* ---- paired CTA buttons + enquiry modal (styles live here because every page loads nav.css) ---- */
.cta-pair{display:flex;flex-wrap:wrap;gap:.85rem;justify-content:center}
.cta-modal{width:min(560px,calc(100% - 2rem));max-height:88vh;padding:0;border:0;border-radius:20px;background:#fff;color:#0e2438;box-shadow:0 40px 90px rgba(3,15,28,.45)}
.cta-modal::backdrop{background:rgba(6,22,40,.72)}
.cta-modal-in{position:relative;padding:2rem 2rem 1.6rem}
.cta-modal-x{position:absolute;right:1rem;top:1rem;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(8,29,51,.16);border-radius:50%;background:#fff;color:#0b2743;font-size:1.25rem;line-height:1;cursor:pointer}
.cta-modal-x:hover{border-color:#43abe6;color:#167caf}
.cta-modal-kicker{margin:0 0 .5rem;font:700 .66rem/1 "Manrope",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#167caf}
.cta-modal-title{margin:0 0 .5rem;font:800 1.6rem/1.15 "Manrope",sans-serif;letter-spacing:-.035em;max-width:24ch}
.cta-modal-sub{margin:0 0 1.35rem;color:#5d7385;font-size:.95rem;line-height:1.5}
.cta-modal-alt{margin:1.15rem 0 0;font-size:.85rem;color:#5d7385}
.cta-modal-alt a{color:#167caf;font-weight:700}
html.cta-modal-open{overflow:hidden}
@media(max-width:560px){.cta-modal-in{padding:1.6rem 1.25rem 1.3rem}.cta-modal-title{font-size:1.35rem}}
/* ---- inline CTA strip: a quiet mid-page prompt, not a second final CTA.
   Colours are literal, not page variables, so it renders the same on every
   stylesheet. Buttons are scoped so it never inherits a page's .btn variant. ---- */
.cta-strip{padding:1.5rem 0;background:#eef3f8;border-top:1px solid rgba(8,29,51,.1);border-bottom:1px solid rgba(8,29,51,.1)}
.cta-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem}
.cta-strip p{margin:0;font:700 1.05rem/1.35 "Manrope",sans-serif;letter-spacing:-.02em;color:#0b2743;max-width:46ch}
.cta-strip .cta-pair{justify-content:flex-start;gap:.7rem}
.cta-strip .cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:46px;padding:.65rem 1.15rem;border-radius:999px;border:1px solid transparent;font:700 .92rem/1 "DM Sans",system-ui,sans-serif;text-decoration:none;white-space:nowrap;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.cta-strip .cta-btn:hover{transform:translateY(-2px)}
.cta-strip .cta-btn-book{background:#0b2743;color:#fff}
.cta-strip .cta-btn-book:hover{background:#081d33}
.cta-strip .cta-btn-form{background:transparent;color:#0b2743;border-color:rgba(8,29,51,.28)}
.cta-strip .cta-btn-form:hover{border-color:#43abe6;color:#167caf}
/* on dark sections */
.cta-strip.is-dark{background:#0b2743;border-color:rgba(255,255,255,.14)}
.cta-strip.is-dark p{color:#fff}
.cta-strip.is-dark .cta-btn-book{background:#43abe6;color:#081d33}
.cta-strip.is-dark .cta-btn-form{color:#fff;border-color:rgba(255,255,255,.4)}
.cta-strip.is-dark .cta-btn-form:hover{border-color:#43abe6;color:#43abe6}
@media(max-width:720px){
 .cta-strip .wrap{flex-direction:column;align-items:flex-start}
 .cta-strip .cta-pair{width:100%}
 .cta-strip .cta-btn{flex:1 1 auto}
}

/* ---- one nav breakpoint for the whole site ----
   Each page shipped its own: consulting.css switched to the burger at 760px and
   work.css at 1080px, everything else at 980px. Between 761 and 980 the consulting
   page still rendered the full desktop nav, and the labels collided with the
   wordmark. nav.css loads last on every page and .site-header raises specificity
   over the pages' bare .nav-links, so these win wherever they disagree. ---- */
@media(min-width:981px){
 .site-header .nav-links{display:flex;position:static;inset:auto;flex-direction:row;align-items:center;background:none;padding:0;overflow:visible}
 .site-header .nav-toggle{display:none}
}
@media(max-width:980px){
 .site-header .nav-links{display:none;position:fixed;inset:82px 0 0;background:#fff;padding:2rem 1.5rem;align-items:stretch;flex-direction:column;gap:.4rem;overflow:auto}
 .site-header .nav-links.open{display:flex}
 .site-header .nav-toggle{display:block}
 .site-header .nav-links>a:not(.btn){font-size:1.2rem;padding:1rem 0}
 .site-header .nav-links>.btn{margin-top:1rem;justify-content:center}
}
@media(max-width:720px){
 .site-header .nav-links{inset:70px 0 0}
}

/* ---- room band: a real photograph of a session, with the claim it evidences.
   Colours are literal, not page variables, so it renders identically on any
   stylesheet - same reason .cta-strip works this way. ---- */
.room-band{background:#0b2743}
.room-band-inner{position:relative;height:clamp(300px,34vw,430px);overflow:hidden}
.room-band-inner img{display:block;width:100%;height:100%;object-fit:cover}
.room-band-inner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,29,51,.86),rgba(8,29,51,.3) 52%,rgba(8,29,51,.5))}
.room-band-cap{position:absolute;z-index:2;inset:auto 0 0;padding:0 0 2rem}
.room-band-cap .wrap{width:min(100% - 3rem,1240px);margin-inline:auto}
.room-band-cap span{display:block;font:700 .72rem/1 "Manrope",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#43abe6;margin-bottom:.7rem}
.room-band-cap strong{display:block;font:800 clamp(1.5rem,3vw,2.5rem)/1.15 "Manrope",sans-serif;letter-spacing:-.04em;color:#fff;max-width:24ch}
@media(max-width:720px){.room-band-cap .wrap{width:min(100% - 2rem,1240px)}.room-band-cap{padding-bottom:1.4rem}}
