/* ============================================================
   JANETTE — landing + conversational onboarding
   Shares the live-screen cinematic language: filmic dark void,
   amber key light + teal counter-light, vignette, grain, glass.
   ============================================================ */

:root{
  --bg:#0c0a07; --bg-2:#100d09;
  --paper:#f4eee2;
  --muted:rgba(244,238,226,.58);
  --faint:rgba(244,238,226,.36);
  --line:rgba(244,238,226,.10);
  --line-2:rgba(244,238,226,.16);
  --amber:#e8a33d; --amber-deep:#c47e1f; --amber-soft:#ffce86;
  --cool:#5fb6c4; --cool-deep:#2f7d8c;
  --green:#74bd80; --red:#e0705a;
  --ff-body:"Hanken Grotesk", system-ui, -apple-system, sans-serif;
  --ff-display:"Instrument Serif", Georgia, serif;
  --maxw:1080px;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
html,body{margin:0;}
body{
  font-family:var(--ff-body);background:var(--bg);color:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;position:relative;min-height:100%;
}

/* ---------- cinematic background ---------- */
.cine-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--bg);}
.cine-bg .glow{position:absolute;border-radius:50%;filter:blur(80px);mix-blend-mode:screen;will-change:transform;}
.cine-bg .key{width:90vw;height:90vw;max-width:900px;max-height:900px;left:50%;top:-30%;transform:translateX(-50%);
  background:radial-gradient(circle at 50% 50%, rgba(232,163,61,.5), rgba(196,126,31,.18) 42%, transparent 66%);
  opacity:.6;animation:keyDrift 18s ease-in-out infinite alternate;}
.cine-bg .fill{width:80vw;height:80vw;max-width:760px;max-height:760px;left:-20%;top:36%;
  background:radial-gradient(circle at 50% 50%, rgba(95,182,196,.36), rgba(47,125,140,.12) 44%, transparent 68%);
  opacity:.42;animation:fillDrift 22s ease-in-out infinite alternate;}
.cine-bg .rim{width:70vw;height:70vw;max-width:620px;max-height:620px;right:-18%;top:64%;
  background:radial-gradient(circle at 50% 50%, rgba(232,163,61,.22), transparent 64%);
  opacity:.4;animation:fillDrift 26s ease-in-out infinite alternate-reverse;}
@keyframes keyDrift{from{transform:translateX(-52%) translateY(0) scale(1);}to{transform:translateX(-48%) translateY(3%) scale(1.07);}}
@keyframes fillDrift{from{transform:translateY(0) scale(1);}to{transform:translateY(-5%) scale(1.1);}}

.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(125% 90% at 50% 30%, transparent 50%, rgba(0,0,0,.6) 100%);mix-blend-mode:multiply;}
.grain{position:fixed;inset:-50%;z-index:2;pointer-events:none;opacity:.045;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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grainShift .6s steps(2) infinite;}
@keyframes grainShift{0%{transform:translate(0,0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-2%)}100%{transform:translate(3%,2%)}}

main,nav,footer{position:relative;z-index:5;}
.wrap{position:relative;z-index:5;max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- orb ---------- */
.orb{position:relative;border-radius:50%;flex:0 0 auto;
  background:radial-gradient(circle at 35% 30%, var(--amber-soft), var(--amber-deep) 78%, #7c4f12);
  box-shadow:0 0 0 1px rgba(255,206,134,.35) inset,0 0 22px rgba(232,163,61,.55),0 0 60px rgba(232,163,61,.3);
  animation:breathe 4.6s ease-in-out infinite;}
.orb::after{content:"";position:absolute;left:26%;top:20%;width:30%;height:24%;border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.88), transparent 70%);}
@keyframes breathe{0%,100%{transform:scale(.975);}50%{transform:scale(1.03);}}
.orb.speaking{animation:breatheFast 1.4s ease-in-out infinite;
  box-shadow:0 0 0 1px rgba(255,206,134,.5) inset,0 0 26px rgba(232,163,61,.8),0 0 70px rgba(232,163,61,.5);}
