@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap');
/* ============================================================
   stefanoventura.info — foglio di stile condiviso
   Design "Metodo PRIMA" — palette BRAND (blu #1A4E7A + accento caldo #C8833A),
   titoli Lora, corpo Inter. Etichette in Inter maiuscoletto spaziato.
   (7/8/26: portato dal vecchio "verde alpino + segnavia rosso + Bricolage/Space Mono"
   alla famiglia unica PRIMA. Identità alpina ora nel SEGNO: cresta, foto, tono.)
   Lo usano TUTTE le pagine. Modificare qui = cambia ovunque.
   ============================================================ */

:root{
  /* colori BRAND PRIMA (i NOMI restano per non rompere i riferimenti; i valori sono del brand) */
  --green-900:#133858; --green-800:#17456A; --green-700:#1A4E7A;
  --sage:#8FB4D6; --sage-dim:#2E6DA4;
  --paper:#F4F8FD; --paper-2:#E4EEF8;
  --ink:#1A1A2E; --stone:#6B7280;
  --segnavia:#C8833A; --segnavia-dk:#A66A28;

  --display:"Lora", Georgia, serif;
  --body:"Inter", system-ui, sans-serif;
  --mono:"Inter", system-ui, sans-serif;

  --maxw:1140px;
  --gutter:clamp(20px,5vw,64px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.wrap-narrow{max-width:760px;margin:0 auto;padding-inline:var(--gutter)}

/* ── tipografia ── */
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-dim);display:inline-block;font-weight:600}
.eyebrow.on-dark{color:var(--sage)}
h1,h2,h3{font-family:var(--display);line-height:1.04;font-weight:700;letter-spacing:-.015em}
h1{font-size:clamp(2.6rem,7vw,5rem)}
h2{font-size:clamp(2rem,4.6vw,3.1rem);font-weight:700;letter-spacing:-.02em}
h3{font-size:1.28rem;font-weight:700;letter-spacing:-.01em}
p{font-size:1.05rem}
.lead{font-size:clamp(1.1rem,1.6vw,1.32rem);color:#34465a}
em{font-style:normal;color:var(--segnavia)}

/* ── bottoni ── */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--body);font-weight:600;font-size:1rem;padding:.85em 1.4em;border-radius:2px;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background .2s ease,color .2s ease}
.btn .arw{transition:transform .2s ease}
.btn:hover .arw{transform:translateX(4px)}
.btn-primary{background:var(--segnavia);color:#fff}
.btn-primary:hover{background:var(--segnavia-dk)}
.btn-ghost{border-color:currentColor;color:var(--green-700)}
.btn-ghost.on-dark{color:var(--paper)}
.btn-ghost:hover{background:rgba(0,0,0,.05)}
.btn-ghost.on-dark:hover{background:rgba(255,255,255,.08)}
:focus-visible{outline:3px solid var(--sage);outline-offset:3px}

/* ── navbar ── */
header.nav{position:sticky;top:0;z-index:50;background:rgba(244,248,253,.86);backdrop-filter:blur(8px);border-bottom:1px solid var(--paper-2)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em}
.brand span{color:var(--sage-dim)}
.nav-links{display:flex;gap:1.6rem;align-items:center}
.nav-links a{font-size:.95rem;color:#34465a;font-weight:500}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--segnavia)}
.nav-cta{font-family:var(--mono);font-size:.8rem;letter-spacing:.04em;border:1.5px solid var(--green-700);padding:.5em .9em;border-radius:2px;color:var(--green-700);font-weight:600}
.nav-cta:hover{background:var(--green-700);color:var(--paper)}
.burger{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink);cursor:pointer}
.mobile-menu{display:none;background:var(--paper);border-bottom:1px solid var(--paper-2)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:.9rem var(--gutter);border-top:1px solid var(--paper-2);font-weight:500}
@media(max-width:860px){.nav-links{display:none}.burger{display:block}}

/* ── sezioni ── */
section{padding-block:clamp(64px,9vw,108px)}
.section-head{max-width:32ch}
.section-head h2{margin-top:.6rem}
.on-green{background:var(--green-900);color:var(--paper)}
.on-green h2,.on-green h3{color:var(--paper)}
.on-green p{color:#cfe0f1}
.on-green-2{background:var(--green-800);color:var(--paper)}
.on-green-2 h2,.on-green-2 h3{color:var(--paper)}
.on-green-2 p{color:#cfe0f1}
.on-paper-2{background:var(--paper-2)}

/* ── HERO generico ── */
.hero{position:relative;background:var(--green-900);color:var(--paper);overflow:hidden}
.hero-inner{padding-block:clamp(64px,10vw,120px) clamp(80px,11vw,140px);position:relative;z-index:2}
.hero h1{color:var(--paper);max-width:15ch}
.hero h1 em{color:var(--sage)}
.hero .lead{color:#cfe0f1;max-width:48ch;margin-top:1.4rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2.4rem}
.chip{font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:#b8cce2;border:1px solid rgba(143,180,214,.35);border-radius:2px;padding:.5em .8em}
.hero-micro{margin-top:1.6rem;font-size:.85rem;color:#93a9c6;font-family:var(--mono);letter-spacing:.03em}

/* la linea che non si spezza — firma */
.ridge{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:130px;z-index:1;opacity:.9}
.ridge path{fill:none;stroke:var(--sage);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ridge .marker{fill:var(--segnavia);stroke:none}

/* ── griglia testo+media generica ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.split.text-first{grid-template-columns:1.05fr .95fr}
@media(max-width:820px){.split,.split.text-first{grid-template-columns:1fr}}

/* ── elenco segnali (pallini segnavia) ── */
ul.signals{list-style:none;display:grid;gap:.05rem}
ul.signals li{padding:.95rem 0 .95rem 1.9rem;border-top:1px solid var(--paper-2);position:relative;color:#34465a;font-size:1.02rem}
ul.signals li:last-child{border-bottom:1px solid var(--paper-2)}
ul.signals li::before{content:"";position:absolute;left:0;top:1.35rem;width:9px;height:9px;background:var(--segnavia);border-radius:1px}
.on-green ul.signals li{border-color:rgba(143,180,214,.2);color:#cfe0f1}

/* ── citazione grande ── */
.quote-xl{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,3.4vw,2.5rem);line-height:1.18;letter-spacing:-.02em;max-width:22ch;margin:1.2rem 0;color:var(--green-900)}
.quote-xl b{color:var(--segnavia);font-weight:700}
.on-green .quote-xl,.on-green-2 .quote-xl{color:var(--paper)}

/* ── card numerate (passi, cicli, strumenti) ── */
.cards{display:grid;gap:clamp(20px,3vw,32px);margin-top:2.6rem}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.card{border-top:2px solid var(--green-700);padding-top:1.1rem}
.on-green .card,.on-green-2 .card{border-color:var(--sage-dim)}
.card .num{font-family:var(--mono);font-size:.8rem;color:var(--segnavia);letter-spacing:.08em;font-weight:600}
.card h3{margin:.6rem 0 .5rem}
.card p{color:#34465a;font-size:.98rem}
.on-green .card p,.on-green-2 .card p{color:#cfe0f1}
@media(max-width:820px){.cards.c2,.cards.c3{grid-template-columns:1fr}}

/* ── acronimo PRIMA (lettera grande + testo) ── */
.acro{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(143,180,214,.2);border:1px solid rgba(143,180,214,.2);border-radius:4px;overflow:hidden;margin-top:2.6rem}
.acro .cell{background:var(--green-800);padding:1.6rem 1.3rem}
.acro .letter{font-family:var(--display);font-weight:700;font-size:2.4rem;color:var(--sage);line-height:1}
.acro h3{margin:.7rem 0 .4rem;color:var(--paper);font-size:1.05rem}
.acro p{color:#cfe0f1;font-size:.9rem}
@media(max-width:900px){.acro{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.acro{grid-template-columns:1fr}}

/* ── timeline (anni · evento) ── */
.timeline{margin-top:2.4rem;border-left:2px solid var(--sage-dim);padding-left:1.6rem;display:grid;gap:1.8rem}
.timeline .row{position:relative}
.timeline .row::before{content:"";position:absolute;left:-2.05rem;top:.35rem;width:11px;height:11px;border-radius:50%;background:var(--segnavia)}
.timeline .yr{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;color:var(--segnavia);font-weight:600}
.timeline h3{margin:.3rem 0 .4rem}
.timeline p{color:#34465a;font-size:.98rem}
.on-green .timeline p{color:#cfe0f1}

/* ── statistiche ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--paper-2);border:1px solid var(--paper-2);border-radius:4px;overflow:hidden;margin-top:2.4rem}
.stats .s{background:var(--paper);padding:1.6rem 1.2rem;text-align:center}
.on-green .stats{background:rgba(143,180,214,.2);border-color:rgba(143,180,214,.2)}
.on-green .stats .s{background:var(--green-800)}
.stats .big{font-family:var(--display);font-weight:700;font-size:2rem;color:var(--green-700)}
.on-green .stats .big{color:var(--sage)}
.stats .lab{font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;color:var(--stone);margin-top:.4rem}
.on-green .stats .lab{color:#cfe0f1}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr}}

/* ── confronto sì / no ── */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,40px);margin-top:2.4rem}
.compare .col{padding:1.6rem;border-radius:6px}
.compare .yes{background:var(--paper-2)}
.compare .no{background:transparent;border:1px solid var(--paper-2)}
.compare .col h3{margin-bottom:1rem}
.compare ul{list-style:none;display:grid;gap:.7rem}
.compare li{padding-left:1.7rem;position:relative;font-size:.98rem;color:#34465a}
.compare .yes li::before{content:"→";position:absolute;left:0;color:var(--segnavia);font-weight:700}
.compare .no li::before{content:"×";position:absolute;left:0;color:var(--stone);font-weight:700}
@media(max-width:760px){.compare{grid-template-columns:1fr}}

/* ── muro di citazioni ── */
.quotewall{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,28px);margin-top:2.4rem}
.quotewall blockquote{border-left:3px solid var(--sage);padding:.2rem 0 .2rem 1.3rem;font-family:var(--display);font-weight:600;font-size:1.2rem;line-height:1.3;color:#2a3a4c}
.on-green .quotewall blockquote,.on-green-2 .quotewall blockquote{color:var(--paper)}
@media(max-width:680px){.quotewall{grid-template-columns:1fr}}

/* ── testimonianze ── */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,4vw,48px);margin-top:2.4rem}
.quotes blockquote{border-left:3px solid var(--sage);padding-left:1.3rem}
.quotes blockquote p{font-size:1.05rem;color:#2a3a4c;font-style:italic}
.quotes cite{display:block;margin-top:.9rem;font-style:normal;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--stone)}
@media(max-width:760px){.quotes{grid-template-columns:1fr}}

/* ── FAQ ── */
.faq{margin-top:2.2rem;display:grid;gap:0}
.faq details{border-top:1px solid var(--paper-2)}
.faq details:last-child{border-bottom:1px solid var(--paper-2)}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 0;font-family:var(--display);font-weight:700;font-size:1.1rem;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--segnavia);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq p{padding:0 0 1.2rem;color:#34465a}

/* ── tag credenziali (chi sono) ── */
.tags{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(143,180,214,.2);border:1px solid rgba(143,180,214,.2);border-radius:4px;overflow:hidden;margin-top:1.6rem}
.tags div{background:var(--green-800);padding:1.2rem 1.3rem}
.tags .k{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--paper)}
.tags .v{font-family:var(--mono);font-size:.74rem;color:var(--sage);letter-spacing:.04em;margin-top:.3rem}

/* ── caselle media ── */
.media-slot{position:relative;overflow:hidden;border-radius:6px;background:var(--paper-2)}
.media-slot .media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.media-slot.contain .media-img{object-fit:contain;background:var(--paper)}
.media-ph{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--stone);padding:1.4rem;min-height:100%}
.media-ph small{opacity:.7;margin-top:.4rem;font-size:.7rem}
.ratio-portrait{aspect-ratio:4/5}
.ratio-wide{aspect-ratio:16/9}

/* mock app */
.appcard{background:var(--paper);color:var(--ink);border-radius:6px;padding:1.4rem;box-shadow:0 24px 60px -28px rgba(0,0,0,.55)}
.appcard.as-slot{position:relative;z-index:1}
.appcard .bar{display:flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;color:var(--stone);border-bottom:1px solid var(--paper-2);padding-bottom:.8rem;margin-bottom:1rem}
.appcard .dot{width:9px;height:9px;border-radius:50%;background:var(--sage)}
.appcard .week{font-family:var(--mono);font-size:.72rem;color:var(--stone);text-transform:uppercase;letter-spacing:.1em}
.appcard .day{display:flex;justify-content:space-between;align-items:center;padding:.7rem 0;border-bottom:1px dashed var(--paper-2)}
.appcard .day:last-of-type{border-bottom:0}
.appcard .day .lab{font-weight:600;font-size:.95rem}
.appcard .day .sub{font-size:.78rem;color:var(--stone)}
.appcard .metric{font-family:var(--mono);font-weight:700;font-size:1rem;color:var(--green-700)}
.appcard .metric.low{color:var(--stone)}
.appcard .foot{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--paper-2);display:flex;justify-content:space-between;font-family:var(--mono);font-size:.74rem;color:var(--stone)}
.appcard .foot b{color:var(--segnavia)}
.method-note{font-family:var(--mono);font-size:.78rem;letter-spacing:.03em;color:var(--sage);margin-top:1.6rem;display:inline-block;border-left:2px solid var(--sage-dim);padding-left:.9rem}

/* ── video YouTube ── */
.yt-facade{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;margin-top:2rem;cursor:pointer;background:var(--green-900)}
.yt-facade .media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.yt-facade .yt-ph{position:relative;z-index:1;min-height:100%;color:#9fb2cc;background:var(--green-900)}
.yt-facade .yt-play{position:absolute;z-index:3;inset:0;margin:auto;width:74px;height:74px;border:0;border-radius:50%;background:var(--segnavia);color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-left:5px;transition:transform .2s ease,background .2s ease}
.yt-facade:hover .yt-play{transform:scale(1.08);background:var(--segnavia-dk)}
.yt-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:4}
.micro{margin-top:1.1rem;font-family:var(--mono);font-size:.78rem;color:var(--stone);letter-spacing:.03em}
.on-green .micro{color:#9fb2cc}

/* ── modulo Koachify: segnaposto da incorporare ── */
.embed-ph{margin-top:2rem;border:2px dashed var(--sage-dim);border-radius:8px;background:var(--paper-2);padding:clamp(1.6rem,4vw,2.6rem);text-align:center}
.embed-ph .tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--segnavia);font-weight:600}
.embed-ph h3{margin:.6rem 0}
.embed-ph p{color:#34465a;max-width:46ch;margin:.4rem auto 0}
.embed-ph .consent{font-size:.82rem;color:var(--stone);max-width:52ch;margin:1.2rem auto 0;text-align:left;background:var(--paper);border-radius:4px;padding:.9rem 1rem}
.embed-ph .note{font-family:var(--mono);font-size:.72rem;color:var(--stone);margin-top:1.2rem}

/* ── card social (contatti) ── */
.social{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,3vw,24px);margin-top:2.4rem}
.social a{display:block;padding:1.4rem;border:1px solid var(--paper-2);border-radius:6px;transition:border-color .2s ease,transform .15s ease}
.social a:hover{border-color:var(--segnavia);transform:translateY(-2px)}
.social .net{font-family:var(--display);font-weight:700;font-size:1.1rem}
.social .handle{font-family:var(--mono);font-size:.78rem;color:var(--sage-dim);margin:.3rem 0 .6rem}
.social .desc{font-size:.9rem;color:#34465a}
@media(max-width:760px){.social{grid-template-columns:1fr}}

/* card WhatsApp */
.wa-card{margin-top:2.2rem;background:var(--green-800);color:var(--paper);border-radius:8px;padding:clamp(1.6rem,4vw,2.4rem)}
.wa-card h3{color:var(--paper)}
.wa-card p{color:#cfe0f1;max-width:48ch;margin-top:.6rem}
.wa-card .btn{margin-top:1.4rem}

/* ── prosa pagine legali ── */
.legal{padding-block:clamp(48px,7vw,84px)}
.legal h1{font-size:clamp(2.2rem,5vw,3.2rem)}
.legal .updated{font-family:var(--mono);font-size:.78rem;color:var(--stone);margin-top:.6rem}
.legal .art{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--segnavia);margin-top:2.4rem;font-weight:600}
.legal h2{font-size:1.5rem;margin-top:.4rem}
.legal h3{margin-top:1.6rem}
.legal p{margin-top:1rem;color:#2a3a4c}
.legal ul{margin:1rem 0 0 1.2rem}
.legal li{margin-top:.4rem}
.legal .box{background:var(--paper-2);border-radius:6px;padding:1.2rem 1.4rem;margin-top:1.4rem}
.legal .verify{border:1px solid var(--segnavia);border-radius:6px;background:#fbf3e8;padding:1rem 1.2rem;margin-top:2rem;font-size:.9rem;color:#8a5a1e}

/* ── CTA finale segnavia ── */
.final{background:var(--segnavia);color:#fff;text-align:center}
.final h2{color:#fff;max-width:20ch;margin:0 auto}
.final h2 em{color:#fbeeda}
.final p{color:#f6e4cb;max-width:44ch;margin:1.2rem auto 0}
.final .chips{justify-content:center}
.final .chip{color:#f6e4cb;border-color:rgba(255,255,255,.4)}
.final .btn-primary{background:#fff;color:var(--segnavia);margin-top:2rem}
.final .btn-primary:hover{background:#fbf0de}
.final .micro{margin-top:1.2rem;color:#f6e4cb}
.final a.alt{display:inline-block;margin-top:1rem;color:#fff;text-decoration:underline;font-size:.92rem}

/* ── footer ── */
footer.site{background:var(--green-900);color:#9fb2cc;padding-block:2.4rem;font-size:.85rem}
footer.site .row{display:flex;flex-wrap:wrap;gap:1.2rem;justify-content:space-between;align-items:center}
footer.site a{color:#9fb2cc}
footer.site a:hover{color:var(--sage)}
footer.site .legal-links{display:flex;gap:1.1rem;flex-wrap:wrap;font-family:var(--mono);font-size:.74rem;letter-spacing:.03em}

/* ── badge bozza ── */
.draft-badge{position:fixed;right:14px;bottom:14px;z-index:99;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;padding:.5em .8em;border-radius:2px;opacity:.85;text-transform:uppercase}

/* ── reveal on scroll ── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  .ridge path{stroke-dasharray:none!important}
}

/* ============================================================
   LINK-BIO — pagina a sé, mobile-first (destinazione "link in bio")
   ============================================================ */
body.bio{background:var(--green-900);color:var(--paper)}
.bio-wrap{max-width:460px;margin:0 auto;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 22px 28px;position:relative;z-index:2}
.bio-avatar{width:118px;height:118px;border-radius:50%;overflow:hidden;position:relative;background:var(--green-700);border:2px solid var(--sage-dim);margin-bottom:1.1rem;display:flex;align-items:center;justify-content:center}
.bio-avatar .media-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.bio-avatar .ini{font-family:var(--display);font-weight:700;font-size:2.4rem;color:var(--sage);z-index:1}
.bio-name{font-family:var(--display);font-weight:700;font-size:1.7rem;letter-spacing:-.02em;line-height:1.05}
.bio-tag{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--sage);margin-top:.5rem}
.bio-sub{color:#cfe0f1;font-size:.96rem;margin-top:.7rem;max-width:34ch}
.bio-links{width:100%;display:flex;flex-direction:column;gap:.7rem;margin-top:1.8rem}
.bio-link{display:flex;align-items:center;justify-content:center;gap:.5em;min-height:56px;padding:.7em 1.1em;border-radius:4px;font-weight:600;font-size:1rem;background:var(--paper);color:var(--green-900);border:1.5px solid var(--paper);transition:transform .14s ease,background .2s ease}
.bio-link:hover{transform:translateY(-2px)}
.bio-link .sub{display:block;font-family:var(--mono);font-weight:400;font-size:.7rem;letter-spacing:.03em;color:var(--sage-dim);margin-top:.15rem}
.bio-link.primary{background:var(--segnavia);color:#fff;border-color:var(--segnavia);min-height:64px;font-size:1.06rem}
.bio-link.primary .sub{color:#fbeeda}
.bio-link.primary:hover{background:var(--segnavia-dk)}
.bio-link.outline{background:transparent;color:var(--paper);border-color:rgba(143,180,214,.5)}
.bio-link.outline:hover{background:rgba(143,180,214,.12)}
.bio-col{display:flex;flex-direction:column;line-height:1.15}
.bio-socials{display:flex;gap:.6rem;justify-content:center;margin-top:1.6rem;width:100%}
.bio-socials a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(143,180,214,.5);border-radius:4px;font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;color:var(--paper);transition:background .2s ease}
.bio-socials a:hover{background:rgba(143,180,214,.12)}
.bio-foot{margin-top:2.2rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.03em;color:#8398b4;line-height:1.8}
.bio-foot a{color:#8398b4}
.bio-foot a:hover{color:var(--sage)}
.bio-ridge{position:fixed;left:0;right:0;bottom:0;width:100%;height:90px;z-index:1;opacity:.5;pointer-events:none}
.bio-ridge path{fill:none;stroke:var(--sage);stroke-width:2}
