/* Black Lion Digital · "The hallmark" v3 · website-development.html only.
   Shared tokens, nav, menu, cover grammar, buttons, .idx rows, the review wall, the website shelf (.night / .shelf) and the
   audit band are main.css's. Here: the cover's draft (a layout composing itself on a drafting grid), the two kinds of
   website, the shift (the page's set-piece: a clock over a template site, the office closing, three night visitors each
   read, believed and got in touch, the inbox by morning), the funnel map (copied from agency.css via google.css and
   seo.css: duplicated markup until there is a build step), the website ledger (one card and one quote), the work band's
   spacing, the six-stage grid and the FAQ overrides. */

/* ---------- 01 cover: a page laying itself out in the dark; the gold block is the button and moves ---------- */
.cover--web{background:#070707}
.cover__draft{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.8s ease}
.cover__draft.is-on{opacity:1}
.cover__draftFallback{position:absolute;inset:-6%;width:112%;height:112%;opacity:.9;transition:opacity 1.2s ease}
.cover__draftDrift{animation:draftDrift 54s var(--io) infinite alternate;transform-origin:50% 50%}
.cover__draftGold{animation:draftGold 7s var(--io) infinite alternate}
.cover__draftGold--2{animation-delay:-3.5s;animation-direction:alternate-reverse}
@keyframes draftDrift{from{transform:translate(-70px,10px)}to{transform:translate(70px,-10px)}}
@keyframes draftGold{from{opacity:.35}to{opacity:1}}
.cover.is-draft .cover__draftFallback{opacity:0}
.cover--web .cover__wash{background:linear-gradient(180deg,rgba(7,7,7,.5) 0%,rgba(7,7,7,0) 24%,rgba(7,7,7,0) 50%,rgba(7,7,7,.9) 100%),linear-gradient(90deg,rgba(7,7,7,.66) 0%,rgba(7,7,7,.1) 46%,rgba(7,7,7,0) 60%)}
@media (max-width:900px){.cover__draft{display:none}.cover__draftFallback{opacity:.6}.cover__draftGold{display:none}}
.cover__actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- 02 two kinds of website: sticky copy, two cards (the meta, google and seo pages' grammar) ---------- */
.two{position:relative;background:var(--paper);padding:var(--section) 0}
.two__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:start}
.two__copy{position:sticky;top:calc(var(--nav-h) + 24px)}
.two__copy .h2{max-width:14ch}
.two__p{margin-top:24px;max-width:50ch;font-weight:300;font-size:clamp(16px,1.15vw,18px);color:var(--ink-2)}
.two__p + .two__p{margin-top:16px}
.two__bridge{margin-top:26px;padding-top:22px;border-top:1px solid var(--line-2);max-width:50ch;font-weight:500;color:var(--ink)}
.two__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:30px}
.kinds{display:flex;flex-direction:column;gap:18px;padding-top:8px}
.kind{position:relative;display:grid;grid-template-columns:56px 1fr;gap:20px;padding:30px 32px 32px 28px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px -48px rgba(15,15,15,.3)}
.kind::before{content:"";position:absolute;left:0;top:28px;bottom:28px;width:3px;border-radius:0 3px 3px 0;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform 1s var(--ease) .2s}
.kind.is-in::before{transform:scaleY(1)}
.kind__n{font-weight:600;font-size:12px;letter-spacing:.26em;color:var(--gold-text);padding-top:8px}
.kind__k{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:800;font-size:clamp(24px,2.3vw,32px);letter-spacing:-.035em;line-height:1.02;color:var(--ink)}
.kind__here{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--ink);padding:6px 10px;border-radius:999px;background:var(--gold)}
.kind__was{display:block;margin-top:14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.kind__is{margin-top:10px;max-width:46ch;color:var(--ink-2);font-weight:300}
.kind--active{border-color:var(--gold-2)}

/* ---------- 03 the shift: a clock over a template site; the office closes, three night visitors get in touch, the inbox by morning ---------- */
.shift{position:relative;background:var(--black);color:#fff;overflow:clip}
.shift::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 50% at 68% 50%,rgba(227,186,28,.1),transparent 70%);transition:opacity 1s}
.shift.is-night::before{opacity:.45}
.shift__pin{position:relative;min-height:100dvh;display:flex;align-items:center;padding:clamp(100px,12vh,140px) 0 clamp(56px,8vh,110px)}
.shift__grid{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,5vw,96px);align-items:center;width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto}
.shift__copy .h2--xl{max-width:9ch}
.shift__intro{font-weight:300;font-size:clamp(16px,1.2vw,19px);color:rgba(255,255,255,.78);max-width:44ch;margin-top:22px}
.shift__state{margin-top:30px;display:flex;align-items:center;gap:16px;font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.shift__state b{font-weight:600;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums}
.shift__end{margin-top:18px;font-weight:500;font-size:clamp(17px,1.25vw,20px);color:#fff;max-width:40ch;opacity:0;transform:translateY(10px);transition:opacity .6s,transform .8s var(--ease)}
.shift.is-done .shift__end,.shift.is-static .shift__end{opacity:1;transform:none}
.shift__stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:14px;min-height:min(680px,calc(100dvh - 250px))}
/* the clock strip: a 24-hour face whose hand the timeline turns (--deg), the time it reads, and whether the office is open */
.clock{--deg:480;display:flex;align-items:center;gap:16px;width:min(100%,620px);padding:12px 16px 12px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.clock__face{position:relative;display:block;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.06),transparent 70%);flex:none}
.clock__face::before{content:"";position:absolute;inset:4px;border-radius:50%;background:repeating-conic-gradient(from -3.75deg,rgba(255,255,255,.35) 0 7.5deg,transparent 7.5deg 90deg);-webkit-mask:radial-gradient(circle,transparent 62%,#000 63%);mask:radial-gradient(circle,transparent 62%,#000 63%)}
.clock__hand{position:absolute;left:50%;bottom:50%;width:2px;height:17px;margin-left:-1px;border-radius:2px;background:var(--gold);transform-origin:50% 100%;transform:rotate(calc(var(--deg) * 1deg))}
.clock__pin{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--gold)}
.clock__time{font-weight:800;font-size:clamp(22px,2vw,30px);letter-spacing:-.04em;line-height:1;color:#fff;font-variant-numeric:tabular-nums;min-width:5.6ch}
.clock__chip{display:inline-flex;align-items:center;gap:7px;margin-left:auto;padding:7px 12px 7px 9px;border-radius:999px;background:rgba(227,186,28,.14);color:var(--gold);font-weight:600;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1;white-space:nowrap;transition:background .5s,color .5s}
.clock__chip svg{width:13px;height:13px}
.clock__chip.is-closed{background:rgba(255,255,255,.08);color:rgba(255,255,255,.55)}
/* the site: a white window with a template page in it; each panel lights (--on) as a visitor reads it */
.site{position:relative;width:min(100%,620px);border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 50px 100px -40px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.06);padding:14px 16px 16px;will-change:transform}
.site__bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 4px 8px;border-bottom:1px solid var(--line)}
.site__bar i{width:9px;height:9px;border-radius:50%;background:var(--line-2)}
.site__url{margin-left:10px;flex:1 1 auto;font-size:11px;font-weight:500;color:var(--muted);padding:5px 12px;border-radius:999px;background:var(--paper-2);text-align:center;letter-spacing:.01em}
.site__panel{--on:1;position:relative;margin-top:12px;padding:16px 16px 16px 20px;border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:0 0 0 calc(1.5px * var(--on)) var(--gold-2);transition:box-shadow .4s}
.site__panel::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:var(--gold);opacity:var(--on);transition:opacity .4s}
.site__panel>*{opacity:calc(.5 + .5 * var(--on));transition:opacity .4s}
.site__hero{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:16px;align-items:stretch;padding-top:18px;padding-bottom:18px}
.site__heroCopy{display:flex;flex-direction:column;gap:9px}
.site__ln{display:block;height:9px;border-radius:5px;background:var(--paper-3);width:78%}
.site__ln--k{width:34%;height:7px;background:var(--gold-2);opacity:.9}
.site__ln--h{height:16px;width:88%;background:var(--ink);opacity:.85}
.site__ln--h2{width:66%}
.site__ln--s{width:72%;margin-top:2px}
.site__ln--short{width:52%}
.site__btn{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;margin-top:6px;padding:0 14px;height:30px;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:800;font-size:11px;letter-spacing:.02em;line-height:1}
.site__img{display:block;border-radius:10px;background:linear-gradient(160deg,var(--paper-2),var(--paper-3));min-height:100px}
.site__proof{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-left:20px}
.site__tile{display:flex;flex-direction:column;gap:7px;padding:12px;border-radius:10px;background:var(--paper);border:1px solid var(--line)}
.site__stars{display:flex;gap:2px;margin-bottom:2px}
.site__stars svg{width:10px;height:10px;fill:var(--gold)}
.site__form{display:flex;flex-wrap:wrap;gap:9px 10px;align-items:center}
.site__formK{flex:1 1 100%;font-weight:800;font-size:13px;letter-spacing:-.02em;color:var(--ink);margin-bottom:2px}
.site__field{display:block;flex:1 1 calc(50% - 5px);height:28px;border-radius:8px;background:var(--paper);border:1px solid var(--line-2)}
.site__field--wide{flex-basis:100%}
.site__btn--send{flex:none;margin-top:2px;padding:0 22px}
/* the visitor: a gold point that arrives at the top of the page and moves down it (the timeline moves it; static hides it) */
.visitor{position:absolute;left:46%;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 6px rgba(227,186,28,.22),0 6px 18px -4px rgba(0,0,0,.6);opacity:0;z-index:3;pointer-events:none}
.visitor i{position:absolute;inset:-10px;border-radius:50%;border:1.5px solid rgba(227,186,28,.5);animation:visitorRing 1.6s var(--io) infinite}
@keyframes visitorRing{from{transform:scale(.6);opacity:1}to{transform:scale(1.4);opacity:0}}
/* the inbox: rises over the lower right of the window once the office closes; its rows light as the enquiries land */
.inbox{position:absolute;right:0;top:50%;width:min(46%,300px);padding:18px 18px 20px;border-radius:18px;background:var(--ink);color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:0 50px 100px -40px rgba(0,0,0,.9);opacity:0;z-index:4;will-change:transform}
.inbox__k{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold);margin-bottom:10px;padding-right:86px}
.inbox__k svg{width:13px;height:13px;flex:none}
.inbox__h{font-weight:800;font-size:clamp(17px,1.4vw,21px);letter-spacing:-.035em;line-height:1.05;color:#fff;max-width:14ch}
.inbox__list{display:grid;gap:6px;margin-top:14px}
.inbox__list li{padding:8px 10px;border-radius:7px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,calc(.1 + .6 * var(--on,1)));font-size:11.5px;font-weight:500;color:rgba(255,255,255,calc(.5 + .5 * var(--on,1)));font-variant-numeric:tabular-nums;transition:border-color .3s,color .3s}
.inbox__stamp{position:absolute;right:14px;top:12px;padding:5px 9px;border-radius:999px;background:var(--gold);font-weight:800;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);opacity:var(--stamp,1);transform:scale(calc(.6 + .4 * var(--stamp,1)));transition:opacity .3s,transform .4s var(--ease)}
/* static: phones, reduced motion, no GSAP. The finished state: eight in the morning, the office open, the page lit, the inbox beneath the window with the night's three. */
.shift.is-static .shift__pin{min-height:0}
.shift.is-static .shift__state{display:none}
.shift.is-static .shift__stage{min-height:0}
.shift.is-static .visitor{display:none}
.shift.is-static .inbox{position:relative;top:auto;right:auto;width:min(100%,620px);opacity:1;transform:none}

