:root{
  --ink:#062d3b;
  --cream:#f8f3e8;
  --cream-2:#fffaf1;
  --blue:#6da7ff;
  --blue-deep:#417fe8;
  --pink:#f4a9d0;
  --pink-hot:#ef82b8;
  --peach:#ffc7ad;
  --yellow:#ffd866;
  --mint:#bfe8cd;
  --white:#fffdf7;
  --line:rgba(6,45,59,.14);
  --shadow:0 24px 60px rgba(6,45,59,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:#e9e4da;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
.wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}
.site-shell{margin:14px;background:var(--cream);border-radius:28px;overflow:hidden;box-shadow:0 10px 30px rgba(6,45,59,.06)}

/* Header */
.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:.98rem;font-weight:900;letter-spacing:-.035em;text-transform:lowercase}
.brand-dot{width:12px;height:12px;border-radius:50%;background:var(--ink);box-shadow:16px 0 0 -4px var(--ink);display:inline-block}
.nav{display:flex;align-items:center;gap:28px;font-size:.82rem;font-weight:760}
.nav a{text-decoration:none;position:relative}
.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--ink);transition:right .25s ease}
.nav a:not(.nav-cta):hover::after{right:0}
.nav-cta{background:var(--ink);color:var(--white);padding:12px 18px;border-radius:999px;transition:transform .2s ease,box-shadow .2s ease}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(6,45,59,.18)}

/* Hero */
.hero{
  min-height:min(900px,calc(100vh - 28px));
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 72% 86%,rgba(255,232,156,.58),transparent 20%),
    radial-gradient(circle at 26% 65%,rgba(249,171,215,.56),transparent 30%),
    linear-gradient(180deg,#5f9dff 0%,#7f9df2 40%,#e79ed4 75%,#f7b1d3 100%);
}
.sky-noise{position:absolute;inset:0;z-index:-5;opacity:.38;background-image:radial-gradient(circle,rgba(255,255,255,.7) 1px,transparent 1.4px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 76%)}
.hero-content{position:relative;z-index:7;display:flex;flex-direction:column;align-items:center;text-align:center;padding:116px 0 160px}
.kicker,.eyebrow{margin:0 0 16px;text-transform:uppercase;font-size:.72rem;line-height:1;font-weight:900;letter-spacing:.16em}
.kicker{display:inline-flex;padding:9px 13px;border-radius:999px;background:rgba(255,253,247,.45);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.45)}
h1,h2,h3{margin-top:0;letter-spacing:-.055em}
h1{font-size:clamp(4.1rem,9.3vw,9rem);line-height:.83;margin-bottom:34px;font-weight:950;max-width:1150px}
.hero-line{display:block}
.hero-pop{display:inline-block;position:relative;z-index:1;margin-top:12px;padding:0 .1em;transform:rotate(-2deg)}
.hero-pop::before{content:"";position:absolute;inset:8% -2% 2%;z-index:-1;background:var(--cream);border-radius:45% 55% 52% 48% / 58% 45% 55% 42%;transform:rotate(1deg);box-shadow:0 5px 0 rgba(6,45,59,.05)}
.hero-copy{max-width:720px;margin:0 auto 30px;font-size:clamp(1.02rem,1.7vw,1.23rem);font-weight:610;line-height:1.55}
.hero-actions{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;gap:10px;text-decoration:none;border-radius:999px;padding:15px 21px;font-size:.9rem;font-weight:850;transition:transform .2s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-2px)}
.button-dark{background:var(--ink);color:var(--white);box-shadow:0 10px 24px rgba(6,45,59,.2)}
.text-link{font-size:.88rem;font-weight:850;text-decoration:none;border-bottom:1px solid rgba(6,45,59,.55);padding-bottom:2px}

.hero-sticker{position:absolute;z-index:9;padding:10px 16px;border-radius:999px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 8px 20px rgba(6,45,59,.1)}
.sticker-1{left:7%;top:35%;background:var(--yellow);transform:rotate(-9deg)}
.sticker-2{right:7%;top:38%;background:var(--mint);transform:rotate(8deg)}

