/* ===== Home sections below the dive ===== */

.hs-p{color:var(--dim);max-width:560px;line-height:1.7;font-weight:300;font-size:15px;margin-top:18px}
.proof-h{font-family:var(--serif);font-weight:500;font-size:clamp(40px,5.2vw,84px);line-height:.98;margin-bottom:50px}
.proof-h em{font-weight:400}
.ph-num{opacity:.5}
.tst-head{margin-top:clamp(80px,11vw,140px)}
.tst-head .proof-h{margin-bottom:0}
.end-p{color:var(--dim);max-width:560px;line-height:1.75;font-weight:300;margin:-10px auto 34px}
/* 01 · About teaser: pinned photo, lines light up word by word */
.ab{position:relative;height:340vh;border-top:1px solid var(--line)}
.ab-in{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:clamp(30px,6vw,110px);padding:0 var(--pad);overflow:hidden}
.ab-ph{position:relative;height:min(76vh,760px);aspect-ratio:2/3;clip-path:inset(var(--ci,14%) var(--ci,14%) var(--ci,14%) var(--ci,14%) round 14px);will-change:clip-path}
.ab-ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transform:scale(var(--is,1.25));will-change:transform}
.ab-ph .cap{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;color:rgba(255,255,255,.8);opacity:var(--co,0)}
.ab-ring{position:absolute;inset:-14% -40%;pointer-events:none;opacity:var(--ro,0)}
.ab-copy .eyebrow{margin-bottom:34px}
.ab-lines p{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.9vw,48px);line-height:1.1;margin-bottom:.38em;letter-spacing:-.005em}
.ab-lines .w{opacity:.1;transition:opacity .25s,color .25s;display:inline-block}
.ab-lines .w.on{opacity:1}
.ab-lines em .w{color:var(--gold2)}
.ab-more{margin-top:26px;opacity:var(--mo,0);transform:translateY(calc((1 - var(--mo,0)) * 20px))}
.ab-num{position:absolute;right:var(--pad);bottom:34px;color:var(--mute)}

