@font-face { font-family: "Nunito"; src: url("./assets/fonts/Nunito-Variable.ttf") format("truetype"); font-style: normal; font-weight: 200 1000; font-display: swap; }

:root { --ink:#143e32; --paper:#f3f0e7; --surface:#e4eadf; --line:rgba(20,62,50,.16); --acid:#bdd7c4; --accent:#5f927b; --deep:#123f33; --mist:#d9e6db; --muted:#61736b; --white:#fbfcf8; --danger:#8f4a43; --radius:30px; --shadow:0 24px 64px rgba(24,56,43,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); color:var(--ink); font-family:"Nunito",sans-serif; }
body { min-height:100vh; margin:0; overflow-x:hidden; background:#f5f2e9; }
[hidden] { display:none!important; }
button,a { font:inherit; -webkit-tap-highlight-color:transparent; }
.grain { position:fixed; z-index:80; inset:0; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E"); }
.site-header { width:min(1120px,calc(100% - 40px)); height:74px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.site-logo { display:flex; align-items:center; gap:10px; padding:8px 0; border:0; background:transparent; color:var(--ink); cursor:pointer; }.site-logo strong{font-size:14px;font-weight:950;letter-spacing:.13em}
.logo-slot { width:34px;height:21px;position:relative;display:inline-flex; }.logo-slot i{position:absolute;top:2px;width:16px;height:16px;border:2px solid currentColor;border-radius:50%}.logo-slot i:first-child{left:1px}.logo-slot i:last-child{right:1px}
.header-actions { display:flex;align-items:center;gap:9px; }.sign-in,.header-try{height:40px;border-radius:100px;padding:0 16px;font-size:12px;font-weight:850;cursor:pointer}.sign-in{border:1px solid var(--line);background:transparent;color:var(--ink)}.header-try{border:0;background:var(--deep);color:white}.header-try:disabled{opacity:.45}

.homepage { max-width:1016px; margin:auto; padding:0 28px; }
.home-hero { min-height:720px; padding:78px 0 70px; text-align:center; display:flex; flex-direction:column; align-items:center; }
.hero-kicker { display:flex; align-items:center; gap:10px; margin-bottom:55px; color:#9c9b90; font-size:15px; font-weight:700; }
.mini-eye { width:27px; height:17px; position:relative; display:inline-block; border:1.7px solid currentColor; border-radius:70% 18% 70% 18%; transform:rotate(45deg); }
.mini-eye::after { content:""; position:absolute; width:6px; height:6px; inset:50% auto auto 50%; border-radius:50%; background:currentColor; transform:translate(-50%,-50%); }
.home-hero h1 { margin:0 0 47px; color:var(--deep); font-size:clamp(43px,5.25vw,68px); font-weight:850; line-height:1.22; letter-spacing:-.045em; }
.home-hero h1 > span { display:flex; align-items:center; justify-content:center; gap:12px; min-height:74px; }
.home-hero h1 img { width:76px; height:62px; object-fit:cover; border-radius:0; mix-blend-mode:multiply; --turn:-2deg; }
.home-hero h1 span:nth-child(2) img { width:91px; --turn:2deg; }
.home-hero h1 span:nth-child(3) img { width:76px; }
.motion-cutout { --move-x:0px;--move-y:0px;--turn:0deg;--lift:1; transform:translate3d(var(--move-x),var(--move-y),0) rotate(var(--turn)) scale(var(--lift)); transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s ease; will-change:transform; }
.motion-cutout:hover { --lift:1.075; filter:drop-shadow(0 12px 10px rgba(28,61,48,.13)); }
.primary-button { min-height:58px; border:0; border-radius:7px; padding:0 25px; display:inline-flex; align-items:center; justify-content:center; gap:34px; background:#438d70; color:white; box-shadow:0 10px 18px rgba(25,64,49,.18); font-size:15px; font-weight:850; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.primary-button:hover { transform:translateY(-2px); box-shadow:0 14px 26px rgba(25,64,49,.22); }
.primary-button:focus-visible,button:focus-visible { outline:3px solid #7ca28f; outline-offset:3px; }
.primary-button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.home-proof { display:flex; align-items:center; gap:15px; margin:28px 0 0; color:#606f68; font-size:14px; font-weight:700; line-height:1.05; }
.home-proof span { color:#6f9c78; font-size:26px; }
.home-product { min-height:590px;padding:55px;position:relative;overflow:hidden;border-radius:28px;background-color:#153f33;background-image:linear-gradient(rgba(190,218,198,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(190,218,198,.1) 1px,transparent 1px);background-size:30px 30px;box-shadow:0 14px 38px rgba(25,61,47,.14);color:#d8e8dd; }
.demo-window { height:480px;max-width:780px;margin:auto;position:relative;overflow:hidden;border:1px solid rgba(224,239,229,.28);border-radius:25px;background:linear-gradient(145deg,#b7cabd,#728a7e);box-shadow:0 25px 55px rgba(5,28,20,.28); }
.demo-top { height:52px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.18);background:rgba(19,59,46,.3);color:#edf4ef;font-size:9px;font-weight:850;letter-spacing:.12em; }
.demo-field { position:absolute;inset:52px 0 0;display:grid;place-items:center;background:linear-gradient(145deg,rgba(255,255,255,.1),transparent); }
.demo-field>small { position:absolute;top:24px;left:24px;color:rgba(242,248,244,.77);font-size:9px;font-weight:850;letter-spacing:.15em; }
.demo-rest { display:flex;flex-direction:column;align-items:center;gap:9px;color:#173f33;text-align:center; }.demo-rest span{font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.demo-rest strong{font-size:clamp(25px,3vw,38px);font-weight:850;letter-spacing:-.04em}
.demo-coach { position:absolute;z-index:3;left:18px;right:18px;bottom:18px;min-height:86px;padding:16px 18px;display:grid;grid-template-columns:65px 1fr 42px;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.17);border-radius:17px;background:rgba(14,48,37,.82);backdrop-filter:blur(12px);color:white }.demo-coach>span{font-size:9px;color:#b8d0c2}.demo-coach div{display:flex;flex-direction:column}.demo-coach strong{font-size:19px}.demo-coach small{color:#b9cbc1;font-size:11px}.demo-coach>b{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:11px}
.ritual { padding:88px 0 145px; text-align:center; }
.ritual-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; margin-bottom:64px; text-align:left; }
.ritual-grid article img { width:118px; height:118px; object-fit:cover; display:block; margin:0 0 17px; border-radius:0; mix-blend-mode:multiply; filter:contrast(1.03) saturate(.9); }.ritual-grid article:nth-child(1) img{--turn:-3deg}.ritual-grid article:nth-child(2) img{--turn:2deg}.ritual-grid article:nth-child(3) img{--turn:-2deg}
.ritual-grid h2 { margin:0 0 13px; font-size:24px; font-weight:850; letter-spacing:-.035em; }
.ritual-grid p { margin:0; color:#53675e; font-size:16px; font-weight:430; line-height:1.42; }
.manifesto { padding:20px 0 150px; text-align:center; }
.manifesto img { width:88px; height:88px; object-fit:cover; margin-bottom:20px; border-radius:0; mix-blend-mode:multiply; }
.manifesto p { max-width:700px; margin:0 auto 19px; font-size:25px; font-weight:600; font-style:italic; line-height:1.35; }
.manifesto small { display:block; max-width:610px; margin:40px auto 0; color:#52665d; font-size:15px; line-height:1.55; }
footer { min-height:90px; padding:0 0 35px; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; color:#64746d; font-size:13px; }
footer p { margin:0; } footer p:last-child { text-align:right; }

.app-shell { max-width:1500px; min-height:100vh; margin:auto; padding:90px 52px; display:grid; grid-template-columns:minmax(330px,.65fr) minmax(620px,1.35fr); gap:72px; align-items:center; }
.intro { max-width:490px; }
.app-label { margin:0 0 30px; color:#7a8c83; font-size:11px; font-weight:850; letter-spacing:.14em; }
.intro h1 { margin:0 0 25px; font-size:clamp(56px,5vw,84px); font-weight:850; line-height:.93; letter-spacing:-.065em; }
.intro-copy { margin:0 0 30px; color:var(--muted); font-size:16px; line-height:1.6; }
.session-card { margin:0 0 28px; padding:17px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.session-card strong { font-size:18px; }.session-card span { color:var(--muted); font-size:11px; line-height:1.5; }
.intro .primary-button { width:100%; }
.back-home { width:100%; margin-top:11px; padding:10px; border:0; background:transparent; color:var(--muted); font-size:11px; cursor:pointer; }
.consent-note { display:flex; align-items:center; justify-content:center; gap:8px; margin:15px 5px 0; color:#7c8881; text-align:center; font-size:10px; line-height:1.4; }
.consent-note span { width:6px; height:6px; flex:none; border-radius:50%; background:#79a387; }

.stage { min-width:0; }
.camera-frame { position:relative; min-height:610px; overflow:hidden; border-radius:var(--radius); background:#dbe7dd; box-shadow:var(--shadow); }
video,#overlay { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scaleX(-1); }
#overlay { z-index:2; pointer-events:none; }
.camera-placeholder { position:absolute; inset:0; display:grid; place-items:center; align-content:center; gap:24px; color:#315c4e; background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.65),transparent 27%),linear-gradient(145deg,#dfe9df,#cbdccd); }
.camera-placeholder p { font-size:9px; font-weight:850; letter-spacing:.16em; }
.iris-graphic { width:min(30%,220px); aspect-ratio:1; position:relative; display:grid; place-items:center; }
.iris-ring { position:absolute; border:1px solid rgba(40,90,70,.25); border-radius:50%; }.ring-a{inset:0;animation:breathe 5s ease-in-out infinite}.ring-b{inset:20%;border-style:dashed;animation:spin 18s linear infinite}.iris-core{width:23%;aspect-ratio:1;border-radius:50%;background:#6b9b81}
.camera-hud { position:absolute; z-index:4; top:22px; left:22px; right:22px; display:flex; justify-content:space-between; color:white; font-size:9px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }.live-label{display:flex;align-items:center;gap:9px}.live-label span{width:7px;height:7px;border-radius:50%;background:#bad4c4;box-shadow:0 0 0 5px rgba(186,212,196,.14)}.confidence{color:#dce6df}
.coach-card { position:absolute; z-index:5; left:18px; right:18px; bottom:18px; padding:18px 20px; display:grid; grid-template-columns:65px 1fr 54px; gap:15px; align-items:center; border:1px solid rgba(255,255,255,.16); border-radius:18px; background:rgba(17,51,41,.82); backdrop-filter:blur(18px); color:white; }.step-index{font-size:9px;letter-spacing:.1em}.coach-card h2{margin:0 0 4px;font-size:23px;font-weight:800}.coach-card p{margin:0;color:#c8d5ce;font-size:11px;line-height:1.45}.timer-ring{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(200,222,209,.35);border-radius:50%;font-size:13px}
.target-orbit { position:absolute; z-index:3; inset:12% 10% 29%; pointer-events:none; }.target-orbit span{position:absolute;width:20px;height:20px;border-radius:50%}
.permission-error { position:absolute; z-index:9; inset:0; padding:40px; display:grid; place-content:center; text-align:center; background:#173c31; color:white; }.permission-error svg{width:34px;margin:0 auto 18px;fill:none;stroke:#bed8c8;stroke-width:1.5}.permission-error h2{margin:0 0 10px;font-size:30px}.permission-error p{max-width:420px;color:#c2d0c8;font-size:13px;line-height:1.5}.permission-error button{justify-self:center;padding:12px 20px;border:1px solid rgba(255,255,255,.3);border-radius:30px;background:transparent;color:white;cursor:pointer}
.metrics { margin-top:12px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--line); }.metric{min-height:68px;padding:13px 18px;display:flex;align-items:center;gap:12px;background:var(--paper)}.metric small{display:block;margin-bottom:4px;color:#819088;font-size:8px;letter-spacing:.13em}.metric strong{font-size:11px}.metric-icon{width:27px;height:27px;flex:none;position:relative;border:1px solid var(--line);border-radius:50%}.face-icon::before{content:"";position:absolute;inset:7px 6px;border:1px solid currentColor;border-radius:48%}.blink-icon::before{content:"";position:absolute;left:5px;right:5px;top:12px;border-top:1px solid currentColor;transform:rotate(-8deg)}.distance-icon::before,.distance-icon::after{content:"";position:absolute;top:8px;width:6px;height:9px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.distance-icon::before{left:5px;border-left:1px solid currentColor}.distance-icon::after{right:5px;border-right:1px solid currentColor}

.brand-mark { width:31px; height:18px; position:relative; display:inline-flex; }.brand-mark i{position:absolute;top:2px;width:14px;height:14px;border:1.8px solid currentColor;border-radius:50%}.brand-mark i:first-child{left:2px}.brand-mark i:last-child{right:2px}
.filter-toggle,.icon-button { height:40px; border:1px solid rgba(255,255,255,.22); background:rgba(20,35,29,.34); color:#edf4ef; cursor:pointer; }.filter-toggle{border-radius:100px;padding:0 13px;display:flex;align-items:center;gap:8px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.filter-toggle span{width:7px;height:7px;border-radius:50%;background:#bcd4c6}.filter-toggle[aria-pressed="false"] span{background:#888}.icon-button{width:40px;border-radius:50%;display:grid;place-items:center}.icon-button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}

dialog { width:min(580px,calc(100% - 32px)); border:0; border-radius:28px; padding:42px; background:var(--paper); color:var(--ink); box-shadow:0 50px 120px rgba(0,0,0,.28); }dialog::backdrop{background:rgba(15,31,25,.7);backdrop-filter:blur(8px)}dialog h2{margin:0 0 18px;font-size:clamp(42px,6vw,62px);font-weight:850;line-height:.96;letter-spacing:-.045em}dialog>p:not(.eyebrow){color:var(--muted);line-height:1.55}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 25px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.eyebrow span{color:#789184}.completion-mark{width:54px;height:54px;margin-bottom:26px;display:grid;place-items:center;border-radius:50%}.completion-mark span{width:20px;height:10px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg) translate(2px,-2px)}.strain-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:28px 0}.strain-scale button{min-height:58px;position:relative;border:1px solid var(--line);border-radius:13px;background:transparent;cursor:pointer;font-weight:700}.strain-scale button span{position:absolute;top:64px;left:50%;transform:translateX(-50%);font-size:8px;color:var(--muted)}.strain-scale button.selected{background:var(--acid)}dialog .primary-button{width:100%;margin-top:42px}
@keyframes breathe{50%{transform:scale(.9);opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:950px){.app-shell{grid-template-columns:1fr;padding:65px 24px;gap:55px}.intro{max-width:700px}.camera-frame{min-height:540px}.ritual-grid{gap:25px}}
@media(max-width:650px){.site-header{width:calc(100% - 28px);height:66px}.sign-in{display:none}.header-try{height:38px;padding:0 14px}.homepage{padding:0 18px}.home-hero{min-height:660px;padding-top:65px}.hero-kicker{font-size:12px;margin-bottom:42px}.home-hero h1{font-size:clamp(36px,10vw,52px);line-height:1.24}.home-hero h1>span{gap:6px;min-height:60px}.home-hero h1 img{width:55px;height:49px}.home-hero h1 span:nth-child(2) img{width:64px}.home-proof{font-size:11px;gap:8px}.home-proof span{font-size:20px}.home-product{min-height:420px;padding:0 0 55px}.demo-window{width:100%;height:390px;border-radius:24px}.demo-top{height:45px;padding:0 13px}.demo-field{inset:45px 0 0}.demo-ring.ring-one{width:180px;height:180px}.demo-ring.ring-two{width:115px;height:115px}.demo-coach{bottom:12px;grid-template-columns:42px 1fr 38px;padding:12px}.demo-coach strong{font-size:16px}.ritual{padding:70px 5px 100px}.ritual-grid{grid-template-columns:1fr;gap:55px}.ritual-grid article{max-width:460px}.manifesto{padding-bottom:100px}.manifesto p{font-size:22px}footer{flex-direction:column;align-items:flex-start;gap:9px}footer p:last-child{text-align:left}.app-shell{padding:55px 16px}.intro h1{font-size:53px}.camera-frame{min-height:480px;border-radius:22px}.coach-card{grid-template-columns:42px 1fr 42px;padding:13px}.coach-card h2{font-size:18px}.timer-ring{width:40px;height:40px}.metrics{display:none}.filter-toggle{width:40px;padding:0;justify-content:center;font-size:0}dialog{padding:30px 22px}}
@media(max-width:650px){
  .site-header{width:calc(100% - 28px);height:66px}.sign-in{display:none}.header-try{height:38px;padding:0 14px}
  .homepage{padding:0 16px}.home-hero{min-height:620px;padding:58px 0 52px}.hero-kicker{font-size:11px;margin-bottom:40px}
  .home-hero h1{width:calc(100vw - 24px);font-size:clamp(31px,8.8vw,38px);line-height:1.18;letter-spacing:-.05em;margin-bottom:40px}
  .home-hero h1>span{gap:4px;min-height:50px;white-space:nowrap}.home-hero h1 img{width:44px;height:42px}.home-hero h1 span:nth-child(2) img{width:54px}.home-hero h1 span:nth-child(3) img{width:46px}
  .home-proof{font-size:10px;gap:7px}.home-proof span{font-size:18px}
  .home-product{min-height:350px;padding:15px;border-radius:22px;background-size:24px 24px}.demo-window{width:100%;height:320px;border-radius:18px}.demo-top{height:42px;padding:0 12px}.demo-field{inset:42px 0 0}.demo-field>small{top:17px;left:16px}.demo-rest{padding:0 20px}.demo-rest strong{font-size:25px;line-height:1.05}.demo-coach{left:10px;right:10px;bottom:10px;min-height:68px;grid-template-columns:38px 1fr 34px;gap:8px;padding:10px 12px}.demo-coach strong{font-size:15px}.demo-coach small{font-size:9px}.demo-coach>b{width:32px;height:32px}
  .ritual{padding:72px 0 95px;overflow:hidden}.ritual-grid{display:flex;gap:14px;margin:0 -16px 44px;padding:0 16px 18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:16px;text-align:center;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ritual-grid::-webkit-scrollbar{display:none}
  .ritual-grid article{min-width:calc(100vw - 64px);max-width:none;padding:28px 23px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.2);scroll-snap-align:center}.ritual-grid article img{width:124px;height:124px;margin:0 auto 18px}.ritual-grid h2{text-align:center}.ritual-grid p{text-align:center;font-size:15px}
  .manifesto{padding:10px 8px 90px}.manifesto img{display:block;margin:0 auto 20px}.manifesto p{font-size:21px}.manifesto small{margin-top:30px;font-size:13px}
  footer{min-height:0;padding:28px 4px 34px;flex-direction:column;align-items:center;gap:13px;border-top:1px solid var(--line);text-align:center}footer p,footer p:last-child{text-align:center;line-height:1.5}
  .app-shell{padding:78px 14px 35px;gap:34px}.intro{text-align:center}.app-label{margin-bottom:20px}.intro h1{font-size:45px}.intro-copy{font-size:14px}.intro .primary-button{width:min(250px,100%);min-height:50px;margin-inline:auto}.camera-frame{min-height:460px;border-radius:22px}.coach-card{grid-template-columns:36px 1fr 38px;gap:8px;padding:12px}.coach-card h2{font-size:17px}.coach-card p{font-size:10px}.timer-ring{width:38px;height:38px}.metrics{display:none}.filter-toggle{width:40px;padding:0;justify-content:center;font-size:0}dialog{padding:28px 20px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
