/* Leonardo Freitas · Studio Imersivo Holístico — site institucional
   Duas portas logo no início (azul = psicoterapia online, verde = massoterapia imersiva);
   cada caminho é um funil: sinais → respiração → imersão com fone → convite para a sessão. */
:root{
  color-scheme:light;
  --ivory:#FAF8F5;--paper:#F3EFE6;--white:#FFFFFF;
  --forest:#1F392B;--deep:#162A20;--night:#0D1A13;--moss:#2F5142;
  --gold:#B79E56;--gold-light:#E9D9A4;--gold-deep:#8A6D2B;--gold-soft:rgba(183,158,86,.16);
  --navy:#183B5E;--navy-deep:#0F2740;--sky:#9DBBD6;
  --ink:#1F392B;--muted:#5E6C64;--line:rgba(31,57,43,.13);
  --on-dark:#F4F0E6;--on-dark-muted:rgba(244,240,230,.72);--on-dark-line:rgba(244,240,230,.14);
  --acc:var(--moss);--acc-deep:var(--deep);
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Inter",ui-sans-serif,system-ui,"Segoe UI",sans-serif;
  --wrap:1180px;
}
.psico{--acc:var(--navy);--acc-deep:var(--navy-deep)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:500;margin:0;letter-spacing:.003em;text-wrap:balance}
p{margin:0}
button{font:inherit;color:inherit}
.wrap{width:min(var(--wrap),100%);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--gold-deep)}
.dark .eyebrow{color:var(--gold)}
.sec{padding-block:clamp(72px,11vw,132px)}
.sec-head{display:grid;gap:16px;max-width:720px;margin-bottom:clamp(36px,6vw,60px)}
.sec-head.center{margin-inline:auto;text-align:center;justify-items:center}
.sec-head h2{font-size:clamp(34px,5.4vw,58px);line-height:1.04;color:var(--forest)}
.dark .sec-head h2{color:var(--on-dark)}
.sec-head p{font-size:clamp(16.5px,1.9vw,19px);color:var(--muted);max-width:620px}
.dark .sec-head p{color:var(--on-dark-muted)}
.dark{background:var(--deep);color:var(--on-dark)}
.psico .dark{background:var(--navy-deep)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:16px 26px;font-size:15.5px;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,background .25s,border-color .25s,box-shadow .25s,opacity .2s;min-height:52px;line-height:1.2;background:none}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s;flex:none}
.btn:hover svg.go{transform:translateX(3px)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-gold{background:#B79E56;color:#132219;box-shadow:0 10px 30px rgba(183,158,86,.28)}
.btn-gold:hover{background:#C7AF68;transform:translateY(-1px)}
.btn-line{border-color:rgba(244,240,230,.32);color:var(--on-dark)}
.btn-line:hover{border-color:var(--gold);background:rgba(183,158,86,.1)}
.btn-acc{background:var(--acc);color:#FAF8F5}
.btn-acc:hover{background:var(--acc-deep);transform:translateY(-1px)}
.btn-ghost{border-color:rgba(31,57,43,.25);color:var(--forest)}
.btn-ghost:hover{border-color:var(--gold);background:var(--gold-soft)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Cabeçalho */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .35s,box-shadow .35s}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:70px}
.nav.solid{background:rgba(22,42,32,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--on-dark-line)}
.psico .nav.solid{background:rgba(15,39,64,.9)}
.brand{display:flex;align-items:center;gap:12px;color:var(--on-dark);text-decoration:none;min-width:0}
.brand i{width:38px;height:38px;flex:none;border-radius:50%;border:1px solid rgba(183,158,86,.75);display:grid;place-items:center;font-style:normal;font-family:var(--display);font-size:20px;color:var(--gold)}
.brand b{font-family:var(--display);font-weight:500;font-size:19px;letter-spacing:.03em;line-height:1.05;display:block;white-space:nowrap}
.brand small{display:block;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.tabs{display:none;gap:4px;background:rgba(244,240,230,.07);padding:4px;border-radius:999px;border:1px solid var(--on-dark-line)}
.tabs a{color:var(--on-dark-muted);text-decoration:none;font-size:14px;padding:8px 16px;border-radius:999px;white-space:nowrap;transition:background .2s,color .2s}
.tabs a:hover{color:var(--on-dark)}
.tabs a[aria-current="page"]{background:var(--on-dark);color:var(--deep)}
.nav .acts{display:flex;gap:8px;align-items:center}
.nav .btn{padding:10px 16px;min-height:42px;font-size:14px}
.nav .client{display:none}
@media (min-width:900px){.tabs{display:flex}.nav .client{display:inline-flex}}
.mtabs{display:flex;gap:6px;padding:10px max(16px,env(safe-area-inset-left,0px)) 12px;background:rgba(13,26,19,.92);border-top:1px solid var(--on-dark-line)}
.mtabs a{flex:1;text-align:center;font-size:13px;color:var(--on-dark-muted);text-decoration:none;padding:8px 6px;border-radius:999px;border:1px solid var(--on-dark-line)}
.mtabs a[aria-current="page"]{background:var(--on-dark);color:var(--deep);border-color:transparent}
@media (min-width:900px){.mtabs{display:none}.funnel-bar{top:calc(70px + env(safe-area-inset-top,0px))}}
.sec{scroll-margin-top:124px}
@media (max-width:899px){.hero .wrap{padding-top:160px}.sec{scroll-margin-top:180px}}

/* Hero dos caminhos */
.hero{position:relative;overflow:hidden;color:var(--on-dark);
  background:radial-gradient(60% 55% at 80% 35%,rgba(183,158,86,.18) 0%,rgba(183,158,86,0) 70%),radial-gradient(70% 60% at 0% 100%,rgba(47,81,66,.6) 0%,rgba(47,81,66,0) 70%),linear-gradient(160deg,#1B3426 0%,#122219 55%,#0C1812 100%)}
.psico .hero{background:radial-gradient(60% 55% at 80% 35%,rgba(157,187,214,.18) 0%,rgba(157,187,214,0) 70%),radial-gradient(70% 60% at 0% 100%,rgba(24,59,94,.7) 0%,rgba(24,59,94,0) 70%),linear-gradient(160deg,#17334F 0%,#0F2740 55%,#0A1B2D 100%)}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero .wrap{position:relative;z-index:2;display:grid;gap:44px;align-items:center;padding-top:clamp(130px,16vw,170px);padding-bottom:clamp(64px,9vw,110px)}
@media (min-width:960px){.hero .wrap{grid-template-columns:1.1fr .9fr}}
.hero h1{font-size:clamp(42px,7.6vw,86px);line-height:.98;color:#FBF8F1}
.hero h1 em{font-style:italic;color:var(--gold);font-weight:400}
.psico .hero h1 em{color:var(--sky)}
.hero .lead{font-size:clamp(17px,2vw,20px);color:var(--on-dark-muted);max-width:560px;margin-top:24px}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.chips-where{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:30px;font-size:13.5px;color:var(--on-dark-muted)}
.chips-where span{display:inline-flex;align-items:center;gap:8px}
.chips-where span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}

/* Retrato (vídeo ou foto do Leonardo) */
.portrait{position:relative;justify-self:center;width:min(360px,80vw);aspect-ratio:478/850;max-width:100%;border-radius:200px 200px 30px 30px;overflow:hidden;background:#0C1812;box-shadow:0 40px 90px rgba(0,0,0,.4),0 0 0 1px rgba(183,158,86,.3)}
.portrait video,.portrait img{width:100%;height:100%;object-fit:cover}
.portrait .tag{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(13,26,19,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:16px;padding:12px 14px;display:flex;align-items:center;gap:12px}
.portrait .tag b{display:block;font-family:var(--display);font-weight:500;font-size:19px;line-height:1.1;color:#FBF8F1}
.portrait .tag small{font-size:11.5px;color:var(--on-dark-muted)}
.portrait .snd{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid rgba(183,158,86,.7);background:none;color:var(--gold);display:grid;place-items:center;cursor:pointer}
.portrait .snd svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Funil: barra de progresso */
.funnel-bar{position:sticky;top:calc(127px + env(safe-area-inset-top,0px));z-index:30;background:rgba(250,248,245,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.funnel-bar .wrap{display:flex;gap:6px;align-items:center;height:54px;overflow-x:auto;scrollbar-width:none}
.funnel-bar a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;text-decoration:none;font-size:13.5px;color:var(--muted);padding:6px 12px;border-radius:999px;transition:background .2s,color .2s}
.funnel-bar a i{width:22px;height:22px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:600;color:var(--gold-deep);flex:none}
.funnel-bar a.on{color:var(--forest);background:var(--gold-soft)}
.funnel-bar a.on i{background:var(--acc);border-color:var(--acc);color:#fff}
.funnel-bar a.done i{background:var(--gold);border-color:var(--gold);color:#fff}
.funnel-bar .sep{flex:none;width:18px;height:1px;background:rgba(183,158,86,.5)}

/* Etapa 1: o que pesa hoje */
.pick-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.pick{display:grid;gap:8px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s;min-width:0}
.pick:hover{border-color:rgba(183,158,86,.6);transform:translateY(-2px)}
.pick[aria-pressed="true"]{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 18%,transparent)}
.pick .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pick b{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.1;color:var(--forest)}
.pick .tick{width:24px;height:24px;flex:none;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:13px;color:#fff}
.pick[aria-pressed="true"] .tick{background:var(--acc);border-color:var(--acc)}
.pick span.d{color:var(--muted);font-size:14.5px}
/* Os dois caminhos da psicoterapia */
.dois{display:grid;gap:10px;margin-top:28px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));max-width:560px}
.dois a{display:grid;gap:4px;text-decoration:none;color:#FBF8F1;font-family:var(--display);font-size:22px;line-height:1.15;padding:16px 18px;border-radius:16px;border:1px solid rgba(157,187,214,.4);background:rgba(157,187,214,.08);transition:background .2s,border-color .2s}
.dois a:hover{background:rgba(157,187,214,.16);border-color:var(--sky)}
.dois a span{font-family:var(--body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky)}
.pick-grid.caminhos{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.caminhos .pick{padding:26px 24px;gap:12px}
.caminhos .pick b{display:block;font-size:clamp(26px,3vw,32px);margin-top:4px}
.caminhos .pick .n{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);font-weight:600}
.caminhos .pick .d{font-size:15.5px}
.benefits{margin-top:28px;border-radius:22px;background:var(--paper);padding:clamp(22px,3.5vw,34px);display:grid;gap:14px}
.benefits[hidden]{display:none}
.benefits h3{font-size:clamp(26px,3.4vw,34px);color:var(--forest);line-height:1.1}
.benefits ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.benefits li{display:grid;grid-template-columns:24px 1fr;gap:10px;color:var(--ink)}
.benefits li svg{width:20px;height:20px;stroke:var(--acc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-top:3px}

/* Etapa 2: respiração */
.exercise{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.exercise{grid-template-columns:.95fr 1.05fr}}
.breath{position:relative;justify-self:center;width:min(420px,84vw);aspect-ratio:1;max-width:100%;display:grid;place-items:center}
.breath .ring{position:absolute;border-radius:50%;border:1px solid rgba(183,158,86,.3)}
.breath .r1{inset:0;border-color:rgba(183,158,86,.13)}
.breath .r2{inset:10%;border-color:rgba(183,158,86,.2)}
.breath .r3{inset:20%;border-color:rgba(183,158,86,.3)}
.breath .orb{position:absolute;inset:27%;border-radius:50%;background:radial-gradient(circle at 38% 32%,#EFE2B5 0%,#C2A85E 28%,#7C6630 64%,#22352A 100%);box-shadow:0 0 90px rgba(183,158,86,.45),inset 0 0 40px rgba(16,30,23,.45);transform:scale(.72);will-change:transform}
.psico .breath .orb{background:radial-gradient(circle at 38% 32%,#E4EEF7 0%,#9DBBD6 30%,#3F6688 66%,#13283D 100%);box-shadow:0 0 90px rgba(157,187,214,.45),inset 0 0 40px rgba(10,27,45,.45)}
.breath .txt{position:relative;z-index:2;text-align:center;display:grid;gap:2px;color:#132219}
.psico .breath .txt{color:#0A1B2D}
.breath .txt b{font-family:var(--display);font-size:clamp(26px,4vw,34px);font-weight:500;font-style:italic;line-height:1}
.breath .txt span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-variant-numeric:tabular-nums;opacity:.8}
.breath .prog{position:absolute;inset:-6px;transform:rotate(-90deg)}
.breath .prog circle{fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;transition:stroke-dashoffset .3s linear}
.exercise .panel{display:grid;gap:18px}
.exercise .panel h3{font-size:clamp(28px,3.6vw,40px);line-height:1.08}
.dark .exercise .panel p{color:var(--on-dark-muted)}
.rhythm{display:flex;flex-wrap:wrap;gap:10px}
.rhythm span{border:1px solid var(--on-dark-line);border-radius:12px;padding:10px 14px;font-size:14px;color:var(--on-dark-muted)}
.rhythm b{display:block;font-family:var(--display);font-weight:500;font-size:24px;color:var(--on-dark);line-height:1}
.toggle{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;color:var(--on-dark-muted);cursor:pointer;user-select:none}
.toggle input{width:18px;height:18px;accent-color:#B79E56}
.done-msg{border-left:2px solid var(--gold);padding-left:16px;font-family:var(--display);font-size:24px;font-style:italic;line-height:1.3;color:var(--gold-light)}
.done-msg[hidden]{display:none}

/* Etapa 3: imersão com fone */
.imm{position:relative;overflow:hidden;border-radius:30px;color:var(--on-dark);background:radial-gradient(80% 70% at 50% 0%,rgba(183,158,86,.18),rgba(183,158,86,0) 70%),linear-gradient(180deg,#132219,#0B140F);padding:clamp(26px,5vw,56px);display:grid;gap:28px}
.psico .imm{background:radial-gradient(80% 70% at 50% 0%,rgba(157,187,214,.18),rgba(157,187,214,0) 70%),linear-gradient(180deg,#0F2740,#08131F)}
.imm canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9}
.imm>*:not(canvas){position:relative;z-index:1}
.imm h3{font-size:clamp(30px,4.4vw,48px);line-height:1.04}
.imm .intro{display:grid;gap:18px;max-width:640px}
.imm .intro p{color:var(--on-dark-muted)}
.imm .warn{font-size:13px;color:var(--on-dark-muted);border:1px solid var(--on-dark-line);border-radius:14px;padding:12px 14px;max-width:640px}
.lr{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lr .btn{min-height:44px;padding:10px 18px;font-size:14.5px}
.player{display:grid;gap:22px;justify-items:center;text-align:center;min-height:320px;align-content:center}
.player[hidden]{display:none}
.caption{font-family:var(--display);font-size:clamp(26px,4.2vw,42px);line-height:1.22;max-width:760px;min-height:3.8em;display:grid;place-items:center;transition:opacity .9s ease}
.caption.fade{opacity:0}
.timer{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-muted);font-variant-numeric:tabular-nums}
.vol{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--on-dark-muted)}
.vol input{width:min(220px,50vw);accent-color:#B79E56}
.ending{display:grid;gap:18px;justify-items:center;text-align:center;max-width:720px;margin:0 auto}
.ending[hidden]{display:none}
.ending h3{font-size:clamp(32px,5vw,54px)}
.ending p{color:var(--on-dark-muted);font-size:18px}

/* Conteúdo geral */
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 24px;display:grid;gap:10px;align-content:start;min-width:0}
.card h3{font-size:26px;line-height:1.1;color:var(--forest)}
.card p{color:var(--muted);font-size:15.5px}
.card .n{font-family:var(--display);font-size:46px;line-height:.9;color:var(--gold)}
.steps{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.step{background:var(--paper);border-radius:22px;padding:26px 22px;display:grid;gap:8px;align-content:start}
.step b{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.step h3{font-size:25px;color:var(--forest);line-height:1.1}
.step p{color:var(--muted);font-size:15px}

/* Galeria */
.gallery{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.gallery figure{margin:0;border-radius:20px;overflow:hidden;background:var(--paper);aspect-ratio:4/5;position:relative}
.gallery figure.wide{grid-column:span 2;aspect-ratio:16/10}
@media (max-width:520px){.gallery figure.wide{grid-column:auto;aspect-ratio:4/5}}
.gallery img,.gallery video{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:12px;right:12px;bottom:12px;color:#fff;font-size:13px;text-shadow:0 1px 8px rgba(0,0,0,.5)}

/* Sobre */
.about{display:grid;gap:44px;align-items:center}
@media (min-width:900px){.about{grid-template-columns:.85fr 1.15fr}}
.about .txt p{color:var(--muted);font-size:17px}
.about .txt p+p{margin-top:14px}
.about .sign{font-family:var(--display);font-style:italic;font-size:28px;color:var(--forest);margin-top:22px}
.pillars{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pillars span{border:1px solid rgba(183,158,86,.55);border-radius:999px;padding:8px 14px;font-size:14px;color:var(--forest);background:#fff}

/* Dúvidas */
.faq{display:grid;gap:12px;max-width:880px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 22px}
.faq details[open]{border-color:rgba(183,158,86,.55)}
.faq summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--display);font-size:clamp(21px,2.5vw,25px);color:var(--forest);line-height:1.2}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(183,158,86,.6);display:grid;place-items:center;font-family:var(--body);font-size:18px;color:var(--gold-deep);transition:transform .25s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--muted);max-width:720px}

/* Chamada final */
.final{text-align:center;color:var(--on-dark);background:radial-gradient(60% 80% at 50% 0%,rgba(183,158,86,.22),rgba(183,158,86,0) 70%),linear-gradient(180deg,#1A3226,#0F1E17)}
.psico .final{background:radial-gradient(60% 80% at 50% 0%,rgba(157,187,214,.22),rgba(157,187,214,0) 70%),linear-gradient(180deg,#14304B,#0A1B2D)}
.final .wrap{display:grid;justify-items:center;gap:22px}
.final h2{font-size:clamp(38px,6.6vw,76px);line-height:1;max-width:920px}
.final h2 em{color:var(--gold);font-weight:400}
.final p{color:var(--on-dark-muted);max-width:560px;font-size:18px}
.final .ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px}

footer{background:var(--night);color:var(--on-dark-muted);font-size:14px;padding-block:44px calc(40px + env(safe-area-inset-bottom,0px))}
footer .wrap{display:grid;gap:26px}
@media (min-width:800px){footer .wrap{grid-template-columns:1.3fr 1fr 1fr}}
footer h4{margin:0 0 10px;font-family:var(--display);font-weight:500;font-size:20px;color:var(--on-dark)}
footer a{color:var(--on-dark-muted);text-decoration:none}
footer a:hover{color:var(--gold)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer .legal{grid-column:1/-1;border-top:1px solid var(--on-dark-line);padding-top:20px;font-size:12.5px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}

.float{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;gap:10px;background:#B79E56;color:#132219;border-radius:999px;padding:14px 20px;font-weight:500;font-size:15px;text-decoration:none;box-shadow:0 14px 34px rgba(0,0,0,.28);transform:translateY(160%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.float.on{transform:none}
.float svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.js .reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
}
