/* ═════════ v19 · Lean sections ═════════
   One section anatomy everywhere: numbered rail + one heading + content on hairlines.
   Hero, figures strip and subnav are locked and styled in cv.css. */

.L{padding:clamp(3.2rem,7vw,5.6rem) 0;border-top:1px solid var(--rule)}
#record.L{border-top:0;padding-top:clamp(2.6rem,5vw,4rem)}
.L-g{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.L-rail{position:sticky;top:84px;display:flex;flex-direction:column;gap:.35rem;margin:0;font:600 .7rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--sage-ink);padding-top:.55rem}
.L-n{font:400 2.1rem/1 var(--serif);letter-spacing:-.01em;color:var(--navy);font-variant-numeric:lining-nums}
.L-n::after{content:"";display:block;width:22px;height:2px;background:var(--orange);margin:.7rem 0 .25rem}
.L-body{min-width:0;max-width:840px}
.L-h{font:400 clamp(1.85rem,3.3vw,2.75rem)/1.1 var(--serif);letter-spacing:-.018em;color:var(--navy);max-width:24ch;text-wrap:balance}
.L-h em{font-style:italic;color:var(--orange)}
.L-lede{margin-top:1rem;font:400 clamp(1.04rem,1.3vw,1.16rem)/1.6 var(--serif-text);color:var(--ink-2);max-width:60ch}
.L-sub{font:600 .72rem/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin:2.6rem 0 1rem;display:flex;align-items:baseline;gap:.6rem}
.L-sub span{font:400 .95rem/1 var(--serif);letter-spacing:0;text-transform:none;color:var(--navy)}
.L-acts{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.4rem;margin-top:1.6rem}

/* reveal */
.js .L-body,.js .L-verify{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.js .L-body.in,.js .L-verify.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.L-body,.L-verify{opacity:1;transform:none}}
@media print{.L-body,.L-verify{opacity:1!important;transform:none!important}}

/* 01 About */
.L-answer{margin-top:1.4rem;font:400 clamp(1.08rem,1.4vw,1.22rem)/1.62 var(--serif-text);color:var(--ink);max-width:62ch}
.L-answer strong{font-weight:400;color:var(--navy);border-bottom:1px solid var(--orange)}
.L-now{width:fit-content;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .7rem;margin-top:1.6rem;padding:.85rem 1rem;border:1px dashed #CFC7B6;border-radius:12px;font-size:.92rem;color:var(--navy);max-width:62ch}
.L-now .pulse{width:8px;height:8px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px rgba(126,185,166,.22);flex:none}
.L-now-k{font:600 .64rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--sage-ink)}
.L-now-m{font-size:.78rem;color:var(--ink-3)}
.L-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:2.2rem 0 0;border-top:1px solid var(--rule)}
.L-facts div{padding:1.05rem 1rem 1.05rem 0;border-bottom:1px solid var(--rule)}
.L-facts div:not(:nth-child(3n+1)){padding-left:1.1rem;border-left:1px solid var(--rule)}
.L-facts dt{font:600 .64rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-ink);margin-bottom:.45rem}
.L-facts dd{margin:0;font:400 1.12rem/1.3 var(--serif);color:var(--navy)}

/* 02 Standing */
.L-ladder{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative}
.L-ladder::before{content:"";position:absolute;left:7px;right:calc(33.33% - 7px);top:7px;height:2px;background:var(--sage)}
.L-ladder li{position:relative;padding-top:1.7rem;padding-right:1rem}
.L-dot{position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--sage)}
.L-ladder .done .L-dot{background:var(--sage)}
.L-ladder .here .L-dot{background:var(--navy);border-color:var(--navy);box-shadow:0 0 0 5px rgba(38,31,70,.12)}
.L-ladder b{display:block;font:400 1.25rem/1.2 var(--serif);color:var(--navy)}
.L-ladder li span:last-child{display:block;margin-top:.25rem;font-size:.84rem;color:var(--ink-3)}
.L-ladder .here b::after{content:"Current";margin-left:.55rem;font:600 .58rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--navy);padding:.32rem .45rem;border-radius:999px;vertical-align:.25em}
.L-ladder-n{margin-top:1.3rem;font-size:.95rem;color:var(--ink-2)}
.L-ladder-n b{font-weight:600;color:var(--navy)}
.L-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;border-top:1px solid var(--rule)}
.L-checks li{padding:.95rem 0 .95rem 1.7rem;border-bottom:1px solid var(--rule);position:relative}
.L-checks li::before{content:"✓";position:absolute;left:0;top:.95rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--ev-ver-bg);color:var(--sage-ink);font:700 .62rem/1.1rem var(--sans);text-align:center}
.L-checks b{display:block;font-weight:500;color:var(--navy);font-size:.98rem}
.L-checks span{font-size:.84rem;color:var(--ink-3)}
.L-chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.L-chain li{position:relative;padding:1rem 1.1rem;border:1px solid var(--rule);border-radius:14px;background:var(--white)}
.L-chain li+li::before{content:"→";position:absolute;left:-.62rem;top:50%;transform:translate(-50%,-50%);color:var(--ink-3);font-size:.9rem}
.L-chain li.me{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.L-chain-k{display:block;font:600 .6rem/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--sage-ink);margin-bottom:.45rem}
.L-chain .me .L-chain-k{color:var(--sage)}
.L-chain b{display:block;font:400 1.12rem/1.2 var(--serif)}
.L-chain li span:last-child{display:block;margin-top:.3rem;font-size:.8rem;color:var(--ink-3);line-height:1.45}
.L-chain .me span:last-child{color:rgba(251,248,243,.7)}

/* 03 Qualifications */
.L-quals{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--navy)}
.L-quals li{border-bottom:1px solid var(--rule)}
.L-q{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto 1rem;align-items:center;gap:1rem;padding:1rem .2rem;cursor:pointer;transition:background .2s}
.L-q:hover{background:rgba(255,255,255,.75)}
.L-q:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;border-radius:8px}
.L-q-y{font:400 1rem/1 var(--serif);color:var(--ink-3);font-variant-numeric:lining-nums}
.L-q-t b{display:block;font:400 1.1rem/1.3 var(--serif);color:var(--navy)}
.L-q-t span{display:block;margin-top:.2rem;font-size:.84rem;color:var(--ink-3)}
.L-go{color:var(--ink-3);font-size:1.2rem;transition:transform .2s}
.L-q:hover .L-go{transform:translateX(3px);color:var(--navy)}
.L-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.6rem}
.L-specs div{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border:1px solid var(--rule);border-radius:14px;background:var(--white)}
.L-specs img{flex:none;width:44px;height:44px}
.L-specs b{display:block;font:400 1.02rem/1.25 var(--serif);color:var(--navy)}
.L-specs span{display:block;font-size:.78rem;color:var(--ink-3);margin-top:.15rem}

/* 04 Experience */
.L-photo{margin:2rem 0 0;position:relative}
.L-photo img{width:100%;aspect-ratio:16/8;object-fit:cover;object-position:50% 45%;border-radius:18px}
.L-photo figcaption{margin-top:.6rem;font-size:.78rem;color:var(--ink-3)}
.L-exp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.8rem,4vw,3.4rem);margin-top:2.2rem}
.L-time{list-style:none;margin:0;padding:0;position:relative}
.L-time::before{content:"";position:absolute;left:5px;top:.5rem;bottom:.5rem;width:1px;background:var(--rule)}
.L-time li{position:relative;padding:0 0 1.35rem 1.6rem}
.L-time li::before{content:"";position:absolute;left:0;top:.42rem;width:11px;height:11px;border-radius:50%;background:var(--paper);border:2px solid var(--sage)}
.L-time li.is-now::before{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 4px rgba(240,146,33,.18)}
.L-time time{display:block;font:600 .66rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-ink)}
.L-time li.is-now time{color:var(--orange-deep)}
.L-time b{display:block;margin-top:.2rem;font:400 1.08rem/1.3 var(--serif);color:var(--navy)}
.L-time li span{display:block;font-size:.86rem;color:var(--ink-3)}
.L-bio p{font:400 1rem/1.7 var(--serif-text);color:var(--ink-2);margin-top:.85rem}
.L-bio .L-bio-lead{margin-top:0;font:400 1.3rem/1.35 var(--serif);color:var(--navy)}
.L-kv{margin:1.4rem 0 .8rem;border-top:1px solid var(--rule)}
.L-kv div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--rule)}
.L-kv dt{font:600 .64rem/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.L-kv dd{margin:0;font-size:.92rem;color:var(--navy)}

/* 05 Work with */
.L-offers{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.4rem;border-top:1px solid var(--navy)}
.L-offers li{padding:1.25rem 0 1.3rem;border-bottom:1px solid var(--rule);display:flex;flex-direction:column;align-items:flex-start}
.L-st{display:inline-flex;align-items:center;gap:.4rem;font:600 .6rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--sage-ink)}
.L-st::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sage)}
.L-st.enq{color:var(--ink-3)}.L-st.enq::before{background:transparent;border:1.5px solid var(--ink-3);width:5px;height:5px}
.L-offers h3{margin-top:.55rem;font:400 1.25rem/1.25 var(--serif);color:var(--navy)}
.L-offers p{margin:.35rem 0 .8rem;font-size:.92rem;color:var(--ink-2);line-height:1.55}
.L-offers .text-link{margin-top:auto}
.L-bk{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;margin:1.4rem 0 .4rem;font:600 .62rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-ink)}
.L-bk .small{letter-spacing:0;text-transform:none;font-weight:400;font-size:.78rem}
.L-blist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.L-blist li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.8rem 0;border-bottom:1px solid var(--rule)}
.L-blist img,.L-mono{width:40px;height:40px;border-radius:10px;object-fit:cover}
.L-mono{display:grid;place-items:center;background:var(--paper-deep);font:400 .9rem/1 var(--serif);color:var(--navy)}
.L-blist b{display:block;font:400 1.04rem/1.25 var(--serif);color:var(--navy)}
.L-blist p>span{display:block;font-size:.8rem;color:var(--ink-3);margin-top:.1rem}
.L-brands .L-sub{margin-top:3rem}

/* 06 What's on */
.L-tabs{display:flex;gap:1.4rem;margin-top:1.8rem;border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.L-tabs::-webkit-scrollbar{display:none}
.L-tabs button{flex:none;background:none;border:0;padding:.7rem 0 .8rem;font:500 .9rem/1 var(--sans);color:var(--ink-3);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}
.L-tabs button sup{font-size:.62rem;color:var(--ink-3);margin-left:.1rem}
.L-tabs button[aria-selected="true"]{color:var(--navy);border-color:var(--orange)}
.L-tabs button:hover{color:var(--navy)}
.L-events{margin-top:.2rem}
.L-ev{display:grid;grid-template-columns:4.6rem minmax(0,1fr) auto;gap:1.2rem;align-items:start;padding:1.25rem 0;border-bottom:1px solid var(--rule)}
:not(.L-all)>.L-ev.L-more{display:none}
.L-d{display:flex;flex-direction:column;align-items:flex-start}
.L-d b{font:400 2rem/1 var(--serif);color:var(--navy);font-variant-numeric:lining-nums}
.L-d span{margin-top:.3rem;font:600 .62rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.L-d.any b{font-size:1.3rem;color:var(--ink-3)}
.L-ev-k{font:600 .62rem/1.3 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--sage-ink)}
.L-ev[data-type="workshop"] .L-ev-k,.L-ev[data-type="retreat"] .L-ev-k{color:var(--orange-deep)}
.L-ev h3{margin-top:.35rem;font:400 1.2rem/1.28 var(--serif)}
.L-ev h3 a{color:var(--navy);text-decoration:none;background:linear-gradient(var(--orange),var(--orange)) 0 100%/0 1px no-repeat;transition:background-size .25s}
.L-ev h3 a:hover{background-size:100% 1px}
.L-ev-m{margin-top:.35rem;font-size:.86rem;color:var(--ink-2)}
.L-ev-f{font-size:.8rem;color:var(--ink-3);margin-top:.1rem}
.L-ev .warn{font-size:.78rem;color:var(--orange-deep);margin-top:.3rem}
.L-ev-s{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;text-align:right}
.L-pr b{display:block;font:400 1.2rem/1 var(--serif);color:var(--navy);white-space:nowrap}
.L-pr span{display:block;margin-top:.25rem;font-size:.74rem;color:var(--ink-3);white-space:nowrap}
.L-pill{font:600 .6rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:.38rem .55rem;border-radius:999px;background:var(--ev-ver-bg);color:var(--sage-ink);white-space:nowrap}
.L-pill.soft{background:var(--paper-deep);color:var(--ink-3)}
.L-showall,.L-weekly{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:.4rem;width:100%;padding:1rem 0;border-bottom:1px solid var(--rule);font-size:.9rem;color:var(--navy);cursor:pointer}
.L-showall{font-weight:600}
.L-weekly .arrow{margin-left:auto}
.L-showall:hover,.L-weekly:hover{color:var(--orange-deep)}
.L-showall:focus-visible,.L-weekly:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:6px}
.L-week{list-style:none;margin:0;padding:0}
.L-week li{display:grid;grid-template-columns:3rem 3.6rem minmax(0,1fr);gap:1rem;align-items:baseline;padding:.9rem 0;border-bottom:1px solid var(--rule)}
.L-wd{font:600 .66rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-ink)}
.L-week b{font:400 1.05rem/1 var(--serif);color:var(--navy);font-variant-numeric:lining-nums}
.L-wt{font-size:.95rem;color:var(--navy)}
.L-wt span{display:block;font-size:.8rem;color:var(--ink-3)}
.L-src{margin-top:1rem}

/* 07 Reviews */
.L-rev{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(1.6rem,4vw,3rem);margin-top:2rem}
.L-score-n{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem}
.L-score-n b{font:400 3.6rem/1 var(--serif);color:var(--navy);font-variant-numeric:lining-nums}
.L-score-n .stars{color:var(--orange);letter-spacing:.1em;font-size:1.05rem}
.L-sum{margin-top:1rem;font:400 1.2rem/1.5 var(--serif);color:var(--navy);max-width:40ch}
.L-themes{list-style:none;margin:1.2rem 0 .9rem;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.L-themes li{font-size:.8rem;color:var(--navy);padding:.42rem .7rem;border:1px solid var(--rule);border-radius:999px;background:var(--white)}
.L-themes b{font-weight:600;color:var(--orange-deep);margin-left:.2rem}
.L-endorse .L-sub{margin-top:.4rem}
.L-endorse ul{list-style:none;margin:0 0 .9rem;padding:0}
.L-endorse li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .8rem;padding:.6rem 0}
.L-endorse li span{font-size:.92rem;color:var(--navy)}
.L-endorse li b{font:400 1rem/1 var(--serif);color:var(--navy)}
.L-endorse li i{grid-column:1/-1;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--orange) var(--w),var(--paper-deep) var(--w))}
.L-endorse .btn{margin-top:1rem}
.L-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:2.6rem}
.L-quotes figure{margin:0;padding:1.3rem 1.3rem 1.2rem;background:var(--white);border:1px solid var(--rule);border-radius:16px;display:flex;flex-direction:column}
.L-quotes figure.peer{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.L-quotes blockquote{margin:0;font:400 1.02rem/1.55 var(--serif-text);color:inherit;flex:1}
.L-quotes figcaption{margin-top:1rem;font-size:.78rem;color:var(--ink-3)}
.L-quotes figcaption b{display:block;font-weight:600;color:var(--navy);font-size:.86rem}
.L-quotes .peer figcaption{color:rgba(251,248,243,.65)}
.L-quotes .peer figcaption b{color:var(--paper)}
.L-voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 2rem;margin:2.6rem 0 0;border-top:1px solid var(--rule)}
.L-voices div{padding:1rem 0;border-bottom:1px solid var(--rule)}
.L-voices dt{font:600 .62rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.L-voices dd{margin:.4rem 0 0;font-size:.82rem;color:var(--ink-3);line-height:1.5}
.L-voices dd b{display:block;font:400 1.7rem/1.1 var(--serif);color:var(--navy);margin-bottom:.25rem;font-variant-numeric:lining-nums}

/* 08 Questions */
.L-faq{margin-top:1.8rem;border-top:1px solid var(--navy)}
.L-faq details{border-bottom:1px solid var(--rule)}
.L-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 0;cursor:pointer}
.L-faq summary::-webkit-details-marker{display:none}
.L-faq summary h3{font:400 1.15rem/1.35 var(--serif);color:var(--navy)}
.L-faq summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:6px}
.L-plus{position:relative;flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--rule);transition:transform .25s,background .2s}
.L-plus::before,.L-plus::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--navy);transform:translate(-50%,-50%)}
.L-plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .2s}
details[open] .L-plus{background:var(--navy);border-color:var(--navy)}
details[open] .L-plus::before{background:var(--paper)}
details[open] .L-plus::after{opacity:0}
.L-faq details>div{padding:0 3rem 1.25rem 0}
.L-faq details p{font:400 1rem/1.65 var(--serif-text);color:var(--ink-2);max-width:64ch}

