/* ===== WILD HUMAN — sito brand · stile editoriale (rif. zachbushmd.com) ===== */
:root{
  --paper:#F2EEE6;        /* Sand — background chiaro principale */
  --paper-2:#FCFAF6;      /* Warm White — sezioni/card chiare */
  --ink:#1B1F20;          /* Charcoal — testo principale */
  --ink-soft:#4F6A5D;     /* Moss — testo secondario leggibile */
  --night:#04242A;        /* Deep Ocean — sezioni scure, hero, footer */
  --night-2:#1E4039;      /* Forest Green — variante scura naturale */
  --line:#D4CEC2;         /* Stone — divider, bordi */
  --sage:#8EA39A;         /* Mist Sage — accento/icone/linee */
  --teal:#8EA39A; --teal-bright:#BFCBC6;  /* Mist Sage / Sea Foam */
  --gold:#C9A46A; --coral:#C97B58; --success:#5B8A63;  /* accenti brand */
  --ocean-teal:#0E4A54;
  --wrap:1280px;
}
*{box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{font-family:'Hanken Grotesk',sans-serif; color:var(--ink); background:var(--paper); overflow-x:hidden; line-height:1.55; -webkit-font-smoothing:antialiased;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
.serif{font-family:'Newsreader',serif;}
.wrap{width:min(var(--wrap), calc(100% - 56px)); margin:0 auto;}
@media(max-width:600px){ .wrap{width:calc(100% - 36px);} }
section{position:relative;}

/* labels tipo "[ THE THESIS ] 001" */
.eyebrow{display:inline-flex; align-items:center; gap:12px; font-size:11.5px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-soft);}
.eyebrow .br{opacity:.5;}
.eyebrow .num{font-family:'Newsreader',serif; font-style:italic; letter-spacing:0; font-size:15px; opacity:.6;}

/* ---------- NAV (piatta, trasparente sull'hero) ---------- */
.nav{position:fixed; top:0; left:0; right:0; z-index:80; display:flex; align-items:center; justify-content:space-between;
  padding:26px 44px; transition:all .4s cubic-bezier(.4,0,.2,1); border-bottom:1px solid transparent;}
.nav.scrolled{background:var(--paper); border-bottom-color:var(--line); padding:16px 44px;}
/* stato liquid glass flottante (scorrendo, ma ancora sopra la hero) */
.nav.float{ top:14px; left:50%; right:auto; transform:translateX(-50%); width:min(1180px, calc(100% - 32px));
  padding:12px 14px 12px 26px; border-radius:999px; border:1px solid rgba(255,255,255,.18); border-bottom-color:rgba(255,255,255,.18);
  background:rgba(4,36,42,.52); backdrop-filter:blur(18px) saturate(150%); -webkit-backdrop-filter:blur(18px) saturate(150%);
  box-shadow:0 16px 46px rgba(0,0,0,.32); }
.brand{flex-shrink:0;} .brand .wm{white-space:nowrap;} .links a{white-space:nowrap;}
.nav .links{margin:0 auto; padding:0 24px;}
.nav .cta{white-space:nowrap; flex-shrink:0;} .nav-right{flex-shrink:0;}
.nav.scrolled .brand, .nav.scrolled .links a{color:var(--ink);}
.nav.scrolled .brand img{filter:none; opacity:1;}
.brand{display:flex; align-items:center; gap:11px; color:#fff;}
.brand img{height:19px; width:auto;}
.nav.scrolled .brand img{content:url("assets/logo-scuro.png");}
.brand .wm{font-family:'Newsreader',serif; font-size:21px; font-weight:400; letter-spacing:.01em;}
.links{display:flex; align-items:center; gap:34px;}
.links a{color:rgba(255,255,255,.9); font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; transition:opacity .2s;}
.links a:hover{opacity:.6;}
.nav-right{display:flex; align-items:center; gap:20px;}
.nav .cta{display:inline-flex; align-items:center; gap:9px; padding:11px 22px; border:1px solid rgba(255,255,255,.55); border-radius:999px;
  color:#fff; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; transition:background .25s, color .25s;}
.nav .cta:hover{background:#fff; color:var(--ink);}
.nav.scrolled .cta{border-color:var(--ink); color:var(--ink);}
.nav.scrolled .cta:hover{background:var(--ink); color:var(--paper);}
.burger{display:none; background:none; border:0; color:#fff; cursor:pointer; padding:6px;}
.nav.scrolled .burger{color:var(--ink);}
.burger svg{width:26px; height:26px;}
@media(max-width:980px){
  .nav{padding:20px 22px;} .nav.scrolled{padding:14px 22px;}
  .links{position:fixed; inset:0; flex-direction:column; justify-content:center; align-items:center; gap:8px; background:var(--night); padding:80px 24px; transform:translateX(100%); transition:transform .4s ease; height:100dvh;}
  .links.open{transform:none;} .links a{color:#fff; font-size:24px; letter-spacing:.04em; padding:14px 0;}
  .burger{display:block; z-index:90;}
  .nav .cta{display:none;}
}

/* ---------- BUTTONS (squadrati, editoriali) ---------- */
.btn{display:inline-flex; align-items:center; gap:12px; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:18px 34px; border-radius:999px; cursor:pointer; border:1px solid transparent; transition:transform .15s, background .25s, color .25s, border-color .25s;}
.btn-paper{background:var(--paper); color:var(--ink);}
.btn-paper:hover{background:#fff;}
.btn-ink{background:var(--ink); color:var(--paper);}
.btn-ink:hover{background:#000;}
.btn-out{background:transparent; border-color:currentColor;}
.btn-out:hover{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.link-arrow{display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; padding-bottom:6px; border-bottom:1px solid currentColor;}
.link-arrow:hover{gap:16px;}
.link-arrow, .btn{transition:all .25s;}

/* ---------- HERO ---------- */
.hero{position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; color:#fff; padding:0 0 9vh;}
.hero .bg{position:absolute; inset:0; z-index:0; background-size:cover; background-position:center; transform:scale(1.03);}
.hero .ov{position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(4,36,42,.58) 0%, rgba(4,36,42,.16) 32%, rgba(3,28,33,.46) 66%, rgba(2,20,24,.84) 100%),
    linear-gradient(90deg, rgba(6,40,46,.35) 0%, rgba(6,40,46,0) 55%);}
.hero .inner{position:relative; z-index:3; max-width:760px;}
.hero .eyebrow{color:rgba(255,255,255,.82);}
.hero h1{font-family:'Newsreader',serif; font-weight:400; font-size:clamp(52px,9vw,120px); line-height:.9; letter-spacing:-.02em; margin:22px 0 0;}
.hero h1 em{font-style:italic;}
.hero .sub{margin-top:26px; max-width:56ch; font-size:clamp(17px,1.5vw,21px); line-height:1.5; color:rgba(255,255,255,.9); font-family:'Newsreader',serif;}
.hero .actions{display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:40px;}
.hero-tab{position:absolute; left:0; bottom:0; z-index:5; display:flex; align-items:center; gap:12px; background:var(--paper); color:var(--ink); padding:16px 22px; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; border-radius:0 6px 0 0;}
.hero-tab svg{width:15px; height:15px;}
@media(max-width:600px){ .hero{padding-bottom:14vh;} .hero-tab{display:none;} }

/* ---------- SECTIONS ---------- */
.sec{padding:clamp(80px,11vw,150px) 0;}
.sec.paper{background:var(--paper);} .sec.paper2{background:var(--paper-2);}
.sec.night{background:var(--night); color:#fff;}
.sec.night .eyebrow{color:rgba(255,255,255,.6);}
.sec.night .lead{color:rgba(255,255,255,.75);}
.h-statement{font-family:'Newsreader',serif; font-weight:400; font-size:clamp(34px,5.4vw,72px); line-height:1.02; letter-spacing:-.02em; max-width:18ch; margin:26px 0 0;}
.h-statement em{font-style:italic;}
.lead{font-size:19px; line-height:1.7; max-width:60ch; color:var(--ink-soft);}
.two-col{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,90px); align-items:end; margin-top:10px;}
@media(max-width:820px){ .two-col{grid-template-columns:1fr; gap:26px;} }
.reveal{opacity:0; transform:translateY(30px); transition:opacity .9s ease, transform .9s ease;}
.reveal.in{opacity:1; transform:none;}

/* ---------- NUMBERED ROWS (pillars / steps) ---------- */
.rows{margin-top:60px; border-top:1px solid var(--line);}
.sec.night .rows{border-color:rgba(255,255,255,.16);}
.row-item{display:grid; grid-template-columns:120px 1fr auto; gap:40px; align-items:baseline; padding:38px 0; border-bottom:1px solid var(--line); transition:padding-left .3s;}
.sec.night .row-item{border-color:rgba(255,255,255,.16);}
.row-item:hover{padding-left:14px;}
.row-item .rn{font-family:'Newsreader',serif; font-size:30px; font-style:italic; opacity:.5;}
.row-item .rt{font-family:'Newsreader',serif; font-size:clamp(24px,3vw,36px); line-height:1.05; letter-spacing:-.01em;}
.row-item .rd{max-width:42ch; font-size:15.5px; line-height:1.65; color:var(--ink-soft);}
.sec.night .row-item .rd{color:rgba(255,255,255,.7);}
@media(max-width:820px){ .row-item{grid-template-columns:1fr; gap:12px;} .row-item .rd{max-width:none;} }

/* ---------- FULL-BLEED IMAGE STATEMENT ---------- */
.fullshot{position:relative; min-height:88vh; display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; overflow:hidden;}
.fullshot .bg{position:absolute; inset:0; background-size:cover; background-position:center;}
.fullshot .ov{position:absolute; inset:0; background:rgba(10,14,10,.42);}
.fullshot .inner{position:relative; z-index:2; padding:0 24px;}
.fullshot .play{width:88px; height:88px; border-radius:50%; border:1px solid rgba(255,255,255,.7); display:flex; align-items:center; justify-content:center; margin:0 auto 30px; cursor:pointer; transition:background .25s, transform .25s;}
.fullshot .play:hover{background:rgba(255,255,255,.15); transform:scale(1.05);}
.fullshot .play svg{width:26px; height:26px; margin-left:4px;}
.fullshot h2{font-family:'Newsreader',serif; font-weight:400; font-size:clamp(34px,5.6vw,74px); line-height:1; letter-spacing:-.02em; max-width:16ch;}
.chapters{display:flex; justify-content:center; flex-wrap:wrap; gap:0; margin-top:44px; border-top:1px solid rgba(255,255,255,.25);}
.chapters .c{padding:20px 34px; border-right:1px solid rgba(255,255,255,.25); font-size:11.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;}
.chapters .c:last-child{border-right:0;}
.chapters .c i{font-family:'Newsreader',serif; font-style:italic; opacity:.55; margin-right:10px;}
@media(max-width:600px){ .chapters .c{padding:14px 18px;} }

/* ---------- PRESS ROW ---------- */
.press{padding:56px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.press .lab{text-align:center; font-size:11px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:30px;}
.press .logos{display:flex; justify-content:center; align-items:center; gap:clamp(28px,6vw,72px); flex-wrap:wrap; opacity:.72;}
.press .logos span{font-family:'Newsreader',serif; font-size:clamp(18px,2.4vw,28px); letter-spacing:.02em;}

/* ---------- COURSE / PRODUCT CARDS ---------- */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px;}
@media(max-width:900px){ .cards{grid-template-columns:1fr;} }
.card{background:var(--paper-2); border:1px solid var(--line); border-radius:20px; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, box-shadow .2s;}
.card:hover{transform:translateY(-5px); box-shadow:0 22px 46px rgba(36,42,28,.14);}
.card .ph{aspect-ratio:4/5; background-size:cover; background-position:center;}
.card .bd{padding:30px 30px 34px;}
.card .k{font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft);}
.card h3{font-family:'Newsreader',serif; font-weight:400; font-size:30px; line-height:1; margin-top:12px;}
.card p{margin-top:14px; font-size:15px; line-height:1.6; color:var(--ink-soft);}
.card .price{margin-top:16px; font-family:'Newsreader',serif; font-size:22px;}
.card .price .old{color:var(--ink-soft); text-decoration:line-through; margin-right:10px; opacity:.7;}
.card .go{margin-top:20px;}

/* ---------- ACCESS / PRICING ---------- */
.access{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px;}
@media(max-width:900px){ .access{grid-template-columns:1fr;} }
.acard{border:1px solid rgba(255,255,255,.18); border-radius:6px; padding:34px 30px; display:flex; flex-direction:column;}
.acard.feat{background:rgba(255,255,255,.05); border-color:rgba(90,217,206,.4);}
.acard .k{font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55);}
.acard h3{font-family:'Newsreader',serif; font-weight:400; font-size:32px; margin-top:14px;}
.acard .p{font-family:'Newsreader',serif; font-size:24px; margin-top:10px;}
.acard .p .old{opacity:.5; text-decoration:line-through; margin-right:10px; font-size:19px;}
.acard .d{margin-top:14px; font-size:15px; line-height:1.6; color:rgba(255,255,255,.7); flex:1;}
.acard .go{margin-top:24px;}

/* ---------- JOURNAL ---------- */
.journal-list{margin-top:52px; border-top:1px solid var(--line);}
.jitem{display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding:26px 0; border-bottom:1px solid var(--line); transition:padding-left .3s;}
.jitem:hover{padding-left:12px;}
.jitem .jk{font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); white-space:nowrap;}
.jitem h4{font-family:'Newsreader',serif; font-weight:400; font-size:clamp(20px,2.4vw,30px); line-height:1.1;}

/* ---------- NEWSLETTER ---------- */
.nl{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
@media(max-width:820px){ .nl{grid-template-columns:1fr; gap:24px;} }
.nl form{display:flex; gap:10px; flex-wrap:wrap;}
.nl input{flex:1; min-width:220px; background:transparent; border:1px solid rgba(255,255,255,.3); border-radius:4px; padding:16px 18px; color:#fff; font-size:15px;}
.nl input::placeholder{color:rgba(255,255,255,.5);}

/* ---------- FOOTER ---------- */
footer{background:var(--night); color:rgba(255,255,255,.62); padding:70px 0 40px;}
.foot-top{display:flex; justify-content:space-between; gap:44px; flex-wrap:wrap; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.12);}
.foot-brand{max-width:340px;}
.foot-brand .brand{margin-bottom:16px;}
.foot-brand p{font-size:14px; line-height:1.65;}
.foot-cols{display:flex; gap:64px; flex-wrap:wrap;}
.foot-col h5{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-bottom:16px; font-weight:700;}
.foot-col a{display:block; color:rgba(255,255,255,.72); font-size:14px; margin-bottom:11px;}
.foot-col a:hover{color:#fff;}
.foot-bottom{display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding-top:26px; font-size:12px; color:rgba(255,255,255,.45);}
.wm-credit{display:inline-flex; align-items:center; gap:8px; padding:8px 15px; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.72); font-size:12px; font-weight:600;}
.wm-credit b{color:#fff;}
.disc{margin-top:16px; font-size:11px; line-height:1.6; color:rgba(255,255,255,.38); max-width:84ch;}

/* ---------- SUBPAGE HEADER ---------- */
.hero.sm{min-height:66vh; align-items:center; padding:120px 0 60px;}
.hero.sm .inner{max-width:900px;}
.hero.sm h1{font-size:clamp(44px,7vw,92px);}

/* ---------- INSERT app/checkup ---------- */
.insert{position:relative; overflow:hidden; color:#fff;}
.insert .bg{position:absolute; inset:0; background-size:cover; background-position:center;}
.insert .ov{position:absolute; inset:0; background:linear-gradient(120deg, rgba(4,36,42,.9) 0%, rgba(4,36,42,.55) 60%, rgba(4,36,42,.25) 100%);}
.insert .in{position:relative; z-index:2; padding:clamp(60px,9vw,120px) 0;}
.insert h2{font-family:'Newsreader',serif; font-weight:400; font-size:clamp(30px,4.4vw,54px); line-height:1.02; letter-spacing:-.015em; max-width:20ch;}
.insert h2 em{font-style:italic;}
.insert p{margin-top:20px; font-size:18px; line-height:1.65; color:rgba(255,255,255,.85); max-width:56ch;}
.insert .actions{display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:34px;}

/* ---------- PROSE (chi siamo) ---------- */
.prose{max-width:760px;}
.prose p{font-size:19px; line-height:1.8; color:var(--ink-soft); margin-top:24px;}
.prose p:first-child{margin-top:0;}
.pull{font-family:'Newsreader',serif; font-size:clamp(26px,3.6vw,42px); line-height:1.18; letter-spacing:-.01em; color:var(--ink); margin:16px 0;}

/* ---------- COURSE detail ---------- */
.c-meta{display:flex; gap:40px; flex-wrap:wrap; margin-top:48px; padding:32px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.c-meta .m .k{font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft);}
.c-meta .m .v{font-family:'Newsreader',serif; font-size:26px; margin-top:6px;}
.feat-list{list-style:none; margin-top:20px; display:flex; flex-direction:column; gap:16px;}
.feat-list li{display:flex; gap:14px; font-size:17px; line-height:1.5;}
.feat-list li svg{flex:none; width:22px; height:22px; color:var(--teal); margin-top:2px;}
.sec.night .feat-list li svg{color:var(--teal-bright);}
.buybar{display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:40px;}
.buybar .price{font-family:'Newsreader',serif; font-size:40px;}

/* ---------- FORM (newsletter) ---------- */
.nlform{max-width:520px; margin-top:36px;}
.nlform .field{display:flex; gap:10px; flex-wrap:wrap;}
.nlform input{flex:1; min-width:240px; background:transparent; border:1px solid rgba(255,255,255,.3); border-radius:4px; padding:17px 18px; color:#fff; font-size:15px;}
.nlform input::placeholder{color:rgba(255,255,255,.5);}
.nlform .note{margin-top:14px; font-size:13px; color:rgba(255,255,255,.55);}
.nlform .ok{margin-top:18px; font-size:16px; color:var(--teal-bright); display:none;}
.nlform.done .ok{display:block;} .nlform.done .field, .nlform.done .note{display:none;}

@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} }
