/* ADI Search (Stage 4) — Airbnb-style. Scoped to .adi-s, hard-reset against theme bleed. */

.adi-s,.adi-s *,.adi-s *::before,.adi-s *::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.adi-s{
  --navy:#00598E;--navy-deep:#024a76;--orange:#E8734A;--orange-deep:#d35f37;
  --pale:rgba(140,166,196,.17);--pale-solid:#eff3f7;--ink:#1b3450;--muted:#8093a4;
  --line:#edf1f5;--card:#fff;--bg:#f6f9fc;--radius:20px;--radius-lg:24px;
  --shadow-sm:0 1px 3px rgba(16,48,74,.04),0 8px 24px rgba(16,48,74,.05);
  --shadow:0 10px 34px rgba(16,48,74,.10);--shadow-lift:0 24px 54px rgba(16,48,74,.16);
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);line-height:1.5;text-align:left;font-weight:400;-webkit-font-smoothing:antialiased;display:block;width:100%;
  background:linear-gradient(to bottom,#ffffff 0,rgba(255,255,255,0) 170px),
             radial-gradient(1100px 460px at 84% -14%,rgba(232,115,74,.07),transparent 60%),
             radial-gradient(900px 520px at -8% -6%,rgba(0,89,142,.09),transparent 55%),var(--bg);
}
.adi-s button,.adi-s input,.adi-s textarea,.adi-s select{
  -webkit-appearance:none;appearance:none;font:inherit;color:inherit;margin:0;border:0;background:none;
  box-shadow:none;text-transform:none;letter-spacing:normal;border-radius:0;line-height:normal;text-align:inherit;text-shadow:none}
.adi-s button{cursor:pointer}
.adi-s h1,.adi-s h2,.adi-s h3,.adi-s h4,.adi-s p{margin:0;padding:0;font-weight:inherit;color:inherit;text-transform:none;letter-spacing:normal}
.adi-s a{color:inherit;text-decoration:none}
.adi-s img{display:block;max-width:100%;border:0}
.adi-s svg{display:inline-block;vertical-align:middle}

.adi-s .topbar{padding:22px 16px 4px;max-width:1040px;margin:0 auto}
.adi-s .pad{padding:8px 16px 52px;max-width:1040px;margin:0 auto;position:relative}
@media(min-width:760px){.adi-s .topbar{padding:28px 30px 4px}.adi-s .pad{padding:6px 30px 64px}}
.adi-s .screen-enter{animation:adi-fadeUp .3s cubic-bezier(.2,.7,.2,1)}
.adi-s .pad-hero{padding-bottom:2px}
.adi-s .pad-hiw{padding-top:2px}
@keyframes adi-fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---- Airbnb-style search ---- */
.adi-s .ss-pill{position:relative;display:flex;align-items:center;gap:12px;width:100%;background:#fff;border:1px solid var(--line);
  border-radius:999px;box-shadow:var(--shadow);padding:9px 9px 9px 18px;text-align:left;transition:.18s}