/* ---------- 04 where it sits: the funnel map from agency.css, with this page's node lit ---------- */
.place{position:relative;background:var(--paper);padding:var(--section) 0;border-top:1px solid var(--line)}
.place__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:end;margin-bottom:clamp(40px,6vh,72px)}
.place__head .h2--xl{max-width:11ch}
.place__intro{max-width:44ch;font-weight:300;color:var(--ink-2);padding-bottom:8px}
.place__foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:clamp(40px,6vh,72px)}
/* copied verbatim from agency.css (the map is shared markup until there is a build step; a change there goes here too) */
.tree{position:relative;--g:18px}
.tree__root{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:40px}
.tree__root b{font-weight:800;font-size:clamp(28px,3vw,44px);letter-spacing:-.04em;line-height:1;color:var(--ink);padding:16px 36px;border:1.5px solid var(--ink);border-radius:999px;background:#fff}
.tree__root span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold-text);margin-top:12px}
.tree__root::after{content:"";position:absolute;left:50%;bottom:0;width:1.5px;height:40px;background:var(--gold-2)}
.tree__parts{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--g);padding-top:40px}
.tree__parts::before{content:"";position:absolute;left:calc(12.5% - 7px);right:calc(12.5% - 7px);top:0;height:1.5px;background:var(--gold-2)}
.node{position:relative;display:flex;flex-direction:row;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 70px -48px rgba(15,15,15,.3)}
.node::before{content:"";position:absolute;left:50%;top:-40px;width:1.5px;height:40px;background:var(--gold-2)}
.node::after{content:"";position:absolute;left:50%;top:-5px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--paper)}
.node__mark{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--gold-tint);color:var(--ink);border:1px solid var(--line);margin:0;flex:none}
.node__mark svg{width:24px;height:24px;display:block}
.node__name{font-weight:800;font-size:clamp(15px,1.15vw,18px);letter-spacing:-.025em;line-height:1.1;color:var(--ink)}
.node--sys{justify-content:center;width:min(100%,420px)}
.node--sys::before{display:none}
.tree__join{position:relative;height:44px}
.tree__join i{position:absolute;top:0;width:1.5px;height:22px;margin-left:-.75px;background:var(--gold-2)}
.tree__join i:nth-child(1){left:calc((100% - 3*var(--g))/8)}
.tree__join i:nth-child(2){left:calc((100% - 3*var(--g))/8 + (100% - 3*var(--g))/4 + var(--g))}
.tree__join i:nth-child(3){left:calc((100% - 3*var(--g))/8 + 2*((100% - 3*var(--g))/4 + var(--g)))}
.tree__join i:nth-child(4){left:calc((100% - 3*var(--g))/8 + 3*((100% - 3*var(--g))/4 + var(--g)))}
.tree__join::before{content:"";position:absolute;left:calc(12.5% - 7px);right:calc(12.5% - 7px);top:22px;height:1.5px;background:var(--gold-2)}
.tree__join::after{content:"";position:absolute;left:50%;top:22px;width:1.5px;height:22px;background:var(--gold-2)}
.tree__lower{display:flex;flex-direction:column;align-items:center}
.tree__tier{position:relative;display:flex;justify-content:center;width:100%}
.tree__tier--end{margin-top:44px}
.tree__tier--end::before{content:"";position:absolute;left:50%;top:-44px;width:1.5px;height:44px;background:var(--gold-2)}
.tree__end{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.tree__end b{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(160deg,var(--gold-bright),var(--gold-2));color:var(--ink);font-weight:800;font-size:32px;line-height:1;box-shadow:0 20px 40px -20px rgba(201,161,26,.6)}
.tree__endName{font-weight:800;font-size:clamp(16px,1.3vw,20px);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-top:4px}
/* this page's node */
.node.is-here{border-color:var(--gold-2);box-shadow:0 0 0 1.5px var(--gold-2),0 30px 70px -48px rgba(15,15,15,.3)}
.node.is-here .node__mark{background:var(--gold);border-color:var(--gold)}
.node__here{margin-left:auto;flex:none;font-size:9px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold-text);padding:4px 8px;border-radius:999px;background:var(--gold-tint);border:1px solid var(--gold-2)}

