/* OCD planet (/ocd/): shared look. A soft dawn: warm cream and pearl, pale sky blue, sage and teal, a little gold light.
   Rounded type: Nunito (SIL OFL, vendored in /fonts) with the site's Cormorant Garamond for quiet italic lines.
   Motion is soft and slow; nothing pulses faster than once every few seconds. */
@font-face{font-family:"Nunito";src:url(/fonts/nunito-var.woff2) format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/fonts/cormorant-400i.woff) format("woff");font-weight:400 700;font-style:italic;font-display:swap}
:root{--a:#2f8f88;--a2:#25766f;--hot:#2f8f88;--amb:#a8701c;--gold:#e9b85c;--sage:#8fb89a;--sky:#bcdcea;--p:#1f3a44;--ink:#2c4750;--mute:#56707a;--dim:#7c9097;
 --edge:rgba(47,120,128,.16);--line:rgba(47,120,128,.16);--v:#a8701c;--card:rgba(255,255,255,.7);--shadow:0 10px 30px rgba(52,96,110,.10),0 1px 2px rgba(52,96,110,.06);
 --disp:"Nunito",ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--sans:"Nunito",ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--serif:"Cormorant Garamond",Georgia,serif;
 --r:24px;--r-s:16px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;min-height:100vh;min-height:100dvh;background:#f6efe4;color:var(--ink);font:400 17px/1.55 var(--sans);overflow-x:hidden}
#osky{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}
main{position:relative;z-index:1;margin:0 auto;padding:max(46px,calc(env(safe-area-inset-top) + 40px)) 18px calc(70px + env(safe-area-inset-bottom));max-width:640px;text-align:center}
html body .smenu-btn{color:#2c4a52;opacity:.55}
.eyebrow{margin:0 0 6px;font:700 12px/1.2 var(--disp);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
.eyebrow a{color:inherit;text-decoration:none}
.eyebrow::before,.eyebrow::after{content:'';display:inline-block;width:18px;height:2px;border-radius:2px;margin:0 10px 3px;background:var(--gold);vertical-align:middle}
h1{margin:0 0 8px;font:800 clamp(48px,13vw,80px)/1 var(--disp);letter-spacing:-.01em;color:var(--p)}
.lead{margin:0 auto 22px;max-width:440px;color:var(--mute);font-size:17px}
.sec{display:flex;align-items:center;gap:12px;margin:30px 2px 12px;font:700 12px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.sec::before,.sec::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(47,120,128,.25),transparent)}
a{color:var(--a2)}
.pl{display:block;width:210px;height:210px;margin:-26px auto -4px;animation:fl 10s ease-in-out infinite alternate,inn 1.8s cubic-bezier(.2,.8,.2,1) both}
@keyframes fl{to{transform:translateY(-6px)}}@keyframes inn{from{opacity:0;transform:scale(.9)}}
.up{animation:up 1.2s .2s both}@keyframes up{from{opacity:0;transform:translateY(10px)}}
.hz{height:2px;margin:0 auto;max-width:160px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--gold),var(--sage),transparent)}
.card{position:relative;border-radius:var(--r);background:var(--card);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:24px 20px}
/* hub cards */
.feat{position:relative;display:block;text-decoration:none;color:var(--ink);padding:24px 20px 22px;border-radius:var(--r);background:radial-gradient(90% 70% at 50% 0%,rgba(233,184,92,.22),transparent 70%),rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow);transition:transform .6s cubic-bezier(.22,.8,.24,1),box-shadow .6s;-webkit-tap-highlight-color:transparent}
.feat:hover,.feat:focus-visible{transform:translateY(-3px);box-shadow:0 16px 40px rgba(52,96,110,.16);outline:none}
.feat .k{font:700 12px/1 var(--disp);letter-spacing:.2em;text-transform:uppercase;color:var(--amb)}
.feat h2{margin:8px 0 6px;font:800 clamp(30px,8vw,40px)/1.05 var(--disp);color:var(--p)}
.feat p{margin:0 auto;max-width:390px;font-size:16px;color:var(--mute)}
.feat .cta{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:12px 24px;border-radius:999px;background:linear-gradient(180deg,#3aa39a,#2a8079);color:#fff;font:700 15px/1 var(--disp);letter-spacing:.02em;box-shadow:0 6px 16px rgba(42,128,121,.25)}
.feat.alt{background:radial-gradient(90% 70% at 50% 0%,rgba(143,184,154,.25),transparent 70%),rgba(255,255,255,.72)}
.feat.alt .k{color:var(--a2)}.feat.alt .cta{background:#fff;color:var(--a2);box-shadow:inset 0 0 0 1.5px rgba(47,143,136,.45)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tc{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:124px;padding:16px 10px;border-radius:var(--r-s);text-decoration:none;color:var(--ink);background:var(--card);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);transition:transform .5s cubic-bezier(.22,.8,.24,1),box-shadow .5s;-webkit-tap-highlight-color:transparent}
.tc:hover,.tc:focus-visible{transform:translateY(-3px);box-shadow:0 14px 34px rgba(52,96,110,.16);outline:none}
.tc:active{transform:scale(.97)}
.tc svg{width:34px;height:34px;stroke:var(--a);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tc b{font:700 18px/1.1 var(--disp);color:var(--p)}
.tc small{font-size:14px;line-height:1.25;color:var(--mute)}
.tc.v svg{stroke:var(--amb)}
.note{margin:26px auto 0;max-width:470px;font-size:15px;color:var(--mute)}
.note a{color:var(--a2)}
footer.cr{margin-top:14px;font-size:14px;color:var(--dim)}footer.cr a{color:var(--ink)}
a.back{display:table;margin:26px auto 0;color:var(--mute);text-decoration:none;font:700 14px/1 var(--disp);letter-spacing:.04em;border-bottom:2px solid rgba(233,184,92,.7);padding-bottom:5px}
a.back:hover,a.back:focus-visible{color:var(--p);border-color:var(--a);outline:none}
/* buttons & chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:14px 22px;border-radius:999px;border:0;background:linear-gradient(180deg,#3aa39a,#2a8079);color:#fff;font:700 16px/1.15 var(--disp);letter-spacing:.01em;cursor:pointer;text-decoration:none;box-shadow:0 6px 18px rgba(42,128,121,.22);transition:transform .3s cubic-bezier(.2,.8,.2,1),filter .3s,box-shadow .3s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn:hover,.btn:focus-visible{filter:brightness(1.06);outline:none}.btn:active{transform:scale(.97)}
.btn:focus-visible{box-shadow:0 0 0 3px rgba(233,184,92,.7)}
.btn.ghost{background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1.5px rgba(47,143,136,.35),0 4px 12px rgba(52,96,110,.08);color:var(--a2)}
.btn.v{background:linear-gradient(180deg,#f0c672,#d39a3a);color:#3a2606;box-shadow:0 6px 18px rgba(211,154,58,.25)}
.btn[disabled]{opacity:.45;cursor:default;filter:grayscale(.5)}
.stack{display:grid;gap:10px;max-width:440px;margin:0 auto}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lnk{background:none;border:0;padding:12px 10px;min-height:44px;color:var(--mute);font:700 14px var(--disp);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(47,143,136,.5);text-underline-offset:5px;-webkit-tap-highlight-color:transparent}
.lnk:hover,.lnk:focus-visible{color:var(--p);outline:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chip{min-height:46px;padding:10px 16px;border-radius:999px;border:0;background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1px rgba(47,120,128,.22);color:var(--ink);font:600 16px var(--sans);cursor:pointer;transition:background .4s,box-shadow .4s,transform .15s,color .4s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.chip:hover,.chip:focus-visible{box-shadow:inset 0 0 0 1.5px var(--a);outline:none}
.chip:active{transform:scale(.96)}
.chip[aria-pressed="true"],.chip[aria-checked="true"]{background:#dff0ec;box-shadow:inset 0 0 0 2px var(--a);color:var(--p)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fade-in{animation:fin .8s cubic-bezier(.2,.8,.2,1) both}@keyframes fin{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