/* 09 Verify (dark) */
.L-dark{background:var(--deep-navy);border-top:0;color:var(--paper)}
.L-verify{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.L-rail-in{position:static;color:var(--sage);margin-bottom:1.4rem}
.L-rail-in .L-n{color:var(--paper)}
.L-dark .L-h{color:var(--paper)}
.L-dark .L-lede{color:rgba(251,248,243,.75)}
.L-embed{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem;padding-top:1.4rem;border-top:1px solid rgba(251,248,243,.14);font-size:.84rem;color:rgba(251,248,243,.7);max-width:none}
.L-embed .mark{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .75rem .42rem .45rem;border-radius:999px;background:var(--paper);color:var(--navy);font-weight:600;font-size:.78rem}
.L-embed .text-link{color:var(--paper);border-color:rgba(251,248,243,.35);margin-left:auto}
.L-dark .passcard{transform:rotate(-2deg)}

/* 10 Contact */
.L-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.8rem,4vw,3.2rem);max-width:none}
.L-reach{font-style:normal;margin-top:1.8rem;border-top:1px solid var(--rule)}
.L-reach div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--rule);font-size:.92rem}
.L-reach span{color:var(--ink-3)}
.L-reach b{font-weight:500;color:var(--navy);text-align:right}
.L-contact .socials{margin-top:1.4rem}
.L-form{background:var(--white);border:1px solid var(--rule);border-radius:18px;padding:clamp(1.2rem,3vw,1.8rem);display:flex;flex-direction:column;gap:.55rem;align-self:start}
.L-form .fl{margin-top:.5rem}
.L-form .btn{align-self:flex-start;margin-top:.6rem}
.L-form .sent{display:none}
.L-form.done .sent{display:block;color:var(--sage-ink);font-weight:600;font-size:.88rem}

/* Credentials view: only the checked record */
body.v-proof .L-lineage{display:block}
body.v-proof #standing.L{border-top:0}

/* ── tablet ── */
@media (max-width:1000px){
  .L-g{grid-template-columns:1fr;gap:0}
  .L-rail{position:static;flex-direction:row;align-items:center;gap:.7rem;padding:0;margin-bottom:1rem}
  .L-n{font-size:1.05rem;font-family:var(--serif)}
  .L-n::after{display:none}
  .L-n{color:var(--orange-deep)}
  .L-rail-in .L-n{color:var(--orange)}
  .L-verify{grid-template-columns:1fr}
  .L-dark .passcard{max-width:420px;transform:none}
  .L-contact{grid-template-columns:1fr}
  .L-rev{grid-template-columns:1fr}
  .L-quotes{grid-template-columns:1fr 1fr}
  .L-quotes figure.peer{grid-column:1/-1}
}