/* 02 · Services: horizontal track, cards flip */
.hs{position:relative;border-top:1px solid var(--line)}
.hs-in{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:70px}
.hs-head{padding:0 var(--pad);display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:clamp(24px,5vh,54px)}
.hs-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(40px,5.4vw,88px);line-height:.95;max-width:820px}
.hs-head h2 em{font-weight:400}
.hs-head .hint{color:var(--mute);text-align:right;white-space:nowrap}
.hs-track{display:flex;gap:26px;padding:0 var(--pad);will-change:transform;perspective:1600px}
.card{flex:0 0 clamp(280px,27vw,390px);height:clamp(360px,56vh,520px);perspective:1400px;transform-style:preserve-3d}
.card-in{position:relative;width:100%;height:100%;transition:transform 1s cubic-bezier(.7,0,.2,1);transform-style:preserve-3d}
.card:hover .card-in,.card.flip .card-in{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:22px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.front{background:radial-gradient(120% 80% at 80% 0%,rgba(240,180,60,.13),transparent 55%),linear-gradient(160deg,#141311,#080808);border:1px solid rgba(255,255,255,.09)}
.front .n{font-family:var(--serif);font-style:italic;font-size:clamp(90px,10vw,150px);line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(240,180,60,.55)}
.front h4{font-family:var(--serif);font-weight:500;font-size:clamp(28px,2.4vw,38px);line-height:1.02}
.front .k{color:var(--mute);display:flex;justify-content:space-between}
.front svg{position:absolute;right:-30%;top:18%;width:120%;opacity:.5;pointer-events:none}
.back{transform:rotateY(180deg);background:linear-gradient(150deg,#f6cf7c,#e3a634 55%,#b97a12);color:#160f03}
.back h4{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1}
.back p{font-size:14px;line-height:1.6;font-weight:500;opacity:.85}
.back ul{list-style:none;border-top:1px solid rgba(22,15,3,.25)}
.back li{font-size:13px;padding:9px 0;border-bottom:1px solid rgba(22,15,3,.2);font-weight:600;display:flex;gap:10px}
.back li::before{content:"✦";font-size:10px;padding-top:2px}
.card.all .front{background:transparent;border:1px dashed rgba(240,180,60,.5);justify-content:center;align-items:flex-start}
.card.all .front h4{font-size:clamp(34px,3vw,48px)}
.card.all .card-in{transform:none!important}
.hs-bar{margin:clamp(24px,5vh,50px) var(--pad) 0;height:1px;background:var(--line);position:relative}
.hs-bar i{position:absolute;inset:0;background:linear-gradient(90deg,var(--goldd),var(--gold2));transform-origin:left;transform:scaleX(0)}

/* 03 · Books on the shelf */
.shelf{position:relative;padding:clamp(100px,13vw,180px) 0 clamp(80px,10vw,140px);border-top:1px solid var(--line);overflow:hidden}
.shelf-head{padding:0 var(--pad);display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:70px}
.shelf-head h2{font-family:var(--serif);font-weight:500;font-size:clamp(40px,5.4vw,88px);line-height:.95}
.shelf-head h2 em{font-weight:400}
.shelf-row{display:flex;gap:clamp(36px,5vw,70px);padding:30px var(--pad) 0;will-change:transform;width:max-content}
.shelf-plank{position:relative;height:16px;margin-top:-6px;background:linear-gradient(180deg,#2a2116,#0d0a07);box-shadow:0 1px 0 rgba(255,210,122,.35) inset,0 30px 60px rgba(0,0,0,.8)}
.shelf-plank::after{content:"";position:absolute;left:10%;right:10%;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);filter:blur(.5px)}
.shelf-glow{position:absolute;left:0;right:0;bottom:90px;height:280px;background:radial-gradient(50% 60% at 50% 100%,rgba(240,180,60,.12),transparent);pointer-events:none}
.shelf-foot{padding:46px var(--pad) 0;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}

/* 04 · Proof: numbers + testimonial slider */
.proof{position:relative;padding:clamp(100px,13vw,170px) var(--pad);border-top:1px solid var(--line)}
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.nums div{padding:40px 0 34px;border-right:1px solid var(--line);padding-left:26px}
.nums div:first-child{padding-left:0}.nums div:last-child{border-right:0}
.nums b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(56px,7vw,110px);line-height:.9}
.nums span{color:var(--mute)}
.tst{position:relative;margin-top:clamp(40px,5vw,70px);display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,60px)}
.tst .mark{font-family:var(--serif);font-size:clamp(120px,14vw,220px);line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(240,180,60,.6)}
.slides{position:relative;min-height:clamp(260px,26vw,340px)}
.slide{position:absolute;inset:0;opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.slide.on{opacity:1;transform:none;pointer-events:auto}
.slide p{font-family:var(--serif);font-style:italic;font-size:clamp(28px,3.4vw,54px);line-height:1.15;max-width:1050px}
.slide .who{margin-top:28px;display:flex;align-items:center;gap:14px}
.slide .av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,var(--gold2),var(--goldd));color:#140d02;font-family:var(--serif);font-size:22px}
.slide .who b{display:block;font-weight:500}
.slide .who span{color:var(--mute)}
.tst-ctl{grid-column:2;display:flex;align-items:center;gap:18px;margin-top:10px}
.tst-ctl button{width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--silver);font-size:18px;cursor:pointer;transition:.3s}
.tst-ctl button:hover{border-color:var(--gold);color:var(--gold2)}
.tst-ctl .cnt{color:var(--mute)}
.tst-ctl .tbar{flex:1;max-width:220px;height:1px;background:var(--line);position:relative}
.tst-ctl .tbar i{position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.tst-ctl .tbar i.run{transition:transform 6s linear;transform:scaleX(1)}

@media (max-width:900px){
  .ab{height:300vh}
  .ab-in{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:center;gap:24px;padding-top:80px}
  .ab-ph{height:34vh;justify-self:start}
  .ab-lines p{font-size:clamp(24px,6.6vw,34px)}
  .hs-head{flex-direction:column;align-items:flex-start}.hs-head .hint{text-align:left}
  .nums{grid-template-columns:1fr 1fr}.nums div{border-right:0;padding-left:0!important;border-bottom:1px solid var(--line)}
  .tst{grid-template-columns:1fr}.tst .mark{display:none}.tst-ctl{grid-column:1}
  .shelf-head{flex-direction:column;align-items:flex-start}
}
/* statements + trust cards (replace numbers and testimonials) */
.stmts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stmts div{padding:40px 26px 36px;border-right:1px solid var(--line);transition:background .5s}
.stmts div:first-child{padding-left:0}.stmts div:last-child{border-right:0}
.stmts div:hover{background:linear-gradient(180deg,rgba(240,180,60,.06),transparent)}
.stmts .mono{color:var(--gold)}
.stmts h4{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.3vw,36px);line-height:1.05;margin:22px 0 12px}
.stmts p{color:var(--dim);font-size:14px;line-height:1.65;font-weight:300}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.tcard{position:relative;border:1px solid var(--line);border-radius:22px;padding:36px 32px;background:radial-gradient(120% 80% at 90% 0%,rgba(240,180,60,.1),transparent 55%),linear-gradient(160deg,#121110,#070707);overflow:hidden;transition:transform .5s,border-color .5s}
.tcard:hover{transform:translateY(-6px);border-color:rgba(240,180,60,.4)}
.tcard .tq{font-family:var(--serif);font-size:90px;line-height:.6;color:transparent;-webkit-text-stroke:1px rgba(240,180,60,.6);display:block;height:44px}
.tcard h4{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.05;margin:16px 0 12px}
.tcard p{color:var(--dim);font-size:15px;line-height:1.7;font-weight:300}
@media (max-width:900px){.stmts{grid-template-columns:1fr 1fr}.stmts div{border-right:0;padding-left:0!important;border-bottom:1px solid var(--line)}.trust{grid-template-columns:1fr}}
.nums b{font-family:var(--serif);font-weight:400;letter-spacing:-.03em}