@keyframes breatheFast{0%,100%{transform:scale(.98);}50%{transform:scale(1.07);}}

/* ---------- nav ---------- */
nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0 8px;}
nav .brand{display:flex;align-items:center;gap:11px;}
nav .brand .orb{width:30px;height:30px;}
nav .brand .nm{font-family:var(--ff-display);font-size:25px;letter-spacing:.3px;}
nav .nphone{display:inline-flex;align-items:center;gap:8px;color:var(--muted);text-decoration:none;font-size:14.5px;
  border:1px solid var(--line-2);border-radius:999px;padding:8px 15px;transition:.2s;letter-spacing:.01em;white-space:nowrap;}
nav .nphone:hover{color:var(--amber-soft);border-color:rgba(232,163,61,.4);}
nav .nphone svg{width:15px;height:15px;}
nav .nlinks{display:flex;align-items:center;gap:28px;}
nav .nlinks a{color:var(--muted);text-decoration:none;font-size:15px;letter-spacing:.01em;transition:.2s;white-space:nowrap;}
nav .nlinks a:hover{color:var(--amber-soft);}
nav .nright{display:flex;align-items:center;gap:12px;}
nav .nstart{display:inline-flex;align-items:center;color:#241804;text-decoration:none;white-space:nowrap;
  background:linear-gradient(165deg,var(--amber-soft),var(--amber-deep));border-radius:999px;padding:9px 20px;
  font-size:14.5px;font-weight:600;letter-spacing:.01em;box-shadow:0 8px 22px -10px rgba(232,163,61,.6);transition:.2s;
  border:1px solid rgba(255,206,134,.5);}
nav .nstart:hover{transform:translateY(-1px);box-shadow:0 12px 28px -10px rgba(232,163,61,.7);}
@media (max-width:820px){
  nav .nlinks{display:none;}
  nav .nphone span[data-num]{display:none;}
  nav .nphone{padding:9px 11px;}
}

/* ---------- hero ---------- */
.hero{padding:54px 0 34px;text-align:center;display:flex;flex-direction:column;align-items:center;}
.hero .bigorb{width:84px;height:84px;margin-bottom:22px;}

/* her spoken greeting */
.jspeak-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:26px;min-height:34px;}
.jspeak{font-family:var(--ff-display);font-style:italic;font-size:clamp(19px,3.2vw,24px);line-height:1.34;
  color:var(--paper);letter-spacing:.2px;margin:0;max-width:24ch;text-wrap:balance;min-height:1.34em;}
.jspeak::before{content:"\201C";color:var(--amber);}
.jspeak.typing::after{content:"";display:inline-block;width:2px;height:1em;margin-left:1px;vertical-align:-2px;
  background:var(--amber);animation:caret .8s steps(1) infinite;}
.jspeak.done::after{content:"\201D";color:var(--amber);}
@keyframes caret{0%,100%{opacity:1;}50%{opacity:0;}}
.jlisten{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--ff-body);font-size:13.5px;
  font-weight:500;color:var(--muted);background:rgba(244,238,226,.04);border:1px solid var(--line-2);
  padding:8px 15px;border-radius:999px;transition:.18s;letter-spacing:.01em;white-space:nowrap;}
.jlisten:hover{color:var(--amber-soft);border-color:rgba(232,163,61,.4);background:rgba(232,163,61,.08);}
.jlisten:active{transform:scale(.96);}
.jlisten svg{width:15px;height:15px;}
.jlisten.playing{color:var(--amber-soft);border-color:rgba(232,163,61,.5);}
.jlisten .bars{display:inline-flex;align-items:center;gap:2px;height:13px;}
.jlisten .bars i{width:2px;background:currentColor;border-radius:2px;height:5px;}
.jlisten.playing .bars i{animation:eq .7s ease-in-out infinite;}
.jlisten.playing .bars i:nth-child(2){animation-delay:.15s;}
.jlisten.playing .bars i:nth-child(3){animation-delay:.3s;}
.jlisten.playing .bars i:nth-child(4){animation-delay:.45s;}
@keyframes eq{0%,100%{height:4px;}50%{height:13px;}}

