/* Tideline site. Palette and type come from src/theme/tokens.ts so the site and the app match. */
@font-face{font-family:"Fraunces";src:url(/fonts/Fraunces_600SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/Inter_400Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/Inter_600SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}
:root{
  color-scheme:light dark;
  --bg:#F7F4EE;--surface:#FFFFFF;--surface-alt:#EEF3F2;--text:#13212E;--muted:#4A5A68;--primary:#1F6F6B;--on-primary:#FFFFFF;--primary-soft:#D6EBE8;
  --accent-text:#A8481F;--accent-soft:#F6E2D8;--line:#D9DED9;--focus:#1A5FB4;
  --display:"Fraunces",Georgia,"Iowan Old Style",serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  /* texts reveal (transitions.dev) */
  --stagger-dur:500ms;--stagger-distance:12px;--stagger-stagger:40ms;--stagger-blur:3px;--stagger-ease:cubic-bezier(0.22,1,0.36,1);
}
@media (prefers-color-scheme:dark){:root{
  --bg:#0E1820;--surface:#16232E;--surface-alt:#1D2D3A;--text:#EEF2F4;--muted:#A9B6C1;--primary:#5FC2B9;--on-primary:#0E1820;--primary-soft:#1E3B3C;
  --accent-text:#F0956A;--accent-soft:#3A2620;--line:#2B3B48;--focus:#8AB4F8;}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 18px/1.6 var(--body);-webkit-text-size-adjust:100%}
a{color:var(--primary)}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);color:var(--text);padding:10px 14px;z-index:20}
.skip:focus{left:8px;top:8px}
.wrap{max-width:68rem;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;margin:0}
h1{font-size:clamp(2.2rem,6vw,3.6rem)}h2{font-size:clamp(1.7rem,4vw,2.3rem);margin-bottom:12px}h3{font-size:1.25rem;margin-bottom:6px}
p{margin:0 0 14px}
/* header */
.top{position:absolute;inset:0 0 auto 0;z-index:5}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:600 1.4rem var(--display)}
.brand svg{width:28px;height:28px}
.nav{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;justify-content:flex-end}
.nav a{color:#fff;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 4px}
.nav a:hover{text-decoration:underline}
.nav .help{background:rgba(14,24,32,.72);padding:0 16px;border-radius:999px;font-weight:600;color:#F0956A}
/* hero */
.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(180deg,#2C5E66 0%,#3F6F70 38%,#B07F66 78%,#C99673 100%);padding:150px 0 190px}
.hero .copy{position:relative;z-index:2;max-width:38rem}
.hero p.lead{font-size:1.2rem;color:#F2F6F7;margin:18px 0 26px}
.hero svg.art{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:210px;z-index:1}
.sun{position:absolute;right:9%;top:46%;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,#F9D98F 0 38%,rgba(249,217,143,.38) 39% 62%,rgba(249,217,143,.16) 63% 100%);z-index:0}
.cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pill{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;font-weight:600;text-decoration:none}
.pill.solid{background:#7CC3BB;color:#0E1820}
.pill.ghost{border:2px solid #fff;color:#fff}
.soon{background:rgba(255,255,255,.16);color:#fff;border:2px dashed rgba(255,255,255,.6)}
/* sections */
section{padding:72px 0}
.intro{max-width:40rem;color:var(--muted);margin-bottom:28px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px}
.card svg{width:34px;height:34px;color:var(--primary);margin-bottom:12px}
.card p{color:var(--muted);margin:0}
.band{background:var(--surface-alt)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:44rem}
.checks li{display:flex;gap:14px;align-items:flex-start}
.checks svg{flex:0 0 28px;width:28px;height:28px;color:var(--primary);margin-top:2px}
.help-box{background:var(--accent-soft);border-radius:24px;padding:30px}
.help-box h2{color:var(--accent-text)}
.lines{display:grid;gap:14px;margin:18px 0 0;padding:0;list-style:none}
.lines li{background:var(--surface);border-radius:16px;padding:16px 18px}
.lines strong{display:block}
.lines a{font-weight:600}
footer{padding:40px 0 56px;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem}
footer ul{display:flex;flex-wrap:wrap;gap:4px 20px;list-style:none;margin:0 0 14px;padding:0}
footer a{display:inline-flex;min-height:44px;align-items:center}
/* texts reveal: content stays visible without script and under reduced motion */
.js .t-stagger-line{display:block;opacity:0;transform:translateY(var(--stagger-distance));filter:blur(var(--stagger-blur));
  transition:opacity var(--stagger-dur) var(--stagger-ease),transform var(--stagger-dur) var(--stagger-ease),filter var(--stagger-dur) var(--stagger-ease);will-change:transform,opacity,filter}
.js .t-stagger-line--2{transition-delay:var(--stagger-stagger)}
.js .t-stagger-line--3{transition-delay:calc(var(--stagger-stagger) * 2)}
.js .t-stagger.is-shown .t-stagger-line{opacity:1;transform:translateY(0);filter:blur(0)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .t-stagger-line{opacity:1;transform:none;filter:none;transition:none!important}
}
@media (max-width:640px){.nav a:not(.help):not([hreflang]){display:none}.hero{padding:112px 0 250px}.sun{right:-36px;top:auto;bottom:92px;width:170px;height:170px}.top .wrap{align-items:flex-start}}
