:root{--pink:#ff5c8a;--pink-d:#c92a5f;--pink-dd:#a81f4d;--blush:#ffe3ec;--coral:#ff7a59;--sun:#ffc83d;--sun-l:#fff1c4;--turq:#19c3b1;--mint:#dff7f1;--teal:#0b5f5c;--teal-d:#083f3d;--lilac:#9b7ede;--lilac-l:#efe8ff;--cream:#fff8ef;--ink:#1f2d2b;--muted:#4f5f5b;--line:#f1e3d3;--r:22px;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:1.0625rem/1.65 var(--sans);color:var(--ink);background:var(--cream)}
img,svg{max-width:100%}
a{color:var(--teal)}
a:hover{color:var(--pink-d)}
:focus-visible{outline:3px solid var(--lilac);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:10px 16px;border-radius:10px;z-index:99}
.skip:focus{left:8px}
.wrap{width:min(1120px,92%);margin-inline:auto}
h1,h2,h3{font-family:var(--serif);line-height:1.12;margin:0 0 .5em;color:var(--teal)}
h1{font-size:clamp(2.3rem,5.4vw,4.4rem);letter-spacing:-.02em}
h1 em{color:var(--pink-d);font-style:italic}
h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}
h3{font-size:1.28rem}
p{margin:0 0 1em}
.eyebrow{font:700 1.02rem/1.3 var(--serif);font-style:italic;color:var(--pink-d);margin-bottom:10px}
.lead{font-size:1.18rem;max-width:62ch}
.muted{color:var(--muted)}

