:root{--cream:#F5EAD8;--sand:#EBDDC5;--terra:#C67139;--sage:#7A8A5E;--teal:#1897A2;--ink:#201E1D;--sun:#F6B941;--coral:#EE6F57;--berry:#D9577E;--mint:#5FC4B0;--soft:#6B5A4C}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.65 Figtree,system-ui,sans-serif}
h1,h2,h3{font-family:Caprasimo,Georgia,serif;font-weight:400;line-height:1.15;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.4rem,5vw,4rem)}h2{font-size:clamp(1.9rem,3.5vw,2.7rem)}h3{font-size:1.35rem}
a{color:var(--teal)}img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-family:Caprasimo;font-size:1.35rem}
.brand img{width:44px;height:44px;border-radius:12px}
.nav ul{list-style:none;display:flex;gap:6px;margin:0;padding:0}
.nav ul a{display:block;padding:8px 16px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600}
.nav ul a:hover{background:var(--sand)}.nav ul a[aria-current]{background:var(--terra);color:#fff}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--terra);color:#fff;text-decoration:none;font-weight:700;padding:15px 26px;border-radius:999px;box-shadow:0 4px 0 #9d5527;transition:transform .15s}
.btn:hover{transform:translateY(-2px)}.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:40px 0 80px}
.eyebrow{display:inline-block;background:#fff;color:var(--sage);font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:18px}
.lead{font-size:1.2rem;color:var(--soft);max-width:34em}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 14px}
.small{font-size:.92rem;color:var(--soft)}
.ollie{position:relative}.ollie img{border-radius:50%;transform:rotate(-3deg)}
.ollie .bubble{position:absolute;left:-10px;bottom:30px;background:#fff;padding:14px 20px;border-radius:24px 24px 24px 6px;font-weight:600;box-shadow:0 10px 30px #3b2e2514}
.band{background:var(--sand);border-radius:48px;padding:72px 0;margin:0 12px}
.center{text-align:center}.center .lead{margin:0 auto}
.friends{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:40px}
.friend{text-align:center}.friend img{border-radius:50%;background:#fff;padding:8px}.friend b{display:block;margin-top:10px;font-family:Caprasimo;font-weight:400;font-size:1.2rem}.friend span{font-size:.9rem;color:var(--soft)}
section{padding:80px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:40px}
.card{background:#fff;border-radius:28px;padding:28px;box-shadow:0 2px 0 #3b2e250d}
.card p{margin:0;color:var(--soft)}
.dot{width:46px;height:46px;border-radius:16px 16px 16px 4px;margin-bottom:16px}
.t{background:#1897A226}.s{background:#7A8A5E33}.c{background:#C6713926}
.shots{display:flex;gap:24px;margin-top:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 24px 28px;scrollbar-width:thin}
.phone{flex:0 0 230px;margin:0;scroll-snap-align:center;text-align:center}.phone img{width:100%;height:auto;display:block;border-radius:34px;border:8px solid #2b211b;box-shadow:0 20px 40px #3b2e2518;background:#2b211b}.phone figcaption{margin-top:12px;font-weight:700;color:var(--soft)}
.trust{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;background:#fff;border-radius:32px;padding:36px;border:2px dashed var(--sage)}
.trust .seal{width:88px;height:88px;border-radius:50%;background:var(--sage);color:#fff;display:grid;place-items:center;font-family:Caprasimo;font-size:2rem}
.note{background:#1897A214;border-left:5px solid var(--teal);padding:16px 20px;border-radius:0 16px 16px 0;margin-top:22px}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,360px));gap:24px;justify-content:center;margin-top:40px}
.plan{background:#fff;border-radius:32px;padding:36px;text-align:center}.plan.best{box-shadow:inset 0 0 0 3px var(--terra)}
.price{font-family:Caprasimo;font-size:3rem}.price small{font-family:Figtree;font-size:1rem;color:var(--soft)}
.tag{display:inline-block;background:var(--terra);color:#fff;font-weight:700;font-size:.8rem;padding:4px 12px;border-radius:999px}
details{background:#fff;border-radius:20px;padding:20px 24px;margin-bottom:12px}
summary{cursor:pointer;font-weight:700;font-size:1.08rem;list-style:none}summary::after{content:"+";float:right;color:var(--terra);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"–"}details p{color:var(--soft);margin:.7em 0 0}
.faq{max-width:780px;margin:40px auto 0}
.contact{background:var(--terra);color:#fff;border-radius:36px;padding:48px;text-align:center}.contact h2{color:#fff}
.contact a.mail{color:#fff;font-weight:700;font-size:1.3rem}
.placeholder{background:#fff;border:3px dashed var(--terra);border-radius:24px;padding:28px;margin:28px 0}
.legal{max-width:780px;margin:0 auto;padding:40px 24px 80px}
footer{padding:40px 0;border-top:2px solid var(--sand);margin-top:40px}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--soft);font-size:.95rem}
footer a{color:var(--soft);margin-left:18px}
@media(max-width:820px){.hero{grid-template-columns:1fr;padding-top:10px}.ollie{max-width:340px;margin:0 auto}.friends{grid-template-columns:repeat(3,1fr)}.plans{grid-template-columns:1fr}.phone{flex-basis:200px}.trust{grid-template-columns:1fr;text-align:center}.trust .seal{margin:0 auto}.band{border-radius:32px;margin:0 8px}section{padding:56px 0}.nav ul a{padding:6px 11px;font-size:.95rem}}

/* ---- playful layer ---- */
body{overflow-x:hidden;position:relative}
body::before,body::after{content:"";position:fixed;z-index:-1;border-radius:46% 54% 60% 40%/50% 42% 58% 50%;filter:blur(2px);opacity:.55;animation:blob 18s ease-in-out infinite alternate}
body::before{width:420px;height:420px;background:radial-gradient(circle at 30% 30%,#F6B941,#EE6F57 70%);top:-140px;right:-120px}
body::after{width:360px;height:360px;background:radial-gradient(circle at 60% 40%,#5FC4B0,#1897A2 75%);bottom:-140px;left:-120px;animation-delay:-6s}
@keyframes blob{to{transform:translate(30px,40px) rotate(25deg) scale(1.08);border-radius:58% 42% 45% 55%/45% 60% 40% 55%}}
@keyframes bob{50%{transform:translateY(-10px) rotate(-2deg)}}
@keyframes wiggle{50%{transform:rotate(6deg)}}
.hero h1{background:linear-gradient(100deg,var(--ink) 55%,var(--terra));-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{box-shadow:3px 3px 0 var(--sun);border:2px solid var(--ink);color:var(--ink);transform:rotate(-1.5deg)}
.ollie::before{content:"";position:absolute;inset:6% 4%;background:var(--sun);border-radius:42% 58% 52% 48%/55% 45% 55% 45%;z-index:-1;animation:blob 9s ease-in-out infinite alternate}
.ollie img{animation:bob 5s ease-in-out infinite;border:6px solid #fff;box-shadow:8px 8px 0 var(--teal)}
.ollie .bubble{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--coral)}
.ollie::after{content:"★";position:absolute;top:2%;right:6%;font-size:2.6rem;color:var(--berry);animation:wiggle 3s ease-in-out infinite}
.btn{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.btn.soon{background:var(--teal);cursor:default;user-select:none}.btn.soon:hover{transform:none}
.band{background:linear-gradient(160deg,var(--sand),#F3D9B8);position:relative;overflow:hidden}
.band::before{content:"";position:absolute;width:180px;height:180px;background:var(--coral);opacity:.25;border-radius:50%;top:-50px;left:8%}
.band::after{content:"";position:absolute;width:140px;height:140px;background:var(--mint);opacity:.3;border-radius:40% 60% 30% 70%;bottom:-40px;right:6%}
.band>*{position:relative;z-index:1}
.friend img{border:4px solid var(--ink);padding:0;aspect-ratio:1;object-fit:cover;object-position:top;transition:transform .25s}
.friend:nth-child(1) img{background:#FBD3DE;box-shadow:5px 5px 0 var(--berry)}
.friend:nth-child(2) img{background:#FCE7A8;box-shadow:5px 5px 0 var(--sun)}
.friend:nth-child(3) img{background:#CDEBF0;box-shadow:5px 5px 0 var(--teal)}
.friend:nth-child(4) img{background:#D6EBC9;box-shadow:5px 5px 0 var(--sage)}
.friend:nth-child(5) img{background:#FFD9C2;box-shadow:5px 5px 0 var(--coral)}
.friend:hover img{transform:rotate(-5deg) scale(1.05)}
.card{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translate(-2px,-2px) rotate(-.6deg);box-shadow:8px 8px 0 var(--terra)}
.dot{border:2px solid var(--ink)}.t{background:var(--mint)}.s{background:var(--sun)}.c{background:var(--coral)}
.card:nth-child(3n+2) .dot{border-radius:50%}.card:nth-child(3n) .dot{border-radius:6px;transform:rotate(12deg)}
.trust{border-color:var(--teal)}.trust .seal{box-shadow:4px 4px 0 var(--ink);border:2px solid var(--ink);animation:wiggle 4s ease-in-out infinite}
.plan{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.plan.best{box-shadow:6px 6px 0 var(--terra);background:#FFF8EC}
.tag{transform:rotate(-4deg);background:var(--berry)}
.legal{background:#fffaf2;border:2px solid var(--ink);border-radius:32px;box-shadow:8px 8px 0 var(--sun);margin:20px auto 40px;padding:44px 48px}
.legal-body h2{font-size:1.5rem;color:var(--terra);margin-top:1.6em;padding-top:.6em;border-top:2px dashed var(--sand)}
.legal-body h3{font-size:1.15rem;color:var(--sage)}.legal-body p,.legal-body li{color:var(--ink)}.legal-body li{margin:.3em 0}
.legal-body ul{padding-left:1.3em}.legal-body li::marker{color:var(--teal)}
.legal-body table{border-collapse:collapse;width:100%;font-size:.95rem}.legal-body td,.legal-body th{border:1px solid var(--sand);padding:8px;text-align:left}
@media(max-width:820px){.legal{padding:28px 22px;margin:10px 12px 30px;border-radius:24px}body::before{width:260px;height:260px}body::after{width:220px;height:220px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
