@font-face { font-family: Inter; src: url("/assets/Inter.woff2") format("woff2"); font-display: swap; }
:root { --ink:#15252d; --muted:#52656d; --paper:#fbfcfc; --mist:#edf4f4; --night:#102b3a; --ocean:#0b6687; --sky:#74d9ed; --coral:#d83b54; --line:#cedadd; --max:72rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.6 Inter,Arial,sans-serif; }
a { color:inherit; }
a:focus-visible { outline:3px solid var(--coral); outline-offset:3px; }
.shell { width:min(calc(100% - 3rem),var(--max)); margin-inline:auto; }
.skip-link { position:absolute; left:-999px; top:0; background:var(--paper); padding:.75rem 1rem; z-index:2; }
.skip-link:focus { left:1rem; }
.site-header { border-top:4px solid var(--sky); border-bottom:1px solid var(--line); background:#fff; }
.header-content,.footer-content { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1rem 0; }
.wordmark { display:flex; line-height:0; }
.wordmark img { max-width:185px; height:auto; }
nav { display:flex; flex-wrap:wrap; gap:1.25rem; }
nav a { text-decoration:none; font-weight:700; }
nav a:hover,nav a[aria-current="page"] { color:var(--ocean); text-decoration:underline; text-underline-offset:.25rem; }
.hero { background:linear-gradient(122deg,var(--night),#164e64 58%,var(--ocean)); color:#fff; }
.hero-grid { min-height:31rem; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:5rem 0; }
.adultish-hero { background:radial-gradient(circle at 80% 20%,rgba(116,217,237,.55),transparent 20rem),linear-gradient(122deg,#0b1e2c,#164e64 58%,#0b6687); }
.eyebrow { margin:0 0:.5rem; color:var(--ocean); font-size:.78rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hero .eyebrow { color:var(--sky); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:760px; margin-bottom:1rem; font-size:clamp(2.7rem,7vw,5.5rem); line-height:1.02; letter-spacing:-.055em; }
h2 { max-width:740px; margin-bottom:1.25rem; font-size:clamp(2rem,4vw,3.3rem); line-height:1.1; letter-spacing:-.04em; }
h3 { margin-bottom:.5rem; font-size:1.18rem; }
.lede { max-width:650px; font-size:clamp(1.15rem,2vw,1.4rem); line-height:1.5; }
.promise { max-width:620px; margin-bottom:1.75rem; font-weight:700; }
.button { display:inline-block; padding:.8rem 1.1rem; border-radius:.3rem; background:var(--coral); color:#fff; font-weight:800; text-decoration:none; }
.button:hover { background:#bc2f47; }
.section { padding:5.5rem 0; }
.section-heading { margin-bottom:2.25rem; }
.two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; max-width:980px; }
.text-link { color:var(--ocean); font-weight:800; text-decoration-thickness:2px; text-underline-offset:.2rem; }
.principles,.privacy-promise { padding:5.5rem 0; background:var(--mist); }
.principle-grid,.feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.principle-grid article,.feature-grid article { padding:1.4rem; border:1px solid var(--line); border-radius:.4rem; background:#fff; }
.principle-grid p,.feature-grid p { color:var(--muted); }
.support { border-bottom:1px solid var(--line); }
.check-list { margin:0; padding:0; list-style:none; }
.check-list li { margin:.55rem 0; padding-left:1.75rem; position:relative; }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--ocean); font-weight:900; }
.contact-band { padding:3.5rem 0; background:var(--night); color:#fff; }
.contact-content { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.contact-band .eyebrow { color:var(--sky); }
.contact-band h2 { margin-bottom:.5rem; }
.contact-band a { color:#fff; font-weight:800; }
.contact-content img { flex:0 0 auto; opacity:.9; }
.site-footer { background:#09171d; color:#dbe5e8; }
.site-footer nav { gap:1rem; font-size:.9rem; }
.site-footer p { margin:0; font-size:.9rem; }
@media (max-width:760px) { .shell { width:min(calc(100% - 2rem),var(--max)); } .header-content,.footer-content { align-items:flex-start; flex-direction:column; } .hero-grid { min-height:28rem; padding:4rem 0; } .section,.principles,.privacy-promise { padding:4rem 0; } .two-column,.principle-grid,.feature-grid { grid-template-columns:1fr; gap:1rem; } .contact-content { align-items:flex-start; } .contact-content img { width:85px; height:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