/* CSS cloud clusters */
.cloud{position:absolute;z-index:2;width:330px;height:165px;border-radius:50%;filter:drop-shadow(0 12px 25px rgba(62,73,139,.12));background:radial-gradient(circle at 50% 40%,#fffdf4 0 38%,#f8dfe3 78%,#e7d7e9 100%)}
.cloud::before,.cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}
.cloud::before{width:180px;height:180px;left:40px;top:-76px}
.cloud::after{width:210px;height:210px;right:25px;top:-98px}
.cloud-a{left:-120px;bottom:-55px;transform:scale(1.55) rotate(3deg)}
.cloud-b{right:-92px;bottom:-72px;transform:scale(1.72) rotate(-5deg)}
.cloud-c{left:9%;top:17%;transform:scale(.55) rotate(-8deg);opacity:.74}
.cloud-d{right:13%;top:15%;transform:scale(.48) rotate(8deg);opacity:.68}

/* Shared sections */
.section{padding:112px 0}
.eyebrow{color:rgba(6,45,59,.62)}
.eyebrow-light{color:rgba(255,253,247,.7)}
h2{font-size:clamp(2.65rem,5.7vw,5.8rem);line-height:.94;margin-bottom:26px;font-weight:930}
h3{font-size:clamp(1.7rem,2.7vw,2.4rem);line-height:1;margin-bottom:14px;font-weight:900}
p{margin-top:0}
.body-large{font-size:clamp(1.35rem,2.3vw,2rem);line-height:1.35;font-weight:790;letter-spacing:-.025em}

/* Statement */
.statement{background:var(--cream)}
.statement-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:90px;align-items:start}
.statement-body{padding-top:56px;font-size:1.05rem}
.statement-body p:last-child{max-width:600px;color:rgba(6,45,59,.74)}
.marquee{margin-top:100px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;transform:rotate(-1.4deg);background:var(--yellow)}
.marquee-track{display:flex;align-items:center;width:max-content;gap:28px;white-space:nowrap;animation:marquee 26s linear infinite;font-size:clamp(1.15rem,2.5vw,2rem);font-weight:950;letter-spacing:-.03em}
.marquee-track i{font-style:normal;font-size:.8em}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Cards */
.cards-section{background:#fffaf2}
.section-heading{max-width:820px;margin-bottom:58px}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card{position:relative;min-height:430px;padding:30px;border-radius:34px;border:1px solid rgba(6,45,59,.08);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.55);transition:transform .25s ease,box-shadow .25s ease}
.feature-card:hover{transform:translateY(-6px) rotate(-.35deg);box-shadow:var(--shadow)}
.feature-card p{font-size:1rem;color:rgba(6,45,59,.76);max-width:31ch}
.card-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:rgba(255,253,247,.6);border:1px solid rgba(6,45,59,.12);font-size:.78rem;font-weight:950}
.card-yellow{background:var(--yellow)}
.card-pink{background:var(--pink)}
.card-blue{background:#a9c7ff}
.card-scribble{position:absolute;right:24px;top:23px;font-size:4rem;line-height:1;opacity:.16;font-weight:900;transform:rotate(9deg)}

/* Vacation */
.vacation{background:var(--cream)}
.vacation-card{position:relative;min-height:640px;border-radius:40px;overflow:hidden;background:linear-gradient(160deg,#366fdb 0%,#7999ef 38%,#eda5d1 72%,#f7b5c7 100%);box-shadow:var(--shadow);display:grid;align-items:center;padding:72px 7%;isolation:isolate}
.vacation-card::before{content:"";position:absolute;inset:0;z-index:-3;background-image:radial-gradient(circle,rgba(255,255,255,.65) .9px,transparent 1.3px);background-size:44px 44px;opacity:.28}
.vacation-copy{position:relative;z-index:5;max-width:780px;color:var(--white)}
.vacation-copy h2{max-width:900px}
.vacation-copy p:not(.eyebrow){max-width:650px;font-size:1.06rem;color:rgba(255,253,247,.87)}
.button-cream{background:var(--cream);color:var(--ink);margin-top:12px}
.vacation-cloud{position:absolute;z-index:1;width:360px;height:170px;border-radius:50%;background:radial-gradient(circle at 45% 38%,#fffdf7 0 34%,#f3dede 74%,#d5cae7 100%);filter:drop-shadow(0 14px 28px rgba(35,50,117,.15))}
.vacation-cloud::before,.vacation-cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}
.vacation-cloud::before{width:190px;height:190px;left:35px;top:-78px}.vacation-cloud::after{width:220px;height:220px;right:24px;top:-105px}
.vc-a{right:-140px;bottom:20px;transform:scale(1.35)}
.vc-b{left:-185px;top:90px;transform:scale(.9)}
.orbit-badge{position:absolute;right:8%;top:11%;z-index:4;width:130px;height:130px;border:2px solid rgba(255,253,247,.65);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--white);transform:rotate(8deg);backdrop-filter:blur(4px);background:rgba(255,255,255,.06)}
.orbit-badge::before{content:"";position:absolute;inset:-12px;border:1px dashed rgba(255,253,247,.36);border-radius:50%}
.orbit-badge span{font-size:3.2rem;font-weight:950;line-height:.8;letter-spacing:-.07em}.orbit-badge small{font-size:.65rem;font-weight:900;letter-spacing:.18em;margin-top:9px}

/* Questions */
.questions{background:#fffaf2}
.questions-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.question-art{position:relative;min-height:590px;border-radius:38px;overflow:hidden;background:linear-gradient(#7fa8f2,#f3add2 66%,#f8c5a8);box-shadow:var(--shadow)}
.question-art::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.6) 1px,transparent 1.3px);background-size:39px 39px;opacity:.28}
.question-art p{position:absolute;z-index:7;left:38px;top:40px;font-size:clamp(2.4rem,4.5vw,4.6rem);line-height:.84;font-weight:950;letter-spacing:-.06em;transform:rotate(-4deg)}
.sun{position:absolute;z-index:2;width:130px;height:130px;border-radius:50%;background:var(--yellow);right:55px;top:55px;box-shadow:0 0 0 20px rgba(255,216,102,.16)}
.hill{position:absolute;z-index:4;border-radius:52% 48% 0 0/70% 70% 0 0;bottom:-55px}
.hill-1{left:-80px;width:120%;height:300px;background:#78b693;transform:rotate(3deg)}
.hill-2{right:-60px;width:80%;height:220px;background:#2f7a70;transform:rotate(-5deg)}
.mini-cloud{position:absolute;z-index:5;width:170px;height:80px;border-radius:50%;background:#fff6ec;filter:drop-shadow(0 8px 15px rgba(70,64,118,.12))}
.mini-cloud::before,.mini-cloud::after{content:"";position:absolute;border-radius:50%;background:inherit}.mini-cloud::before{width:88px;height:88px;left:24px;top:-36px}.mini-cloud::after{width:105px;height:105px;right:18px;top:-48px}
.mini-cloud-1{right:-35px;top:255px;transform:scale(.9)}.mini-cloud-2{left:-45px;bottom:170px;transform:scale(.72)}
.question-copy p:not(.eyebrow){font-size:1.04rem;max-width:670px;color:rgba(6,45,59,.76)}
.check-list{list-style:none;padding:0;margin:32px 0 0;border-top:1px solid var(--line)}
.check-list li{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid var(--line);font-weight:760}
.check-list span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--mint);font-size:.75rem}

/* Contact */
.contact-section{background:var(--cream);padding-top:68px}
.contact-card{background:var(--ink);color:var(--white);border-radius:40px;padding:70px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end;position:relative;overflow:hidden}
.contact-card::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-170px;top:-170px;background:radial-gradient(circle at 38% 35%,var(--pink) 0 34%,var(--blue) 70%,transparent 71%);opacity:.9;filter:blur(.2px)}
.contact-card h2{position:relative;z-index:2;max-width:820px;margin-bottom:0}.contact-action{position:relative;z-index:3}.contact-action p{color:rgba(255,253,247,.72);font-size:.98rem}.button-pink{background:var(--pink);color:var(--ink);max-width:100%;word-break:break-word}

/* Footer */
.footer{background:var(--cream);padding:34px 0 44px}
.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:28px;font-size:.82rem;color:rgba(6,45,59,.7)}
.footer p{margin:0;text-align:center}.footer>a,.footer-inner>a:last-child{justify-self:end}.footer-brand{justify-self:start;color:var(--ink)}

/* Privacy */
.policy-hero{min-height:330px;background:linear-gradient(145deg,#6fa5fb 0%,#f0a6d0 80%);position:relative;overflow:hidden}
.policy-hero::after{content:"";position:absolute;width:340px;height:160px;border-radius:50%;right:-40px;bottom:-55px;background:#fff6ec;box-shadow:-60px -50px 0 -5px #fbe2e0,-130px -20px 0 -18px #fff6ec;opacity:.82}
.policy-title{padding:80px 0;position:relative;z-index:2}.policy-title h1{font-size:clamp(3.7rem,8vw,7rem);margin:0;line-height:.9}.policy-main{background:#fffaf2;padding:90px 0}.prose{width:min(760px,100%);font-size:1rem}.prose h2{font-size:1.65rem;line-height:1.1;margin:46px 0 12px}.prose p{color:rgba(6,45,59,.76)}.prose a{font-weight:780}

/* Reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.marquee-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.feature-card,.button,.nav-cta{transition:none}
}

@media (max-width:980px){
  .site-shell{margin:8px;border-radius:22px}
  .wrap{width:min(100% - 34px,1180px)}
  .nav a:not(.nav-cta){display:none}
  .hero{min-height:820px}
  .hero-content{padding:105px 0 160px}
  .sticker-1{left:4%;top:29%}.sticker-2{right:4%;top:31%}
  .statement-grid,.questions-grid,.contact-card{grid-template-columns:1fr;gap:44px}
  .statement-body{padding-top:0}
  .cards-grid{grid-template-columns:1fr}
  .feature-card{min-height:330px}
  .question-art{min-height:520px;order:2}.question-copy{order:1}
  .contact-card{padding:56px 44px}.contact-action{max-width:620px}
  .footer-inner{grid-template-columns:1fr 1fr}.footer p{display:none}
}

@media (max-width:640px){
  .wrap{width:min(100% - 24px,1180px)}
  .site-header{min-height:72px}.brand{font-size:.9rem}.nav-cta{padding:10px 14px;font-size:.74rem}
  .hero{min-height:760px}
  .hero-content{padding:94px 0 126px;align-items:flex-start;text-align:left}
  h1{font-size:clamp(3.45rem,17vw,5.3rem);line-height:.82;margin-bottom:28px}
  .hero-pop{margin-top:8px}
  .hero-copy{font-size:1rem;margin-left:0}
  .hero-actions{justify-content:flex-start;gap:16px}
  .text-link{font-size:.8rem}
  .cloud-a{left:-185px;bottom:-70px;transform:scale(1.15)}.cloud-b{right:-190px;bottom:-85px;transform:scale(1.2)}
  .cloud-c,.cloud-d{display:none}
  .hero-sticker{font-size:.58rem;padding:8px 12px}.sticker-1{left:auto;right:8%;top:27%;transform:rotate(7deg)}.sticker-2{display:none}
  .section{padding:76px 0}
  h2{font-size:clamp(2.55rem,12vw,4rem)}
  .statement-grid{gap:28px}.marquee{margin-top:66px;padding:15px 0}
  .section-heading{margin-bottom:36px}
  .feature-card{padding:24px;border-radius:27px;min-height:320px}
  .vacation-card{min-height:650px;border-radius:30px;padding:48px 28px;align-items:end}.vacation-copy{padding-top:155px}.vacation-copy h2{font-size:clamp(2.6rem,12vw,4.1rem)}
  .orbit-badge{right:24px;top:26px;width:104px;height:104px}.orbit-badge span{font-size:2.6rem}
  .vc-a{right:-230px;bottom:18px;transform:scale(1.05)}.vc-b{left:-235px;top:105px;transform:scale(.72)}
  .question-art{min-height:470px;border-radius:28px}.question-art p{left:24px;top:28px;font-size:clamp(2.5rem,14vw,4.3rem)}.sun{width:95px;height:95px;right:28px;top:40px}
  .contact-section{padding-top:36px}.contact-card{padding:42px 26px;border-radius:30px;gap:30px}.contact-card::after{width:280px;height:280px;right:-125px;top:-105px}.button-pink{font-size:.78rem;padding:14px 16px}
  .footer{padding-bottom:32px}.footer-inner{grid-template-columns:1fr;justify-items:start}.footer-inner>a:last-child{justify-self:start}.footer-brand{justify-self:start}
  .policy-title{padding:65px 0}.policy-main{padding:65px 0}
}
