@font-face{font-family:'Fredoka';src:url('/fonts/fredoka.woff2') format('woff2');font-weight:300 700;font-display:swap}
:root{--ink:#2A1B3D;--soft:#5E4E6E;--plum:#5B2A86;--plum2:#7B3FB0;--cream:#FFF8EF;--peach:#FFE3C4;--sun:#FFB627;--line:#F0D9C2;--red:#C9372F;--r:1.4rem}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);line-height:1.6;background:var(--cream);overflow-x:hidden}
a{color:var(--plum)}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid #1D4ED8;outline-offset:3px;border-radius:6px}
h1,h2,h3,.brand,.eyebrow,.btn,.num{font-family:'Fredoka',system-ui,sans-serif;line-height:1.1}
h1{font-size:clamp(2.3rem,5.6vw,3.9rem);margin:.4rem 0 1rem;letter-spacing:-.01em}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:0 0 .8rem}
h3{font-size:1.25rem;margin:.2rem 0 .4rem}
.wrap{max-width:68rem;margin:0 auto;padding:0 1.25rem}
.eyebrow{display:inline-block;font-weight:600;font-size:.9rem;letter-spacing:.06em;text-transform:uppercase;color:var(--plum)}
.lede{font-size:1.18rem;color:var(--soft);max-width:34rem}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
.muted{color:var(--soft)}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6rem 1rem;z-index:20}
.skip:focus{left:1rem;top:1rem}

/* header */
header.top{position:sticky;top:0;z-index:10;background:rgba(255,248,239,.86);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.2rem}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.3rem;color:var(--ink);text-decoration:none}
.brand img{width:2.3rem;height:2.3rem}
nav.links{display:flex;gap:1.3rem;align-items:center}
nav.links a{font-weight:600;text-decoration:none;color:var(--ink)}
nav.links a:hover{color:var(--plum)}

