/* A calmer, editorial visual system shared by the complete site. */
:root {
  --ink:#192d27;
  --deep:#192d27;
  --pink:#c7336b;
  --pink2:#f7bad0;
  --cream:#f8f5f0;
  --paper:#fffefa;
  --sage:#e9efec;
  --muted:#52645a;
  --line:#d7dfda;
}
body {background:#fffefa;color:var(--ink)}
.site-header {background:#fffefa;border-bottom:1px solid #e1e6e1}
.download-hub-body .site-header,.tiers-body .site-header {background:#fffefa;border-bottom-color:#e1e6e1}
.site-header .header-inner {min-height:82px}
.site-header .brand {width:126px;height:68px}
.site-header .desktop-nav a {font-weight:600;font-size:.92rem}
.site-header .desktop-nav a[aria-current=page] {text-decoration-thickness:1px}
.pill,.tiers-card-cta,.dh-store-button {
  border-radius:12px;
  box-shadow:none;
  transition:background-color .18s,border-color .18s,color .18s;
}
.pill:hover,.tiers-card-cta:hover,.dh-store-button:hover {transform:none;box-shadow:none}
.pill {min-height:52px;padding:0 24px;gap:24px;font-weight:700}
.pill-pink {background:#c7336b;color:#fff}
.pill-pink:hover {background:#ba2b5f;color:#fff}
.pill-dark,.site-header .header-cta {background:#192d27;color:#fff}
.pill-dark:hover,.site-header .header-cta:hover {background:#30483e;color:#fff}
.pill-outline {background:transparent;border-color:#8ea399}
.pill-outline:hover {background:#e9efec}
.header-cta {min-height:44px}
.header-cta .arrow {font-size:1.1rem}
.site-footer {background:#f3f5f1!important;border-top:1px solid #dce4dd}
.site-footer .footer-group h2,.footer-complete .footer-group h2 {color:#172d26;font-weight:800}
.site-footer .footer-group a,.footer-complete .footer-group a {color:#465a50;font-size:.88rem;line-height:1.52}
.site-footer .footer-lower {color:#596c61}

/* The masthead sits in the photograph on the home page. */
.home-page .site-header {
  position:absolute;top:0;left:0;right:0;
  border:0;color:#fff;
  background:linear-gradient(180deg,rgba(10,26,21,.78),rgba(10,26,21,0));
}
.home-page .site-header .brand img {filter:brightness(0) invert(1)}
.home-page .site-header .desktop-nav a:hover,.home-page .site-header .desktop-nav a[aria-current=page] {color:#ffc8da}
.home-page .site-header .header-cta {background:#c7336b;color:#fff}
.home-page .site-header .header-cta:hover {background:#a8295a}
.home-page .home-hero {min-height:max(730px,100svh)}
.home-page .hero-shade {
  background:linear-gradient(90deg,rgba(14,30,25,.77),rgba(14,30,25,.47) 47%,rgba(14,30,25,.08) 100%),
             linear-gradient(0deg,rgba(14,30,25,.35),transparent 35%);
}
.home-page .hero-content {padding-top:168px}
.home-page .home-hero h1 {font-size:clamp(4.7rem,8vw,9rem);line-height:.94;letter-spacing:-.072em}
.home-page .home-hero h1 em {color:#fff;white-space:normal}
.home-page .hero-kicker i {background:#f7bdce}
.home-page .hero-buttons .pill {min-height:59px;font-size:1rem}
.home-page .editorial-card,.home-page .feature-photo {border-radius:12px}
.home-page .editorial-card:hover img {transform:scale(1.025)}
.home-page .manifesto {background:#192d27}
.manifesto-photo {position:relative;margin:0;align-self:stretch;min-height:520px;border-radius:12px;overflow:hidden}
.manifesto-photo img {width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.manifesto-photo::after {content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.manifesto-photo figcaption {position:absolute;z-index:1;bottom:25px;left:26px;right:26px;color:#fff;font-size:1.22rem;font-weight:700}
.home-page .steps-section {background:#eaf1eb}
.step-grid {gap:12px}
.step-grid article {
  background:#fff;border:1px solid #d7e2d9;border-radius:12px;
  min-height:304px;padding:32px;transition:border-color .18s;
}
.step-grid article:hover {transform:none;box-shadow:none;border-color:#aabccb}
.step-no {color:#56705f;font-size:.75rem;letter-spacing:.08em}
.step-grid h3,.safety-cards h3 {
  font-family:'DM Sans',system-ui,sans-serif;font-weight:700;letter-spacing:-.045em;
}
.step-grid h3 {font-size:clamp(1.65rem,2.25vw,2.3rem);line-height:1.08;margin:32px 0 12px}
.step-grid p {font-size:.96rem;line-height:1.55;color:#526258;margin:0}
.step-symbol {
  order:5;display:flex;align-items:flex-end;justify-content:center;
  width:100%;height:56px;margin:auto 0 0;
  border:0;border-radius:0;background:transparent;color:#a64172;
}
.step-grid article:nth-child(2) .step-symbol {color:#527d65}
.step-grid article:nth-child(3) .step-symbol {color:#bb4b78}
.step-grid article:nth-child(4) .step-symbol {color:#34735e}
.step-symbol svg {width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.home-page .quote-band {background:#f3ebe9;color:#192d27;padding:84px 0}
.home-page .quote-band p {font-size:clamp(3.8rem,7.6vw,8.5rem)}
.home-page .feature-photo {height:570px}
.home-page .fair-section {background:#e7eee9}
.fair-proof {display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:230px;max-width:320px;padding:36px;border-top:3px solid #c7336b}
.fair-proof strong {font-family:'DM Sans',system-ui,sans-serif;font-size:2.4rem;line-height:1.06}
.fair-proof span {color:#586d5e;font-weight:600}
.home-page .end-cta,.end-cta {background:#192d27}
.end-cta h2 {font-size:clamp(3.7rem,6.6vw,7.7rem)}

/* Interior pages use consistent type, clear content blocks and photographs. */
.inner-hero,.soft-hero,.safety-hero,.premium-hero,.about-hero,
.fh-hero,.tiers-hero,.dh-hero {background:#f2f4f1}
.inner-photo,.tilt-photo,.fh-hero-image,.fh-photo-tall,.fh-map-image,.fh-safety-photo,
.tiers-hero-photo,.tiers-story-image,.dh-story-photo {
  border-radius:12px;transform:none;
}
.inner-photo,.fh-hero-image,.tiers-hero-photo {height:clamp(430px,46vw,620px)}
.inner-hero .display,.fh-hero h1,.tiers-hero h1,.dh-hero h1 {
  font-size:clamp(3.7rem,6.2vw,7rem);line-height:1.02;letter-spacing:-.064em;
}
.inner-hero .display em,.fh-hero h1 em,.tiers-hero h1 em,.dh-hero h1 em {color:#be3c70}
.fh-intro-mark {display:none}
.feature-grid article,.mini-feature-grid article {border-color:#b8cac1}
.feature-grid h3 {letter-spacing:-.045em}
.feature-editorial,.fh-discover,.fh-safety,.tiers-story,.dh-story {background:#1d332b}
.fh-discover{color:#f5f8f4}
.fh-discover .fh-section-head>p,.fh-discover .fh-discover-copy>p,.fh-discover .fh-inline-features p{color:#d5e2d9}
.fh-discover .fh-discover-copy>p strong,.fh-discover .fh-inline-features strong{color:#fff}
.fh-discover .fh-section-head h2 em,.fh-discover .eyebrow,.fh-discover .fh-inline-features span{color:#ff9fc4}
.fh-discover .fh-inline-features,.fh-discover .fh-inline-features>div{border-color:#607e6d}
.fh-discover .fh-intents span{color:#f5f8f4;border-color:#a4baaa}
.fh-discover .fh-intents span:nth-child(3n+2){color:#1d332b}
.fh-discover .fh-text-link{color:#fff}
.safety-belief,.fh-map,.tiers-billing,.tiers-final,.dh-final,.fh-final {
  background:#f2e3e9;color:#192d27;
}
.safety-belief h2,.fh-final h2,.tiers-final h2,.dh-final h2 {font-size:clamp(3.5rem,6.6vw,7rem)}
.safety-cards {gap:12px}
.safety-cards article {
  display:flex;flex-direction:column;background:#fff;border:1px solid #dce4e9;
  border-radius:12px;min-height:304px;padding:32px;
}
.safety-cards article span {color:#526979;font-size:.76rem;letter-spacing:.12em}
.safety-cards h3 {font-size:clamp(1.85rem,2.7vw,3rem);margin:28px 0 16px}
.safety-cards p {font-size:1rem;color:#526258;line-height:1.57}
.safety-card-art {align-self:flex-start;width:52px;height:52px;margin:auto 0 0;color:#b34778;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.safety-cards article:nth-child(2) .safety-card-art {color:#527d65}
.safety-cards article:nth-child(3) .safety-card-art {color:#bb4b78}
.safety-cards article:nth-child(4) .safety-card-art {color:#3f7d66}
.safety-image-band::after {background:linear-gradient(90deg,rgba(17,36,29,.75),rgba(17,36,29,.08) 90%)}
.fh-steps article,.fh-feature-card,.fh-meet-grid article,.fh-more-grid article,
.dh-why-grid article,.tiers-card,.tiers-billing-options>div {
  border-radius:12px;box-shadow:none;
}
.fh-steps article:nth-child(n),.fh-feature-card:nth-child(n),.fh-meet-grid article:nth-child(n),
.fh-more-grid article:nth-child(n),.dh-why-grid article:nth-child(n) {
  background:#fff;border:1px solid #dce4dd;color:#192d27;
}
.fh-steps article:nth-child(even),.fh-meet-grid article:nth-child(even),
.fh-more-grid article:nth-child(even),.dh-why-grid article:nth-child(even) {background:#f3f5f0}
.fh-steps h3,.fh-feature-card h3,.fh-meet-grid h3,.fh-more-grid h3,
.dh-why-grid h3 {font-family:'DM Sans',system-ui,sans-serif;letter-spacing:-.045em;font-weight:700}
.fh-steps p,.fh-feature-card p,.fh-meet-grid p,.fh-more-grid p,.dh-why-grid p {color:#516258}
.fh-steps-note {color:#bdcfc4}
.fh-connect {background:#203b2d}
.fh-map-grid .fh-map-image {border-radius:12px}
.fh-more {background:#eff2ec}
.tiers-card-free {background:#e9efea}.tiers-card-weekly {background:#f3e7eb}
.tiers-card-monthly {background:#1d332b}
.tiers-card-grid .tiers-card {border:1px solid #dbe2dc}
.tiers-table-wrap {border-radius:12px}
.tiers-comparison {background:#f0f3ef}
.tiers-billing-options>div {background:#fff}
.dh-hero {padding-top:68px}
.dh-real-photo {width:min(calc(100% - 80px),1180px);padding-bottom:76px}
.dh-real-photo img {width:100%;height:clamp(400px,46vw,640px);object-fit:cover;object-position:center 46%;border-radius:12px}
.dh-hero-note {margin-bottom:40px}
.dh-store-button {border-radius:12px}
.dh-store-pending {background:#fff;border-color:#b9c7be}
.dh-why {background:#fffefa}

/* Legal and support pages are part of the same site, with plain readable surfaces. */
.legal-page .legal-hero {
  max-width:1200px;margin-top:28px;min-height:200px;
  background:#eaf1eb;border-radius:12px;border:1px solid #d7e2d9;
  padding:44px clamp(28px,5vw,72px);
}
.legal-hero .tag {color:#9a3264}
.legal-hero .tag .dot {display:none}
.legal-hero h1 {font-size:clamp(2.5rem,4.8vw,4.7rem);letter-spacing:-.06em}
.legal-wrap {padding-top:60px}
.legal-nav {border-radius:12px;background:#f7f9f5}
.legal-body {color:#2d4438}
.legal-body p,.legal-body li {font-size:1rem;line-height:1.78}
.legal-body h2 {margin-top:2em}
.hub-card,.contact-card,.support-page .cat,.support-page .panel,.support-page .story,.support-page form.card {
  border-radius:12px;box-shadow:none;
}
.hub-card:hover,.support-page .cat:hover {transform:none;box-shadow:none;border-color:#acbfb3}
.card-icon,.icon-badge,.legacy-content .icon-badge {
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;min-width:0;padding:0;
  border:0;border-radius:0;background:transparent;box-shadow:none;
  color:#cc4b81;
}
.legacy-content .icon-badge .icon {width:26px;height:26px}
.support-page .hero {border-radius:12px;margin-top:0}
.support-page .chip {border-radius:8px;background:rgba(255,255,255,.16)}
.support-page main details {border-radius:8px}
.support-page .support-symbols {position:absolute;width:0;height:0;overflow:hidden}
.support-page .support-hero-cta {margin-top:28px;min-height:52px}
.support-page .hero .search-hint {margin-top:24px}
.support-page .cat .ico {display:inline-flex;align-items:center;color:#c83d73}
.support-page .support-icon {width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.support-page #contact {background:#f4f1ec;border-block:1px solid #dce4dc}
.support-page #contact .sec-head {max-width:790px}
.support-page #contact .sec-head h2 {font-family:'DM Sans',system-ui,sans-serif;font-weight:700;letter-spacing:-.06em}
.support-page #contact .contact-grid {grid-template-columns:minmax(0,1.13fr) minmax(290px,.87fr);gap:clamp(20px,3vw,44px);align-items:start}
.support-page #contact form.card {padding:clamp(28px,4vw,48px);border:1px solid #d7e1d8;background:#fff;border-radius:12px}
.support-page .support-form-intro {margin-bottom:28px}
.support-page .support-form-intro .eyebrow {font-size:.71rem;font-weight:800;letter-spacing:.16em;color:#bd3b70}
.support-page .support-form-intro h3 {font-family:'DM Sans',system-ui,sans-serif;font-size:clamp(1.8rem,2.5vw,2.55rem);line-height:1.12;letter-spacing:-.045em;margin:8px 0 0}
.support-page form.card .field {margin-bottom:20px}
.support-page form.card label {font-size:.86rem;color:#23392c;letter-spacing:.005em}
.support-page input,.support-page select,.support-page textarea {min-height:53px;background:#fcfcfa;border:1px solid #bdcfc1;border-radius:8px;color:#1d332b}
.support-page textarea {min-height:155px;line-height:1.55}
.support-page input:focus-visible,.support-page select:focus-visible,.support-page textarea:focus-visible {outline:2px solid #c13e73;outline-offset:2px;border-color:#c13e73}
.support-page button.btn {display:inline-flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:55px;padding:16px 24px;background:#c7336b;color:#fff;border:0;border-radius:8px;font-size:.95rem}
.support-page button.btn:hover {background:#ba2b5f}
.support-page button.btn:focus-visible {outline:3px solid #72365b;outline-offset:3px}
.support-page .form-note {font-size:.83rem;line-height:1.5;color:#596d60;margin-top:16px}
.support-page #contact .contact-side {gap:16px}
.support-page #contact .panel {padding:clamp(24px,2.5vw,32px);background:#fff;border:1px solid #d7e1d8;border-radius:12px}
.support-page #contact .panel:first-child {background:#1d332b;border-color:#1d332b;color:#fff}
.support-page #contact .panel:first-child p {color:#c6d8ca}
.support-page #contact .panel:first-child .contact-label {font-size:.85rem;line-height:1.4;margin:20px 0 4px}
.support-page #contact .panel:first-child h3+.contact-label {margin-top:8px}
.support-page #contact .panel:first-child .mail-big {color:#ffafcd}
.support-page #contact .panel:first-child .mail-big:hover {color:#fff}
.support-page #contact .panel:first-child .support-contact-caption {color:#c6d8ca}
.support-page #contact .response-row {gap:20px;line-height:1.45}
.support-page #contact .response-row span:last-child {white-space:nowrap;color:#25634b;font-weight:700}
@media(max-width:850px) {
  .support-page #contact .contact-grid {grid-template-columns:1fr}
}
.legacy-content .story-check {display:grid;gap:12px;list-style:none;padding:0}
.legacy-content .story-check li {display:flex;align-items:flex-start;gap:12px;min-width:0}
.legacy-content .story-check li span {min-width:0}

@media(max-width:850px) {
  .home-page .site-header .menu-button span {background:#fff}
  .home-page .site-header .mobile-nav:not([hidden]) {
    background:#286d54;
    color:#fff;
    padding:8px 24px 24px;
    border-top:1px solid rgba(255,255,255,.22);
    max-height:calc(100dvh - 78px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .home-page .site-header .mobile-nav>a:not(.pill) {
    color:#fff;
    font-size:1.1rem;
    line-height:1.25;
    padding:16px 4px;
    border-bottom:1px solid rgba(255,255,255,.22);
  }
  .home-page .site-header .mobile-nav>a:not(.pill):hover,
  .home-page .site-header .mobile-nav>a:not(.pill):focus-visible {color:#ffd4e4}
  .home-page .site-header .mobile-nav .pill {
    color:#fff;
    margin-top:24px;
    min-height:60px;
  }
  .home-page .hero-content {padding-top:180px}
  .manifesto-photo {min-height:500px}
  .step-grid article,.safety-cards article {min-height:296px}
  .step-symbol,.safety-card-art {height:52px}
  .step-symbol svg,.safety-card-art {width:52px;height:52px}
}
@media(max-width:600px) {
  .home-page .site-header .mobile-nav:not([hidden]) {max-height:calc(100dvh - 72px)}
  .site-header .brand {width:115px;height:65px}
  .home-page .home-hero {min-height:100svh}
  .home-page .hero-content {padding-top:220px;padding-bottom:68px}
  .home-page .home-hero h1 {font-size:clamp(3.7rem,12vw,5.5rem)}
  .home-page .hero-shade {background:linear-gradient(0deg,rgba(14,30,25,.9),rgba(14,30,25,.55) 50%,rgba(14,30,25,.2))}
  .home-page .editorial-card {border-radius:12px}
  .home-page .manifesto {padding:80px 0}
  .manifesto-photo {min-height:390px}
  .step-grid {grid-template-columns:1fr;gap:8px}
  .step-grid article {min-height:0;padding:24px}
  .step-grid h3 {font-size:2.05rem;margin:24px 0 12px}
  .step-symbol {height:48px;margin-top:20px}
  .step-symbol svg {height:48px;width:48px}
  .safety-cards {grid-template-columns:1fr}
  .safety-cards article {min-height:0;padding:28px}
  .safety-card-art {width:48px;height:48px;margin-top:24px}
  .inner-photo,.fh-hero-image,.tiers-hero-photo {height:400px}
  .inner-hero .display,.fh-hero h1,.tiers-hero h1,.dh-hero h1 {font-size:clamp(3.4rem,11.8vw,5.5rem)}
  .dh-real-photo {width:calc(100% - 38px);padding-bottom:44px}
  .dh-real-photo img {height:390px;object-position:center}
  .legal-page .legal-hero {margin:16px 16px 0;padding:32px 24px;min-height:165px}
  .legal-hero h1 {font-size:clamp(2.2rem,8vw,3.5rem)}
  .support-page .hero {border-radius:0}
  .story-photo-grid {max-width:calc(100% - 19px)}
  .fair-proof {padding:28px 0;align-self:stretch}
  .site-footer .footer-group a {font-size:.86rem}
}