/* mic — respond to her by voice */
.jmic{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-family:var(--ff-body);font-size:14px;
  font-weight:600;color:#241804;background:linear-gradient(165deg,var(--amber-soft),var(--amber-deep));
  border:1px solid rgba(255,206,134,.5);padding:10px 18px;border-radius:999px;transition:.18s;white-space:nowrap;
  box-shadow:0 8px 22px -8px rgba(232,163,61,.6);}
.jmic:hover{transform:translateY(-1px);}
.jmic:active{transform:scale(.97);}
.jmic svg{width:16px;height:16px;}
.jmic.listening{color:var(--amber-soft);background:rgba(232,163,61,.1);border-color:rgba(232,163,61,.5);
  box-shadow:0 0 0 0 rgba(232,163,61,.5);animation:micPulse 1.3s ease-out infinite;}
@keyframes micPulse{0%{box-shadow:0 0 0 0 rgba(232,163,61,.5);}70%{box-shadow:0 0 0 14px rgba(232,163,61,0);}100%{box-shadow:0 0 0 0 rgba(232,163,61,0);}}
.eyebrow{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--amber);margin-bottom:22px;
  display:flex;align-items:center;gap:10px;}
.eyebrow::before,.eyebrow::after{content:"";width:24px;height:1px;background:rgba(232,163,61,.4);}
.hero h1{font-family:var(--ff-display);font-weight:400;font-size:clamp(44px,8vw,82px);line-height:1.02;
  letter-spacing:.5px;margin:0;max-width:13ch;text-wrap:balance;}
.hero h1 em{font-style:italic;color:var(--amber-soft);}
.hero .sub{color:var(--muted);font-size:clamp(16px,2.4vw,20px);line-height:1.5;max-width:38ch;margin:22px 0 0;text-wrap:pretty;}

.cta-row{display:flex;flex-direction:column;align-items:center;gap:13px;margin-top:34px;}
.btn-text{display:inline-flex;align-items:center;justify-content:center;gap:11px;
  font-family:var(--ff-body);font-size:18px;font-weight:600;letter-spacing:.01em;color:#241804;text-decoration:none;
  padding:18px 34px;border-radius:16px;cursor:pointer;border:none;
  background:linear-gradient(165deg, var(--amber-soft), var(--amber-deep));
  box-shadow:0 14px 40px -10px rgba(232,163,61,.6),0 0 0 1px rgba(255,206,134,.5) inset;
  transition:transform .18s ease, box-shadow .2s;}
.btn-text:hover{transform:translateY(-2px);box-shadow:0 20px 52px -10px rgba(232,163,61,.7),0 0 0 1px rgba(255,206,134,.6) inset;}
.btn-text:active{transform:translateY(0) scale(.99);}
.btn-text svg{width:21px;height:21px;}
.cta-note{font-size:13.5px;color:var(--faint);letter-spacing:.02em;}
.cta-note b{color:var(--muted);font-weight:600;font-variant-numeric:tabular-nums;}

/* ---------- the moment (interactive) ---------- */
.moment{padding:40px 0 30px;}
.moment .mhead{text-align:center;max-width:42ch;margin:0 auto 8px;}
.moment .mhead .ek{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--cool);margin-bottom:16px;}
.moment .mhead h2{font-family:var(--ff-display);font-weight:400;font-size:clamp(30px,4.6vw,46px);line-height:1.08;margin:0;letter-spacing:.4px;}
.moment .mhead p{color:var(--muted);font-size:16px;line-height:1.5;margin:14px 0 0;}

.moment-grid{display:grid;grid-template-columns:1fr 360px;gap:46px;align-items:center;margin-top:40px;}
@media (max-width:880px){.moment-grid{grid-template-columns:1fr;gap:30px;justify-items:center;}}

