/* ===== Adesanya David — shared styles ===== */
:root{--ink:#050505;--ink2:#0b0a09;--line:rgba(255,255,255,.09);--silver:#dcdde1;--dim:#9a9ba1;--mute:#6d6e73;--gold:#f0b43c;--gold2:#ffd27a;--goldd:#b97a12;
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--pad:clamp(18px,4vw,64px)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--ink);color:var(--silver);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.gold{background:linear-gradient(100deg,var(--goldd),var(--gold2) 45%,var(--gold) 70%,var(--goldd));-webkit-background-clip:text;background-clip:text;color:transparent}
.silver{background:linear-gradient(180deg,#fff,#c9cace 55%,#8e8f94);-webkit-background-clip:text;background-clip:text;color:transparent}
.serif{font-family:var(--serif)}
em{font-style:italic}

.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.cur{position:fixed;left:0;top:0;z-index:100;pointer-events:none;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid rgba(255,210,122,.7);border-radius:50%;transition:width .3s,height .3s,margin .3s,background .3s;display:grid;place-items:center}
.cur span{font-family:var(--mono);font-size:9px;letter-spacing:.15em;color:#130c02;opacity:0;transition:.2s}
.cur.big{width:74px;height:74px;margin:-37px 0 0 -37px;background:var(--gold2)}
.cur.big span{opacity:1}
@media (hover:none){.cur{display:none}}

/* page curtain: a gold line sweeps across between pages */
.curtain{position:fixed;inset:0;z-index:95;pointer-events:none;display:grid;place-items:center}
.curtain .cv{position:absolute;inset:0;background:#070707;transform-origin:top;transition:transform .8s cubic-bezier(.7,0,.2,1)}
.curtain .cl{position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);transform:scaleX(0);transition:transform .7s cubic-bezier(.7,0,.2,1)}
.curtain .cw{position:relative;font-family:var(--serif);font-style:italic;font-size:clamp(28px,4vw,54px);opacity:0;transition:opacity .4s}
.curtain.hide .cv{transform:scaleY(0)}
.curtain.hide .cw{opacity:0}
.curtain.go .cv{transform:scaleY(1);transform-origin:bottom}
.curtain.go .cl{transform:scaleX(1)}
.curtain.go .cw{opacity:1}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:22px var(--pad);transition:background .5s,padding .5s}
.nav.solid{background:linear-gradient(rgba(5,5,5,.85),rgba(5,5,5,0));padding-top:16px}
.brand{font-family:var(--serif);font-size:22px;transition:opacity .6s}
.nl{display:flex;gap:28px;font-size:13px;color:var(--dim)}
.nl a{position:relative;overflow:hidden;display:inline-block;height:1.3em}
.nl a span{display:block;transition:transform .45s cubic-bezier(.7,0,.2,1)}
.nl a span::after{content:attr(data-t);display:block;color:var(--gold2)}
.nl a:hover span{transform:translateY(-50%)}
.nl a.here{color:var(--gold2)}
.ncta{font-size:13px;padding:10px 18px;border-radius:999px;border:1px solid rgba(240,180,60,.5);color:var(--gold2);transition:.3s,opacity .6s;background:rgba(5,5,5,.4);backdrop-filter:blur(6px)}
.ncta:hover{background:var(--gold);color:#130c02}
body.diving .brand,body.diving .ncta{opacity:0;pointer-events:none}
.burger{display:none;background:none;border:1px solid var(--line);color:var(--silver);border-radius:999px;padding:9px 16px;font:500 12px var(--sans)}
.mmenu{position:fixed;inset:0;z-index:58;background:rgba(5,5,5,.97);display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);gap:6px;opacity:0;pointer-events:none;transition:opacity .4s}
.mmenu.open{opacity:1;pointer-events:auto}
.mmenu a{font-family:var(--serif);font-size:44px;display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:10px 0}
.mmenu a span{font-family:var(--mono);font-size:11px;color:var(--gold)}

.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 26px;border-radius:999px;font-size:14px;font-weight:500;background:linear-gradient(100deg,var(--goldd),var(--gold) 40%,var(--gold2));color:#140d02;box-shadow:0 10px 40px -10px rgba(240,180,60,.6);transition:.35s;border:0;cursor:pointer;font-family:var(--sans)}
.btn:hover{transform:translateY(-2px)}
.btn-o{background:rgba(5,5,5,.35);border:1px solid rgba(255,255,255,.22);color:var(--silver);box-shadow:none;backdrop-filter:blur(6px)}
.link{display:inline-flex;align-items:center;gap:12px;font-size:14px;color:var(--gold2);position:relative;padding-bottom:6px}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:left;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.link:hover::after{transform:scaleX(.3)}
.eyebrow{color:var(--mute);margin-bottom:24px;display:flex;gap:14px;align-items:center}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.rv{opacity:0;transform:translateY(40px);transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.split .ln{display:block;overflow:hidden;padding-bottom:.28em;margin-bottom:-.2em}
.split .ln>span{display:inline-block;padding-bottom:.14em;transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.split.in .ln>span{transform:none}
.split .ln:nth-child(2)>span{transition-delay:.08s}.split .ln:nth-child(3)>span{transition-delay:.16s}.split .ln:nth-child(4)>span{transition-delay:.24s}

/* the closing call to action (shared) */
.end{position:relative;text-align:center;min-height:90vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:120px var(--pad);border-top:1px solid var(--line);overflow:hidden}
.end::before{content:"";position:absolute;inset:0;background:radial-gradient(40vw 30vw at 50% 55%,rgba(240,180,60,.09),transparent 70%);pointer-events:none}
.end h3{font-family:var(--serif);font-weight:500;font-size:clamp(46px,8vw,128px);line-height:.95;margin-bottom:34px}
.end .eyebrow{justify-content:center}

/* footer */
.foot{position:relative;padding:80px var(--pad) 28px;border-top:1px solid var(--line);overflow:hidden}
.foot-word{font-family:var(--serif);font-weight:500;font-size:clamp(56px,13.5vw,230px);line-height:.85;letter-spacing:-.02em;white-space:nowrap;margin-bottom:60px}
.foot-word em{font-weight:400}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid var(--line)}
.foot-grid h6{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);font-weight:400;margin-bottom:18px}
.foot-grid a,.foot-grid p{display:block;color:var(--dim);font-size:14px;line-height:2;transition:color .3s}
.foot-grid a:hover{color:var(--gold2)}
.foot-grid .big{font-family:var(--serif);font-size:30px;line-height:1.15;color:var(--silver)}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;color:var(--mute)}
.ph-note{color:var(--mute);font-size:12px}

/* 3D book (used on Home and Books) */
.bk{position:relative;width:190px;height:280px;perspective:1400px;flex:0 0 auto;cursor:pointer}
.bk-in{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(-26deg) rotateX(4deg);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.bk-face{position:absolute;inset:0;border-radius:2px 6px 6px 2px}
.bk-pages{background:repeating-linear-gradient(90deg,#efe7d6 0 2px,#d9cfba 2px 3px);transform:translateZ(-1px) translateX(4px) scale(.98,.97);box-shadow:inset -6px 0 12px rgba(0,0,0,.18)}
.bk-page{background:#f3ecdc;transform:translateZ(.5px);padding:30px 22px;display:flex;flex-direction:column;gap:9px}
.bk-page i{display:block;height:3px;background:#c7bda8;border-radius:2px}
.bk-cover{transform-origin:left center;transform:translateZ(16px);transition:transform 1s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d;padding:26px 20px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);border:1px solid rgba(240,180,60,.25);overflow:hidden}
.bk-cover::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:rgba(255,255,255,.08)}
.bk-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(255,255,255,.1),transparent 30%,transparent 70%,rgba(0,0,0,.25))}
.bk-cover b{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1;color:#fff;position:relative;z-index:1}
.bk-cover span{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.65);position:relative;z-index:1}
.bk-spine{width:32px;left:-16px;transform:rotateY(-90deg) translateZ(0);transform-origin:center;filter:brightness(.6)}
.bk-shadow{position:absolute;left:8%;right:-6%;bottom:-18px;height:24px;background:radial-gradient(closest-side,rgba(0,0,0,.8),transparent);filter:blur(4px);transition:.9s}
.bk:hover .bk-in,.bk.open .bk-in{transform:rotateY(-6deg) rotateX(2deg) translateZ(60px) translateY(-16px)}
.bk:hover .bk-cover,.bk.open .bk-cover{transform:translateZ(16px) rotateY(-38deg)}
.bk:hover .bk-shadow{transform:scale(.8);opacity:.6}
.bk-tag{position:absolute;top:-12px;right:-10px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.16em;background:var(--ink);border:1px solid rgba(240,180,60,.4);color:var(--gold2);padding:4px 8px;border-radius:99px;transform:translateZ(80px)}
.bk.next .bk-cover{background:transparent!important;border:1px dashed rgba(240,180,60,.6);box-shadow:none;justify-content:center;align-items:center;text-align:center}
.bk.next .bk-cover b{font-style:italic}
.bk.next .bk-spine,.bk.next .bk-pages,.bk.next .bk-page{display:none}

/* inner page hero (split, photo on the right) */
.phero{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px var(--pad) 80px;overflow:hidden}
.phero .photo{position:absolute;top:0;right:0;bottom:0;width:50%}
.phero .photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%);transform:scale(1.1);transition:transform 2.2s cubic-bezier(.2,.7,.2,1)}
.phero.in .photo img{transform:scale(1)}
.phero .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.4),transparent 25%,transparent 70%,rgba(5,5,5,.9))}
.phero .copy{position:relative;z-index:2;max-width:min(680px,56%)}
.phero h1{font-family:var(--serif);font-weight:500;font-size:clamp(46px,7vw,112px);line-height:.92;letter-spacing:-.015em;margin-bottom:26px}
.phero h1 em{font-weight:400}
.phero .lead{max-width:520px;color:var(--dim);font-size:16px;line-height:1.75;font-weight:300}
.phero .orbit{position:absolute;left:-10vw;top:50%;width:80vw;height:40vw;transform:translateY(-50%) rotate(-14deg);pointer-events:none;opacity:.6}
.phero .orbit ellipse{stroke-dasharray:3000;stroke-dashoffset:3000;transition:stroke-dashoffset 3s cubic-bezier(.6,0,.2,1) .3s}
.phero.in .orbit ellipse{stroke-dashoffset:0}
.scrollcue{position:absolute;left:var(--pad);bottom:30px;color:var(--mute);display:flex;align-items:center;gap:12px}
.scrollcue i{width:1px;height:40px;background:linear-gradient(var(--gold),transparent);animation:drip 2.2s infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

section.blk{position:relative;padding:clamp(90px,12vw,170px) var(--pad);border-top:1px solid var(--line)}
.draft{display:inline-block;margin-left:10px;color:var(--gold);border:1px dashed rgba(240,180,60,.45);padding:3px 8px;border-radius:6px;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;vertical-align:middle}

@media (max-width:900px){
  .nl,.ncta{display:none}.burger{display:inline-block}
  .foot-grid{grid-template-columns:1fr 1fr}
  .phero .photo{width:100%;opacity:.45}
  .phero .photo img{-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 95%);mask-image:linear-gradient(180deg,#000 30%,transparent 95%)}
  .phero .copy{max-width:100%;margin-top:auto}
  .phero{align-items:flex-end}
}
.foot-grid .reply{display:flex;align-items:center;gap:10px;color:var(--gold2);margin-top:6px}
.dot-live{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:pulse 2.4s infinite;flex:0 0 auto}
@keyframes pulse{50%{opacity:.35}}
.foot-grid a{word-break:break-word}
/* contact form */
.cform-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(30px,6vw,100px);padding-bottom:90px;margin-bottom:70px;border-bottom:1px solid var(--line)}
.cform-h{font-family:var(--serif);font-weight:500;font-size:clamp(40px,5vw,80px);line-height:.98;margin-bottom:22px}
.cform-h em{font-weight:400}
.cform-l>p:not(.eyebrow){color:var(--dim);line-height:1.75;font-weight:300;max-width:440px}
.cform-l .reply{display:flex;align-items:center;gap:10px;color:var(--gold2);margin-top:22px;font-weight:400}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cform .full{grid-column:1/-1}
.cform label{display:flex;flex-direction:column;gap:8px}
.cform label .mono{color:var(--mute);font-size:10px}
.cform input,.cform select,.cform textarea{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--silver);font:400 15px var(--sans);outline:none;transition:border-color .3s}
.cform select option{background:#0b0a09}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:rgba(240,180,60,.6)}
.cform textarea{resize:vertical}
.cform-send{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.cform-note{color:var(--mute);font-size:12px}
@media (max-width:900px){.cform-wrap{grid-template-columns:1fr}.cform{grid-template-columns:1fr}}

/* ===== Typography · Option B (Classic Authority) =====
   Headline 1: Merriweather · Headline 2: Source Serif 4 · Body: Roboto · Accent: Raleway */
:root{--serif:"Merriweather",Georgia,serif;--serif2:"Source Serif 4",Georgia,serif;--sans:"Roboto",system-ui,sans-serif;--mono:"Raleway",system-ui,sans-serif}
body{font-family:var(--sans)}
.mono{font-family:var(--mono);font-weight:600;letter-spacing:.18em;font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
/* Headline 1: big titles (Merriweather) */
.hl,.ch h2,.solve h1,.phero h1,.ph2,.proof-h,.hs-head h2,.shelf-head h2,.end h3,.cform-h,.foot-word,.motto,.pull,.clockbig,.ph3,.ld-mk+*{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}
.hl{font-size:clamp(34px,6vw,104px)!important;line-height:1.02}
.ch h2{font-size:clamp(26px,3.6vw,54px)!important;line-height:1.18}
.solve h1{font-size:clamp(28px,min(4vw,6vh),62px)!important;line-height:1.1}
.phero h1{font-size:clamp(40px,5.8vw,92px);line-height:1.04}
.ph2,.proof-h,.hs-head h2,.shelf-head h2,.cform-h{font-size:clamp(34px,4.4vw,70px);line-height:1.08}
.end h3{font-size:clamp(40px,6.6vw,108px);line-height:1.02}
.foot-word{font-size:clamp(46px,11vw,190px);line-height:.95}
.motto,.pull{font-size:clamp(26px,3.2vw,50px);line-height:1.2}
.hl em,.ch h2 em,.solve h1 em,.phero h1 em,.ph2 em,.proof-h em,.hs-head h2 em,.shelf-head h2 em,.end h3 em,.cform-h em,.foot-word em,.motto em,.pull em,.ph3 em{font-weight:300;font-style:italic}
/* Headline 2: section, card and item titles (Source Serif 4) */
.front h4,.back h4,.svc h2,.stmts h4,.tcard h4,.val h3,.pstep h4,.fq summary,.sidx a,.meta b,.ventures b,.svc-cols p,.foot-grid .big,.slide p,.q p,.ab-lines p,.st-text p,.where-t,.svc-lead,.peek b,.bk-cover b,.portrait .tag b,.solve .tag b,.steps h6,.svc h4,.books h5,.statement,.tq,.brand,.front .n,.tcard .tq,.svc-side .n,.n{font-family:var(--serif2)}
.svc h2{font-weight:500;letter-spacing:-.01em}
.val h3,.stmts h4,.tcard h4,.front h4{font-weight:500}
.val h3 em{font-weight:400}
/* Body */
p,li,input,select,textarea,.btn,.link,.nl,.ncta,.lead,.svc-p{font-family:var(--sans)}
.lead,.svc-p,.where-p,.by-p,.two p,.hs-p,.end-p,.pains span.s{font-weight:300}