/* ---------- 05 the ledger, websites: one card and one quote, side by side ---------- */
.assay{position:relative;background:#fff;padding:var(--section) 0;border-top:1px solid var(--line)}
.assay__head{margin-bottom:clamp(40px,6vh,72px)}
.assay__head .h2--xl{max-width:14ch}
.ledger{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:18px;align-items:stretch}
.cards{display:grid;grid-template-columns:1fr;gap:18px}
.card{display:flex;flex-direction:column;gap:18px;padding:clamp(22px,2.6vw,32px);background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 70px -48px rgba(15,15,15,.3)}
.card__head{display:flex;flex-direction:column;gap:12px}
.card__logo{height:34px;width:auto;max-width:180px;object-fit:contain;object-position:left center}
.card__svc{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.card__p{font-size:15px;font-weight:300;color:var(--ink-2);max-width:38ch}
.card__stats{display:flex;flex-wrap:wrap;gap:16px 24px;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.card__stats li{flex:1 1 30%;min-width:96px}
.card__stats b{display:block;font-weight:800;font-size:clamp(40px,3.6vw,56px);letter-spacing:-.045em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.card__stats span{display:block;margin-top:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted);max-width:26ch}
.card__src{font-size:12px;color:var(--muted)}
.quote{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;gap:clamp(24px,3vw,40px);align-items:end;padding:clamp(28px,3.4vw,48px) clamp(28px,3.4vw,52px);background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 70px -48px rgba(15,15,15,.3)}
.quote::before{content:"\201C";position:absolute;left:clamp(18px,2.4vw,34px);top:-.02em;font-weight:800;font-size:clamp(120px,12vw,200px);line-height:1;color:var(--gold);opacity:.22;pointer-events:none}
.quote__q{position:relative;padding-top:clamp(8px,1.2vw,18px)}
.quote__q p{font-weight:500;font-size:clamp(20px,1.9vw,30px);letter-spacing:-.025em;line-height:1.3;color:var(--ink);max-width:30ch;text-wrap:pretty}
.quote__who{display:flex;flex-direction:column;gap:4px;padding-bottom:4px;white-space:nowrap}
.quote__who strong{font-weight:800;font-size:16px;letter-spacing:-.02em;color:var(--ink)}
.quote__who span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold-text)}
.assay__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px;margin-top:26px}
.assay__src{font-size:13px;color:var(--muted);max-width:60ch}