.adi-s .ss-pill:focus-within{border-color:#00598E;box-shadow:0 0 0 3px rgba(0,89,142,.15)} /* v2.55.199: ambient glow removed - highlight on focus only */
.adi-s .ss-pill:hover::after,.adi-s .ss-pill:focus::after{animation:none;opacity:0}
.adi-s .ss-pill:hover,.adi-s .ss-pill:focus{background:#f7f9fb;box-shadow:var(--shadow-lift);animation:none}
.adi-s .ss-pill:hover .ss-pill-txt b{color:var(--navy)}
.adi-s .ss-ico{color:var(--navy);flex:0 0 auto;display:flex}
.adi-s .ss-ico svg{width:20px;height:20px}
.adi-s .ss-pill-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.adi-s .ss-pill-txt b{line-height:1.25}
.adi-s .ss-pill-txt span{line-height:1.3}
@media(max-width:759px){.adi-s .ss-pill-txt{gap:0}.adi-s .ss-pill-txt span{display:none}}
.adi-s .ss-pill-txt b{font-size:14.5px;color:var(--navy);font-weight:500;letter-spacing:-.005em}
.adi-s .ss-pill-txt span{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adi-s .ss-go{position:relative;flex:0 0 auto;width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(232,115,74,.3)}

.adi-s .ss-go svg{width:19px;height:19px}
.adi-s .ssearch.open .ss-pill{display:none}
.adi-s .ss-panel{display:none}
.adi-s .ssearch.open .ss-panel{display:block;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lift);padding:14px}
@media(max-width:759px){.adi-s .ssearch.open .ss-panel{padding:14px;max-height:72vh;overflow-y:auto}}
/* 🔴 P1-969 - ON A PHONE THE SUGGESTIONS WERE INVISIBLE. The rule above gives the panel
   `overflow-y:auto` so it cannot run off a small screen, and `.ss-sugg` below is `position:absolute`.
   An overflow container CLIPS an absolutely-positioned child, so typing a subject produced a list
   nobody could see. Mobile-only rule, mobile-only bug; desktop has no overflow and was always fine.
   ⛔ THE OVERFLOW IS NOT REMOVED. It is what stops the panel running off the screen, and deleting it
   trades one mobile fault for another. Instead the suggestions stop being absolutely positioned
   WHILE THEY ARE SHOWING: `has-sugg` is already set on `.ss-body` by the existing script (it is what
   hides the Search button), so this needs no new state and no `:has()`. In flow they scroll WITH the
   panel, which is what a phone wants anyway - the desktop overlay is untouched. */
@media(max-width:759px){
  .adi-s .ss-body.has-sugg .ss-sugg{position:static;top:auto;left:auto;right:auto;margin-top:8px;max-height:none;box-shadow:none}
}
.adi-s .ss-panel-head{display:flex;align-items:center;gap:10px}
.adi-s .ss-tabs{display:inline-flex;background:var(--pale-solid);border-radius:999px;padding:4px;gap:2px}
.adi-s .ss-tabs button{font-weight:700;font-size:13px;color:var(--navy);padding:8px 15px;border-radius:999px;transition:.16s}
.adi-s .ss-tabs button.on,.adi-s .ss-tabs button:hover{background:var(--navy);color:#fff}
.adi-s .ss-close{margin-left:auto;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;flex:0 0 auto;border-radius:50%;background:var(--pale-solid);color:var(--navy);display:flex;align-items:center;justify-content:center}
.adi-s .ss-close svg{display:block;width:15px;height:15px}
.adi-s .ss-close svg path{stroke:var(--navy)}
.adi-s .ss-help{font-size:12.5px;color:var(--muted);font-weight:500;margin:12px 2px}
.adi-s .ss-body{position:relative}
.adi-s .ss-field{position:relative;background:#fff;border-radius:14px;padding:13px 16px;border:1.5px solid var(--line);transition:border-color .15s}
.adi-s .ss-field:focus-within{border-color:var(--navy)}
.adi-s .ss-body.has-sugg .ss-search{display:none}
.adi-s .ss-field label{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.adi-s .ss-field input{width:100%;font-size:17px!important;font-weight:600;color:var(--ink);background:transparent!important;padding-top:5px;border:0!important;border-bottom:0!important;outline:none!important;box-shadow:none!important}
.adi-s .ss-field input:focus,.adi-s .ss-field input:active{border:0!important;border-bottom:0!important;outline:none!important;box-shadow:none!important;background:transparent!important}
.adi-s .ss-field input::placeholder{color:#b8c4d0;font-weight:500}
.adi-s input:focus,.adi-s textarea:focus,.adi-s select:focus{outline:none;box-shadow:none;border-color:transparent}
.adi-s .ss-sugg{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow);overflow:hidden auto;display:none;z-index:6;max-height:280px}
.adi-s .ss-sugg.show{display:block;animation:adi-fadeUp .14s ease}
.adi-s .ss-sugg button{display:block;width:100%;text-align:left;font-size:14.5px;font-weight:600;color:var(--ink);padding:11px 16px}
.adi-s .ss-sugg button:hover{background:var(--pale)}
.adi-s .ss-search{margin-top:14px;width:100%;background:var(--orange);color:#fff;font-weight:800;font-size:15.5px;
  border-radius:14px;padding:14px;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 8px 18px rgba(232,115,74,.28)}
.adi-s .ss-search svg{width:18px;height:18px}
.adi-s .ss-search:hover{background:var(--orange-deep)}

/* ---- category cards (explore) ---- */
.adi-s .ss-cats,.adi-s .cats{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:560px){.adi-s .ss-cats,.adi-s .cats{grid-template-columns:1fr 1fr}}
@media(min-width:920px){.adi-s .cats{grid-template-columns:1fr 1fr 1fr}}
.adi-s .catcard{display:flex;align-items:center;gap:14px;text-align:left;width:100%;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:14px;box-shadow:var(--shadow-sm);transition:.18s}
.adi-s .catcard,.adi-s .catcard:hover,.adi-s .catcard:focus,.adi-s .catcard:active{background:#fff!important}
.adi-s .catcard:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:transparent}
.adi-s .catcard-ic{width:52px;height:52px;border-radius:14px;color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.adi-s .catcard-ic svg{width:26px;height:26px}
.adi-s .catcard-tx{min-width:0}
.adi-s .catcard-nm{display:block;font-weight:800;color:var(--navy);font-size:15px;letter-spacing:-.01em;line-height:1.2}
.adi-s .catcard-ct{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-top:3px}

/* ---- home lead ---- */
.adi-s .home-lead{margin:14px 0 18px}
.adi-s .eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.adi-s .lead-title{font-weight:800;color:var(--navy);letter-spacing:-.03em;font-size:24px;margin:8px 0}
@media(min-width:760px){.adi-s .lead-title{font-size:32px}}
.adi-s .lead-sub{color:var(--muted);font-weight:500;font-size:14.5px;line-height:1.5;max-width:580px}
.adi-s .explore-lab{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:6px 0 12px}
.adi-s .browse-row{margin-top:18px;display:flex;align-items:center;gap:12px}
.adi-s .browse-row .ln{flex:1;height:1px;background:var(--line)}
.adi-s .browse-btn{font-weight:700;font-size:14px;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 18px;transition:.16s}
.adi-s .browse-btn:hover{border-color:var(--navy);background:var(--pale)}

/* ---- results ---- */
.adi-s .backlink{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-weight:700;font-size:14px;background:transparent;padding:6px 0;margin-bottom:6px}
.adi-s .backlink svg{width:18px;height:18px}
.adi-s .backlink:hover{color:var(--orange-deep)}
.adi-s .results-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.adi-s .results-title{font-weight:800;color:var(--navy);letter-spacing:-.02em;font-size:22px}
@media(min-width:760px){.adi-s .results-title{font-size:26px}}
.adi-s .results-count{font-size:13px;color:var(--muted);font-weight:600}
.adi-s .filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.adi-s .filter-lab{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.adi-s .uni-dd{position:relative;display:inline-block}
.adi-s .uni-dd-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;color:var(--navy);
  background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px 9px 15px;transition:.15s}
.adi-s .uni-dd-btn:hover{border-color:var(--navy)}
.adi-s .uni-dd-btn,.adi-s .uni-dd-btn:hover,.adi-s .uni-dd-btn:focus,.adi-s .uni-dd-btn:active{background:#fff!important;color:var(--navy)!important}
.adi-s .uni-dd-btn svg{width:16px;height:16px;transition:.2s}
.adi-s .uni-dd.open .uni-dd-btn{border-color:var(--navy)}
.adi-s .uni-dd.open .uni-dd-btn svg{transform:rotate(180deg)}
.adi-s .uni-dd-menu{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:30;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);padding:6px;min-width:250px;max-height:320px;overflow-y:auto}
.adi-s .uni-dd.open .uni-dd-menu{display:block;animation:adi-fadeUp .14s ease}
.adi-s .uni-dd-menu button{display:block;width:100%;text-align:left;font-weight:600;font-size:13.5px;color:var(--ink);padding:9px 12px;border-radius:9px}
.adi-s .uni-dd-menu button:hover,.adi-s .uni-dd-menu button:focus,.adi-s .uni-dd-menu button:active{background:var(--pale-solid)!important;color:var(--ink)!important}
.adi-s .uni-dd-menu button.on,.adi-s .uni-dd-menu button.on:hover,.adi-s .uni-dd-menu button.on:focus{background:var(--navy)!important;color:#fff!important}
.adi-s .cards{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:760px){.adi-s .cards{grid-template-columns:repeat(2,1fr);gap:20px}}

.adi-s .ocard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
@media(min-width:760px){.adi-s .ocard:hover{box-shadow:var(--shadow);transform:translateY(-3px)}}
.adi-s .ocard-photo{position:relative;overflow:hidden;height:138px}
.adi-s .ocard-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.adi-s .ocard-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,28,46,.5) 0%,rgba(7,28,46,0) 55%)}
.adi-s .ocard-wm{position:absolute;right:-10px;top:50%;transform:translateY(-50%);z-index:1;opacity:.15;color:#fff;pointer-events:none}
.adi-s .ocard-wm svg{width:132px;height:132px;display:block}
.adi-s .ocard-eyebrow{position:absolute;left:14px;right:14px;bottom:12px;z-index:2;font-weight:700;color:#fff;font-size:19px;
  letter-spacing:-.01em;line-height:1.2} /* v2.55.203: box removed - the band's depth fade carries legibility (Spotify-tile pattern, not a label in a lozenge) */
.adi-s .ocard-typepill{position:absolute;top:13px;left:13px;z-index:2;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--navy);padding:5px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}
.adi-s .ocard-typepill svg{width:13px;height:13px}
.adi-s .ocard-body{padding:15px 18px 4px}
.adi-s .ocard-title{font-weight:700;color:var(--navy);font-size:14.5px;letter-spacing:-.01em;line-height:1.25}
.adi-s .faces{display:flex;align-items:center;gap:11px;margin-top:10px}
.adi-s .fcount{font-size:13px;font-weight:600;color:var(--muted)}
.adi-s .fcount b{color:var(--navy);font-weight:700}
.adi-s .av{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;overflow:hidden}
.adi-s .av img{width:100%;height:100%;object-fit:cover}
.adi-s .av.big{width:84px;height:84px;font-size:30px}
.adi-s .insiders{padding:8px 10px 12px}
.adi-s .igroup{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:12px 10px 4px}
.adi-s .igroup:first-child{padding-top:4px}
.adi-s .irow{display:flex;align-items:center;gap:12px;width:100%;padding:10px;border-radius:14px;transition:background .14s;background:transparent}
.adi-s .irow:hover{background:var(--pale)}
.adi-s .irow .who{flex:1;min-width:0}
.adi-s .irow .nm{display:block;font-weight:700;color:var(--navy);font-size:15px}
.adi-s .qual{font-weight:800;color:var(--orange);font-size:.82em;white-space:nowrap}
.adi-s .intl{display:inline-block;margin-top:3px;padding:1px 8px;border-radius:999px;background:rgba(106,90,166,.14);color:#6a5aa6;font-weight:700;font-size:.72em;line-height:1.6;white-space:nowrap}
.adi-s .irow .st{display:block;font-size:12.5px;color:var(--muted);font-weight:500;margin-top:3px}
.adi-s .badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;padding:5px 9px;border-radius:999px;white-space:nowrap;flex:0 0 auto}
.adi-s .badge svg{width:11px;height:11px;flex:0 0 auto}
.adi-s .badge.progress{background:var(--pale);color:var(--navy)}
.adi-s .badge.advanced{background:rgba(0,89,142,.13);color:var(--navy)}
.adi-s .badge.done{background:rgba(232,115,74,.14);color:var(--orange-deep)}
.adi-s .irow .chev{color:#ccd6df;flex:0 0 auto;transition:.15s}
.adi-s .irow .chev svg{width:18px;height:18px}
.adi-s .irow:hover .chev{color:var(--orange);transform:translateX(2px)}
.adi-s .more-toggle{font-weight:700;font-size:13.5px;color:var(--orange-deep);padding:11px;width:100%;text-align:center;border-top:1px dashed var(--line);margin-top:2px;background:transparent}
.adi-s .more-toggle:hover{color:var(--orange)}
.adi-s .empty{text-align:center;padding:46px 20px;color:var(--muted)}
.adi-s .empty svg{width:40px;height:40px}
.adi-s .empty h4{color:var(--navy);font-size:18px;margin:14px 0 6px}

/* ---- booking sheet ---- */
.adi-s .overlay{position:fixed;inset:0;z-index:100001;display:none}
.adi-s .overlay.open{display:block}
.adi-s .ov-back{position:absolute;inset:0;background:rgba(7,28,46,.46);backdrop-filter:blur(2px);animation:adi-fade .2s ease}
@keyframes adi-fade{from{opacity:0}to{opacity:1}}
.adi-s .sheet{position:absolute;background:#fff;display:flex;flex-direction:column;overflow:hidden;left:0;right:0;bottom:0;max-height:92%;border-radius:26px 26px 0 0;animation:adi-slideUp .34s cubic-bezier(.2,.8,.2,1)}
@media(min-width:760px){.adi-s .sheet{left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:480px;max-height:88%;border-radius:24px;box-shadow:var(--shadow-lift);animation:adi-pop .26s cubic-bezier(.2,.8,.2,1)}}
@keyframes adi-slideUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes adi-pop{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.adi-s .grabber{position:absolute;top:9px;left:50%;transform:translateX(-50%);z-index:6;width:42px;height:5px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 1px 5px rgba(7,28,46,.25);margin:0}
@media(min-width:760px){.adi-s .grabber{display:none}}
.adi-s .sheet-x{position:absolute;top:14px;right:14px;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;flex:0 0 auto;border-radius:50%;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;z-index:7;box-shadow:0 2px 10px rgba(7,28,46,.28)}
.adi-s .sheet-x svg{display:block;width:15px;height:15px}
.adi-s .sheet-x svg path{stroke:var(--navy)}
.adi-s .sheet-scroll{overflow-y:auto}
.adi-s .sheet-hero{position:relative;height:118px}
.adi-s .sheet-hero img{width:100%;height:100%;object-fit:cover}
.adi-s .sheet-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#fff 26%,rgba(255,255,255,.72) 44%,rgba(255,255,255,0) 78%)}
.adi-s .sheet-hero-wm{position:absolute;right:-6px;top:40%;transform:translateY(-50%);z-index:1;opacity:.16;color:#fff;pointer-events:none}
.adi-s .sheet-hero-wm svg{width:104px;height:104px;display:block}
.adi-s .sheet-inner{padding:0 22px 26px}
.adi-s .sheet-head{display:flex;align-items:flex-end;gap:15px;margin-top:-44px;position:relative;z-index:2}
.adi-s .sheet-head .av.big{border:3px solid #fff;box-shadow:0 6px 18px rgba(7,28,46,.22)}
.adi-s .sheet-head .who{padding-bottom:4px;min-width:0}
.adi-s .sheet-head .who .nm{font-weight:800;color:var(--navy);font-size:22px;letter-spacing:-.02em;line-height:1.1;text-shadow:0 1px 6px rgba(255,255,255,.9),0 0 2px rgba(255,255,255,.9)}
.adi-s .sheet-head .who .st{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted);font-weight:600;margin-top:7px;flex-wrap:wrap}
.adi-s .sheet-head .who .st-line{color:var(--muted);font-weight:600}
.adi-s .sheet-off{margin-top:16px;background:var(--pale);border-radius:14px;padding:12px 15px;font-size:13.5px;font-weight:700;color:var(--navy)}
.adi-s .sheet-off span{color:var(--muted);font-weight:500}
.adi-s .sheet-bio{margin-top:14px;font-size:14px;line-height:1.6;color:var(--ink);font-weight:500}
.adi-s .readmore{color:var(--orange-deep);font-weight:700;font-size:13.5px;padding:0;border-radius:0}
.adi-s .readmore,.adi-s .readmore:hover,.adi-s .readmore:focus,.adi-s .readmore:active{background:transparent!important;background-color:transparent!important;box-shadow:none!important;outline:none!important;border:0!important}
.adi-s .backlink,.adi-s .backlink:hover,.adi-s .backlink:focus,.adi-s .backlink:active{background:transparent!important;background-color:transparent!important;box-shadow:none!important;outline:none!important;border:0!important}
.adi-s .more-toggle,.adi-s .more-toggle:hover,.adi-s .more-toggle:focus,.adi-s .more-toggle:active{background:transparent!important;background-color:transparent!important;box-shadow:none!important;outline:none!important}
.adi-s .readmore:hover{text-decoration:underline}
.adi-s .sec-lab{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:20px 0 10px}
.adi-s .tags{display:flex;flex-wrap:wrap;gap:7px}
.adi-s .tag{border-radius:999px;padding:6px 12px;font-size:11.5px;font-weight:700}
.adi-s .tag.t0{background:var(--pale);color:var(--navy)}
.adi-s .tag.t1{background:rgba(232,115,74,.13);color:var(--orange-deep)}
.adi-s .tag.t2{background:rgba(63,124,166,.14);color:#2f6f8f}
.adi-s .req-btn{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;font-weight:800;font-size:16px;color:#fff;background:var(--orange);width:100%;border-radius:16px;padding:16px;margin-top:22px;box-shadow:0 10px 22px rgba(232,115,74,.32);transition:.15s}
.adi-s .req-btn svg{width:20px;height:20px}
.adi-s .req-btn:hover{background:var(--orange-deep)}
.adi-s .req-btn:active{transform:scale(.99)}
.adi-s .safe-note{font-size:11px;color:#93a7b6;text-align:center;margin-top:18px;padding-top:14px;border-top:1px solid #edf2f6;line-height:1.55}
/* P1-823. The safeguarding link, and it inherits EVERYTHING except the underline. Dan chose this
   render over the un-underlined one after looking at both: "ok i like the one with the line
   underneath". ⛔ colour and size are inherited ON PURPOSE - his constraint is that nothing on the
   profile competes with the Book button, so the link must not gain a colour of its own. The
   underline is the ONLY difference, and it is there because without it the link read as ordinary
   grey text and a route nobody recognises is not a route. */
.adi-s .safe-note a{color:inherit;font-size:inherit;text-decoration:underline}
.adi-s .done-state{text-align:center;padding:44px 26px 38px;animation:adi-fadeUp .3s ease}
.adi-s .done-ring{width:74px;height:74px;border-radius:50%;background:rgba(232,115,74,.12);color:var(--orange);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.adi-s .done-ring svg{width:34px;height:34px}
.adi-s .done-state h3{color:var(--navy);font-size:21px;letter-spacing:-.02em;margin:0 0 8px;font-weight:800}
.adi-s .done-state p{color:var(--ink);opacity:.72;font-weight:500;font-size:14px;line-height:1.55;margin:0 0 22px}
.adi-s .done-btn{border:1.5px solid var(--navy);background:#fff;color:var(--navy);font-weight:700;font-size:15px;border-radius:14px;padding:13px 30px}
.adi-s .done-btn:hover{background:var(--navy);color:#fff}

.adi-s .adi-load{text-align:center;color:var(--muted);padding:60px 20px}
.adi-s .adi-spin{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--navy);border-radius:50%;margin:0 auto 14px;animation:adi-spin .8s linear infinite}
@keyframes adi-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.adi-s *{animation:none!important;transition:none!important}}


/* ---- home human cluster + trust + warmer empty ---- */
.adi-s .trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.adi-s .tchip{font-size:12px;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 13px;box-shadow:var(--shadow-sm)}
.adi-s .human{margin:24px 0 6px;text-align:center}
.adi-s .human-faces{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;max-width:520px;margin:0 auto}
.adi-s .hbub{display:inline-flex;animation:adi-float 5s ease-in-out infinite}
.adi-s .hbub .av{width:48px;height:48px;border:2.5px solid #fff;box-shadow:var(--shadow-sm)}
.adi-s .hbub.h0{transform:translateY(-3px)}.adi-s .hbub.h2{transform:translateY(4px)}.adi-s .hbub.h4{transform:translateY(-2px)}
.adi-s .human-cap{margin-top:14px;font-size:13px;font-weight:600;color:var(--muted)}
@keyframes adi-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.adi-s .empty-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.adi-s .empty-explore{background:var(--orange);color:#fff;font-weight:700;font-size:14px;border-radius:13px;padding:12px 20px;box-shadow:0 8px 18px rgba(232,115,74,.26)}
.adi-s .empty-explore:hover{background:var(--orange-deep)}
.adi-s .empty-browse{background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:700;font-size:14px;border-radius:13px;padding:12px 20px}
.adi-s .empty-browse:hover{border-color:var(--navy)}
.adi-s .empty-browse,.adi-s .empty-browse:hover,.adi-s .empty-browse:focus,.adi-s .empty-browse:active{background:#fff!important;color:var(--navy)!important}


/* ---- hero (matches /mentors) + animated gif bubble cluster ---- */
.adi-s .hero{margin:16px 0 4px;text-align:center}
@media(min-width:760px){.adi-s .hero{margin:24px 0 6px}}
.adi-s .hero .eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.adi-s .hero-title{font-weight:600;color:#00598E;letter-spacing:-.02em;font-size:33px;line-height:1.08;margin:12px 0 18px} /* v2.55.659: brand blue (Dan, 27 Jul; was #1e2d3d) */ /* v2.55.202: homepage-congruent (was 800/navy) */
.adi-s .hero-title span{color:var(--orange)}
@media(min-width:760px){.adi-s .hero-title{font-size:46px}}
.adi-s .hero-sub{color:var(--muted);font-weight:500;font-size:15px;line-height:1.55;max-width:520px;margin:0 auto}
.adi-s .hero .trust{justify-content:center;margin-top:16px}
/* v2.55.661: bubble-wall CSS removed with the wall (see adi-search.js) */
/* v2.55.659: click-to-play video facade below the four steps (thumbnail only until tapped) */
.adi-s .pad-vid{padding-top:0}
.adi-s .vidwrap{max-width:640px;margin:6px auto 22px}
.adi-s .ytfac{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:14px;overflow:hidden;cursor:pointer;background:#0b1c2b;box-shadow:0 10px 28px rgba(16,48,74,.16)}
.adi-s .ytfac img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.adi-s .ytfac:hover img{opacity:1}
/* branded fallback poster (used when no local thumbnail exists yet): navy gradient, no requests */
.adi-s .ytfac-brand{position:absolute;inset:0;background:linear-gradient(135deg,#0b1c2b 0%,#00598E 60%,#3F7CA6 100%)}
.adi-s .ytplay{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;background:rgba(0,89,142,.92);display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease;pointer-events:none}
.adi-s .ytfac:hover .ytplay{transform:scale(1.08);background:var(--orange)}
.adi-s .ytplay svg{width:26px;height:26px;fill:#fff;margin-left:3px}
.adi-s .ytframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:14px;box-shadow:0 10px 28px rgba(16,48,74,.16)}
.adi-s .explore-cta-row{display:flex;justify-content:center;margin:18px 0 2px}
.adi-s .explore-cta{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-weight:700;font-size:15px;border-radius:14px;padding:13px 22px;box-shadow:0 10px 24px rgba(0,89,142,.22);transition:.15s}
.adi-s .explore-cta svg{width:18px;height:18px}
.adi-s .explore-cta:hover{background:var(--navy-deep)}


/* ---- how it works ---- */
.adi-s .hiw{max-width:940px;margin:30px auto 10px;text-align:center}
/* v2.55.663 (Dan): the title matches the site's spaced-caps label style - capitals,
   thinner weight, smaller, wide letter-spacing (house uppercase pattern, cf. .eyebrow). */
.adi-s .hiw-h{font-size:16px;font-weight:600;color:var(--navy);letter-spacing:.18em;text-transform:uppercase}
/* v2.55.662 (Dan): a pop of brand orange through the section - underline swoosh,
   gradient number chips with a soft orange glow, an orange top edge on each card
   and a gentle lift on hover. Colour and motion only; the wording is untouched. */
.adi-s .hiw-h::after{content:"";display:block;width:46px;height:4px;border-radius:4px;margin:12px auto 0;background:linear-gradient(90deg,var(--orange),#f4a57a)}
@media(min-width:760px){.adi-s .hiw-h{font-size:19px}}
.adi-s .hiw-sub{color:var(--muted);font-weight:500;font-size:14.5px;margin-top:6px}
.adi-s .hiw-steps{display:grid;grid-template-columns:1fr;gap:13px;margin-top:20px;text-align:left}
@media(min-width:760px){.adi-s .hiw-steps{grid-template-columns:repeat(4,1fr);gap:18px}}
.adi-s .hiw-step{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 18px 20px;box-shadow:0 8px 22px rgba(16,48,74,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.adi-s .hiw-step::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange) 0%,#f4a57a 55%,rgba(244,165,122,0) 100%)}
.adi-s .hiw-step:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,48,74,.13);border-color:#f2d9cc}
@media(prefers-reduced-motion:reduce){.adi-s .hiw-step{transition:none}.adi-s .hiw-step:hover{transform:none}}
.adi-s .hiw-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;font-weight:800;font-size:16px;margin-bottom:13px;box-shadow:0 6px 16px rgba(232,115,74,.32)}
/* v2.55.664 (Dan): card titles carry the same spaced-caps lettering as the section
   title, sized for the card (longer phrases need a tighter track than the header). */
.adi-s .hiw-tx b{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:7px;letter-spacing:.12em;text-transform:uppercase}
.adi-s .hiw-tx p{font-size:13.5px;line-height:1.55;color:var(--muted);font-weight:500}


/* ---- gentle attention glow on the collapsed search bar (pure CSS, no JS) ---- */
/* (v2.55.34) Glow is an opacity pulse on a ::after layer (GPU-composited), NOT an animated
   box-shadow. Animating box-shadow repaints every frame and janks the desktop; opacity on a
   promoted layer is composite-only. Same principle the homepage uses (animate opacity/transform,
   own layer via will-change + translateZ). */
@keyframes adi-glowpulse{0%,100%{opacity:0}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.adi-s .ss-pill::after,.adi-s .ss-go::after{animation:none;opacity:0}}

/* ---- price + school-code clarity (v1.92) ---- */
.adi-s .faces{display:flex;align-items:center;gap:10px}
.adi-s .sheet-price{margin:18px 0 10px;font-weight:800;font-size:18px;color:var(--navy)}
.adi-s .sheet-price span{font-weight:600;font-size:13px;color:var(--muted)}
.adi-s .code-note{margin:12px 0 0;background:var(--pale-solid);border-radius:12px;padding:11px 13px;font-weight:600;font-size:12.5px;line-height:1.45;color:var(--navy)}
.adi-s .school-banner b{font-weight:800}

/* ---------- booking request form (Stage 4 slice 4) ---------- */
.adi-s .bf-wrap{padding-top:18px}
.adi-s .bf-back{display:inline-flex;align-items:center;gap:5px;background:none;color:var(--navy);font-weight:700;font-size:13px;padding:4px 0;margin:0 0 6px}
.adi-s .bf-back svg{width:17px;height:17px}
.adi-s .bf-back svg path{stroke:var(--navy)}
.adi-s .bf-title{color:var(--navy);font-size:21px;letter-spacing:-.02em;margin:2px 0 4px;font-weight:800}
.adi-s .bf-sub{color:var(--ink);opacity:.7;font-weight:500;font-size:13.5px;line-height:1.5;margin:0 0 16px}
.adi-s .bf-err{background:rgba(211,95,55,.10);border:1px solid rgba(211,95,55,.34);color:var(--orange-deep);font-weight:600;font-size:13px;line-height:1.45;border-radius:12px;padding:11px 13px;margin:0 0 14px}
.adi-s .bf-lab{display:block;font-weight:700;font-size:12.5px;color:var(--navy);margin:0 0 13px}
.adi-s .bf-in{display:block;width:100%;margin-top:6px;background:#fff;border:1.5px solid var(--line);border-radius:13px;padding:12px 14px;font:inherit;font-weight:500;font-size:15px;color:var(--ink);transition:border-color .15s;box-sizing:border-box}
.adi-s .bf-in:focus{outline:none;border-color:var(--navy)}
.adi-s textarea.bf-in{resize:vertical;min-height:46px;line-height:1.45}
.adi-s select.bf-in{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%2300598E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:38px}
.adi-s .bf-reflect{background:var(--pale-solid);border-radius:14px;padding:14px 14px 2px;margin:2px 0 4px}
.adi-s .bf-reflect-h{font-weight:800;font-size:13px;color:var(--navy);margin:0 0 12px;line-height:1.4}
.adi-s .bf-reflect-h span{font-weight:600;color:var(--muted);font-size:11.5px}
.adi-s .bf-reflect .bf-in{background:#fff}
.adi-s .req-btn[disabled]{opacity:.6;cursor:default;box-shadow:none}

/* booking form: session type / age / guardian / consent options (v2.23.0) */
.adi-s .bf-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.adi-s .bf-opt{display:flex;align-items:flex-start;gap:8px;font-weight:400;font-size:14px;line-height:1.4;padding:8px 10px;border:1px solid #e3e8ef;border-radius:10px;cursor:pointer;margin-top:8px}
.adi-s .bf-opts .bf-opt{margin-top:0}
.adi-s .bf-opt input{margin-top:2px;flex:0 0 auto}
.adi-s .bf-opt a{color:#E8734A}
.adi-s .bf-guard{background:#fff6f1;border-color:#f3c9b4}

/* email confirm + match hint (v2.24.0) */
.adi-s .bf-match{font-size:13px;color:#c0392b;margin:-6px 0 10px;font-weight:600}
.adi-s .bf-confirm{font-size:13.5px;line-height:1.45;color:var(--navy);background:#f4f8fb;border:1px solid #d6e4ef;border-radius:10px;padding:10px 12px;margin:4px 0 12px}
.adi-s .bf-confirm b{word-break:break-all}

/* ---------- booking wizard (multi-step, v2.29.0) ---------- */
.adi-s .bf-prog{margin:2px 0 18px}
.adi-s .bf-pcap{font-size:11px;font-weight:700;color:var(--navy);letter-spacing:.03em;margin:0 0 8px}
.adi-s .bf-pcap span{color:#9aa8b3;font-weight:600}
.adi-s .bf-pbar{display:flex;gap:5px}
.adi-s .bf-pbar i{flex:1;height:3px;border-radius:3px;background:var(--line);transition:background .25s}
.adi-s .bf-pbar i.on{background:var(--navy)}
.adi-s .bf-req{color:var(--orange-deep);font-weight:700}
.adi-s .bf-field{position:relative;display:block;margin-top:6px}
.adi-s .bf-field .bf-in{margin-top:0}
.adi-s .bf-vi{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;display:none;pointer-events:none}
.adi-s .bf-field.ok .bf-vi.ok{display:block}
.adi-s .bf-field.bad .bf-vi.bad{display:block}
.adi-s .bf-field.ok .bf-in{border-color:#9dd3bd}
.adi-s .bf-field.bad .bf-in{border-color:#e7b6a6}
.adi-s .bf-note{display:block;font-size:11.5px;color:var(--muted);margin:6px 0 0;line-height:1.4;font-weight:500}
.adi-s .bf-foot{display:flex;gap:10px;margin:20px 0 6px}
.adi-s .bf-ghost{flex:0 0 auto;background:#fff;border:1.5px solid var(--line);color:var(--navy);font-weight:700;font-size:15px;border-radius:13px;padding:13px 20px;cursor:pointer;font-family:inherit}
.adi-s .bf-ghost:hover{border-color:#c7d2dc}
.adi-s .bf-cont{flex:1}
.adi-s .bf-rev{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin:2px 0 14px}
.adi-s .bf-rrow{display:flex;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid var(--line);font-size:13.5px}
.adi-s .bf-rrow:last-child{border-bottom:none}
.adi-s .bf-rk{color:var(--muted);font-weight:600}
.adi-s .bf-rv{color:var(--navy);font-weight:700;text-align:right}
.adi-s .bf-free{color:#1B8F6A;font-weight:700}

/* ---------- booking wizard: HARDEN against theme/Elementor form CSS + premium look (v2.29.1) ---------- */
/* The WP theme/Elementor stylesheets style generic inputs (underline, no radius) with high priority.
   We scope high-specificity + !important resets to our widget only so our look wins. */
.adi-s .bf-wrap input.bf-in,
.adi-s .bf-wrap textarea.bf-in,
.adi-s .bf-wrap select.bf-in{
  -webkit-appearance:none!important;appearance:none!important;
  width:100%!important;box-sizing:border-box!important;
  background-color:#f4f7fa!important;background-image:none;
  border:1.5px solid #e6ecf1!important;border-radius:13px!important;
  padding:13px 14px!important;margin:0!important;
  font-family:'Montserrat',sans-serif!important;font-size:15px!important;font-weight:500!important;
  color:var(--ink)!important;line-height:1.4!important;min-height:0!important;height:auto!important;
  box-shadow:none!important;
}
.adi-s .bf-wrap textarea.bf-in{min-height:48px!important;line-height:1.5!important;resize:vertical}
.adi-s .bf-wrap select.bf-in{
  padding-right:38px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%2300598E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:18px!important;
}
.adi-s .bf-wrap input.bf-in:focus,
.adi-s .bf-wrap textarea.bf-in:focus,
.adi-s .bf-wrap select.bf-in:focus{background-color:#fff!important;border-color:var(--navy)!important;box-shadow:0 0 0 3px rgba(0,89,142,.10)!important;outline:none!important}
.adi-s .bf-wrap .bf-field{position:relative;display:block;margin-top:6px}
.adi-s .bf-wrap .bf-field[data-vw] input.bf-in{padding-right:40px!important}
.adi-s .bf-wrap .bf-field.ok input.bf-in{border-color:#9dd3bd!important}
.adi-s .bf-wrap .bf-field.bad input.bf-in{border-color:#e7b6a6!important}
/* session/age choices -> clean segmented pills (consent/guardian rows are left as-is) */
.adi-s .bf-wrap .bf-opts{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.adi-s .bf-wrap .bf-opts .bf-opt{position:relative;margin:0!important;border:1.5px solid #e6ecf1!important;border-radius:11px!important;padding:11px 15px!important;font-weight:600;font-size:13px;color:var(--navy);background:#fff!important;cursor:pointer;transition:.15s;align-items:center}
.adi-s .bf-wrap .bf-opts .bf-opt input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important;pointer-events:none}
.adi-s .bf-wrap .bf-opts .bf-opt:has(input:checked){border-color:var(--orange)!important;background:#fdf1ec!important;color:var(--orange-deep)}

/* ---------- booking wizard: visible custom checkbox + tidy consent line (v2.29.2) ---------- */
.adi-s .bf-wrap .bf-opt{align-items:flex-start;gap:10px}
.adi-s .bf-wrap .bf-opt input[type="checkbox"]{
  -webkit-appearance:none!important;appearance:none!important;
  flex:0 0 auto!important;width:20px!important;height:20px!important;margin:1px 0 0!important;
  border:1.5px solid #c7d2dc!important;border-radius:6px!important;background:#fff!important;
  cursor:pointer;position:relative;display:inline-block!important;box-shadow:none!important;
}
.adi-s .bf-wrap .bf-opt input[type="checkbox"]:checked{background:var(--navy)!important;border-color:var(--navy)!important}
.adi-s .bf-wrap .bf-opt input[type="checkbox"]:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.adi-s .bf-wrap .bf-optx{flex:1 1 auto;font-weight:400;font-size:13.5px;line-height:1.5;color:var(--ink)}
.adi-s .bf-wrap .bf-optx a{color:var(--orange-deep)!important;text-decoration:underline;font-weight:600}

/* ---------- booking wizard: footer button parity + calendar (v2.30.0) ---------- */
.adi-s .bf-foot{align-items:stretch}
.adi-s .bf-foot .req-btn{margin-top:0!important}
.adi-s .bf-foot .bf-ghost,.adi-s .bf-foot .req-btn{padding-top:15px!important;padding-bottom:15px!important;min-height:54px;border-radius:14px!important;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.adi-s .bf-foot .req-btn{box-shadow:0 8px 18px rgba(232,115,74,.28)}
/* calendar */
.adi-s .bf-wrap .bf-cal-note{font-size:11.5px;color:var(--muted);margin:0 0 10px;line-height:1.4}
.adi-s .bf-wrap .bf-cal{border:1px solid var(--line);border-radius:16px;padding:14px 14px 8px;background:#fff;margin:0 0 14px}
.adi-s .bf-wrap .bf-calhead{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.adi-s .bf-wrap .bf-calmo{font-size:14px;font-weight:700;color:var(--navy)}
.adi-s .bf-wrap .bf-navb{width:32px!important;height:32px!important;border-radius:9px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0!important}
.adi-s .bf-wrap .bf-navb svg{width:15px;height:15px}
.adi-s .bf-wrap .bf-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin:0 0 6px}
.adi-s .bf-wrap .bf-dow span{font-size:10.5px;font-weight:700;color:var(--muted);text-align:center}
.adi-s .bf-wrap .bf-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.adi-s .bf-wrap .bf-day{aspect-ratio:1;border:0!important;background:none!important;border-radius:50%!important;font-size:13px;color:var(--ink);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;font-family:inherit;padding:0!important;font-weight:500}
.adi-s .bf-wrap .bf-day.empty{visibility:hidden}
.adi-s .bf-wrap .bf-day.off{color:#c4ccd4;cursor:default}
.adi-s .bf-wrap .bf-day.avail{font-weight:600;color:var(--navy)}
.adi-s .bf-wrap .bf-day.avail::after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--orange)}
.adi-s .bf-wrap .bf-day.avail:hover{background:var(--pale)!important}
.adi-s .bf-wrap .bf-day.sel{background:var(--navy)!important;color:#fff!important}
.adi-s .bf-wrap .bf-day.sel::after{background:#fff}
.adi-s .bf-wrap .bf-slots-h{font-size:12px;font-weight:700;color:var(--navy);margin:2px 0 9px}
.adi-s .bf-wrap .bf-slotgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:4px}
.adi-s .bf-wrap .bf-slot{font-size:13px;font-weight:600;color:var(--navy);background:#fff!important;border:1.5px solid var(--line)!important;border-radius:10px!important;padding:11px 4px!important;cursor:pointer;font-family:inherit}
.adi-s .bf-wrap .bf-slot:hover{border-color:#bcd0e0!important}
.adi-s .bf-wrap .bf-slot.sel{border-color:var(--orange)!important;background:#fdf1ec!important;color:var(--orange-deep)}
.adi-s .bf-wrap .bf-slots-empty{font-size:12.5px;color:var(--muted);padding:4px 2px;line-height:1.5}
.adi-s .bf-wrap .bf-suggest{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--navy)!important;background:none!important;border:0!important;cursor:pointer;padding:10px 0 4px;font-family:inherit}
.adi-s .bf-wrap .bf-sgbox{margin-top:4px}

/* ---------- v2.31.0: fade line ends + multi-select checkboxes ---------- */
/* multi-select question (checkbox list) inside the inline survey */
.adi-s .bf-wrap .bf-checks{display:flex;flex-direction:column;gap:8px;margin-top:9px}
.adi-s .bf-wrap .bf-check{display:flex;align-items:flex-start;gap:9px;font-weight:500;font-size:13.5px;color:var(--ink);line-height:1.45;cursor:pointer;margin:0}
.adi-s .bf-wrap .bf-check input[type="checkbox"]{-webkit-appearance:none!important;appearance:none!important;flex:0 0 auto!important;width:19px!important;height:19px!important;margin:1px 0 0!important;border:1.5px solid #c7d2dc!important;border-radius:6px!important;background:#fff!important;cursor:pointer;position:relative;display:inline-block!important;box-shadow:none!important}
.adi-s .bf-wrap .bf-check input[type="checkbox"]:checked{background:var(--navy)!important;border-color:var(--navy)!important}
.adi-s .bf-wrap .bf-check input[type="checkbox"]:checked::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}

/* ---------- v2.31.1: tick centering, slot centering, survey inputs, stronger line fade ---------- */
/* centre the white tick inside both consent/guardian and multi-select checkboxes */
.adi-s .bf-wrap .bf-opt input[type="checkbox"]:checked::after,
.adi-s .bf-wrap .bf-check input[type="checkbox"]:checked::after{
  content:"";position:absolute;left:50%;top:46%;width:5px;height:9px;
  border:solid #fff!important;border-width:0 2.5px 2.5px 0!important;border-radius:0!important;
  transform:translate(-50%,-50%) rotate(45deg);background:none!important
}
/* time-slot chips: centre the time */
.adi-s .bf-wrap .bf-slot{text-align:center!important}
/* survey fields read better on white inside the pale reflection panel */
.adi-s .bf-wrap .bf-reflect input.bf-in,.adi-s .bf-wrap .bf-reflect select.bf-in,.adi-s .bf-wrap .bf-reflect textarea.bf-in{background-color:#fff!important}

/* ---------- v2.32.0: more white space + lines flow through sections ---------- */
/* booking sheet: more breathing room around the sides and between fields */
.adi-s .sheet-inner{padding:18px 28px 34px!important}
@media(min-width:760px){.adi-s .sheet{width:520px}}
.adi-s .bf-wrap{padding-top:24px}
.adi-s .bf-lab{margin-bottom:17px}
/* search/course card: less crowded */
.adi-s .ocard-body{padding:18px 20px 6px}
.adi-s .insiders{padding:8px 14px 16px}
.adi-s .irow{padding:12px 11px}
.adi-s .faces{margin-top:13px}
/* v2.55.661: the energy-lines flow-through rules went with the bubble wall; .pad keeps its stacking context */
.adi-s .pad{position:relative;z-index:1}

/* ---------- v2.32.2: real top breathing room on the booking sheet ---------- */
/* the earlier !important shorthand had forced padding-top to 0; restore a generous top gap */
.adi-s .bf-wrap{padding-top:34px!important}
.adi-s .bf-prog{margin:0 0 22px}
.adi-s .bf-title{margin:4px 0 5px}

/* ---------- v2.33.0: Amelia-style stepper + transitions + mobile perf ---------- */
/* step indicator with ticks on completed steps */
.adi-s .bf-steps{display:flex;align-items:center;gap:0;margin-top:12px}
.adi-s .bf-step{flex:0 0 auto;display:flex;align-items:center}
.adi-s .bf-dot{width:25px;height:25px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;background:#eef2f6;color:#9aa8b3;border:2px solid #eef2f6;transition:background .25s,border-color .25s,color .25s}
.adi-s .bf-dot svg{width:13px;height:13px;display:block}
.adi-s .bf-step.cur .bf-dot{background:#fff;border-color:var(--navy);color:var(--navy);box-shadow:0 0 0 4px rgba(0,89,142,.12)}
.adi-s .bf-step.done .bf-dot{background:var(--navy);border-color:var(--navy);color:#fff}
.adi-s .bf-conn{flex:1;height:2px;background:#eef2f6;margin:0 7px;border-radius:2px;transition:background .25s}
.adi-s .bf-conn.done{background:var(--navy)}
/* smooth slide between steps */
.adi-s .bf-stepwrap{animation:adi-stepin .26s cubic-bezier(.2,.8,.2,1)}
@keyframes adi-stepin{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.adi-s .bf-stepwrap{animation:none}}
/* ---------- v2.33.1: kill search glow on mobile (bubble-freeze rules removed with the wall, v2.55.661) ---------- */
@media(max-width:768px){
  .adi-s .ss-pill::after,.adi-s .ss-go::after{animation:none!important;opacity:0}
}

/* ---------- dedicated survey step (Slice 2, v2.35.0) ---------- */
.adi-s .bf-survey{display:block}
.adi-s .bf-q{margin:0 0 18px}
.adi-s .bf-qlab{display:block;font-weight:700;font-size:13px;color:var(--navy);line-height:1.45;margin:0 0 10px}
.adi-s .bf-qhelp{display:block;font-weight:600;font-size:12px;color:var(--muted,#6b7682);line-height:1.5;margin:-6px 0 10px} /* v2.55.644: consent reassurance line in the wizard */
.adi-s .bf-req{color:var(--orange-deep);font-weight:800}
.adi-s .bf-opt-tag{font-weight:600;color:var(--muted);font-size:11px;background:var(--pale-solid);border-radius:20px;padding:2px 8px;margin-left:4px;white-space:nowrap}
.adi-s .bf-survey .bf-in{margin-top:0}
/* single-choice as tappable radio buttons */
.adi-s .bf-opts2{display:flex;flex-direction:column;gap:8px}
.adi-s .bf-opt2{display:flex;align-items:center;gap:11px;width:100%;text-align:left;cursor:pointer;background:#fff!important;border:1.5px solid var(--line)!important;border-radius:13px!important;padding:12px 14px!important;appearance:none!important;-webkit-appearance:none!important;font:inherit;font-weight:600;font-size:14.5px;color:var(--ink);transition:border-color .15s,background .15s}
.adi-s .bf-opt2:hover{border-color:#b9c7d3!important}
.adi-s .bf-opt2.on{border-color:var(--navy)!important;background:var(--pale-solid)!important}
.adi-s .bf-radio{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:2px solid #c4cfd8;position:relative;transition:border-color .15s}
.adi-s .bf-opt2.on .bf-radio{border-color:var(--navy)}
.adi-s .bf-opt2.on .bf-radio::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-radius:50%;background:var(--navy);transform:translate(-50%,-50%)}
.adi-s .bf-opt-txt{flex:1}
/* likert + scale rows */
.adi-s .bf-likert-row,.adi-s .bf-scale{display:flex;flex-wrap:wrap;gap:7px}
.adi-s .bf-likert,.adi-s .bf-scaleb{cursor:pointer;background:#fff!important;border:1.5px solid var(--line)!important;border-radius:11px!important;padding:9px 13px!important;appearance:none!important;-webkit-appearance:none!important;font:inherit;font-weight:700;font-size:14px;color:var(--navy);transition:background .15s,border-color .15s,color .15s;flex:0 0 auto}
.adi-s .bf-scaleb{min-width:42px;text-align:center;padding:9px 0!important}
.adi-s .bf-likert{flex:1 1 auto;text-align:center}
.adi-s .bf-likert:hover,.adi-s .bf-scaleb:hover{border-color:#b9c7d3!important}
.adi-s .bf-likert.on,.adi-s .bf-scaleb.on{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.adi-s .bf-scale-ends{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-weight:600;margin-top:6px}
.adi-s .bf-scale-cap{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;color:var(--navy);margin:0 0 9px;line-height:1.35}
.adi-s .bf-scale-cap span{flex:1 1 0;max-width:50%}
.adi-s .bf-scale-cap span:last-child{text-align:right}
@media(max-width:768px){.adi-s .bf-scale{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:5px}.adi-s .bf-scaleb{flex:0 0 auto}}
/* SURV-6, 11 Sept 2026: a rating scale is ONE row that spans its question. Measured before (tools/verify_surv6_scales.js on
   2.56.526): on desktop the 1-10 row wrapped with the 10 alone on a second line and a 1-5 row filled 51% of the width; on a
   phone the 1-10 row was 145% of the width and scrolled sideways. The buttons now SHARE the width instead of each holding
   42px. Placed AFTER the 768px rule on purpose: equal specificity is decided by source order. */
.adi-s .bf-scale{flex-wrap:nowrap;gap:6px;overflow-x:visible;padding-bottom:0}
.adi-s .bf-scaleb{flex:1 1 0;min-width:0}
@media(max-width:768px){.adi-s .bf-scale{gap:4px;overflow-x:visible;padding-bottom:0}.adi-s .bf-scaleb{flex:1 1 0;min-width:0;font-size:13px}}
/* multi-select checkboxes */
.adi-s .bf-checks{display:flex;flex-direction:column;gap:8px}
.adi-s .bf-check{position:relative;display:flex;align-items:center;gap:11px;cursor:pointer;background:#fff!important;border:1.5px solid var(--line)!important;border-radius:13px!important;padding:12px 14px!important;font-weight:600;font-size:14.5px;color:var(--ink);transition:border-color .15s,background .15s}
.adi-s .bf-check:hover{border-color:#b9c7d3!important}
.adi-s .bf-check.on{border-color:var(--navy)!important;background:var(--pale-solid)!important}
.adi-s .bf-check input{position:absolute;opacity:0;width:0;height:0}
.adi-s .bf-cbx{flex:0 0 auto;width:20px;height:20px;border-radius:6px;border:2px solid #c4cfd8;position:relative;transition:background .15s,border-color .15s}
.adi-s .bf-check.on .bf-cbx{background:var(--navy);border-color:var(--navy)}
.adi-s .bf-check.on .bf-cbx::after{content:"";position:absolute;left:50%;top:46%;width:5px;height:9px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translate(-50%,-50%) rotate(45deg)}
/* type-ahead (university / school) */
.adi-s .bf-ta{position:relative}
.adi-s .bf-ta-input{margin-top:0}
.adi-s .bf-ta-drop{display:none;position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;background:#fff;border:1.5px solid var(--line);border-radius:13px;box-shadow:0 12px 30px rgba(10,40,70,.14);overflow:hidden;max-height:236px;overflow-y:auto}
.adi-s .bf-ta-drop.open{display:block}
.adi-s .bf-ta-opt{display:block;width:100%;text-align:left;cursor:pointer;background:#fff!important;border:0!important;border-radius:0!important;padding:11px 14px!important;appearance:none!important;-webkit-appearance:none!important;font:inherit;font-weight:600;font-size:14px;color:var(--ink)}
.adi-s .bf-ta-opt:hover{background:var(--pale-solid)!important}
.adi-s .bf-ta-other{border-top:1px solid var(--border)!important;color:var(--navy)!important;font-weight:700!important;font-style:italic}

.adi-s .bf-ta-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.adi-s .bf-chip{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;font-weight:700;font-size:13px;border-radius:20px;padding:6px 8px 6px 13px}
.adi-s .bf-chipx{cursor:pointer;background:rgba(255,255,255,.22)!important;border:0!important;border-radius:50%!important;width:18px;height:18px;padding:0!important;appearance:none!important;-webkit-appearance:none!important;color:#fff;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
.adi-s .bf-chipx:hover{background:rgba(255,255,255,.38)!important}
/* prep questions + code-applied note */
.adi-s .bf-prepwrap{border-top:1px solid var(--line);margin-top:6px;padding-top:16px}
.adi-s .bf-code-ok{display:flex;align-items:center;gap:9px;background:#eaf6f0;border:1px solid #bfe3d2;border-radius:12px;padding:11px 13px;margin-top:14px;font-weight:700;font-size:13.5px;color:#1B6E52}
.adi-s .bf-code-ok svg{flex:0 0 auto;width:18px;height:18px}

/* v2.36.0 — booking reassurance microcopy (payment slice) */
.bf-reassure{margin:12px 0 4px;padding:11px 13px;background:#f4f8f6;border:1px solid #dceae3;border-radius:10px;font-size:13px;line-height:1.5;color:#2f4f43;}

/* v2.55.46 — apprenticeship search mode (hidden behind the visibility toggle until populated) */
.adi-s .appr-entry-row{display:flex;justify-content:center;margin:10px 0 2px}
.adi-s .appr-entry{display:inline-flex;align-items:center;gap:7px;background:transparent;border:1px solid var(--line);color:var(--navy);font-weight:600;font-size:13.5px;border-radius:999px;padding:9px 16px;transition:.15s;cursor:pointer}
.adi-s .appr-entry b{font-weight:800}
.adi-s .appr-entry svg{width:16px;height:16px;color:var(--orange)}
.adi-s .appr-entry:hover{border-color:var(--navy);background:var(--pale)}
.adi-s .appr-back{display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-weight:700;font-size:13px;background:transparent;padding:5px 0;margin-bottom:8px;cursor:pointer}
.adi-s .appr-back svg{width:16px;height:16px}
.adi-s .appr-back:hover{color:var(--orange-deep)}
.adi-s .ocard-typepill.appr{background:linear-gradient(135deg,#3f4a5a,#5a6b80);color:#fff}
.adi-s .ocard-slide{display:inline-flex;align-items:center;gap:5px;margin:2px 0 6px;color:var(--navy);font-weight:700;font-size:12.5px}
.adi-s .ocard-slide svg{width:15px;height:15px;color:var(--orange)}
.adi-s .ocard-slide:hover{color:var(--orange-deep)}


/* ═══ v2.55.199 search restyle (Dan-directed): calmer, cleaner, mobile-first ═══ */
.adi-s .hero-title{margin-bottom:14px}
.adi-s .ocard{box-shadow:0 1px 3px rgba(15,42,67,.06)}
.adi-s .badge{font-size:11px;padding:3px 9px}
.adi-s .sheet-price{margin:14px 0 10px}
.adi-s .sheet-inner .req-btn{margin-bottom:18px}
.adi-s .sheet-inner .sec-lab{margin-top:22px}


/* ═══ v2.55.200 band craft: layered duotone (radial light + bottom depth), stronger watermark ═══ */
.adi-s .ocard-photo::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 12% 0%,rgba(255,255,255,.22),rgba(255,255,255,0) 55%)}
.adi-s .ocard-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,rgba(6,26,43,0) 45%,rgba(6,26,43,.38) 100%)}
.adi-s .ocard-wm{right:-18px;opacity:.17}
.adi-s .ocard-wm svg{width:164px;height:164px}
.adi-s .ocard-eyebrow{z-index:2;letter-spacing:.01em;text-shadow:0 1px 2px rgba(6,26,43,.35)}
.adi-s .sheet-hero{position:relative}
.adi-s .sheet-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 12% 0%,rgba(255,255,255,.20),rgba(255,255,255,0) 55%)}
.adi-s .sheet-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(6,26,43,0) 55%,rgba(6,26,43,.30) 100%)}

/* ═══ v2.55.202 homepage-congruent trust row (replaces the pills) ═══ */
.adi-s .trust2{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:2px}
.adi-s .trust2-item{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#7a90a0}
.adi-s .trust2-item svg{width:13px;height:13px;fill:none;stroke:var(--orange,#E8734A);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.adi-s .trust2-div{width:1px;height:14px;background:#d0dde8;flex-shrink:0}
@media(max-width:480px){.adi-s .trust2{gap:10px}.adi-s .trust2-div{display:none}}

/* v2.55.203: single calm price/code line replaces the boxed banner + per-card price */
.adi-s .price-note{font-size:12.5px;font-weight:500;color:#7a90a0;margin:4px 0 14px}

/* ═══ v2.55.204 ═══ */
/* Footer: Back and Continue sit on one line at one height */
.adi-s .bf-foot{display:flex;align-items:center;gap:12px}
.adi-s .bf-foot .bf-ghost,.adi-s .bf-foot .req-btn{height:54px;padding-top:0;padding-bottom:0;margin:0;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box} /* margin:0 - the sheet-CTA margin-bottom rule was leaking in here */
/* Per-card price (admin toggle) */
.adi-s .ocard-price{margin-left:auto;font-weight:800;font-size:13px;color:var(--navy);white-space:nowrap}
.adi-s .ocard-price small{display:block;font-weight:600;font-size:10.5px;color:var(--muted);text-align:right}
/* Sub-hint under the mandatory alt-times field */
.adi-s .bf-sub{display:block;font-weight:500;font-size:11.5px;color:#8aa0b0;margin-top:6px;line-height:1.45}

/* v2.55.207: visible code-applied confirmation */
.adi-s .bf-codechip{display:flex;align-items:center;gap:8px;background:#eef8f2;border:1px solid #cde9da;color:#14684c;font-weight:700;font-size:13px;border-radius:12px;padding:10px 13px;margin:0 0 14px}
.adi-s .bf-codechip .bf-vi{width:16px;height:16px;flex:0 0 auto}