/* header */
header.site{background:rgba(255,248,239,.94);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--teal);font:700 1.35rem/1.05 var(--serif)}
.brand small{display:block;font:italic 600 .82rem/1 var(--serif);color:var(--pink-d);margin-top:4px}
.brand svg{flex:none}
nav#nav{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;font-size:.93rem}
nav#nav a{text-decoration:none;font-weight:700;color:var(--ink);padding:6px 2px;border-bottom:3px solid transparent}
nav#nav a:hover{color:var(--pink-d)}
nav#nav a[aria-current="page"]{border-color:var(--pink)}
nav#nav a.lang{border:2px solid var(--teal);border-radius:999px;padding:5px 14px;color:var(--teal);margin-left:4px}
nav#nav a.lang:hover{background:var(--teal);color:#fff}
.nav-toggle{display:none;background:var(--teal);color:#fff;border:0;border-radius:12px;padding:10px 14px;font:700 .95rem var(--sans);cursor:pointer}

/* buttons */
.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:999px;padding:13px 26px;background:var(--pink-d);color:#fff;border:2px solid var(--pink-d);transition:transform .15s,background .15s}
.btn:hover{background:var(--pink-dd);border-color:var(--pink-dd);color:#fff;transform:translateY(-2px)}
.btn.alt{background:transparent;color:var(--teal);border-color:var(--teal)}
.btn.alt:hover{background:var(--teal);color:#fff}
.btn.sun{background:var(--sun);border-color:var(--sun);color:var(--teal-d)}
.btn.sun:hover{background:#ffd75e;border-color:#ffd75e;color:var(--teal-d)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}

/* hero */
.hero{padding:60px 0 70px;background:radial-gradient(60% 70% at 88% 12%,#ffd9e4 0,transparent 70%),radial-gradient(50% 60% at 6% 96%,#c9f3ea 0,transparent 70%),linear-gradient(160deg,#fff1e0,#ffe9ef 60%,#fff8ef);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero p.lead{margin-top:6px}
.hero-art{display:flex;justify-content:center}
.hero-art svg{width:min(430px,100%);height:auto;filter:drop-shadow(0 22px 30px rgba(168,31,77,.18))}
.tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.tag{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:700;color:var(--teal)}
.tag:nth-child(2){background:var(--sun-l)}
.tag:nth-child(3){background:var(--mint)}
.sway{transform-box:fill-box;transform-origin:50% 100%;animation:sway 7s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@media(prefers-reduced-motion:reduce){.sway{animation:none}html{scroll-behavior:auto}.btn{transition:none}}

.page-hero{padding:50px 0 54px;background:linear-gradient(120deg,var(--blush),var(--sun-l) 55%,var(--mint));position:relative;overflow:hidden}
.page-hero .wrap{display:grid;grid-template-columns:1fr 220px;gap:30px;align-items:center}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.4rem)}
.page-hero svg{width:100%;height:auto}
.crumbs{font-size:.85rem;margin-bottom:12px;color:var(--muted)}
.crumbs a{color:var(--muted)}

section.block{padding:66px 0}
.head{max-width:760px;margin:0 auto 38px;text-align:center}
.head p{color:var(--muted)}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:0 10px 26px rgba(11,95,92,.06);display:flex;flex-direction:column}
.card .ic{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;margin-bottom:16px;background:var(--blush)}
.card:nth-child(3n+2) .ic{background:var(--sun-l)}
.card:nth-child(3n) .ic{background:var(--mint)}
.card p{color:var(--muted);font-size:.98rem;flex:1}
.card a.more{font-weight:700;text-decoration:none}
.card a.more{text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:3px;text-underline-offset:4px}

.band{background:var(--teal);color:#fff}
.band h2,.band h3{color:#fff}
.band p{color:#dff7f1}
.band .eyebrow{color:var(--sun)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);border-radius:16px;padding:14px 16px;font-size:.95rem}
.check b{display:block;color:var(--sun)}

/* steps */
ol.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:20px}
ol.steps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 24px;position:relative}
ol.steps li:before{content:counter(s);position:absolute;top:-18px;left:22px;width:40px;height:40px;border-radius:50%;background:var(--pink-d);color:#fff;font:700 1.15rem/40px var(--serif);text-align:center}
ol.steps li:nth-child(2):before{background:var(--teal)}
ol.steps li:nth-child(3):before{background:var(--lilac)}
ol.steps li:nth-child(4):before{background:var(--coral)}
ol.steps li:nth-child(5):before{background:#1aa595}
ol.steps h3{margin-top:6px}
ol.steps p{color:var(--muted);margin:0;font-size:.98rem}

/* seasons */
.seasons{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px}
.season{border-radius:var(--r);padding:22px;color:var(--ink)}
.season b{display:block;font:700 1.15rem var(--serif);color:var(--teal-d);margin-bottom:4px}
.season span{font-size:.92rem}
.s1{background:#ffd3df}.s2{background:var(--sun-l)}.s3{background:var(--lilac-l)}.s4{background:var(--mint)}

/* lists */
ul.tick{list-style:none;margin:0 0 1em;padding:0}
ul.tick li{padding-left:30px;position:relative;margin:.5em 0}
ul.tick li:before{content:"";position:absolute;left:0;top:.5em;width:16px;height:16px;border-radius:50%;background:var(--pink);box-shadow:6px 0 0 -3px var(--sun)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px}
.panel.tint{background:var(--blush)}

/* faq */
details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 22px;margin:0 0 12px}
details[open]{border-color:var(--pink)}
summary{cursor:pointer;font:700 1.1rem var(--serif);color:var(--teal);padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:14px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";color:var(--pink-d);font-size:1.5rem;line-height:1}
details[open] summary:after{content:"–"}
details p{color:var(--muted);padding-bottom:6px}

/* cta */
.cta{background:linear-gradient(120deg,#ffd3df,var(--sun-l) 55%,var(--mint));text-align:center;padding:66px 0}
.cta p{max-width:640px;margin:0 auto 22px}

/* contact */
.contact{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:start}
form.f{display:grid;gap:16px}
form.f .two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-weight:700;font-size:.92rem;display:block;margin-bottom:5px;color:var(--teal-d)}
input,select,textarea{width:100%;font:inherit;padding:12px 14px;border:2px solid #e8d9c8;border-radius:14px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px rgba(255,92,138,.18)}
textarea{min-height:140px;resize:vertical}
.info{display:grid;gap:12px}
.info div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 18px}
.info b{display:block;font:700 .95rem var(--serif);color:var(--pink-d)}
.info a{font-weight:700;text-decoration:none}
.note{font-size:.9rem;color:var(--muted)}

footer.site{background:var(--teal-d);color:#d6efe9;padding:52px 0 26px;font-size:.95rem}
footer.site a{color:#fff;text-decoration:none}
footer.site a:hover{color:var(--sun);text-decoration:underline}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
footer h2{font:700 1.1rem var(--serif);color:var(--sun);margin-bottom:12px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.copy{border-top:1px solid rgba(255,255,255,.16);margin-top:30px;padding-top:18px;font-size:.85rem;text-align:center}

@media(max-width:900px){
 .hero-grid,.split,.contact,.cols,.fgrid{grid-template-columns:1fr}
 .hero{padding:40px 0 50px}
 .hero-art{order:-1}.hero-art svg{width:min(210px,60%)}
 .page-hero .wrap{grid-template-columns:1fr}
 .page-hero svg{display:none}
 .nav-toggle{display:block}
 .js nav#nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--line);padding:14px 4%;flex-direction:column;align-items:flex-start;gap:4px}
 .js nav#nav.open{display:flex}
 header.site{position:sticky}
 .bar{position:relative}
}
@media(max-width:560px){
 section.block{padding:48px 0}
 .checks,form.f .two{grid-template-columns:1fr}
 .brand{font-size:1.2rem}
}
.tintsec{background:linear-gradient(180deg,#fff,var(--blush) 140%)}