/* ---------- the work: before and after, six drag sliders on the dark (note 37) ---------- */
.ba{position:relative;background:var(--black);color:#fff;padding:clamp(80px,10vh,130px) 0 var(--section)}
.ba__head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;margin-bottom:clamp(40px,6vh,72px)}
.ba__sub{color:rgba(255,255,255,.66);max-width:36ch;padding-bottom:10px;font-size:15px;font-weight:300}
.ba__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.4vw,32px)}
.cmp{margin:0}
.cmp__frame{position:relative;aspect-ratio:1200/750;border-radius:18px;overflow:hidden;background:#161412;box-shadow:0 50px 100px -50px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08);cursor:ew-resize;user-select:none;-webkit-user-select:none}
.cmp__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block;pointer-events:none}
/* the before sits in the dark (Jack, 15 Oct: "make sure the before photos are dark"): dimmed and drained, so the after reads as the light coming on */
.cmp__before{clip-path:inset(0 calc(100% - var(--x,50%)) 0 0);filter:brightness(.55) saturate(.5) contrast(1.05)}
.cmp__tag{position:absolute;top:12px;padding:5px 9px;border-radius:999px;font-weight:600;font-size:10px;letter-spacing:.16em;text-transform:uppercase;line-height:1;pointer-events:none;z-index:2}
.cmp__tag--b{left:12px;background:rgba(11,11,11,.72);color:#fff;border:1px solid rgba(255,255,255,.2)}
.cmp__tag--a{right:12px;background:var(--gold);color:var(--ink)}
.cmp__handle{position:absolute;top:0;bottom:0;left:var(--x,50%);width:2px;margin-left:-1px;background:var(--gold);z-index:2;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.cmp__handle i{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:var(--gold);box-shadow:0 10px 30px -8px rgba(0,0,0,.8);display:grid;place-items:center}
.cmp__handle i::before,.cmp__handle i::after{content:"";position:absolute;top:50%;width:0;height:0;border:5px solid transparent;margin-top:-5px}
.cmp__handle i::before{left:8px;border-right:6px solid var(--ink);border-left:0}
.cmp__handle i::after{right:8px;border-left:6px solid var(--ink);border-right:0}
.cmp__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3;-webkit-appearance:none;appearance:none;background:transparent}
.cmp__range::-webkit-slider-thumb{-webkit-appearance:none;width:40px;height:100%}
.cmp__range::-moz-range-thumb{width:40px;height:100%;border:0;background:transparent}
.cmp__range:focus-visible{opacity:1;outline:3px solid var(--gold);outline-offset:-3px;background:transparent}
.cmp__cap{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:14px;padding:0 4px}
.cmp__cap strong{font-weight:800;font-size:16px;letter-spacing:-.02em;color:#fff}
.cmp__cap span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold);white-space:nowrap}