.picker .plabel{font-size:13px;letter-spacing:.04em;color:var(--faint);margin-bottom:14px;text-transform:uppercase;}
.trades{display:flex;flex-wrap:wrap;gap:10px;}
.trade{font-family:var(--ff-body);font-size:15.5px;font-weight:500;color:var(--paper);cursor:pointer;
  padding:12px 18px;border-radius:999px;background:rgba(244,238,226,.04);border:1px solid var(--line-2);transition:.18s;}
.trade:hover{background:rgba(232,163,61,.1);border-color:rgba(232,163,61,.4);color:var(--amber-soft);}
.trade:active{transform:scale(.96);}
.trade.active{background:linear-gradient(165deg,var(--amber-soft),var(--amber-deep));color:#241804;border-color:transparent;font-weight:600;}

.bizfield{margin-top:24px;max-width:360px;}
.bizfield label{display:block;font-size:13px;letter-spacing:.04em;color:var(--faint);margin-bottom:9px;text-transform:uppercase;}
.bizfield input{width:100%;background:rgba(244,238,226,.04);border:1px solid var(--line-2);border-radius:13px;
  color:var(--paper);font-family:var(--ff-body);font-size:16px;padding:14px 16px;outline:none;transition:.18s;}
.bizfield input::placeholder{color:var(--faint);}
.bizfield input:focus{border-color:rgba(232,163,61,.45);background:rgba(244,238,226,.06);}
.picker .phint{margin-top:18px;color:var(--faint);font-size:13.5px;line-height:1.5;max-width:36ch;}

/* ---------- phone frame ---------- */
.phone{position:relative;width:340px;max-width:88vw;aspect-ratio:340/720;flex:0 0 auto;
  border-radius:46px;padding:11px;
  background:linear-gradient(160deg,#26211a,#0e0b07);
  box-shadow:0 50px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(244,238,226,.06),0 0 0 11px rgba(0,0,0,.4);
}
.phone .notch{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:96px;height:26px;border-radius:999px;
  background:#000;z-index:6;border:1px solid rgba(244,238,226,.05);}
.phone .screen{position:relative;width:100%;height:100%;border-radius:36px;overflow:hidden;background:#0c0a07;
  display:flex;flex-direction:column;}

/* mini cine bg inside screen */
.screen .sbg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.screen .sbg::before{content:"";position:absolute;width:120%;height:60%;left:-10%;top:-20%;border-radius:50%;
  background:radial-gradient(circle at 50% 40%, rgba(232,163,61,.4), transparent 64%);filter:blur(34px);}
.screen .sbg::after{content:"";position:absolute;width:100%;height:50%;left:-20%;bottom:-16%;border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(95,182,196,.28), transparent 66%);filter:blur(34px);}

.screen .stopbar{position:relative;z-index:3;display:flex;align-items:center;gap:10px;padding:34px 16px 8px;}
.screen .stopbar .orb{width:30px;height:30px;}
.screen .stopbar .sid{line-height:1.05;}
.screen .stopbar .sid .snm{font-family:var(--ff-display);font-size:20px;}
.screen .stopbar .sid .sst{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-top:1px;
  display:flex;align-items:center;gap:5px;transition:color .3s;}
.screen .stopbar .sid .sst .ld{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);}
.screen.is-speaking .stopbar .sid .sst{color:var(--amber);}
.screen.is-speaking .stopbar .sid .sst .ld{background:var(--amber);box-shadow:0 0 6px var(--amber);}

.screen .sstage{position:relative;z-index:2;flex:1;overflow:hidden;padding:6px 14px 16px;
  display:flex;flex-direction:column;gap:11px;}
.screen .sbottom{position:relative;z-index:3;padding:9px 12px 16px;}
.screen .scomposer{display:flex;align-items:center;gap:7px;padding:7px 7px 7px 13px;border-radius:15px;
  background:linear-gradient(165deg,rgba(33,29,21,.7),rgba(18,15,11,.6));border:1px solid var(--line-2);}
.screen .scomposer .sph{flex:1;color:var(--faint);font-size:13.5px;}
.screen .scomposer .sbtn{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#241804;
  background:linear-gradient(165deg,var(--amber-soft),var(--amber-deep));}
.screen .scomposer .sbtn svg{width:15px;height:15px;}

/* in-screen narration + cards */
.snarr{font-family:var(--ff-display);font-style:italic;font-size:16.5px;line-height:1.34;color:var(--paper);padding:2px 2px;}
.snarr::before{content:"\201C";color:var(--amber);}.snarr::after{content:"\201D";color:var(--amber);}

.enter{animation:materialize .66s cubic-bezier(.18,.7,.2,1) backwards;animation-delay:var(--d,0s);}
@keyframes materialize{from{opacity:0;transform:translateY(12px) scale(.985);filter:blur(7px);}to{opacity:1;transform:none;filter:blur(0);}}

/* proposal mini (light paper) */
.sproposal{background:var(--paper);color:#211c14;border-radius:16px;overflow:hidden;
  box-shadow:0 24px 50px -20px rgba(0,0,0,.7);}
.sproposal .sph2{display:flex;align-items:center;gap:10px;padding:14px 15px 11px;border-bottom:1px solid rgba(33,28,20,.12);}
.sproposal .slogo{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto;
  background:linear-gradient(165deg,#2a241a,#14110b);color:var(--amber-soft);font-family:var(--ff-display);font-size:16px;}
.sproposal .sbn{font-family:var(--ff-display);font-size:16.5px;color:#1a160f;line-height:1.1;}
.sproposal .sbt{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#9a8e76;margin-top:3px;}
.sproposal .sfor{padding:11px 15px 2px;}
.sproposal .sfor .sl{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#9a8e76;}
.sproposal .sfor .sc{font-family:var(--ff-display);font-size:17px;color:#1a160f;margin-top:1px;}
.sproposal table{width:100%;border-collapse:collapse;margin-top:6px;}
.sproposal td{padding:8px 15px;font-size:12.5px;border-top:1px solid rgba(33,28,20,.09);}
.sproposal td.amt{text-align:right;font-family:var(--ff-display);font-size:14px;white-space:nowrap;}
.sproposal .sgrand{display:flex;justify-content:space-between;align-items:baseline;padding:12px 15px;background:#ece3d2;}
.sproposal .sgrand .gl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6d6450;}
.sproposal .sgrand .gv{font-family:var(--ff-display);font-size:24px;color:#1a160f;}
.sproposal .smargin{padding:9px 15px;font-size:10.5px;color:#8a7f68;background:var(--paper);border-top:1px dashed rgba(33,28,20,.18);}
.sproposal .smargin b{color:#3a3326;}

/* in-screen welcome */
.swelcome{display:flex;flex-direction:column;align-items:center;text-align:center;gap:11px;margin:auto 0;padding:20px 14px;}
.swelcome .wo{width:64px;height:64px;}
.swelcome h3{font-family:var(--ff-display);font-weight:400;font-size:30px;margin:6px 0 0;}
.swelcome p{color:var(--muted);font-size:14px;line-height:1.45;margin:0;max-width:24ch;}

.screen-cta{margin-top:6px;}
.screen-cta a{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;
  font-size:13.5px;font-weight:600;color:#241804;padding:12px;border-radius:12px;
  background:linear-gradient(165deg,var(--amber-soft),var(--amber-deep));box-shadow:0 8px 22px -8px rgba(232,163,61,.6);}
.screen-cta a svg{width:15px;height:15px;}

/* ---------- trust strip ---------- */
.trust{padding:36px 0;}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media (max-width:760px){.trust-grid{grid-template-columns:1fr;}}
.trust .t{background:linear-gradient(165deg,rgba(33,29,21,.5),rgba(18,15,11,.4));border:1px solid var(--line);
  border-radius:18px;padding:24px 22px;backdrop-filter:blur(14px);}
.trust .t .ti{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--amber-soft);
  background:rgba(232,163,61,.1);border:1px solid rgba(232,163,61,.22);margin-bottom:14px;}
.trust .t .ti svg{width:18px;height:18px;}
.trust .t h3{font-family:var(--ff-display);font-weight:400;font-size:22px;margin:0 0 6px;}
.trust .t p{color:var(--muted);font-size:14.5px;line-height:1.5;margin:0;}

/* ---------- how it works ---------- */
.how{padding:48px 0 40px;}
.section-h{text-align:center;margin-bottom:42px;}
.section-h .ek{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--amber);margin-bottom:14px;}
.section-h h2{font-family:var(--ff-display);font-weight:400;font-size:clamp(30px,4.6vw,46px);margin:0;letter-spacing:.4px;}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media (max-width:820px){.steps{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.steps{grid-template-columns:1fr;}}
.step{border:1px solid var(--line);border-radius:18px;padding:24px 20px;
  background:linear-gradient(165deg,rgba(33,29,21,.42),rgba(18,15,11,.32));position:relative;overflow:hidden;}
.step .n{font-family:var(--ff-display);font-size:42px;color:var(--amber);opacity:.85;line-height:1;}
.step h3{font-family:var(--ff-display);font-weight:400;font-size:21px;margin:14px 0 6px;}
.step p{color:var(--muted);font-size:14px;line-height:1.5;margin:0;}

/* ---------- capabilities ---------- */
.cap{padding:40px 0 50px;}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media (max-width:820px){.cap-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){.cap-grid{grid-template-columns:1fr;}}
.capc{display:flex;align-items:flex-start;gap:13px;padding:18px 18px;border:1px solid var(--line);border-radius:15px;
  background:rgba(244,238,226,.025);}
.capc .ci{width:30px;height:30px;border-radius:8px;flex:0 0 auto;display:grid;place-items:center;color:var(--cool);
  background:rgba(95,182,196,.1);border:1px solid rgba(95,182,196,.2);}
.capc .ci svg{width:16px;height:16px;}
.capc .cb .ch{font-size:15.5px;font-weight:600;letter-spacing:.01em;}
.capc .cb .cp{font-size:13px;color:var(--faint);margin-top:3px;line-height:1.4;}

/* ---------- final cta ---------- */
.final{padding:30px 0 72px;text-align:center;}
.final .fcard{position:relative;border:1px solid var(--line-2);border-radius:28px;padding:56px 32px;overflow:hidden;
  background:linear-gradient(165deg,rgba(33,29,21,.6),rgba(18,15,11,.5));backdrop-filter:blur(18px);
  box-shadow:0 30px 70px -28px rgba(0,0,0,.8);}
.final .fcard .bigorb{width:64px;height:64px;margin:0 auto 22px;}
.final h2{font-family:var(--ff-display);font-weight:400;font-size:clamp(34px,5.4vw,54px);margin:0;letter-spacing:.4px;line-height:1.04;}
.final p{color:var(--muted);font-size:17px;margin:16px 0 0;}
.final .cta-row{margin-top:30px;}

footer{padding:30px 0 40px;border-top:1px solid var(--line);}
footer .fr{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
footer .brand{display:flex;align-items:center;gap:10px;}
footer .brand .orb{width:24px;height:24px;}
footer .brand .nm{font-family:var(--ff-display);font-size:20px;}
footer .fl{color:var(--faint);font-size:13px;}

/* toast */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);z-index:60;
  background:rgba(20,17,12,.94);border:1px solid var(--line-2);color:var(--paper);padding:12px 20px;border-radius:999px;
  font-size:14px;backdrop-filter:blur(12px);box-shadow:0 14px 40px -12px rgba(0,0,0,.8);opacity:0;pointer-events:none;
  transition:.32s cubic-bezier(.2,.7,.2,1);max-width:88vw;text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media (prefers-reduced-motion: reduce){
  .enter{animation:none;}
  .orb,.cine-bg .glow,.grain{animation:none !important;}
  html{scroll-behavior:auto;}
}