/* buttons */
.btns{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.4rem}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:1.05rem;padding:.85rem 1.4rem;border-radius:999px;text-decoration:none;transition:transform .15s,box-shadow .15s}
.btn.primary{background:var(--plum);color:#fff;box-shadow:0 .35rem 0 #3E1A60,0 .8rem 1.6rem rgba(91,42,134,.25)}
.btn.primary:hover{transform:translateY(-2px)}
.btn.ghost{background:#fff;color:var(--ink);border:2px solid var(--ink)}
.btn.soon{background:var(--ink);color:#fff;cursor:default}
.btn.soon small{font-weight:500;opacity:.8}

/* hero */
.hero{position:relative;padding:3rem 0 4.5rem;background:radial-gradient(60rem 30rem at 75% 10%,#FFE2B8 0%,rgba(255,226,184,0) 70%),radial-gradient(40rem 25rem at 0% 100%,#FFE9F1 0%,rgba(255,233,241,0) 70%)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.hero-art{position:relative;min-height:28rem;display:grid;place-items:center}
.hero-art .joules{width:min(22rem,80%);filter:drop-shadow(0 1.4rem 2.4rem rgba(200,110,40,.35));animation:bob 4s ease-in-out infinite}
.glow{position:absolute;inset:10% 8%;border-radius:50%;background:radial-gradient(circle,#FFE7B0 0%,rgba(255,231,176,0) 65%)}
.orb{position:absolute;width:var(--s,4rem);animation:float var(--d,6s) ease-in-out infinite;animation-delay:var(--dl,0s);filter:drop-shadow(0 .6rem 1rem rgba(0,0,0,.12))}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-14px) rotate(6deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* phone */
.phone{position:relative;width:var(--pw,17rem);aspect-ratio:540/1170;border-radius:2.6rem;background:#1E1428;padding:.55rem;box-shadow:0 2rem 4rem rgba(60,30,20,.28),inset 0 0 0 2px #3A2C48}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:2.1rem}
.phone::before{content:none}
.tilt-l{transform:rotate(-5deg)}
.tilt-r{transform:rotate(5deg)}

/* sections */
section{padding:4.5rem 0}
section.white{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.plum{background:linear-gradient(160deg,#4A1F70,#6B34A0);color:#fff}
section.plum .lede,section.plum .muted{color:#EBDDF7}
section.plum a{color:#FFE3A3}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.1rem}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.4rem 1.5rem;box-shadow:0 .5rem 1.4rem rgba(120,70,30,.06)}
.card p{margin:0;color:var(--soft)}
.icon{width:3rem;height:3rem;margin-bottom:.6rem}

/* unit of work */
.unit{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}
.unit .big{font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(4rem,10vw,7rem);line-height:1;color:var(--sun);text-shadow:0 .3rem 0 #E08A1E}
.unit .big small{display:block;font-size:.28em;color:#fff;text-shadow:none;letter-spacing:.04em;font-weight:600;margin-top:.4rem}

/* founder */
.note{display:grid;grid-template-columns:auto 1fr;gap:1.8rem;align-items:start;max-width:52rem;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:2rem;padding:2rem 2.2rem;box-shadow:0 1rem 2.4rem rgba(120,70,30,.08)}
.note img{width:5.5rem;height:5.5rem}
.note p{margin:.2rem 0 .8rem;font-size:1.08rem}
.sig{font-family:'Fredoka',sans-serif;font-weight:600;color:var(--plum)}

/* product feature */
.product{display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:2rem;padding:2.4rem;box-shadow:0 1rem 2.4rem rgba(120,70,30,.08)}
.product .phone{--pw:13rem}

/* day steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:2.2rem}
.step{text-align:center}
.step .phone{--pw:100%;max-width:13rem;margin:0 auto 1rem}
.num{display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--plum);color:#fff;font-weight:700;margin-bottom:.4rem}
.step p{margin:.2rem 0 0;color:var(--soft);font-size:.98rem}

/* features */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:2.2rem 0}
.feature.flip .text{order:2}
.feature .art{display:flex;justify-content:center}
.feature .phone{--pw:15rem}
.feature ul{padding-left:1.2rem;color:var(--soft)}
.feature li{margin:.3rem 0}

/* pricing */
.prices{display:grid;grid-template-columns:repeat(2,minmax(0,20rem));gap:1.2rem;justify-content:center;margin-top:2rem}
.price{background:#fff;color:var(--ink);border-radius:1.6rem;padding:1.8rem;text-align:center;position:relative}
.price .amt{font-family:'Fredoka',sans-serif;font-size:2.8rem;font-weight:700;line-height:1;margin:.4rem 0}
.price .once{color:var(--soft);font-weight:600}
.price ul{list-style:none;padding:0;margin:1rem 0 0;text-align:left;color:var(--soft)}
.price li{padding:.35rem 0 .35rem 1.6rem;position:relative}
.price li::before{content:'✓';position:absolute;left:0;color:#2E8B57;font-weight:700}
.price.best{outline:3px solid var(--sun)}
.tag{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);background:var(--sun);color:var(--ink);font-family:'Fredoka',sans-serif;font-weight:600;font-size:.85rem;padding:.25rem .8rem;border-radius:999px;white-space:nowrap}
.pills{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-top:1.6rem}
.pill{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:.45rem .9rem;border-radius:999px;font-weight:600;font-size:.95rem}

/* faq */
.faq{max-width:46rem;margin:1.5rem auto 0}
details{background:#fff;border:1px solid var(--line);border-radius:1.1rem;padding:0 1.2rem;margin:.6rem 0}
summary{cursor:pointer;font-weight:700;padding:1rem 0;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-family:'Fredoka',sans-serif;font-size:1.4rem;line-height:1;color:var(--plum)}
details[open] summary::after{content:'–'}
details p{margin:0 0 1rem;color:var(--soft)}

footer{padding:2.6rem 0 3rem;color:var(--soft);font-size:.92rem;text-align:center}
footer a{margin:0 .45rem}
footer .brand{justify-content:center;margin-bottom:.6rem}

/* responsive */
@media (max-width:860px){
  .hero .wrap,.feature,.product,.unit{grid-template-columns:1fr}
  .hero{padding-top:1.5rem}
  .hero-art{min-height:20rem;order:-1}
  .feature.flip .text{order:0}
  .feature .art{order:-1}
  .product{text-align:center}
  .product .phone{margin:0 auto}
  .steps{grid-template-columns:repeat(2,1fr)}
  .unit{text-align:center}
  .note{grid-template-columns:1fr;text-align:center;padding:1.6rem}
  .note img{margin:0 auto}
  .prices{grid-template-columns:1fr}
}
@media (max-width:420px){ nav.links{gap:.9rem} .brand span{display:none} .steps{gap:1rem} }
@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important;scroll-behavior:auto!important} }