/* ---------- 06 how we build it: six stages in a hairline grid, then the suitability strip ---------- */
.method{position:relative;background:var(--paper);padding:var(--section) 0;border-top:1px solid var(--line)}
.method__head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,4vw,64px);align-items:end}
.method__head .h2--xl{max-width:12ch}
.method__intro{max-width:44ch;font-weight:300;color:var(--ink-2);padding-bottom:8px}
/* the six stages as a ladder: an image one side, the copy the other, sides alternating, a gold rail down the middle (note 38) */
.stages{position:relative;display:grid;gap:0;margin-top:clamp(40px,6vh,72px);border-top:1px solid var(--line-2)}
.stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,72px);align-items:center;padding:clamp(28px,3.4vw,48px) 0;border-bottom:1px solid var(--line-2)}
.stage:nth-child(even) .stage__art{order:2}
.stage__art{position:relative;margin:0;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 30px 70px -48px rgba(15,15,15,.35)}
.stage__art img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.04);transition:transform 1.2s var(--ease)}
.stage.is-in .stage__art img{transform:none}
.stage__copy{max-width:46ch}
.stage__copy i{display:block;font-style:normal;font-weight:600;font-size:12px;letter-spacing:.26em;color:var(--gold-text);margin-bottom:14px}
.stage__copy b{display:block;font-weight:800;font-size:clamp(24px,2.3vw,32px);letter-spacing:-.035em;line-height:1.02;color:var(--ink)}
.stage__copy p{margin-top:14px;font-size:clamp(15px,1.05vw,17px);color:var(--ink-2);font-weight:300;max-width:42ch}
.only{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin-top:clamp(28px,4vh,44px);padding:clamp(22px,2.6vw,32px);background:var(--ink);color:#fff;border-radius:20px}
.only__marks{display:flex;gap:8px}
.only__marks span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);color:var(--gold)}
.only__marks svg{width:22px;height:22px}
.only p{font-weight:300;color:rgba(255,255,255,.82);max-width:70ch}
.only p b{font-weight:600;color:#fff}
/* centred variant: the mark, a subheadline, then the copy (note 44) */
.only--centred{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px;padding:clamp(30px,3.6vw,48px) clamp(22px,2.6vw,32px)}
.only--centred .only__marks{justify-content:center;margin-bottom:6px}
.only p.only__sub{font-weight:800;font-size:clamp(22px,2vw,30px);letter-spacing:-.03em;line-height:1.05;color:#fff;max-width:none}
.only--centred p{max-width:62ch}

/* ---------- 08 questions: the services index rows, reused (the agency page's overrides) ---------- */
.faq .idx__btn{grid-template-columns:72px 1fr 56px}
.faq .idx__name{font-weight:600;font-size:clamp(18px,1.75vw,27px);letter-spacing:-.02em;line-height:1.25;text-wrap:balance}
.faq .idx__row::before{font-size:clamp(80px,9vw,150px)}
.faq .idx__panelIn p{padding-bottom:28px}
.faq .idx__panelIn p + .link{margin-top:-16px}

/* 09 the audit is the homepage's band, form included, spliced in (note 41): main.css carries it, nothing here */

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .two__grid,.shift__grid{grid-template-columns:1fr}
  .two__copy{position:static}
  .shift__grid{gap:40px}
  .shift__copy .h2--xl,.place__head .h2--xl,.method__head .h2--xl{max-width:none}
  .place__head,.method__head{grid-template-columns:1fr;align-items:start}
  .ledger{grid-template-columns:1fr}
  .ba__head{grid-template-columns:1fr}
  .ba__grid{grid-template-columns:1fr}
  .quote{grid-template-columns:1fr;align-items:start}
  /* the tree becomes a rail: Agency top-left, the four cards stacked beside a vertical gold line (agency.css) */
  .tree__root{align-items:flex-start;text-align:left;padding-bottom:28px}
  .tree__root::after{left:31px;height:28px}
  .tree__parts{grid-template-columns:1fr;padding-top:0;padding-left:60px;gap:16px}
  .tree__parts::before{left:31px;right:auto;top:0;bottom:0;width:1.5px;height:auto}
  .node::before{left:-29px;top:50%;width:29px;height:1.5px}
  .node::after{left:-33px;top:50%;margin:-4.5px 0 0 0}
  .tree__join{display:none}
  .tree__lower{align-items:stretch;padding-left:60px;margin-top:16px}
  .tree__tier{justify-content:flex-start}
  .tree__tier::before{content:"";position:absolute;left:-29px;top:-16px;bottom:0;width:1.5px;background:var(--gold-2)}
  .tree__tier--end{margin-top:16px}
  .tree__tier--end::before{left:-29px;top:-16px;bottom:auto;height:54px}
  .node--sys{width:100%}
  .node--sys::before{display:block}
  .tree__end{align-items:flex-start;text-align:left}
  .tree__end::before{content:"";position:absolute;left:-29px;top:38px;width:29px;height:1.5px;background:var(--gold-2)}
  .tree__end::after{content:"";position:absolute;left:-33px;top:38px;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--paper)}
}
@media (max-width:900px){
  .shift__pin{min-height:0;padding:var(--section) 0}
  .shift__stage{min-height:0}
  .site{width:100%;padding:12px 12px 14px}
  .clock{width:100%}
  .faq .idx__btn{grid-template-columns:44px 1fr 44px}
  .faq .idx__name{text-wrap:pretty}
  .only{grid-template-columns:1fr;gap:16px}
}
@media (max-width:640px){
  .kind{grid-template-columns:1fr;gap:10px;padding:24px 22px 26px}
  .stage{grid-template-columns:1fr;gap:18px}
  .stage:nth-child(even) .stage__art{order:0}
  .stage__art{aspect-ratio:16/10}
  .cmp__cap{flex-direction:column;align-items:flex-start;gap:4px}
  .tree__root::after{left:23px}
  .tree__parts{padding-left:44px}
  .tree__parts::before{left:23px}
  .node::before{left:-21px;width:21px}
  .node::after{left:-25px}
  .tree__lower{padding-left:44px}
  .tree__tier::before,.tree__tier--end::before{left:-21px}
  .tree__end::before{left:-21px;width:21px}
  .tree__end::after{left:-25px}
  .tree__root b{padding:12px 24px}
  .node__here{display:none}
  .cover__actions{width:100%}
  .cover__actions .btn{width:100%}
  .two__actions .btn{width:100%}
  .quote{padding:26px 22px 28px}
  .quote__q{padding-top:22px}
  .quote__who{white-space:normal}
  .quote__who span{line-height:1.5}
  .quote::before{left:14px}
  .site__hero{grid-template-columns:1fr}
  .site__img{min-height:64px}
  .site__proof{grid-template-columns:1fr 1fr 1fr;gap:6px;padding-left:16px}
  .site__tile{padding:8px}
  .site__tile .site__ln{height:6px}
  .site__field{flex-basis:100%}
  .clock{gap:10px;padding:10px 12px 10px 10px}
  .clock__face{width:38px;height:38px}
  .clock__hand{height:14px}
  .clock__chip{font-size:9.5px;padding:6px 9px 6px 7px}
  .inbox__k{padding-right:70px}
  .card__stats b{font-size:clamp(40px,12vw,56px)}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .cover__draft{display:none}
  .cover__draftDrift,.cover__draftGold{animation:none}
  .visitor i{animation:none}
  .shift__pin{min-height:0}
  .shift__state{display:none}
  .shift__end{opacity:1;transform:none}
  .shift__stage{min-height:0}
  .visitor{display:none}
  .inbox{position:relative;top:auto;right:auto;width:min(100%,620px);opacity:1;transform:none}
  .kind::before{transform:none}
}