/* ── mobile ── */
@media (max-width:640px){
  .L{padding:2.8rem 0}
  .L-h{font-size:clamp(1.7rem,7.4vw,2.1rem)}
  .L-facts{grid-template-columns:1fr 1fr}
  .L-facts div:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .L-facts div:nth-child(even){padding-left:1rem;border-left:1px solid var(--rule)}
  .L-facts dd{font-size:1.02rem}
  .L-now-m{margin-left:0;flex-basis:100%}
  .L-ladder{grid-template-columns:1fr;gap:1.1rem}
  .L-ladder::before{left:7px;right:auto;top:8px;bottom:2.4rem;width:2px;height:auto}
  .L-ladder li{padding:0 0 0 2rem}
  .L-checks{grid-template-columns:1fr}
  .L-chain{grid-template-columns:1fr;gap:1.1rem}
  .L-chain li+li::before{content:"↓";left:1.4rem;top:-.58rem;transform:translate(-50%,-50%)}
  .L-q{grid-template-columns:minmax(0,1fr) auto;gap:.3rem .8rem;padding:.95rem 0}
  .L-q-y{grid-column:1;grid-row:1;font-size:.82rem}
  .L-q-t{grid-column:1;grid-row:2}
  .L-q .ev{grid-column:2;grid-row:1/3;align-self:center}
  .L-go{display:none}
  .L-specs{grid-template-columns:1fr}
  .L-photo img{aspect-ratio:4/3}
  .L-exp{grid-template-columns:1fr}
  .L-offers{grid-template-columns:1fr}
  .L-blist li{grid-template-columns:40px minmax(0,1fr)}
  .L-blist li>:last-child{grid-column:2;justify-self:start}
  .L-tabs{gap:1.1rem;margin-left:calc(-1*clamp(1.15rem,4vw,2.5rem));margin-right:calc(-1*clamp(1.15rem,4vw,2.5rem));padding:0 clamp(1.15rem,4vw,2.5rem)}
  .L-ev{grid-template-columns:3.2rem minmax(0,1fr);gap:.4rem 1rem}
  .L-d b{font-size:1.6rem}
  .L-d span{font-size:.56rem}
  .L-ev-s{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .8rem;text-align:left;margin-top:.35rem;min-width:0}
  .L-pr{display:flex;align-items:baseline;gap:.6rem}
  .L-pr span{margin-top:0}
  .L-week li{grid-template-columns:2.6rem 3.2rem minmax(0,1fr);gap:.7rem}
  .L-score-n b{font-size:3rem}
  .L-sum{font-size:1.1rem}
  .L-quotes{grid-template-columns:1fr}
  .L-voices{grid-template-columns:1fr;gap:0}
  .L-faq details>div{padding-right:0}
  .L-faq summary h3{font-size:1.06rem}
  .L-embed .text-link{margin-left:0}
}
@media print{.L-dark{background:none;color:var(--navy)}.L-dark .L-h{color:var(--navy)}.L-tabs,.L-showall,.L-weekly,.L-form,#mbar{display:none!important}.L-ev.L-more{display:grid}.L-rail{position:static}}
body.v-proof .mbar{display:none!important}

/* ═════════ v20 · Strategy template additions ═════════ */
/* About · teacher's own voice */
.L-why{margin:1.8rem 0 0;padding:0 0 0 1.3rem;border-left:2px solid var(--orange);max-width:56ch}
.L-why blockquote{margin:0;font:400 italic clamp(1.15rem,1.6vw,1.35rem)/1.5 var(--serif);color:var(--navy)}
.L-why figcaption{margin-top:.6rem;font-size:.8rem;color:var(--ink-3)}
/* Teaching · facts table */
.L-kv-lg{margin-top:2rem}
.L-kv-lg div{grid-template-columns:8rem minmax(0,1fr);padding:.95rem 0}
.L-kv-lg dd{font:400 1.06rem/1.45 var(--serif);color:var(--navy)}
.L-offers h4{margin-top:.55rem;font:400 1.22rem/1.25 var(--serif);color:var(--navy)}
/* Standing · five-step ladder */
.L-ladder{grid-template-columns:repeat(5,minmax(0,1fr))}
.L-ladder::before{right:calc(20% - 7px);background:linear-gradient(90deg,var(--sage) var(--lp,0%),var(--rule) var(--lp,0%))}
.L-ladder .ahead .L-dot{border-color:#CFC7B6;background:var(--paper)}
.L-ladder .ahead b{color:var(--ink-3)}
.L-ladder li{padding-right:.6rem}
.L-ladder b{font-size:1.12rem}
.L-th.tbc{font-style:italic;opacity:.75}
.L-standing{margin-top:1.6rem;padding:1.1rem 1.2rem;border:1px solid var(--rule);border-radius:14px;background:var(--white)}
.L-standing p{font-size:.95rem;color:var(--ink-2);line-height:1.6}
.L-standing p b{font-weight:600;color:var(--navy)}
.L-standing .ev{vertical-align:.1em;margin-right:.3rem}
.L-next{margin-top:.5rem;padding-top:.6rem;border-top:1px solid var(--rule)}
/* Training · trained by */
.L-trained{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1.8rem;padding:1rem 1.2rem;border-radius:14px;background:var(--navy);color:var(--paper)}
.L-tk{font:600 .6rem/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--sage)}
.L-trained b{display:block;font:400 1.2rem/1.2 var(--serif)}
.L-trained p span{display:block;font-size:.82rem;color:rgba(251,248,243,.7);margin-top:.15rem}
.L-trained .ev{background:rgba(126,185,166,.18);color:#BFE3D6}
.L-quals{margin-top:1.4rem}
/* Teacher training · graduates figure */
.L-ttstat{display:flex;align-items:center;gap:1.1rem;margin-top:1.8rem;padding:1rem 1.2rem;border:1px solid var(--rule);border-radius:14px;background:var(--white)}
.L-ttstat>b{font:400 2.4rem/1 var(--serif);color:var(--navy)}
.L-ttstat p{flex:1;font-weight:500;color:var(--navy);font-size:.95rem}
.L-ttstat p span{display:block;font-weight:400;font-size:.82rem;color:var(--ink-3);margin-top:.15rem}
.L-events{margin-top:1.4rem;border-top:1px solid var(--navy)}
.L-quotes.one{grid-template-columns:minmax(0,1fr);max-width:620px}
.L-time{margin-top:2rem}
/* strip with fewer cells (locked look, adaptive count) */
.figs.n6{grid-template-columns:max-content repeat(5,minmax(0,1fr))}
@media (max-width:1080px){
  .figs.n6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .figs.n6 .fg{grid-column:span 2;border-left:0;border-top:0}
  .figs.n6 .fg:nth-child(5),.figs.n6 .fg:nth-child(6){grid-column:span 3;border-top:1px solid var(--rule)}
  .figs.n6 .fg:nth-child(3),.figs.n6 .fg:nth-child(4),.figs.n6 .fg:nth-child(6){border-left:1px solid var(--rule)}
  .figs.n6 .fg:nth-child(7){border-left:0}
}
/* sample-record switch (prototype only) */
.proto{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .9rem;padding:1rem;background:var(--paper-deep);font-size:.82rem;color:var(--ink-3);border-top:1px solid var(--rule)}
.proto span{font:600 .6rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}
.proto a{color:var(--navy);text-decoration:none;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--rule);background:var(--white)}
.proto a[aria-current]{background:var(--navy);color:var(--paper);border-color:var(--navy)}
body.v-proof .L-standing{background:var(--white)}
@media (max-width:640px){
  .L-ladder{grid-template-columns:1fr;gap:.95rem}
  .L-ladder::before{background:var(--rule)}
  .L-trained{grid-template-columns:minmax(0,1fr) auto;gap:.4rem .8rem}
  .L-tk{grid-column:1/-1}
  .L-kv-lg div{grid-template-columns:1fr;gap:.25rem}
  .L-ttstat{flex-wrap:wrap}
  .L-ttstat .ev{margin-left:auto}
}

/* v21 · capped lists */
:not(.L-all)>.L-more{display:none!important}
.L-week .L-showall{border-bottom:1px solid var(--rule)}
.L-src .text-link{margin-left:.5rem;white-space:nowrap}
@media print{.L-more{display:revert!important}}
@media (max-width:640px){.L-src .text-link{display:table;margin:.5rem 0 0}}

/* v22 · experience lines */
.L-xp{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.L-xp li{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule)}
.L-xp time{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--sage-ink,#2a6b57);font-weight:600;padding-top:.2rem}
.L-xp p{margin:0;display:flex;flex-direction:column;gap:.15rem}
.L-xp b{font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--navy)}
.L-xp span{color:var(--muted,#5d5873);font-size:.92rem}
@media (max-width:640px){.L-xp li{grid-template-columns:1fr;gap:.25rem}}
.L-recfoot{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--rule);color:var(--muted,#5d5873)}

/* v22 · single share control */
.sharew{position:relative;flex:none}
.share-b{display:inline-flex;align-items:center;gap:.4rem;font:600 .64rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);background:transparent;border:1px solid var(--rule);border-radius:999px;padding:.5rem .8rem;cursor:pointer;transition:background .2s,border-color .2s}
.share-b:hover,.share-b[aria-expanded="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.share-m{position:absolute;right:0;top:calc(100% + .5rem);width:300px;background:#fff;border:1px solid var(--rule);border-radius:14px;box-shadow:0 18px 40px -18px rgba(26,22,40,.35);padding:.4rem;z-index:60}
.share-m[hidden]{display:none}
.share-m [role="menuitem"]{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:none;border:0;border-radius:10px;padding:.7rem .8rem;cursor:pointer;color:var(--navy);text-decoration:none;font:inherit}
.share-m [role="menuitem"]:hover,.share-m [role="menuitem"]:focus-visible{background:var(--paper,#FBF8F3);outline:none}
.share-m [role="menuitem"][hidden]{display:none}
.share-m b{font-weight:600;font-size:.92rem}
.share-m span{font-size:.8rem;color:var(--muted,#5d5873)}
.share-ok{margin:0;font-size:.8rem;color:var(--sage-ink,#2a6b57);font-weight:600;padding:0 .8rem}
.share-ok.on{padding:.5rem .8rem .6rem}
.share-ok.raw{word-break:break-all;font-weight:400;color:var(--navy)}
@media (max-width:760px){
  .share-b span{display:none}
  .share-b{padding:.5rem}
  .share-m{width:min(300px,calc(100vw - 1.5rem));border-radius:16px;padding:.5rem}
  .share-m [role="menuitem"]{padding:.95rem .9rem}
}
@media print{.sharew{display:none!important}}

/* v23 · CPD list */
.L-cpd{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.L-cpd li{display:grid;grid-template-columns:5.5rem 1fr auto;gap:1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--rule)}
.L-cpd time{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-ink,#2a6b57);font-weight:600}
.L-cpd p{margin:0;display:flex;flex-direction:column;gap:.1rem}
.L-cpd b{font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--navy)}
.L-cpd p span{font-size:.86rem;color:var(--muted,#5d5873)}
.L-cpd-h{font-family:var(--serif);font-size:1rem;color:var(--navy)}
.L-cpd .L-showall{border-bottom:1px solid var(--rule)}
@media (max-width:640px){.L-cpd li{grid-template-columns:1fr auto;gap:.2rem .8rem}.L-cpd time{grid-column:1/-1}}

/* v24 · At a glance icon chips */
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.L-glance{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-width:760px}
.G{display:flex;align-items:center;gap:.8rem;padding:.8rem .9rem;background:var(--white,#fff);border:1px solid var(--rule);border-radius:14px;min-width:0}
.G-i{position:relative;flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center}
.G-i .ico{width:22px;height:22px}
.G-ver .G-i{background:#e3f0eb;color:var(--sage-ink,#2a6b57)}
.G-soon .G-i{background:#fdf0df;color:#9a5a0c}
.G-sta .G-i{background:transparent;color:var(--navy);border:1.5px dashed #c9c1b2}
.G-exp .G-i{background:#efebe3;color:#8b8698}
.G-exp b{text-decoration:line-through;color:#8b8698}
.G-m{position:absolute;right:-3px;bottom:-3px;width:17px;height:17px;border-radius:50%;background:var(--sage-ink,#2a6b57);border:2px solid var(--white,#fff);display:grid;place-items:center}
.G-m .tick{width:11px;height:11px}
.G-dot{background:var(--orange,#F09221);width:13px;height:13px}
.G-b{display:flex;flex-direction:column;gap:.12rem;min-width:0}
.G-b b{font:400 1.02rem/1.15 var(--serif);color:var(--navy)}
.G-b>span:not(.vh){font-size:.78rem;color:var(--ink-3);line-height:1.3}
.L-glance-k{display:flex;align-items:center;gap:.45rem;margin-top:.8rem;color:var(--ink-3)}
.G-key{width:15px;height:15px;border-radius:50%;background:var(--sage-ink,#2a6b57);display:inline-grid;place-items:center}
.G-key .tick{width:10px;height:10px}
@media (max-width:900px){.L-glance{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:380px){.G{padding:.7rem;gap:.6rem}.G-i{width:36px;height:36px}.G-i .ico{width:19px;height:19px}.G-b b{font-size:.95rem}}

/* credentials table icons */
.ci{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;margin-right:.6rem;vertical-align:middle;background:#e3f0eb;color:var(--sage-ink,#2a6b57)}
.ci .ico{width:16px;height:16px}
.ci-acc{background:#ecebf8;color:#5b4fa8}
.ci-sta{background:transparent;color:var(--navy);border:1.2px dashed #c9c1b2}

@media (max-width:900px){.L-glance li:last-child:nth-child(odd){grid-column:1/-1}}

/* v25 · Credentials essentials: what a studio, gym, school or partner asks first */
.pv-ess{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1.3rem 0 0}
.pv-e{position:relative;display:flex;flex-direction:column;gap:.2rem;padding:1rem 1rem 1.05rem;border:1px solid var(--rule);border-radius:14px;background:var(--paper,#FBF8F3);color:var(--navy);text-decoration:none;transition:border-color .2s,transform .2s}
a.pv-e:hover{border-color:var(--sage,#7EB9A6);transform:translateY(-1px)}
.pv-i{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#e3f0eb;color:var(--sage-ink,#2a6b57);margin-bottom:.55rem}
.pv-i .ico{width:21px;height:21px}
.pv-soon .pv-i{background:#fdf0df;color:#9a5a0c}.pv-soon .G-m{background:var(--orange,#F09221)}
.pv-exp .pv-i{background:#efebe3;color:#8b8698}.pv-exp .G-m{display:none}
.pv-t{font:600 .64rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--sage-ink,#2a6b57)}
.pv-e b{font:400 1.12rem/1.2 var(--serif);color:var(--navy);margin-top:.15rem}
.pv-d{font-size:.78rem;line-height:1.35;color:var(--ink-3)}
.pv-detail{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:.7rem;margin-top:.7rem;align-items:start}
.pv-card{border:1px solid var(--rule);border-radius:14px;padding:1.15rem 1.2rem 1.25rem;background:var(--white,#fff);scroll-margin-top:120px}
.pv-card header{display:flex;align-items:center;gap:.2rem;margin-bottom:.9rem}
.pv-card header .ev{margin-left:auto}
.pv-card h3{font:400 1.3rem/1.1 var(--serif);color:var(--navy)}
.pv-lim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--navy);border-bottom:1px solid var(--rule)}
.pv-lim div{padding:.85rem .8rem .9rem 0;display:flex;flex-direction:column;gap:.2rem}
.pv-lim div+div{padding-left:.9rem;border-left:1px solid var(--rule)}
.pv-lim span{font:600 .62rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.pv-lim b{font:400 clamp(1.3rem,2.2vw,1.7rem)/1.05 var(--serif);color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.pv-lim em{font-style:normal;font-size:.76rem;color:var(--ink-3)}
.pv-basis{margin:.85rem 0 .6rem;font-size:.88rem;color:var(--ink-2)}
.pv-cov{list-style:none;margin:0 0 .9rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.pv-cov li{font-size:.78rem;padding:.35rem .65rem;border-radius:999px;background:var(--paper,#FBF8F3);border:1px solid var(--rule);color:var(--navy)}
.pv-kv{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;border-top:1px solid var(--rule)}
.pv-fa .pv-kv{grid-template-columns:1fr}
.pv-kv div{display:flex;flex-direction:column;gap:.15rem;padding:.6rem 0;border-bottom:1px solid var(--rule)}
.pv-kv dt{font:600 .6rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.pv-kv dd{margin:0;font-size:.9rem;color:var(--navy)}
.pv-kv dd.na{color:var(--ink-3)}
.pv-fine{margin:.8rem 0 0;font-size:.76rem;line-height:1.45;color:var(--ink-3)}
.pv-fine .text-link{font-size:.76rem;margin-left:.2rem}
.pv-ins .btn{margin-top:1rem}
.full-w{width:100%;justify-content:center}
.pv-sub{font:600 .66rem/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin:2rem 0 0}
.ev-soon{color:#9a5a0c;background:#fdf0df}.ev-exp{color:#8b8698;background:#efebe3}
/* credentials view: qualifications before standing; no section numbers */
body.v-proof main{display:flex;flex-direction:column}
body.v-proof main>#training{order:2}
body.v-proof main>#standing{order:3}
body.v-proof main>.proto,body.v-proof main>footer{order:9}
body.v-proof .L-n{display:none}
@media (max-width:1000px){.pv-ess{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-detail{grid-template-columns:1fr}}
@media (max-width:560px){
  .pv-ess{gap:.5rem}.pv-e{padding:.85rem .8rem .9rem}.pv-e b{font-size:1rem}.pv-i{width:34px;height:34px;margin-bottom:.4rem}.pv-i .ico{width:18px;height:18px}
  .pv-lim{grid-template-columns:1fr}.pv-lim div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
  .pv-lim div{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:.6rem;padding:.7rem 0}.pv-lim span{flex-basis:100%}
  .pv-kv{grid-template-columns:1fr}
  .pv-card{padding:1rem}
}
@media print{.pv-ins .btn{display:none}}
body.v-proof .chips{display:flex}body.v-proof .chips a[href="#standing"]{order:2}

/* v27 · next step on the ladder */
.L-nx{margin-top:1.2rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1.4rem 2rem;padding:1.3rem 1.4rem;border:1px solid var(--rule);border-radius:16px;background:var(--white,#fff)}
.L-nx-k{font:600 .64rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--orange,#F09221);margin:0 0 .5rem}
.L-nx h3{font:400 1.35rem/1.2 var(--serif);color:var(--navy);margin:0}
.L-nx h3 b{font-weight:400;font-style:italic}
.L-nx-h p:last-child{margin:.45rem 0 0;font-size:.88rem;color:var(--ink-3);line-height:1.45}
.L-nx-bars{display:flex;flex-direction:column;gap:1rem;justify-content:center}
.L-bar{display:grid;grid-template-columns:1fr auto;gap:.4rem .8rem;align-items:baseline}
.L-bar-k{font:600 .62rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.L-bar-v{font:400 1rem/1 var(--serif);color:var(--navy);font-variant-numeric:tabular-nums}
.L-bar-t{grid-column:1/-1;height:6px;border-radius:9px;background:#ece6db;overflow:hidden}
.L-bar-t i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--sage,#7EB9A6),var(--sage-ink,#2a6b57))}
.L-bar-t.na{background:repeating-linear-gradient(90deg,#ece6db 0 6px,transparent 6px 10px)}
.L-bar-n{grid-column:1/-1;font-size:.76rem;color:var(--ink-3)}
@media (max-width:760px){.L-nx{grid-template-columns:1fr;padding:1.1rem}}
@media print{.L-nx{break-inside:avoid}}

/* v28 · trained at: school first, lead trainer second */
.L-trained .ev-acc{background:rgba(170,166,220,.2);color:#E2E0F7}
.L-trained a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(251,248,243,.35)}
.L-trained a:hover{border-bottom-color:var(--orange)}
.L-trained a.ev{border:0}

/* v29 · grade badge (canonical tier card) with a turn-over back */
.L-badge{display:grid;grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:1.4rem 2rem;align-items:center;margin:1.8rem 0 1.6rem}
.gb{position:relative;display:block;width:100%;aspect-ratio:1200/493;padding:0;border:0;background:none;cursor:pointer;perspective:1400px;-webkit-tap-highlight-color:transparent;border-radius:22px}
.gb:focus-visible{outline:2px solid var(--orange,#F09221);outline-offset:4px}
.gb-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.4,0,.2,1)}
.gb[aria-pressed="true"] .gb-in{transform:rotateY(180deg)}
.gb-f{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:block}
.gb-front img{display:block;width:100%;height:auto}
.gb{isolation:auto}
/* back: same footprint as the navy card (top ~75% of the image) */
.gb-back{transform:rotateY(180deg);inset:2% 3% 4% 3%;border-radius:18px;background:#1C1729;color:#fff;text-align:left;padding:4.2% 5.5%;display:flex;flex-direction:column;gap:.35rem;overflow:hidden;box-shadow:0 18px 26px -10px rgba(26,22,40,.35)}
.gb-k{font:400 1.05rem/1.1 var(--serif);color:#fff}
.gb-rule{font:600 .56rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--orange,#F09221)}
.gb-met{display:flex;flex-direction:column;gap:.1rem;margin-top:.1rem}
.gb-li{display:flex;gap:.4rem;align-items:flex-start;font-size:.7rem;line-height:1.3;color:rgba(255,255,255,.78)}
.gb-li .tick{flex:none;width:12px;height:12px;margin-top:.08rem;border-radius:50%;background:var(--sage-ink,#2a6b57);padding:1px}
.gb-li b{font-weight:600;color:#fff}
.gb-li span span{color:rgba(255,255,255,.5);margin-left:.2rem}
.gb-foot{margin-top:auto;font-size:.6rem;letter-spacing:.04em;color:rgba(255,255,255,.55)}
.L-badge-h{margin:0;font-size:1rem;line-height:1.5;color:var(--ink-2)}
.L-badge-h b{color:var(--navy)}
.L-badge-s{margin:.45rem 0 0;font-size:.88rem;color:var(--ink-3)}
.L-badge-hint{margin:.8rem 0 0;font:600 .62rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--sage-ink,#2a6b57)}
.L-standing{display:none}
@media (prefers-reduced-motion:reduce){
  .gb-in{transition:none;transform:none!important}
  .gb-back{transform:none;opacity:0;transition:opacity .2s}
  .gb-front{transition:opacity .2s}
  .gb[aria-pressed="true"] .gb-back{opacity:1}
  .gb[aria-pressed="true"] .gb-front{opacity:0}
}
@media (max-width:860px){.L-badge{grid-template-columns:1fr;gap:1rem}.gb{max-width:480px}}
@media (max-width:460px){.gb-id{display:none!important}.gb-met{gap:.1rem;margin-top:0}.gb-back{padding:3.5% 5%;gap:.15rem}.gb-k{font-size:.92rem}.gb-li{font-size:.62rem}.gb-rule{font-size:.5rem}.gb-foot{font-size:.54rem}}
/* compact ladder on phones: one line per step */
@media (max-width:640px){
  .L-ladder li{display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.7rem;padding:0 0 0 1.9rem!important}
  .L-ladder::before{bottom:.6rem!important}
  .L-ladder li>span:last-child{margin-top:0!important;text-align:right;font-size:.78rem}
  .L-ladder{gap:.55rem!important}
}
/* passport card badge */
.pc-badge{display:block;width:150px;height:auto;margin:0 0 .7rem -4px}
@media print{.gb-back{display:none}.gb-in{transform:none!important}.L-badge-hint{display:none}}
@media (max-width:380px){.gb-li{font-size:.58rem}.gb-k{font-size:.86rem}}

/* v30 · public mobile under the location (opt-in) */
.ephone{margin:.55rem 0 0;font:500 clamp(.8rem,1.1vw,.92rem)/1 var(--sans);letter-spacing:.08em}
.ephone a{display:inline-flex;align-items:center;gap:.5rem;color:rgba(251,248,243,.86);text-decoration:none;border-bottom:1px solid rgba(251,248,243,.22);padding-bottom:.2rem}
.ephone a:hover{color:#fff;border-color:var(--orange,#F09221)}
.ephone a:focus-visible{outline:2px solid var(--orange,#F09221);outline-offset:4px;border-radius:3px}
.ephone svg{color:var(--sage,#7EB9A6);flex:none}
@media (max-width:640px){.ephone{font-size:.78rem;margin-top:.45rem}}

/* v30 · Open to: icon tiles + one inbox */
.L-open{margin-top:1.6rem}
.L-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15.5rem),1fr));gap:.75rem}
.L-tile{all:unset;box-sizing:border-box;position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;gap:.25rem .9rem;width:100%;height:100%;padding:1.1rem 1.1rem 1.15rem;border:1px solid var(--rule);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
.L-tile:hover{border-color:rgba(38,31,70,.35);box-shadow:0 14px 30px -18px rgba(26,22,40,.35);transform:translateY(-2px)}
.L-tile:focus-visible{outline:2px solid var(--orange,#F09221);outline-offset:3px}
.L-ti{grid-row:1/3;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(126,185,166,.16);color:var(--sage-ink,#2a6b57);transition:background .2s,color .2s}
.L-ti .ico{width:22px;height:22px}
.L-tile.enq .L-ti{background:rgba(170,166,220,.18);color:var(--navy)}
.L-tt b{display:block;font:400 1.12rem/1.2 var(--serif);color:var(--navy);padding-right:4.6rem}
.L-tt span{display:block;margin-top:.3rem;font-size:.86rem;line-height:1.45;color:var(--ink-3)}
.L-ts{position:absolute;top:1.05rem;right:1rem;font:600 .58rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-ink,#2a6b57);display:inline-flex;align-items:center;gap:.35rem}
.L-ts::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sage,#7EB9A6)}
.L-tile.enq .L-ts{color:var(--ink-3)}
.L-tile.enq .L-ts::before{background:none;box-shadow:inset 0 0 0 1.4px currentColor}
.L-tile[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);box-shadow:0 18px 34px -20px rgba(26,22,40,.6)}
.L-tile[aria-pressed="true"] .L-tt b{color:#fff}
.L-tile[aria-pressed="true"] .L-tt span{color:rgba(255,255,255,.72)}
.L-tile[aria-pressed="true"] .L-ti{background:var(--orange,#F09221);color:var(--navy)}
.L-tile[aria-pressed="true"] .L-ts{color:#fff}
.L-dm{margin-top:1rem;display:flex;align-items:center;gap:1rem;padding:.85rem .85rem .85rem 1rem;border-radius:999px;background:var(--navy);color:#fff}
.L-dm p{margin:0;flex:1;font-size:.92rem;line-height:1.4;color:rgba(255,255,255,.78)}
.L-dm p b{color:#fff;font-weight:600}
.L-dm-av{position:relative;flex:none;width:44px;height:44px}
.L-dm-av img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 20%;display:block}
.L-dm-av i{position:absolute;right:-5px;bottom:-4px;width:22px;height:22px;border-radius:50%;background:var(--orange,#F09221);color:var(--navy);display:grid;place-items:center;box-shadow:0 0 0 2px var(--navy)}
.L-dm-av i .ico{width:13px;height:13px;stroke-width:2}
.L-dm-go{flex:none;white-space:nowrap}
@media (max-width:640px){
  .L-tiles{gap:.55rem}
  .L-tile{padding:.9rem .95rem}
  .L-ti{width:38px;height:38px;border-radius:12px}
  .L-dm{flex-wrap:wrap;border-radius:20px;padding:1rem}
  .L-dm p{flex:1 1 calc(100% - 60px)}
  .L-dm-go{width:100%;justify-content:center}
}
@media print{.L-dm{display:none}.L-tile{break-inside:avoid}}
@media (min-width:760px){
  .L-tiles{grid-template-columns:repeat(6,1fr)}
  .L-tiles li{grid-column:span 2}
  .L-tiles li:nth-child(3n+1):nth-last-child(2),.L-tiles li:nth-child(3n+2):last-child{grid-column:span 3}
  .L-tiles li:nth-child(3n+1):last-child{grid-column:span 6}
  .L-tiles li:first-child:nth-last-child(2),.L-tiles li:first-child:nth-last-child(2)~li{grid-column:span 3}
}
@media (max-width:640px){.L-dm-go{font-size:.86rem;padding-left:1rem;padding-right:1rem;white-space:normal;text-align:center}}

/* v31 · Identity card */
.plate-b{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:inherit;cursor:pointer;border-radius:inherit}
.plate:has(.plate-b){cursor:pointer;transition:transform .2s,box-shadow .2s}
.plate:has(.plate-b:hover){transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(0,0,0,.45)}
.plate-b:focus-visible{outline:2px solid var(--orange,#F09221);outline-offset:6px}
.G-btn{padding:0!important}
.G-btn>button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:inherit;width:100%;height:100%;padding:inherit;cursor:pointer;border-radius:inherit}
.L-glance .G-btn>button{padding:.8rem .9rem;gap:.8rem}
.G-btn:hover{border-color:rgba(38,31,70,.35)}
.G-btn>button:focus-visible{outline:2px solid var(--orange,#F09221);outline-offset:2px}

.idmodal .idsheet{max-width:460px;padding:clamp(1.1rem,3.5vw,1.6rem);background:#fff}
.idmodal .x{z-index:3}
.idcard{position:relative;margin:2.4rem 0 1.4rem;aspect-ratio:1.42/1;border-radius:22px;overflow:hidden;color:#fff;isolation:isolate;
  background:
    radial-gradient(120% 90% at 100% 100%,rgba(240,146,33,.95) 0%,rgba(240,146,33,.35) 32%,rgba(240,146,33,0) 58%),
    radial-gradient(90% 80% at 0% 0%,rgba(170,166,220,.55) 0%,rgba(170,166,220,0) 55%),
    linear-gradient(150deg,#2E2557 0%,#261F46 45%,#3B2350 100%);
  box-shadow:0 30px 50px -24px rgba(38,31,70,.65),0 2px 0 rgba(255,255,255,.08) inset;
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out;
  animation:idIn .6s cubic-bezier(.2,.8,.2,1) both}
.idcard::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.07;background:url(img/yp-y-icon-white.svg) 0 0/34px 34px;background-repeat:space;-webkit-mask:linear-gradient(115deg,#000 0%,transparent 70%);mask:linear-gradient(115deg,#000 0%,transparent 70%)}
.idc-in{position:absolute;inset:0;padding:7% 7.5%;display:flex;flex-direction:column}
.idc-top{display:flex;justify-content:space-between;align-items:center;font:600 .62rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.idc-brand{display:inline-flex;align-items:center;gap:.45rem;font:600 .78rem/1 var(--sans);letter-spacing:.02em;text-transform:none;color:#fff}
.idc-k{padding:.32rem .55rem;border:1px solid rgba(255,255,255,.28);border-radius:999px}
.idmodal .idc-name{margin:1.5rem 0 0;font:400 clamp(1.9rem,7vw,2.5rem)/1 var(--serif);color:#fff;letter-spacing:-.01em}
.idc-since{margin:.4rem 0 0;font:500 1rem/1.3 var(--sans);color:#F7C690}
.idc-foot{margin:auto 0 0;max-width:30ch;font-size:.8rem;line-height:1.45;color:rgba(255,255,255,.8)}
.idc-y{position:absolute;right:-6%;bottom:-14%;width:46%;height:auto;opacity:.09;pointer-events:none}
.idc-sheen{position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.22) 50%,transparent 58%);transform:translateX(-60%);animation:idSheen 1.6s .35s ease both;pointer-events:none}
@keyframes idIn{from{opacity:0;transform:perspective(900px) rotateX(14deg) translateY(18px) scale(.96)}to{opacity:1}}
@keyframes idSheen{to{transform:translateX(60%)}}
.id-p{margin:0;font-size:1rem;line-height:1.55;color:var(--ink-2)}
.id-l{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.id-l li{padding:.75rem 0;display:flex;flex-direction:column;gap:.25rem}
.id-l li+li{padding-left:.9rem;border-left:1px solid var(--rule)}
.id-l span{font:600 .58rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.id-l b{font:400 1rem/1.2 var(--serif);color:var(--navy);font-variant-numeric:tabular-nums}
.id-s{margin:.9rem 0 .8rem;color:var(--ink-3)}
.id-s .specm{display:table;margin-top:.45rem}
@media (max-width:560px){
  .idmodal{align-items:flex-end;padding:0}
  .idmodal .idsheet{max-width:none;border-radius:24px 24px 0 0;max-height:94vh;animation:idUp .35s cubic-bezier(.2,.8,.2,1)}
  .idcard{margin-top:2.6rem}
}
@keyframes idUp{from{transform:translateY(30px);opacity:0}}
@media (prefers-reduced-motion:reduce){.idcard,.idc-sheen,.idmodal .idsheet{animation:none}.idc-sheen{display:none}.idcard{transform:none!important}}

/* v32 · prototype switch between sample records */
.pswitch{position:fixed;left:50%;bottom:calc(1.1rem + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:.25rem;padding:.3rem;border-radius:999px;background:rgba(26,22,40,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 16px 36px -14px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.08) inset;font-family:var(--sans)}
.ps-k{padding:0 .55rem 0 .7rem;font:600 .56rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.pswitch a{display:inline-flex;align-items:baseline;gap:.4rem;padding:.55rem .95rem;border-radius:999px;color:rgba(255,255,255,.78);text-decoration:none;font-size:.86rem;transition:background .2s,color .2s}
.pswitch a b{font-weight:600}
.pswitch a i{font-style:normal;font-size:.7rem;color:rgba(255,255,255,.5)}
.pswitch a:hover{color:#fff;background:rgba(255,255,255,.08)}
.pswitch a[aria-current="page"]{background:#FBF8F3;color:var(--navy)}
.pswitch a[aria-current="page"] i{color:var(--sage-ink,#2a6b57)}
.pswitch a:focus-visible{outline:2px solid var(--orange,#F09221);outline-offset:2px}
@media (max-width:860px){.pswitch{bottom:calc(5.4rem + env(safe-area-inset-bottom))}}
@media (max-width:380px){.ps-k{display:none}}
@media print{.pswitch{display:none}}

/* v33 · Accredited training stands out (orange seal = highest training standard; sage = verified) */
.aseal{display:inline-block;flex:none;vertical-align:middle}
.gv-acc{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .75rem .3rem .3rem;border-radius:999px;background:rgba(240,146,33,.14);box-shadow:inset 0 0 0 1px rgba(240,146,33,.45);color:#F7C690!important;text-decoration:none;font:600 .66rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;transition:background .2s}
.gv-acc:hover{background:rgba(240,146,33,.24)}
.gv-acc:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
/* At a glance chip */
.G-acc{border-color:#F3C78F;background:linear-gradient(135deg,#FFF8EF,#fff 70%)}
.G-acc .G-i{background:none;width:42px;height:42px}
.G-acc .G-i .aseal{width:42px;height:42px}
.G-acc .G-b b{color:var(--navy)}
.G-acc .G-b span{color:#9a5a0c}
/* Training banner */
.L-trained.L-acc{display:block;padding:1.3rem 1.4rem 1.2rem;background:linear-gradient(120deg,#261F46 0%,#2E2557 55%,#4A2F4E 100%);box-shadow:inset 0 0 0 1px rgba(240,146,33,.45),0 24px 44px -26px rgba(38,31,70,.7);position:relative;overflow:hidden}
.L-trained.L-acc::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(240,146,33,.35),transparent 65%);pointer-events:none}
.L-acc-h{display:flex;align-items:center;gap:1.1rem;position:relative;z-index:1}
.L-acc-h>div{flex:1;min-width:0}
.L-acc-seal{width:64px;height:64px;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}
.L-acc .L-tk{color:#F7C690!important;display:block;margin-bottom:.35rem}
.L-acc .ev-acc{background:var(--orange,#F09221)!important;color:var(--navy)!important}
.L-acc-l{list-style:none;margin:1rem 0 0;padding:.95rem 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;position:relative;z-index:1}
.L-acc-l li{display:flex;align-items:center;gap:.45rem;font-size:.84rem;color:rgba(255,255,255,.82)}
.L-acc-l .tick{width:16px;height:16px;padding:2px;border-radius:50%;background:var(--orange,#F09221)}
.L-acc-l .tick path{stroke:var(--navy)}
@media (max-width:640px){.L-acc-h{flex-wrap:wrap}.L-acc-seal{width:52px;height:52px}.L-acc-l{flex-direction:column}}
/* training rows: accredited chip in orange everywhere */
.ev-acc{background:#FDEBD3!important;color:#7a4508!important}
/* Credentials essentials card */
.pv-acc{border-color:#F3C78F!important;background:linear-gradient(135deg,#FFF8EF,#fff 70%)}
.pv-acc .pv-i{background:var(--navy)!important;color:var(--orange,#F09221)!important}
.pv-acc .G-m{background:var(--orange,#F09221)!important}
.pv-acc .pv-d{color:#9a5a0c}
/* passport card */
.passcard b.a{display:inline-flex;align-items:center;gap:.3rem;color:#A85F0E}
.pv-acc .pv-i{background:none!important;width:44px;height:44px}
.pv-acc .pv-i .aseal{width:44px;height:44px}
.gv-acc{font-size:.7rem;padding:.28rem .8rem .28rem .28rem}
.gv-acc{white-space:nowrap}@media (max-width:640px){.gv-x{display:none}}

/* v34 · event ownership byline */
.L-by{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem .55rem;margin:0 0 .5rem;font-size:.76rem;color:var(--ink-3)}
.L-by img{width:20px;height:20px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 1px var(--rule)}
.L-by-m{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--navy);color:#fff;font:600 .5rem/1 var(--sans);letter-spacing:.04em}
.L-by>span:not([class]){display:inline-flex;align-items:center;gap:.3rem}
.L-by b{color:var(--navy);font-weight:600}
.L-by .aseal{margin-left:.1rem}
.L-role{padding:.22rem .55rem;border-radius:999px;background:var(--navy);color:#fff;font:600 .56rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.L-role.as{background:#E9E7F5;color:var(--navy)}
.L-role.own{background:none;color:var(--ink-3);box-shadow:inset 0 0 0 1px #c9c1b2;border:0;outline:1px dashed transparent}
.L-by.own .L-role.own{box-shadow:none;border:1.2px dashed #c9c1b2}
.L-ev-k:empty{display:none}

/* v34 · Has taught */
.L-taught-w{margin-top:2rem}
.L-pattern{margin:-.2rem 0 .9rem;font-size:.95rem;color:var(--ink-2)}
.L-taught{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.L-taught li{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .85rem .5rem .6rem;border-radius:999px;border:1.3px dashed #c9c1b2;background:#fff;font-size:.88rem;color:var(--navy)}
.L-taught .ico{width:18px;height:18px;color:var(--navy)}
.L-taught-k{display:flex;align-items:center;gap:.45rem;margin:.7rem 0 0;color:var(--ink-3)}
.G-dash{width:14px;height:14px;border-radius:50%;border:1.3px dashed #b9b1a2;display:inline-block}

/* v34 · phone layout */
@media (max-width:640px){
  /* credentials essentials: swipe */
  .pv-ess{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:.7rem;margin-left:calc(-1 * var(--gut,1.25rem));margin-right:calc(-1 * var(--gut,1.25rem));padding:0 var(--gut,1.25rem) .6rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .pv-ess::-webkit-scrollbar{display:none}
  .pv-ess>*{flex:0 0 78%;scroll-snap-align:start}
  /* folded sections */
  section.is-folded .L-body{max-height:640px;overflow:hidden;-webkit-mask:linear-gradient(#000 70%,transparent);mask:linear-gradient(#000 70%,transparent)}
  .L-unfold{all:unset;box-sizing:border-box;display:flex;justify-content:center;align-items:center;gap:.4rem;width:100%;margin-top:.4rem;padding:.9rem 1rem;border-radius:999px;border:1px solid var(--rule);background:#fff;font:600 .9rem/1.2 var(--sans);color:var(--navy);cursor:pointer;grid-column:1/-1}
  .L-unfold:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
  /* certificate and other pop-ups: bottom sheets */
  .modal{align-items:flex-end;padding:0}
  .modal .cert{max-width:none;border-radius:24px 24px 0 0;max-height:92vh;overflow:auto;animation:idUp .3s cubic-bezier(.2,.8,.2,1)}
  /* bottom bar: contact, follow, share */
  .mbar .mshare{flex:0 0 48px;padding:0;display:grid;place-items:center}
  .mbar .mshare.done{background:var(--sage-ink,#2a6b57);color:#fff;border-color:transparent}
}
@media print{section.is-folded .L-body{max-height:none;-webkit-mask:none;mask:none}.L-unfold{display:none}}

/* v35 · every list: 3 then Show all / Show fewer */
.L-quotes>.L-showall,.L-blist>.L-showall{grid-column:1/-1}
.L-faq>.L-showall{margin-top:.2rem}
.L-showall .arrow{transition:transform .2s}
@media print{.L-more{display:revert!important}}

/* ═════════ v36 · Desktop record layout (below the hero) ═════════
   ≥1200px: sections run in one reading column with inline kickers; a sticky
   record panel sits beside them. Short items go into grids; dated lists stay
   single-column. Below 1200px nothing here applies. */
.L-aside{display:none}
.L-2c>div+div{margin-top:1.6rem}
@media (min-width:1200px){
  .L-shell{max-width:var(--wrap);margin:0 auto;padding:0 2.5rem;display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:0 64px;align-items:start}
  body.v-proof .L-shell{display:block;max-width:none;padding:0}
  body.v-proof .L-shell .L .wrap{padding:0 2.5rem}
  .L-flow{min-width:0}
  .L-shell .L{padding:4.4rem 0 4.6rem}
  .L-shell .L:first-child{border-top:0}
  .L-shell .L>.wrap{padding:0;max-width:none}
  .L-shell .L-g{display:block}
  .L-shell .L-body{max-width:none}
  /* inline kicker replaces the left rail */
  .L-shell .L-rail{max-width:none;width:100%;position:static;flex-direction:row;align-items:center;gap:.75rem;padding:0;margin:0 0 1.15rem}
  .L-shell .L-rail .L-n{font:500 .78rem/1 var(--sans);letter-spacing:.06em;color:var(--orange-deep,#c46f0c)}
  .L-shell .L-rail .L-n::after{display:none}
  .L-shell .L-rail::after{content:"";flex:1;height:1px;background:var(--rule);margin-left:.4rem}
  .L-shell .L-h{font-size:2.55rem;max-width:26ch}
  /* grids for short items */
  .L-2c{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.4rem;align-items:start}
  .L-2c>div+div{margin-top:0}
  .L-shell .L-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .L-shell .L-tiles li{grid-column:auto!important}
  .L-shell .L-tiles li:last-child:nth-child(odd){grid-column:1/-1!important}
  .L-shell .L-quotes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .L-shell .L-quotes>figure:first-child:not(.L-more){grid-column:1/-1}
  .L-shell .L-quotes>figure:first-child blockquote{font-size:1.28rem;line-height:1.5;max-width:52ch}
  .L-shell .L-faq{columns:auto}
  /* record panel */
  .L-aside{display:block;position:sticky;top:76px;padding:2.2rem 0 2rem}
  .ra{background:var(--white);border:1px solid var(--rule);border-radius:20px;padding:1.25rem 1.25rem 1.1rem;box-shadow:0 1px 0 rgba(38,31,70,.03),0 18px 40px -28px rgba(38,31,70,.28)}
  .ra-id{display:flex;align-items:center;gap:.75rem}
  .ra-id img{width:44px;height:44px;border-radius:50%;object-fit:cover}
  .ra-id p{margin:0;min-width:0}
  .ra-id b{display:block;font:400 1.12rem/1.2 var(--serif);color:var(--navy)}
  .ra-id span{display:block;font-size:.78rem;color:var(--ink-3);margin-top:.15rem}
  .ra-badge{display:block;margin:1rem -.2rem .4rem;border-radius:12px;transition:transform .25s ease}
  .ra-badge:hover{transform:translateY(-2px)}
  .ra-badge img{display:block;width:100%;height:auto}
  .ra-badge:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
  .ra-st{list-style:none;margin:.6rem 0 0;padding:0;border-top:1px solid var(--rule)}
  .ra-st li{display:grid;grid-template-columns:5.6rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.58rem 0;border-bottom:1px solid var(--rule);font-size:.8rem}
  .ra-k{font:600 .6rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
  .ra-v{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;color:var(--sage-ink)}
  .ra-v i{width:7px;height:7px;border-radius:50%;background:var(--sage)}
  .ra-v.ra-acc{color:#b8650a}
  .ra-v.ra-sta{color:var(--ink-3)}
  .ra-v.ra-sta i{background:none;border:1px dashed var(--ink-3)}
  .ra-r{font-size:.74rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
  .ra-pid{display:flex;justify-content:space-between;align-items:baseline;margin:.7rem 0 0;font-size:.8rem}
  .ra-pid span{font:600 .6rem/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
  .ra-pid b{font:500 .82rem/1 var(--sans);letter-spacing:.04em;color:var(--navy);font-variant-numeric:tabular-nums}
  .ra-open{display:grid;gap:.3rem;margin-top:.9rem;padding:.75rem .85rem;border-radius:12px;background:var(--paper);text-decoration:none;color:var(--navy);font-size:.86rem;line-height:1.35;transition:background .2s}
  .ra-open:hover{background:#F3EEE5}
  .ra-open em{font-style:normal;color:var(--ink-3)}
  .ra-go{width:100%;justify-content:center;margin-top:1rem}
  .ra-links{display:flex;justify-content:space-between;margin-top:.8rem;font-size:.82rem}
}
@media (min-width:1200px) and (max-height:760px){.ra-badge{display:none}}
@media print{.L-aside{display:none!important}.L-shell{display:block!important}}

/* ═════════ v37 · Lean desktop (Airbnb-style) ═════════ */
.L-hs,.L-info,.L-hi{display:none}
.L-etabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.4rem 0 .4rem}
.L-etabs [role=tab]{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border:1px solid var(--rule);border-radius:999px;font:500 .88rem/1 var(--sans);color:var(--navy);background:var(--white);transition:border-color .2s,background .2s}
.L-etabs [role=tab] span{font-size:.74rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.L-etabs [role=tab][aria-selected=true]{background:var(--navy);border-color:var(--navy);color:var(--paper)}
.L-etabs [role=tab][aria-selected=true] span{color:rgba(251,248,243,.65)}
.L-etabs [role=tab]:hover{border-color:var(--navy)}
.L-etabs [role=tab]:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.L-pnote{margin:.9rem 0 1.2rem;font-size:.88rem;line-height:1.55;color:var(--ink-3);max-width:62ch}
@media print{.L-epanel[hidden]{display:block!important}.L-etabs{display:none}}
@media (min-width:1200px){
  .L-shell{grid-template-columns:minmax(0,1fr) 320px;gap:0 88px}
  .L-shell .L{padding:2.9rem 0 3rem;border-top:1px solid var(--rule)}
  .L-shell .L:first-child{border-top:1px solid var(--rule)}
  .L-shell .L-rail{display:none}
  .L-shell .L-body>.L-h{display:inline;font:500 1.6rem/1.25 var(--serif);letter-spacing:-.01em;max-width:none}
  .L-shell .L-h em{font-style:normal;color:inherit}
  .L-shell .L-hl{display:none}.L-shell .L-hs{display:inline}
  #about .L-body>.L-h{display:block;font:400 2.05rem/1.18 var(--serif);max-width:24ch}
  #about .L-h em{font-style:italic;color:var(--orange-deep,#c46f0c)}
  .L-shell .L-lx{display:none;margin-top:.8rem;font:400 .95rem/1.6 var(--sans);color:var(--ink-2);max-width:62ch}
  .L-shell .L.lede-on .L-lx{display:block}
  .L-shell .L-info{display:inline-grid;place-items:center;width:22px;height:22px;margin-left:.6rem;vertical-align:.2rem;border:1px solid var(--rule);border-radius:50%;background:var(--white);color:var(--ink-3);font:600 .72rem/1 var(--serif);font-style:italic;cursor:pointer;transition:color .2s,border-color .2s}
  .L-shell .L-info:hover,.L-shell .L-info[aria-expanded=true]{color:var(--navy);border-color:var(--navy)}
  .L-shell .L-info:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
  .L-shell .L-sub{margin-top:2rem}
  /* highlights */
  .L-hi{display:grid;gap:1.35rem;list-style:none;margin:0;padding:2.6rem 0 2.5rem}
  .L-hi li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:1.2rem;align-items:start}
  .L-hi-i{display:grid;place-items:center;width:44px;height:44px;color:var(--navy)}
  .L-hi-i svg{width:26px;height:26px}
  .L-hi-i img{width:44px;height:auto;border-radius:4px}
  .L-hi p{margin:0}
  .L-hi b{display:block;font:600 1rem/1.3 var(--sans);color:var(--navy)}
  .L-hi span:not(.L-hi-i){display:block;margin-top:.2rem;font-size:.88rem;line-height:1.45;color:var(--ink-3)}
  /* Show all: outlined button */
  .L-shell .L-showall{display:inline-flex;width:auto;margin-top:1.2rem;padding:.8rem 1.3rem;border:1px solid var(--navy);border-radius:10px;font-weight:600;font-size:.9rem}
  .L-shell .L-showall:hover{background:var(--paper-2,#F3EEE5);color:var(--navy)}
  .L-shell .L-quotes>.L-showall,.L-shell .L-blist>.L-showall{justify-self:start}
  /* facts two-up */
  .L-shell .L-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .L-shell .L-facts div:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .L-shell .L-facts div:nth-child(even){padding-left:1.2rem;border-left:1px solid var(--rule)}
  /* events */
  .L-shell .L-etabs{margin-top:1.3rem}
  /* record card */
  .L-aside{padding-top:2.6rem}
  .ra{padding:1.5rem;border-radius:16px;box-shadow:0 6px 16px rgba(38,31,70,.1);border-color:#e6e1d8}
  .ra-go{margin-top:1.2rem;padding:.95rem 1rem;border-radius:10px;font-size:1rem;background:linear-gradient(90deg,#261F46,#3a2f66)}
  .ra-note{margin:.7rem 0 0;text-align:center;font-size:.78rem;color:var(--ink-3)}
}
@media (min-width:1200px){
  #contact .L-g,#verify .L-g{grid-template-columns:minmax(0,1fr)}
  #contact .L-rail,#verify .L-rail{display:none}
  #contact .L-h,#verify .L-h{font:500 1.6rem/1.25 var(--serif);letter-spacing:-.01em}
  #contact .L-h em{font-style:normal;color:inherit}
  #contact .L-lede,#verify .L-lede{font:400 .98rem/1.6 var(--sans);max-width:52ch}
  #contact{padding:3.4rem 0}
}

/* ═════════ v38 · Messenger form ═════════ */
.L-msg{position:relative;background:var(--white);border:1px solid #e6e1d8;border-radius:22px;overflow:hidden;box-shadow:0 6px 16px rgba(38,31,70,.08),0 30px 60px -40px rgba(38,31,70,.35);align-self:start}
.msg-h{display:flex;align-items:center;gap:.8rem;padding:1rem 1.25rem;border-bottom:1px solid var(--rule);background:linear-gradient(180deg,#fff,#FBF8F3)}
.msg-av{position:relative;flex:none}
.msg-av img{display:block;width:40px;height:40px;border-radius:50%;object-fit:cover}
.msg-av::after{content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--orange);border:2px solid #fff}
.msg-h p{margin:0;min-width:0}
.msg-h b{display:block;font:500 1.05rem/1.2 var(--serif);color:var(--navy)}
.msg-h span{display:inline-flex;align-items:center;gap:.3rem;margin-top:.15rem;font-size:.76rem;color:var(--ink-3)}
.msg-in{padding:1.2rem 1.25rem 1.1rem;display:grid;gap:1rem}
.msg-who{border:0;margin:0;padding:0;min-width:0}
.msg-who legend,.msg-sub>span{display:block;padding:0;margin:0 0 .5rem;font:600 .62rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.seg{display:grid;grid-template-columns:repeat(4,auto);gap:3px;padding:3px;border-radius:12px;background:#F1ECE3}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:block;text-align:center;padding:.58rem .5rem;border-radius:9px;font:500 .82rem/1.15 var(--sans);color:var(--ink-2);white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}
.seg label:hover span{color:var(--navy)}
.seg input:checked+span{background:#fff;color:var(--navy);font-weight:600;box-shadow:0 1px 2px rgba(38,31,70,.1),0 2px 8px rgba(38,31,70,.06)}
.seg input:focus-visible+span{outline:2px solid var(--orange);outline-offset:1px}
.msg-sub{display:block}
.msg-sub input{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--rule);background:none;padding:.35rem 0 .55rem;font:400 1.15rem/1.3 var(--serif);color:var(--navy);border-radius:0}
.msg-sub input::placeholder{color:#b3adbd}
.msg-sub input:focus{outline:none;border-bottom-color:var(--navy)}
.msg-comp{border:1px solid var(--rule);border-radius:16px;background:#FBF8F3;transition:border-color .2s,box-shadow .2s}
.msg-comp:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(38,31,70,.07);background:#fff}
.msg-comp textarea{display:block;width:100%;box-sizing:border-box;border:0;background:none;resize:none;padding:.9rem 1rem .4rem;font:400 .98rem/1.55 var(--sans);color:var(--navy);min-height:7.2rem}
.msg-comp textarea:focus{outline:none}
.msg-bar{display:flex;align-items:center;gap:.5rem;padding:.45rem .45rem .45rem 1rem;border-top:1px dashed var(--rule)}
.msg-em{flex:1;min-width:0;border:0;background:none;font:400 .88rem/1.3 var(--sans);color:var(--navy);padding:.4rem 0}
.msg-em:focus{outline:none}
.msg-em::placeholder,.msg-comp textarea::placeholder{color:#9d97a8}
.msg-send{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:.45rem;padding:.62rem 1rem .62rem 1.1rem;border-radius:999px;background:var(--navy);color:var(--paper);font:600 .86rem/1 var(--sans);cursor:pointer;transition:background .2s,transform .15s}
.msg-send:hover{background:#3a2f66}
.msg-send:active{transform:scale(.97)}
.msg-send svg{color:var(--orange)}
.msg-send:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.msg-fine{margin:-.35rem 0 0;font-size:.74rem;color:var(--ink-3)}
.L-msg.need .msg-comp,.L-msg.need-em .msg-comp{border-color:#c46f0c}
.msg-done{display:none;padding:1.4rem 1.25rem 1.3rem}
.L-msg.done .msg-in{display:none}
.L-msg.done .msg-done{display:grid;gap:.9rem;justify-items:end}
.bub{max-width:85%;padding:.8rem 1rem .6rem;border-radius:18px 18px 4px 18px;background:var(--navy);color:var(--paper);animation:bub .35s cubic-bezier(.2,.8,.2,1)}
.bub b{display:block;font:600 .8rem/1.3 var(--sans);color:var(--orange);margin-bottom:.2rem}
.bub p{margin:0;font-size:.92rem;line-height:1.5;white-space:pre-wrap}
.bub span{display:block;margin-top:.35rem;font-size:.68rem;color:rgba(251,248,243,.6);text-align:right}
.msg-ok{justify-self:stretch;margin:0;font-size:.82rem;color:var(--sage-ink);text-align:center}
.msg-ok em{font-style:normal;color:var(--ink-3)}
.msg-new{all:unset;justify-self:center;cursor:pointer;font:600 .82rem/1 var(--sans);color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.msg-new:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@keyframes bub{from{opacity:0;transform:translateY(8px) scale(.96)}}
@media (prefers-reduced-motion:reduce){.bub{animation:none}}
@media (max-width:520px){.seg{grid-template-columns:1fr 1fr}.seg span{white-space:normal}}
@media print{.L-msg{display:none!important}}
@media (min-width:1200px){.L-contact{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:4.5rem}}

/* ═════════ v39 · Open to: icon + title, at a glance ═════════ */
.L-ohead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.L-ohead .L-sub{margin-bottom:0}
.L-okey{display:flex;gap:.9rem;margin:0;font:600 .6rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.L-okey span{display:inline-flex;align-items:center;gap:.35rem}
.L-okey i{width:7px;height:7px;border-radius:50%;background:var(--sage)}
.L-okey i.e{background:none;box-shadow:inset 0 0 0 1.5px var(--ink-3)}
.L-open .L-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13.5rem),1fr));gap:.5rem;margin-top:.9rem}
.L-open .L-tiles li,.L-shell .L-open .L-tiles li,.L-shell .L-open .L-tiles li:last-child:nth-child(odd){grid-column:auto!important}
.L-open .L-tile{all:unset;box-sizing:border-box;cursor:pointer;width:100%;height:100%;display:flex;align-items:center;gap:.7rem;padding:.55rem .9rem .55rem .55rem;border:1px solid #e9e4db;border-radius:14px;background:var(--white);transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
.L-open .L-tile:hover{border-color:#cfc8bb;box-shadow:0 6px 16px -8px rgba(38,31,70,.22);transform:translateY(-1px)}
.L-open .L-tile:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.L-open .L-ti{position:relative;flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#EEF5F2;color:var(--sage-ink)}
.L-open .L-ti svg{width:19px;height:19px}
.L-open .L-ti i{position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 2px var(--white)}
.L-open .L-tile.enq .L-ti{background:#F1EFF8;color:var(--navy)}
.L-open .L-tile.enq .L-ti i{background:var(--white);box-shadow:0 0 0 2px var(--white),inset 0 0 0 1.5px var(--ink-3)}
.L-open .L-tile b{font:500 .95rem/1.2 var(--serif);color:var(--navy)}
.L-open .L-tile[aria-pressed=true]{background:var(--navy);border-color:var(--navy);box-shadow:0 10px 24px -12px rgba(38,31,70,.55)}
.L-open .L-tile[aria-pressed=true] b{color:var(--paper)}
.L-open .L-tile[aria-pressed=true] .L-ti{background:var(--orange);color:var(--navy)}
.L-open .L-tile[aria-pressed=true] .L-ti i{box-shadow:0 0 0 2px var(--navy)}
.L-open .L-ts,.L-open .L-tt{display:none}
/* slim inbox bar */
.L-open .L-dm{display:flex;align-items:center;gap:.75rem;margin-top:.7rem;padding:.4rem .4rem .4rem .45rem;border-radius:999px}
.L-open .L-dm-av img{width:34px;height:34px}
.L-open .L-dm-av i{width:17px;height:17px;right:-4px;bottom:-3px}
.L-open .L-dm-av i svg{width:10px;height:10px}
.L-open .L-dm p{flex:1;margin:0;font-size:.86rem}
.L-open .L-dm-go{padding:.62rem 1.05rem;font-size:.86rem}
@media (max-width:640px){
  .L-open .L-tiles{grid-template-columns:1fr 1fr;gap:.45rem}
  .L-open .L-tile{gap:.55rem;padding:.45rem .6rem .45rem .45rem;min-height:52px}
  .L-open .L-ti{width:34px;height:34px;border-radius:10px}
  .L-open .L-ti svg{width:17px;height:17px}
  .L-open .L-tile b{font-size:.86rem;line-height:1.2}
  .L-open .L-dm-go .nm{display:none}
  .L-open .L-dm{flex-wrap:nowrap;border-radius:999px;padding:.4rem}
  .L-open .L-dm p{font-size:.8rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .L-open .L-dm-go{flex:none;width:auto}
}
@media (min-width:1200px){.L-shell .L-open .L-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}

.L-open .L-dm p b{font-weight:600}
.L-open .L-dm p em{display:block;font-style:normal;font-size:.72rem;color:rgba(251,248,243,.6)}

/* ═════════ v40 · Structure: facts row, Qualifications, CPD, Reputation, Events, Message ═════════ */
body:not(.v-proof) .proof-sec{display:none!important}
.L-g{display:block}
.L .L-body{max-width:none}
.L{padding:2.4rem 0 2.5rem;border-top:1px solid var(--rule)}
.L-h.L-t,.L-shell .L-body>.L-h.L-t,#contact .L-h.L-t{display:flex;align-items:baseline;gap:.7rem;margin:0 0 1.2rem;font:500 1.5rem/1.2 var(--serif);letter-spacing:-.01em;color:var(--navy);max-width:none}
.L-c{font:500 .78rem/1 var(--sans);letter-spacing:.02em;color:var(--ink-3);font-variant-numeric:tabular-nums}
.L-tag{display:flex;align-items:center;gap:.45rem;margin:1rem 0 0;font-size:.76rem;color:var(--ink-3)}
.L-tag i{width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-3);opacity:.7}
/* facts row */
.L-frow{list-style:none;margin:0;padding:1.6rem 0 1.7rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12.5rem),1fr));gap:1rem 1.4rem}
.L-frow li{display:flex;gap:.7rem;align-items:flex-start;min-width:0}
.L-fi{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#F1ECE3;color:var(--navy)}
.L-fi svg{width:17px;height:17px}
.L-frow p{margin:0;min-width:0}
.L-frow p span{display:block;font:600 .58rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:.1rem 0 .2rem}
.L-frow b{display:block;font:500 .92rem/1.3 var(--sans);color:var(--navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:640px){.L-frow{grid-template-columns:1fr 1fr;gap:.9rem .8rem;padding:1.3rem 0}.L-fi{width:30px;height:30px}.L-frow b{font-size:.84rem}}
/* reputation */
.L-rtabs{margin:0 0 1.1rem}
.L-rkind{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.8rem;color:var(--ink-3)}
.L-rkind svg{width:15px;height:15px;color:var(--sage-ink)}
#reviews .L-score-n{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .8rem}
#reviews .L-score-n b{font:400 2.2rem/1 var(--serif);color:var(--navy)}
#reviews .L-themes{margin:0 0 1.1rem}
#reviews .L-quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.7rem;margin:0}
#reviews .L-quotes figure{grid-column:auto!important}
#reviews .L-quotes blockquote{font-size:.98rem!important;line-height:1.5!important}
.L-refs{display:grid;gap:.7rem}
.L-ref{margin:0;padding:1.1rem 1.2rem;border:1px solid #e9e4db;border-radius:16px;background:var(--white)}
.L-ref blockquote{margin:0 0 .9rem;font:400 1rem/1.5 var(--serif);color:var(--navy)}
.L-ref figcaption{display:flex;align-items:center;gap:.7rem;font-size:.78rem;color:var(--ink-3)}
.L-ref figcaption>span:nth-child(2){flex:1;min-width:0;line-height:1.35}
.L-ref figcaption b{display:block;font-size:.86rem;color:var(--navy)}
.L-ref figcaption em{display:block;font-style:normal}
.L-ref-m{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--navy);color:var(--paper);font:600 .74rem/1 var(--sans);letter-spacing:.04em}
.L-endorse-l{list-style:none;margin:0;padding:0;display:grid;gap:.65rem;max-width:34rem}
.L-endorse-l li{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;font-size:.9rem;color:var(--navy)}
.L-endorse-l b{font-variant-numeric:tabular-nums}
.L-endorse-l i{grid-column:1/-1;height:4px;border-radius:4px;background:#EEE9E0;position:relative;overflow:hidden}
.L-endorse-l i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--orange);border-radius:4px}
.L-ract{margin-top:1.1rem}
@media (max-width:640px){.L-rtabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.L-rtabs [role=tab]{flex:none}.L-ref figcaption{flex-wrap:wrap}}
/* message */
.L-contact{display:grid;grid-template-columns:1fr;grid-template-areas:"t" "o" "f" "l" "r";gap:1.3rem}
.L-contact>.L-t{grid-area:t;margin:0}
.L-c-open{grid-area:o}.L-contact>.L-msg{grid-area:f}.L-c-links{grid-area:l}.L-contact>.L-recfoot{grid-area:r;margin:0}
.L-c-open .L-sub,.L-c-links .L-sub{margin:0 0 .6rem}
.L-c-links .L-sub+div{margin-bottom:1.1rem}
.L-vlinks{display:flex;gap:.5rem;flex-wrap:wrap}
.L-vlinks a{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid #e9e4db;background:var(--white);color:var(--navy);transition:border-color .2s,transform .2s}
.L-vlinks a:hover{border-color:var(--navy);transform:translateY(-1px)}
.L-vlinks a i{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:var(--sage-ink);box-shadow:0 0 0 2px var(--paper)}
.L-blinks{display:flex;gap:.5rem;flex-wrap:wrap}
.L-blinks a{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem .4rem .4rem;border:1px solid #e9e4db;border-radius:999px;background:var(--white);font:500 .84rem/1 var(--sans);color:var(--navy);text-decoration:none;transition:border-color .2s}
.L-blinks a:hover{border-color:var(--navy)}
.L-blinks img,.L-blinks .L-mono{width:24px;height:24px;border-radius:50%;object-fit:cover;font-size:.6rem}
.L-blinks .arrow{color:var(--ink-3);font-size:.8rem}
@media (min-width:1000px){
  .L-contact{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"t f" "o f" "l f" "r r";gap:1.2rem 3.5rem;align-items:start}
}
@media (min-width:1200px){.L-contact{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}.L-shell .L{padding:2.6rem 0 2.8rem}}
/* review stars input */
.rstars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:.15rem;margin-bottom:.9rem}
.rstars label{cursor:pointer;position:relative}
.rstars input{position:absolute;opacity:0}
.rstars span{font-size:1.5rem;color:#d9d3c8;transition:color .15s}
.rstars input:checked~span,.rstars label:hover span,.rstars label:hover~label span,.rstars input:checked+span{color:var(--orange)}
.rstars label:has(input:checked)~label span{color:var(--orange)}
.rstars input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px;border-radius:4px}
.L-refs>.L-showall,#reviews .L-quotes>.L-showall{justify-self:start;grid-column:1/-1}

/* ═════════ v41 · Message: one centred messenger card ═════════ */
.L-c2{display:block!important;max-width:760px;margin:0 auto}
.L-c2 .L-msg{width:100%}
.L-c2 .msg-h{gap:.85rem;padding:1.1rem 1.4rem}
.L-c2 .msg-h>p{flex:1}
.L-c2 .msg-h b{font-size:1.2rem}
.msg-vl{display:flex;gap:.35rem}
.msg-vl a{width:32px!important;height:32px!important}
.msg-vl a svg{width:15px;height:15px}
.msg-vl a i{width:12px!important;height:12px!important;right:-3px!important;bottom:-3px!important;box-shadow:0 0 0 2px #fff!important}
.msg-vl a i svg{width:7px;height:7px}
.L-c2 .msg-in{padding:1.3rem 1.4rem 1.2rem;gap:1.05rem}
.msg-sugg{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:-.35rem}
.msg-sk{font:600 .58rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:.25rem}
.msg-sugg .L-tile.sg{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .7rem .38rem .55rem;border-radius:999px;background:#F4F0E8;font:500 .8rem/1 var(--sans);color:var(--navy);transition:background .2s,color .2s}
.msg-sugg .L-tile.sg svg{width:14px;height:14px;color:var(--sage-ink)}
.msg-sugg .L-tile.sg b{font-weight:500}
.msg-sugg .L-tile.sg i{width:6px;height:6px;border-radius:50%;background:var(--sage)}
.msg-sugg .L-tile.sg.enq i{background:none;box-shadow:inset 0 0 0 1.3px var(--ink-3)}
.msg-sugg .L-tile.sg.enq svg{color:var(--ink-3)}
.msg-sugg .L-tile.sg:hover{background:#ECE6DA}
.msg-sugg .L-tile.sg[aria-pressed=true]{background:var(--navy);color:var(--paper)}
.msg-sugg .L-tile.sg[aria-pressed=true] svg{color:var(--orange)}
.msg-sugg .L-tile.sg:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.msg-f{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;padding:.85rem 1.4rem;border-top:1px solid var(--rule);background:#FBF8F3}
.msg-fk{font:600 .58rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.msg-f .L-blinks{gap:.35rem}
.msg-f .L-blinks a{padding:.28rem .65rem .28rem .3rem;font-size:.78rem}
.msg-f .L-blinks img,.msg-f .L-blinks .L-mono{width:20px;height:20px;font-size:.52rem}
.L-c2 .L-recfoot{margin:1.1rem 0 0;text-align:center;font-size:.74rem;color:var(--ink-3)}
@media (max-width:640px){
  .L-c2 .msg-h{padding:.9rem 1rem;flex-wrap:wrap}
  .L-c2 .msg-in{padding:1.05rem 1rem}
  .msg-f{padding:.8rem 1rem}
  .msg-sugg{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-1rem;padding-right:1rem}
  .msg-sugg .L-tile.sg{flex:none}
}
.L .L-body.L-c2{max-width:760px;margin:0 auto}
.L-c2 .L-recfoot{border-top:0!important;padding-top:0!important}

/* ═════════ v42 · hero link icons, languages in the record panel ═════════ */
.hero-links{position:relative;z-index:2;display:flex;align-items:center;gap:1.2rem;padding-top:1rem;padding-bottom:1.5rem;margin-top:calc(-1 * clamp(2rem,5vw,3.6rem));border-top:1px solid rgba(251,248,243,.12)}
.hl-ic{display:flex;gap:.55rem;list-style:none;margin:0;padding:0}
.hl-ic a{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:var(--paper);background:rgba(251,248,243,.06);box-shadow:inset 0 0 0 1px rgba(251,248,243,.22);transition:background .2s,box-shadow .2s}
.hl-ic a:hover{background:rgba(251,248,243,.14);box-shadow:inset 0 0 0 1px rgba(251,248,243,.45)}
.hl-ic a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.hl-ic a i{position:absolute;right:-2px;bottom:-2px;width:14px;height:14px;border-radius:50%;background:var(--sage-ink,#2a6b57);display:grid;place-items:center;box-shadow:0 0 0 2px var(--deep-navy)}
.hl-lang{display:none;margin:0;font:500 .8rem/1.3 var(--sans);color:rgba(251,248,243,.82)}
.hl-lang span{color:rgba(251,248,243,.55);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin-right:.3rem}
.ra-v.ra-self{color:var(--navy);font-weight:500}
.ra-v.ra-self i{display:none}
@media (max-width:1199px){.hl-lang{display:block}}
@media (max-width:640px){.hero-links{gap:.8rem;flex-wrap:wrap;padding-bottom:1.2rem}.hl-ic a{width:36px;height:36px}}
@media print{.hero-links{display:none}}
.hero-links{border-top:0;padding-right:clamp(150px,26vw,380px)}
@media (max-width:1199px){.hero-links{flex-direction:column;align-items:flex-start;gap:.7rem}}

/* ═════════ v43 · Let's work together (ported to vanilla, brand-styled) ═════════ */
.L .L-body.lw{max-width:860px;margin:0 auto;text-align:center;padding:clamp(3rem,8vw,6.5rem) 0 clamp(1.5rem,4vw,2.5rem)}
.lw{--ez:cubic-bezier(.16,1,.3,1)}
.lw-a{display:flex;flex-direction:column;align-items:center;gap:clamp(1.4rem,3vw,2.2rem);transition:opacity .5s var(--ez),transform .7s var(--ez)}
.lw.go .lw-a{opacity:0;transform:translateY(-24px) scale(.97);pointer-events:none}
.lw[data-st=b] .lw-a{display:none}
.lw-st{display:inline-flex;align-items:center;gap:.7rem;margin:0;font:600 .7rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.lw-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--sage)}
.lw-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--sage);animation:lwPing 1.6s cubic-bezier(0,0,.2,1) infinite}
.lw-dot-q{background:none;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.lw-dot-q::after{display:none}
@keyframes lwPing{75%,100%{transform:scale(2.4);opacity:0}}
.lw-cta{all:unset;box-sizing:border-box;position:relative;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:clamp(1.2rem,2.6vw,1.8rem);padding:.4rem 1rem;border-radius:24px}
.lw-cta:focus-visible{outline:2px solid var(--orange);outline-offset:8px}
.lw-h{display:block;font:400 clamp(3.1rem,9vw,6.6rem)/.98 var(--serif-h,var(--serif));letter-spacing:-.03em;color:var(--navy)}
.lw-r{display:block;overflow:hidden;padding-bottom:.06em}
.lw-r>span{display:block;transition:transform .7s var(--ez)}
.lw-r+.lw-r>span{transition-delay:.07s}
.lw-m{color:var(--ink-3);font-style:italic}
.lw-cta:hover .lw-r>span{transform:translateY(-8%)}
.lw-cta:hover .lw-m{color:var(--orange)}
.lw-o{position:relative;display:grid;place-items:center;width:clamp(64px,7vw,80px);height:clamp(64px,7vw,80px);color:var(--navy)}
.lw-o i{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1px var(--rule-2,#d9d1c2);transition:transform .5s ease-out,background .5s,box-shadow .5s,opacity .7s}
.lw-o svg{position:relative;transition:transform .5s var(--ez),color .5s,opacity .6s}
.lw-cta:hover .lw-o i{background:var(--navy);box-shadow:none;transform:scale(1.1)}
.lw-cta:hover .lw-o svg{color:var(--paper);transform:translate(2px,-2px)}
.lw.go .lw-o i{transform:scale(3);opacity:0}
.lw.go .lw-o svg{transform:translate(100px,-100px) scale(.5);opacity:0}
.lw-l{position:absolute;top:34%;width:clamp(32px,4vw,48px);height:1px;background:var(--rule-2,#d9d1c2);opacity:.8;transition:transform .5s,opacity .5s}
.lw-ll{right:100%;transform-origin:right}.lw-lr{left:100%;transform-origin:left}
.lw-cta:hover .lw-l{transform:scaleX(1.5);opacity:1;background:var(--navy)}
.lw-p{max-width:30rem;margin:0;font:400 .95rem/1.6 var(--sans);color:var(--ink-2)}
.lw-k{display:inline-flex;align-items:center;gap:.45rem;margin:-.6rem 0 0;font:600 .66rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.lw-br{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem .6rem;margin-top:.4rem}
.lw-br .L-blinks{justify-content:center;gap:.35rem}
.lw-br .L-blinks a{padding:.28rem .65rem .28rem .3rem;font-size:.78rem}
.lw-br .L-blinks img,.lw-br .L-blinks .L-mono{width:20px;height:20px;font-size:.52rem}
/* state B */
.lw-b{display:none;text-align:left;max-width:720px;margin:0 auto}
.lw[data-st=b] .lw-b{display:block}
.lw-bh{display:grid;justify-items:center;gap:.35rem;text-align:center;margin-bottom:1.6rem}
.lw-av img{width:44px;height:44px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--rule)}
.lw-kick{margin:.4rem 0 0;font:600 .66rem/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sage-ink)}
.lw-t{margin:0;font:400 clamp(2rem,4vw,2.6rem)/1.05 var(--serif-h,var(--serif));letter-spacing:-.02em;color:var(--navy)}
.lw-b>*{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ez),transform .7s var(--ez)}
.lw.in2 .lw-b>*{opacity:1;transform:none}
.lw.in2 .lw-b>:nth-child(2){transition-delay:.15s}
.lw .L-msg{box-shadow:0 30px 60px -40px rgba(38,31,70,.35)}
.lw .L-recfoot{text-align:center;margin-top:2rem}
@media (max-width:640px){.L .L-body.lw{padding-top:3.2rem}.lw-l{display:none}.lw-cta{padding:.2rem 0}}
@media (prefers-reduced-motion:reduce){.lw *,.lw-a,.lw-b>*{transition:none!important;animation:none!important}}
.msg-sk{white-space:nowrap}
.lw-k{margin:0}

/* v45 · descenders safe; teacher portrait replaces the arrow */
.lw-r{padding:0 .1em .24em;margin-bottom:-.2em}
.lw-o{width:clamp(84px,9vw,104px);height:clamp(84px,9vw,104px);border-radius:50%;box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--rule-2,#d9d1c2),0 18px 36px -18px rgba(38,31,70,.45);transition:transform .5s var(--ez),box-shadow .5s,opacity .6s}
.lw-o img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 25%}
.lw-o i{inset:auto -2px -2px auto;width:32px;height:32px;display:grid;place-items:center;background:var(--navy);color:var(--paper);box-shadow:0 0 0 3px var(--paper);transform:none}
.lw-o i svg{transform:none!important;color:var(--paper)!important}
.lw-cta:hover .lw-o{transform:scale(1.06);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--navy),0 22px 40px -18px rgba(38,31,70,.55)}
.lw-cta:hover .lw-o i{background:var(--orange);transform:translate(2px,-2px);box-shadow:0 0 0 3px var(--paper)}
.lw.go .lw-o{transform:scale(.6) translateY(-40px);opacity:0}
.lw.go .lw-o i{transform:none;opacity:1}
.lw-o{flex:none;aspect-ratio:1;overflow:visible}
.lw-o img{position:absolute;inset:0;width:100%;height:100%}
.lw-cta{margin-bottom:.4rem}
.lw-o img{object-position:50% 50%}

/* v46 · links sit in the hero content column, under the actions */
@media (min-width:861px){.hero-in.e9{grid-template-areas:"port hk" "port name" "port meta" "port acts" "port links"}}
.e9 .hero-links{grid-area:links;margin:clamp(1.4rem,2.6vw,2rem) 0 0;padding:0;border:0;max-width:none}
.e9 .hero-links .hl-ic a{width:40px;height:40px}
@media (max-width:1199px){.e9 .hero-links{flex-direction:row;align-items:center;flex-wrap:wrap;gap:.6rem 1.2rem}}

/* v47 · brand-created events; 8-cell figures strip */
.L-by .L-cb{display:block;font:600 .56rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-style:normal;margin-bottom:.2rem}
.figs.n8{grid-template-columns:max-content repeat(7,minmax(0,1fr))}
.figs.n8 .fg{padding-left:.6rem;padding-right:.6rem}
@media (max-width:1080px){
  .figs.n8{grid-template-columns:repeat(12,minmax(0,1fr))}
  .figs.n8 .fg,.figs.n8 .fg:nth-child(n){grid-column:span 3;border-left:1px solid var(--rule);border-top:0}
  .figs.n8 .fg:nth-child(2),.figs.n8 .fg:nth-child(6){border-left:0}
  .figs.n8 .fg:nth-child(n+6){grid-column:span 4;border-top:1px solid var(--rule)}
}
.L-specs2{display:flex;flex-wrap:wrap;gap:clamp(1rem,2.4vw,1.6rem);list-style:none;margin:1.6rem 0 0;padding:0}
.L-specs2 li{position:relative;width:clamp(104px,11vw,124px);aspect-ratio:1;border-radius:50%;outline:none;cursor:default;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.L-specs2 img{width:100%;height:100%;border-radius:50%;display:block;filter:drop-shadow(0 10px 18px rgba(38,31,70,.16))}
.L-specs2 li:hover,.L-specs2 li:focus-visible{transform:translateY(-3px) scale(1.04)}
.L-specs2 li:focus-visible{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--orange)}
.L-specs2 li::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);white-space:nowrap;padding:.42rem .75rem;border-radius:999px;background:var(--navy);color:var(--paper);font:600 .76rem/1 var(--sans);letter-spacing:.02em;opacity:0;pointer-events:none;transition:opacity .2s,transform .25s;box-shadow:0 10px 24px -10px rgba(38,31,70,.5)}
.L-specs2 li::before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);width:10px;height:10px;background:var(--navy);transform:translate(-50%,6px) rotate(45deg);opacity:0;transition:opacity .2s,transform .25s}
.L-specs2 li:hover::after,.L-specs2 li:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.L-specs2 li:hover::before,.L-specs2 li:focus-visible::before{opacity:1;transform:translate(-50%,0) rotate(45deg)}
.L-specs2{margin-top:2.6rem}

/* ═════════ v48 ═════════ */
/* hero spacing: place and phone */
.eplace{margin-top:clamp(.9rem,1.6vw,1.2rem)}
.ephone{margin-top:clamp(.75rem,1.3vw,1rem)!important}
/* hero links: no ticks, hover names */
.hl-ic a i{display:none!important}
.hl-ic a::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translate(-50%,5px);white-space:nowrap;padding:.38rem .65rem;border-radius:999px;background:var(--paper);color:var(--navy);font:600 .72rem/1 var(--sans);opacity:0;pointer-events:none;transition:opacity .2s,transform .25s;box-shadow:0 10px 24px -10px rgba(0,0,0,.6)}
.hl-ic a:hover::after,.hl-ic a:focus-visible::after{opacity:1;transform:translate(-50%,0)}
/* live status on the portrait */
.pres{position:absolute;z-index:3;top:12px;left:12px;display:inline-flex;align-items:center;gap:.45rem;padding:.36rem .7rem .36rem .55rem;border-radius:999px;background:rgba(26,22,40,.78);backdrop-filter:blur(6px);color:var(--paper);font:600 .7rem/1 var(--sans);letter-spacing:.02em;box-shadow:0 6px 18px -8px rgba(0,0,0,.6)}
.pres i{position:relative;width:8px;height:8px;border-radius:50%;background:var(--sage)}
.pres-tc i{background:var(--orange)}
.pres-tc i::after,.pres-on i::after{content:"";position:absolute;inset:0;border-radius:50%;background:inherit;animation:lwPing 1.8s cubic-bezier(0,0,.2,1) infinite}
.pres-rs i{background:#AAA6DC}
.pres-off i{background:none;box-shadow:inset 0 0 0 1.5px rgba(251,248,243,.6)}
@media (max-width:640px){.pres{top:8px;left:8px;font-size:.6rem;padding:.3rem .55rem .3rem .45rem}}
/* cover and partnership flags */
.eflags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 0}
.eflags a{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem .5rem .75rem;border-radius:999px;background:rgba(126,185,166,.14);box-shadow:inset 0 0 0 1px rgba(126,185,166,.45);color:var(--paper);text-decoration:none;font:600 .8rem/1 var(--sans);transition:background .2s}
.eflags a:hover{background:rgba(126,185,166,.28)}
.eflags a i{width:7px;height:7px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 3px rgba(126,185,166,.25)}
.eflags a+a{background:rgba(240,146,33,.12);box-shadow:inset 0 0 0 1px rgba(240,146,33,.45)}
.eflags a+a i{background:var(--orange);box-shadow:0 0 0 3px rgba(240,146,33,.22)}
@media (max-width:860px){.eflags{display:flex!important}.eflags a{font-size:.74rem;padding:.42rem .75rem .42rem .6rem}}
/* recommendations: thumbs up */
.L-thumbs{display:flex;align-items:center;gap:1.4rem;margin-top:1.4rem}
.L-thumb{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:.7rem;padding:.75rem 1.3rem .75rem 1.05rem;border-radius:999px;background:var(--white,#fff);box-shadow:inset 0 0 0 1px var(--rule);color:var(--navy);transition:background .25s,color .25s,transform .25s}
.L-thumb b{font:400 1.6rem/1 var(--serif-h,var(--serif))}
.L-thumb:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--navy)}
.L-thumb[aria-pressed=true]{background:var(--navy);color:var(--paper)}
.L-thumb[aria-pressed=true] svg{color:var(--orange);fill:rgba(240,146,33,.2)}
.L-thumb:focus-visible,.L-eplus:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.L-rav{display:flex;list-style:none;margin:0;padding:0}
.L-rav li{width:34px;height:34px;margin-left:-8px;border-radius:50%;display:grid;place-items:center;background:#F4F0E8;box-shadow:0 0 0 3px var(--paper);font:600 .62rem/1 var(--sans);color:var(--navy)}
.L-rav li:first-child{margin-left:0}
/* endorsements by style */
.L-eg{margin-top:1.3rem}
.L-egk{margin:0 0 .6rem;font:600 .6rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.L-eg ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.L-eg li{display:inline-flex;align-items:center;gap:.55rem;padding:.35rem .35rem .35rem .9rem;border-radius:999px;background:var(--white,#fff);box-shadow:inset 0 0 0 1px var(--rule);font:500 .86rem/1 var(--sans);color:var(--navy)}
.L-eg.main li{background:var(--navy);color:var(--paper);box-shadow:none;font-size:.95rem;padding-left:1.1rem}
.L-eg li b{font:600 .78rem/1 var(--sans);color:var(--ink-3)}
.L-eg.main li b{color:rgba(251,248,243,.7)}
.L-eplus{all:unset;box-sizing:border-box;cursor:pointer;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#F4F0E8;color:var(--navy);transition:background .2s,color .2s}
.L-eg.main .L-eplus{background:rgba(251,248,243,.14);color:var(--paper)}
.L-eplus:hover{background:var(--sage);color:var(--navy)}
.L-eplus[aria-pressed=true]{background:var(--orange);color:var(--navy)}
.L-eplus[aria-pressed=true] svg{transform:rotate(45deg)}
.L-eplus svg{transition:transform .25s}
/* sign-in gate */
.gate{display:none}.gate.open{display:flex}
.gate-c{position:relative;width:min(400px,100%);padding:2rem 1.8rem 1.6rem;border-radius:22px;background:var(--paper);text-align:center;box-shadow:0 40px 80px -30px rgba(0,0,0,.5)}
.gate-c h3{margin:.9rem 0 .5rem;font:400 1.5rem/1.15 var(--serif-h,var(--serif));color:var(--navy)}
.gate-c p{margin:0 0 1.2rem;font-size:.88rem;line-height:1.5;color:var(--ink-2)}
.gate-c .btn{width:100%;justify-content:center}
.gate-c .gate-f{margin:.9rem 0 0;font-size:.72rem;color:var(--ink-3)}
.gate-x{all:unset;cursor:pointer;position:absolute;top:.7rem;right:.9rem;font-size:1.4rem;line-height:1;color:var(--ink-3)}

/* v49 · Message section: same top rhythm as every other section; more air between place and phone */
.L .L-body.lw{padding-top:0}
.ephone{margin-top:clamp(1rem,1.7vw,1.3rem)!important}
#contact.L{padding-top:2.6rem}@media (max-width:640px){#contact.L{padding-top:2.4rem}}

/* v50 · review attribution: name (person, studio, business or brand) + reviewer type */
.L-qby{display:flex!important;flex-wrap:wrap;align-items:center;gap:.4rem .6rem}
.L-qby b{flex-basis:auto}
.L-rt{display:inline-flex;align-items:center;padding:.26rem .6rem;border-radius:999px;font:600 .62rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:#EEF5F2;color:var(--sage-ink)}
.L-rt-teacher{background:#F1EFFA;color:#4b4690}
.L-rt-studio{background:#FDF1E3;color:#A85F0E}
.L-rt-business{background:#ECEAF2;color:var(--navy)}
.L-qby time{flex-basis:100%;font-size:.8rem;color:var(--ink-3)}

/* ── v52 · cleaner hero, 5-up figures, gallery, sign-in ── */
/* hero: no divider, links share the button row */
.e9 .emeta{border-top:0!important;padding-top:0!important}
.hacts{display:flex;flex-wrap:wrap;align-items:center}
.hacts .hacts-ic{margin-left:.5rem}
.hacts-ic a{width:40px!important;height:40px!important}
@media (min-width:861px) and (max-width:1199px){.hacts .hacts-ic{margin-left:0;flex-basis:100%;margin-top:.4rem}}
@media (max-width:860px){.e9 .hacts{grid-template-columns:1fr 1fr}.e9 .hacts .hacts-ic{grid-column:1/-1;margin:.5rem 0 0;justify-content:flex-start}}
/* top bar sign in */
.hero-bar nav .signin{opacity:.85}
.hero-bar nav .signin.on{color:var(--sage);opacity:1}
.hero-bar nav .signin.on::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--sage);margin-right:.45rem;vertical-align:middle}
@media (max-width:640px){.hero-bar nav{display:flex;align-items:center;gap:.9rem}.hero-bar nav .signin{display:inline-block!important;font-size:.82rem}}

/* portrait gallery */
.eph{position:relative}
.eph-i{transition:opacity .16s ease}
.eph-i.sw{opacity:0}
.eport .pres,.eport .plate{transition:opacity .2s}
.eth{display:flex;gap:.6rem;margin-top:.9rem}
.eth-b{all:unset;box-sizing:border-box;cursor:pointer;width:calc((100% - 1.8rem)/4);aspect-ratio:1;border-radius:12px;background-size:cover;background-repeat:no-repeat;opacity:.55;box-shadow:inset 0 0 0 1px rgba(251,248,243,.18);transition:opacity .2s,box-shadow .2s,transform .2s}
.eth-b:hover{opacity:.9;transform:translateY(-1px)}
.eth-b[aria-pressed="true"]{opacity:1;box-shadow:0 0 0 2px var(--deep-navy,#1A1628),0 0 0 4px var(--orange)}
.eth-b:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.eth-dots{display:none}
@media (max-width:860px){
  .eth{display:none}
  .eth-dots{display:flex;justify-content:center;gap:5px;margin-top:.55rem}
  .eth-dots i{width:5px;height:5px;border-radius:50%;background:rgba(251,248,243,.35);transition:background .2s,width .2s}
  .eth-dots i.on{width:14px;border-radius:3px;background:var(--orange)}
  .eph{touch-action:pan-y}
}
@media print{.eth,.eth-dots{display:none}}

/* figures: five cells, shorter */
.figs-s .figs.f5{grid-template-columns:repeat(5,minmax(0,1fr))!important;border-radius:16px}
.figs-s .figs.f5>*{padding:.8rem .6rem!important;border-left:1px solid var(--rule)!important;border-top:0!important;grid-column:auto!important}
.figs-s .figs.f5>*:first-child{border-left:0!important}
.figs-s .figs.f5 .fg b{font-size:clamp(1.25rem,1.8vw,1.5rem)!important}
.figs-s .figs.f5 .fg span{margin-top:.3rem;font-size:.72rem!important;white-space:nowrap}
@media (max-width:640px){
  .figs-s .figs.f5{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .figs-s .figs.f5>*{grid-column:span 2!important;padding:.75rem .3rem!important}
  .figs-s .figs.f5>*:nth-child(4),.figs-s .figs.f5>*:nth-child(5){grid-column:span 3!important;border-top:1px solid var(--rule)!important}
  .figs-s .figs.f5>*:nth-child(4){border-left:0!important}
  .figs-s .figs.f5 .fg span{font-size:.68rem!important}
}

/* availability chips: record panel on wide screens, under the figures otherwise */
.oflag{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem .45rem .7rem;border-radius:999px;font:600 .76rem/1.1 var(--sans);text-decoration:none;color:var(--sage-ink);background:#EEF5F2;box-shadow:inset 0 0 0 1px rgba(42,107,87,.22);transition:background .2s}
.oflag:hover{background:#E1EEE8}
.oflag i{width:7px;height:7px;border-radius:50%;background:var(--sage-ink);box-shadow:0 0 0 3px rgba(126,185,166,.3)}
.oflag.of-p{color:#A85F0E;background:#FDF1E3;box-shadow:inset 0 0 0 1px rgba(240,146,33,.35)}
.oflag.of-p:hover{background:#FBE6CD}
.oflag.of-p i{background:var(--orange);box-shadow:0 0 0 3px rgba(240,146,33,.22)}
.ra-flags{display:flex;flex-wrap:wrap;gap:.45rem;margin:.9rem 0 .2rem}
.oflags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .6rem;margin-top:.8rem}
.of-lang{margin:0 0 0 .3rem;font-size:.8rem;color:var(--ink-2)}
.of-lang span{font:600 .64rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-right:.3rem}
@media (min-width:1200px){.oflags{display:none}}
@media (max-width:640px){.oflags{justify-content:center}.of-lang{flex-basis:100%;text-align:center;margin:.2rem 0 0}}

/* sign-in window */
.gate-o{display:grid;gap:.55rem}
.gbtn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:46px;padding:0 1rem;border-radius:999px;font:600 .9rem/1 var(--sans);background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px var(--rule);transition:box-shadow .2s,background .2s}
.gbtn:hover{box-shadow:inset 0 0 0 1px var(--navy)}
.gbtn:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.gbtn.g-apple{background:#000;color:#fff;box-shadow:none}
.gbtn.g-apple:hover{background:#222}
.gate-e{display:grid;gap:.55rem;text-align:left}
.gate-e .fin{width:100%;box-sizing:border-box}
.gate-c .gate-n{margin:.2rem 0 0;font-size:.74rem;color:var(--ink-3);text-align:center}
.gate-s p{margin:0 0 1rem}
.gate-c [data-step][hidden]{display:none!important}

/* ── v53 · member avatars, notice ticker ── */
.L-av{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;overflow:hidden;background:#F4F0E8;color:var(--navy);font:600 .6rem/1 var(--sans);letter-spacing:.03em;text-decoration:none}
.L-av img{width:100%;height:100%;object-fit:cover;display:block}
a.L-av-m{box-shadow:0 0 0 1.5px var(--sage-ink,#2a6b57);transition:transform .2s,box-shadow .2s}
a.L-av-m:hover{transform:scale(1.08);box-shadow:0 0 0 2px var(--orange)}
a.L-av-m:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.L-qby .L-av{margin-right:-.15rem}
.L-rav li{background:none!important;font:inherit!important}
.L-rav li .L-av{width:34px;height:34px;box-shadow:0 0 0 3px var(--paper)}
.L-rav li a.L-av-m{box-shadow:0 0 0 3px var(--paper),0 0 0 4.5px var(--sage-ink,#2a6b57)}
.L-rav li a.L-av-m:hover{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--orange)}
.L-rav li:hover{z-index:2;position:relative}
.L-eby{display:flex;align-items:center;gap:.8rem;margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--rule)}
.L-eby p{margin:0;font-size:.82rem;color:var(--ink-2)}
.L-eby p a{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(38,31,70,.3);text-underline-offset:3px}
@media (max-width:640px){.L-eby{flex-direction:column;align-items:flex-start;gap:.6rem}}

.ntk{background:var(--orange);color:var(--deep-navy,#1A1628);overflow:hidden}
.ntk-in{display:flex;align-items:center;gap:1rem;max-width:1440px;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem);min-height:36px}
.ntk-k{flex:none;display:inline-flex;align-items:center;font:700 .62rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding-right:1rem;border-right:1px solid rgba(26,22,40,.25)}
.ntk-d{font-weight:500;letter-spacing:.06em;opacity:.75}
.ntk-v{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.ntk-t{display:flex;width:max-content;animation:ntk 26s linear infinite}
.ntk-t span{padding-right:6rem;font:500 .84rem/36px var(--sans);white-space:nowrap}
.ntk:hover .ntk-t,.ntk:focus-within .ntk-t{animation-play-state:paused}
@keyframes ntk{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ntk-t{animation:none;width:auto}.ntk-t span{white-space:normal;line-height:1.4;padding:.5rem 0}.ntk-t span+span{display:none}}
@media (max-width:640px){.ntk-d{display:none}.ntk-k{padding-right:.7rem}.ntk-in{gap:.7rem}.ntk-t span{font-size:.8rem}}
@media print{.ntk-t{animation:none}.ntk-t span+span{display:none}}
/* v53 · links sit with place and phone, never under the Y mark */
.ename-ic{margin-top:clamp(.9rem,1.5vw,1.15rem)!important;gap:.45rem!important}
.ename-ic a{width:34px!important;height:34px!important}
.ename-ic a svg{width:15px;height:15px}
@media (max-width:640px){.ename-ic{margin-top:.7rem!important}.ename-ic a{width:32px!important;height:32px!important}}

/* v54 · notice sits on paper as a slim rounded bar, so the Y still breaks the hero edge */
.ntk{background:none;padding:clamp(1.1rem,2.4vw,1.8rem) 0 0;overflow:visible}
.ntk-in{max-width:none;width:calc(min(var(--wrap,1200px),100%) - 2*clamp(1.15rem,4vw,2.5rem));margin:0 auto;padding:0 1.1rem;border-radius:999px;background:var(--orange);overflow:hidden;box-sizing:border-box}
.ntk+main .figs-s{padding-top:.8rem!important}
@media (max-width:640px){.ntk-in{border-radius:14px;padding:0 .85rem}}
.ntk-d{margin-left:.35em}

/* ── v56 · brand in the hero and record panel ── */
.ebr{display:flex;align-items:center;gap:.5rem;margin-top:.85rem;position:relative}
.ebr-a{display:inline-flex;align-items:center;gap:.55rem;color:rgba(251,248,243,.82);text-decoration:none;font:400 .9rem/1.2 var(--sans)}
.ebr-a b{font-weight:600;color:var(--paper,#FBF8F3);border-bottom:1px solid rgba(251,248,243,.25);padding-bottom:1px;transition:border-color .2s}
.ebr-a:hover b{border-color:var(--orange)}
.ebr-a .arrow{color:var(--orange);font-size:.8rem}
.ebr-a img,.ebr-a .L-mono{width:20px;height:20px;border-radius:50%;object-fit:cover;background:#fff;flex:none}
.ebr-a:focus-visible,.ebr-more summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}
.ebr-more summary{list-style:none;cursor:pointer;font:600 .72rem/1 var(--sans);color:rgba(251,248,243,.75);padding:.3rem .5rem;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(251,248,243,.22)}
.ebr-more summary::-webkit-details-marker{display:none}
.ebr-more summary:hover,.ebr-more[open] summary{color:#fff;box-shadow:inset 0 0 0 1px var(--orange)}
.ebr-more ul{position:absolute;z-index:20;top:calc(100% + .5rem);left:0;list-style:none;margin:0;padding:.4rem;min-width:260px;background:#fff;border-radius:14px;box-shadow:0 18px 40px rgba(10,8,20,.35)}
.ebr-more li a{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border-radius:10px;color:var(--navy);text-decoration:none;font:400 .76rem/1.25 var(--sans)}
.ebr-more li a:hover{background:#F6F2EA}
.ebr-more li b{display:block;font-weight:600;font-size:.84rem}
.ebr-more li span:nth-child(2){flex:1;color:var(--ink-3)}
.ebr-more li .arrow{color:var(--orange)}
.ebr-more li .L-mono,.ebr-more li img{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--navy);color:var(--paper);font:600 .6rem/1 var(--sans)}
.ra-br{margin:.9rem 0 1rem;padding-top:.9rem;border-top:1px solid var(--rule)}
.ra-br a{display:flex;align-items:center;gap:.65rem;margin-top:.55rem;padding:.55rem .65rem;border-radius:12px;background:#F8F5EF;color:var(--navy);text-decoration:none;font:400 .76rem/1.3 var(--sans);transition:background .2s}
.ra-br a:hover{background:#F1ECE2}
.ra-br a img,.ra-br a .L-mono{width:26px;height:26px;border-radius:50%;object-fit:cover;background:#fff;flex:none}
.ra-br a span:nth-of-type(1){flex:1;color:var(--ink-3)}
.ra-br a b{display:block;font-weight:600;font-size:.86rem;color:var(--navy)}
.ra-br .arrow{color:var(--orange)}
@media (max-width:640px){.ebr{margin-top:.6rem}.ebr-a{font-size:.82rem}.ebr-more ul{left:auto;right:auto;min-width:240px}}
.e9 .ebr{z-index:30}
.ebr-more{position:static}
.e9 .emeta{position:relative;z-index:5}
@media (max-width:860px){.ebr{flex-wrap:wrap;width:100%}.ebr-more ul{left:0;right:0;min-width:0}}

/* v57 · WhatsApp button left of the phone number (official green #25D366, white glyph); notice ticker gets the same clear space below as above */
.ephone{display:inline-flex;align-items:center;gap:.9rem;flex-wrap:wrap;justify-content:flex-end}
.ephone a.ewa{display:inline-flex;align-items:center;gap:.45rem;background:#25D366;color:#fff;border:0;border-radius:999px;padding:.46rem .85rem .46rem .66rem;font:600 .74rem/1 var(--sans);letter-spacing:.04em;text-transform:none;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.18)}
.ephone a.ewa svg{color:#fff;width:16px;height:16px}
.ephone a.ewa:hover{background:#1DA851;color:#fff;border:0}
.ephone a.ewa:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:999px}
@media (max-width:640px){.ephone{gap:.7rem}.ephone a.ewa{font-size:.7rem;padding:.42rem .75rem .42rem .6rem}}
.ntk{padding-bottom:clamp(1.1rem,2.4vw,1.8rem)}
.ntk+main .figs-s{padding-top:0!important}

/* v58 · "Empty" preview: how the record reads with no reviews, recommendations, endorsements or CPD yet. Prototype switch; Daniel removes the switch and keeps the states when data is wired */
.L-nil{display:none}
body.nil .L-has{display:none!important}
body.nil .L-nil{display:block}
.L-nil h3{margin:0 0 .55rem;font:400 1.4rem/1.25 var(--serif);color:var(--navy)}
.L-nil p{margin:0;font-size:.95rem;line-height:1.6;color:var(--ink-2,#4a4660);max-width:56ch}
.L-nil .L-ract{margin-top:1.15rem}
.L-nil p.L-nil-f{margin-top:.9rem;font-size:.8rem;color:var(--ink-3)}
.L-nil .L-thumbs{margin-top:1.15rem}
.L-nil-k{font-size:.88rem;color:var(--ink-3)}
.L-nil .L-eg{margin-top:1.3rem}
.pswitch .ps-nil{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:baseline;gap:.4rem;padding:.55rem .95rem;border-radius:999px;color:rgba(255,255,255,.78);font-size:.86rem;margin-left:.2rem;box-shadow:-1px 0 0 rgba(255,255,255,.14);transition:background .2s,color .2s}
.pswitch .ps-nil b{font-weight:600}.pswitch .ps-nil i{font-style:normal;font-size:.7rem;color:rgba(255,255,255,.5)}
.pswitch .ps-nil:hover{color:#fff;background:rgba(255,255,255,.08)}
.pswitch .ps-nil[aria-pressed=true]{background:var(--orange,#F09221);color:var(--deep-navy,#1A1628)}
.pswitch .ps-nil[aria-pressed=true] i{color:rgba(26,22,40,.65)}
.pswitch .ps-nil:focus-visible{outline:2px solid var(--orange,#F09221);outline-offset:2px}
@media (max-width:430px){.pswitch a i,.pswitch .ps-nil i{display:none}.pswitch a,.pswitch .ps-nil{padding:.5rem .75rem}}

/* v59 · hero thumbnails always show (even one photo); the last tile is the brand logo when the plan includes a Brand page. Order: profile · asana · brand */
.eth-b.eth-br{position:relative;display:flex;align-items:center;justify-content:center;opacity:1;background:#FBF8F3;padding:12%;box-shadow:inset 0 0 0 1px rgba(251,248,243,.35)}
.eth-b.eth-br img{width:100%;height:100%;object-fit:contain;border-radius:8px}
.eth-b.eth-br .L-mono{font:600 .9rem/1 var(--sans);color:var(--navy);letter-spacing:.06em}
.eth-b.eth-br:hover{opacity:1;box-shadow:0 0 0 2px var(--deep-navy,#1A1628),0 0 0 4px var(--orange)}
.eth-b.eth-br::after{content:"↗";position:absolute;right:5px;bottom:3px;font:600 .62rem/1 var(--sans);color:var(--navy);opacity:.7}
/* v59.1 · brand tile fix: percentage padding resolved against the row, not the tile, so the logo had no box. Full-bleed logo (it carries its own square), portrait image rules neutralised */
.eth-b.eth-br{padding:0;background:#111;overflow:hidden}
.e9 .eport .eth-b.eth-br img,.eport .eth-b.eth-br img{display:block;width:100%;height:100%;aspect-ratio:1;object-fit:cover;object-position:50% 50%;border-radius:12px;filter:none;box-shadow:none}
.eth-b.eth-br::after{color:#fff;opacity:.85;text-shadow:0 1px 2px rgba(0,0,0,.6)}
