

:root {
  --nd-teal:      #52C9B7;
  --nd-teal-d:    #2FA593;
  --nd-teal-soft: #E8F8F5;
  --nd-pink:      #E91E63;
  --nd-pink-d:    #C2185B;
  --nd-ink:       #1E2A2E;
  --nd-ink-2:     #354249;
  --nd-muted:     #5E6B72;
  --nd-faint:     #8A969C;
  --nd-surface:   #FFFFFF;
  --nd-surface-2: #F6FAFA;
  --nd-surface-3: #EDF4F4;
  --nd-line:      #E2EAEA;
  --nd-line-2:    #D2DEDE;
  --nd-radius:    16px;
  --nd-radius-sm: 10px;
  --nd-shadow:    0 1px 2px rgba(30,42,46,.04), 0 2px 8px rgba(30,42,46,.05);
  --nd-shadow-lg: 0 12px 34px rgba(30,42,46,.09);
  --nd-display:   'Manrope', system-ui, -apple-system, sans-serif;
  --nd-body:      'Inter', system-ui, -apple-system, sans-serif;

  --brand-primary: var(--nd-teal-d);
  --brand-accent:  var(--nd-pink);
  --paper:         var(--nd-surface);
  --paper-card:    var(--nd-surface);
  --ink:           var(--nd-ink);
  --ink-soft:      var(--nd-muted);
  --line:          var(--nd-line);
  --line-strong:   var(--nd-line-2);
  --font-display:  var(--nd-display);
  --font-body:     var(--nd-body);
}

html, body { background: var(--nd-surface); color: var(--nd-ink); font-family: var(--nd-body); -webkit-font-smoothing: antialiased; line-height:1.6; }
a { color: var(--nd-teal-d); }
a:hover { color: var(--nd-pink); }
h1,h2,h3,h4 { font-family: var(--nd-display); color: var(--nd-ink); letter-spacing:-.02em; }
.container { max-width:1120px; margin:0 auto; padding:0 1.5rem; }
.skip-link { position:absolute; left:-9999px; top:0; z-index:1000; background: var(--nd-teal-d); color:#fff; padding:.6rem 1rem; border-radius:0 0 var(--nd-radius-sm) 0; }
.skip-link:focus { left:0; }
.visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

.nd-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background: var(--nd-pink); vertical-align:middle; margin-right:.5rem; }
.nd-dot-mini { display:inline-block; width:5px; height:5px; border-radius:50%; background: var(--nd-teal); vertical-align:middle; margin-right:.35rem; }

.nd-topbar { background: var(--nd-teal-soft); border-bottom:1px solid var(--nd-line); font-size:.82rem; color: var(--nd-ink-2); }
.nd-topbar__inner { display:flex; justify-content:space-between; align-items:center; gap:1rem; min-height:36px; padding:.35rem 0; flex-wrap:wrap; }
.nd-topbar__links { display:flex; gap:.9rem; align-items:center; }
.nd-topbar__links a { color: var(--nd-teal-d); text-decoration:none; white-space:nowrap; font-weight:600; }
.nd-topbar__links a:hover { color: var(--nd-pink); }
@media (max-width:560px){ .nd-topbar__inner{justify-content:center;} .nd-topbar__hours{display:none;} }

.nd-header { background: var(--nd-surface); border-bottom:1px solid var(--nd-line); position:sticky; top:0; z-index:50; }
.nd-header__inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:70px; padding:.65rem 0; }
.nd-brand { display:inline-flex; align-items:center; gap:.65rem; text-decoration:none; }
.nd-brand__name { font-family: var(--nd-display); font-weight:800; font-size:1.18rem; color: var(--nd-ink); letter-spacing:-.02em; }
.nd-brand__accent { color: var(--nd-teal-d); }
.nd-nav { display:flex; align-items:center; }
.nd-nav__list { display:flex; align-items:center; gap:.35rem; list-style:none; margin:0; padding:0; }
.nd-nav__link { display:inline-flex; align-items:center; text-decoration:none; color: var(--nd-ink-2); font-weight:600; font-size:.95rem; padding:.5rem .85rem; border-radius:99px; }
.nd-nav__link:hover { color: var(--nd-ink); background: var(--nd-surface-2); }
.nd-nav__link--cta { background: var(--nd-teal-d); color:#fff; padding:.6rem 1.3rem; box-shadow: var(--nd-shadow); }
.nd-nav__link--cta:hover { background: var(--nd-teal); color:#fff; }
.nd-nav__link--ghost { color: var(--nd-muted); }
.nd-nav__toggle { display:none; background:none; border:1px solid var(--nd-line-2); border-radius:99px; width:44px; height:44px; align-items:center; justify-content:center; cursor:pointer; color: var(--nd-ink); }
.nd-nav__toggle svg { width:22px; height:22px; }
@media (max-width:860px){
  .nd-nav__toggle{display:inline-flex;}
  .nd-nav{ position:absolute; top:100%; left:0; right:0; background: var(--nd-surface); border-bottom:1px solid var(--nd-line); box-shadow: var(--nd-shadow-lg); max-height:0; overflow:hidden; transition:max-height .25s ease; }
  .nd-nav.is-open{ max-height:520px; }
  .nd-header__inner{ position:relative; flex-wrap:wrap; }
  .nd-nav__list{ flex-direction:column; align-items:stretch; padding:.75rem 1rem 1.1rem; gap:.25rem; width:100%; }
  .nd-nav__link{ padding:.7rem .6rem; }
  .nd-nav__link--cta{ justify-content:center; margin-top:.4rem; }
}

.nd-btn, .btn-primary, .button.is-primary {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-family: var(--nd-body); font-weight:700; font-size:1rem; line-height:1;
  padding:.9rem 1.6rem; border-radius:99px; border:1px solid transparent; text-decoration:none; cursor:pointer;
  transition: background .15s ease;
}
.nd-btn-primary, .btn-primary, .button.is-primary { background: var(--nd-teal-d); color:#fff !important; box-shadow: var(--nd-shadow); }
.nd-btn-primary:hover, .btn-primary:hover, .button.is-primary:hover { background: var(--nd-teal); color:#fff; }
.nd-btn-quiet { background: var(--nd-surface); color: var(--nd-ink) !important; border:1px solid var(--nd-line-2); }
.nd-btn-quiet:hover { background: var(--nd-surface-2); border-color: var(--nd-teal-d); }
.nd-btn-lg { padding:1.05rem 1.9rem; font-size:1.05rem; }
.nd-btn-block { width:100%; }
.nd-btn-arrow { width:18px; height:18px; }

.nd-eyebrow { display:inline-flex; align-items:center; font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color: var(--nd-teal-d); margin:0 0 1rem; }
.nd-eyebrow-center { justify-content:center; }
.nd-display { font-family: var(--nd-display); font-size: clamp(2.3rem, 1.4rem + 3.6vw, 4rem); font-weight:800; line-height:1.06; margin:0 0 1.3rem; }
.nd-headline-mark { color: var(--nd-ink); }
.nd-headline-dot, .nd-trust-num + .nd-trust-num { color: var(--nd-pink); }
.nd-headline-dot { color: var(--nd-pink); }
.nd-display-2 { font-family: var(--nd-display); font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem); font-weight:800; line-height:1.12; margin:0 0 1rem; }

.nd-hero { padding: clamp(3.5rem,7vw,6rem) 0 clamp(2rem,4vw,3rem); text-align:center; }
.nd-hero-copy { max-width:760px; margin:0 auto; }
.nd-lede { font-size: clamp(1.1rem,1rem+.5vw,1.28rem); color: var(--nd-muted); margin:0 auto 2rem; max-width:600px; line-height:1.6; }
.nd-hero-cta { display:flex; gap:.9rem; justify-content:center; flex-wrap:wrap; }
.nd-hero-trust { list-style:none; display:flex; justify-content:center; gap:2.5rem; flex-wrap:wrap; margin:2.5rem auto 0; padding:0; }
.nd-trust-cell { text-align:center; }
.nd-trust-num { display:block; font-family: var(--nd-display); font-weight:800; font-size:1.5rem; color: var(--nd-teal-d); }
.nd-trust-label { display:block; font-size:.85rem; color: var(--nd-muted); margin-top:.2rem; }
.nd-hero-media { max-width:980px; margin: clamp(2.5rem,5vw,4rem) auto 0; }
.nd-hero-frame { border-radius:20px; overflow:hidden; border:1px solid var(--nd-line); box-shadow: var(--nd-shadow-lg); aspect-ratio:16/8; background: var(--nd-surface-3); }
.nd-hero-frame img { width:100%; height:100%; object-fit:cover; display:block; }
.nd-hero-cap { display:flex; align-items:center; justify-content:center; gap:.4rem; font-size:.88rem; color: var(--nd-faint); margin:1rem 0 0; }

.nd-features, .nd-sample, .nd-about, .nd-stats, .nd-pricing, .nd-faq, .nd-cta-band { padding: clamp(3.5rem,7vw,6rem) 0; }
.nd-features, .nd-pricing { background: var(--nd-surface-2); }
.nd-section-head { max-width:680px; margin:0 auto clamp(2.5rem,5vw,3.5rem); text-align:center; }
.nd-section-head-flex { display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; text-align:left; max-width:none; }
.nd-section-sub { font-size:1.1rem; color: var(--nd-muted); margin:0; line-height:1.65; }

.nd-feat-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.5rem; }
.nd-feat-card { background: var(--nd-surface); border:1px solid var(--nd-line); border-radius: var(--nd-radius); padding:2rem 1.85rem; box-shadow: var(--nd-shadow); }
.nd-feat-icon { display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:14px; background: var(--nd-teal-soft); color: var(--nd-teal-d); margin-bottom:1.1rem; }
.nd-feat-icon svg { width:28px; height:28px; }
.nd-feat-step { font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color: var(--nd-pink); margin:0 0 .35rem; }
.nd-feat-title { font-size:1.3rem; font-weight:800; margin:0 0 .55rem; }
.nd-feat-body { color: var(--nd-muted); margin:0; line-height:1.62; font-size:.97rem; }

.nd-link-arrow { display:inline-flex; align-items:center; gap:.4rem; font-weight:700; color: var(--nd-teal-d); text-decoration:none; white-space:nowrap; }
.nd-link-arrow svg { width:18px; height:18px; }
.nd-link-arrow:hover { color: var(--nd-pink); }
.nd-recipe-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.5rem; }
.nd-recipe-card { background: var(--nd-surface); border:1px solid var(--nd-line); border-radius: var(--nd-radius); overflow:hidden; box-shadow: var(--nd-shadow); }
.nd-recipe-card:hover { box-shadow: var(--nd-shadow-lg); transform:translateY(-2px); transition:all .15s ease; }
.nd-recipe-thumb { aspect-ratio:4/3; background: var(--nd-surface-3); overflow:hidden; }
.nd-recipe-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.nd-recipe-body { padding:1.1rem 1.25rem 1.35rem; }
.nd-recipe-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; font-size:.8rem; color: var(--nd-faint); margin:0 0 .5rem; }
.nd-tag-dot { display:inline-flex; align-items:center; color: var(--nd-teal-d); font-weight:600; }
.nd-recipe-title { font-family: var(--nd-display); font-weight:700; font-size:1.08rem; margin:0 0 .25rem; color: var(--nd-ink); }
.nd-recipe-sub { font-size:.85rem; color: var(--nd-muted); margin:0; }
.nd-sample-note { text-align:center; color: var(--nd-muted); margin:2.25rem auto 0; max-width:720px; line-height:1.6; }

.nd-about-inner { max-width:720px; margin:0 auto; text-align:center; }
.nd-about-body { color: var(--nd-muted); font-size:1.1rem; line-height:1.75; margin:0 0 1.1rem; }

.nd-stats-row { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; padding:0; border:1px solid var(--nd-line); border-radius: var(--nd-radius); overflow:hidden; }
.nd-stat { text-align:center; padding:1.75rem 1rem; border-right:1px solid var(--nd-line); }
.nd-stat:last-child { border-right:none; }
.nd-stat-num { display:block; font-family: var(--nd-display); font-weight:800; font-size:1.6rem; color: var(--nd-teal-d); }
.nd-stat-label { display:block; font-size:.85rem; color: var(--nd-muted); margin-top:.4rem; }
@media (max-width:720px){ .nd-stats-row{grid-template-columns:1fr 1fr;} .nd-stat:nth-child(2){border-right:none;} .nd-stat:nth-child(1),.nd-stat:nth-child(2){border-bottom:1px solid var(--nd-line);} }

.nd-plan-card { max-width:480px; margin:0 auto; background: var(--nd-surface); border:1px solid var(--nd-line); border-radius:20px; padding: clamp(2rem,4vw,2.75rem); box-shadow: var(--nd-shadow-lg); text-align:center; }
.nd-plan-eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color: var(--nd-pink); margin:0 0 .6rem; }
.nd-plan-title { font-size:1.6rem; font-weight:800; margin:0 0 .6rem; }
.nd-plan-tag { color: var(--nd-muted); margin:0 0 1.4rem; line-height:1.55; }
.nd-plan-price { display:flex; align-items:baseline; justify-content:center; gap:.15rem; margin:0 0 .6rem; font-family: var(--nd-display); color: var(--nd-ink); }
.nd-plan-currency { font-size:1.5rem; font-weight:700; align-self:flex-start; margin-top:.3rem; }
.nd-plan-amount { font-size: clamp(3rem,2rem+3vw,4rem); font-weight:800; line-height:1; }
.nd-plan-amount-soft { font-size:1.6rem; color: var(--nd-muted); }
.nd-plan-period { font-size:1rem; font-weight:600; color: var(--nd-muted); }
.nd-plan-initial { font-size:.9rem; color: var(--nd-muted); margin:.2rem 0 0; }
.nd-plan-trial { font-size:.9rem; color: var(--nd-faint); margin:0 0 1.4rem; }
.nd-plan-features { list-style:none; margin:1.2rem 0; padding:0; text-align:left; }
.nd-plan-features li { display:flex; align-items:flex-start; gap:.2rem; padding:.55rem 0; border-bottom:1px solid var(--nd-line); color: var(--nd-ink-2); font-size:.97rem; }
.nd-plan-features li:last-child { border-bottom:none; }
.nd-plan-features li .nd-dot { margin-top:.5rem; flex:0 0 auto; }
.nd-plan-fineprint { font-size:.82rem; color: var(--nd-faint); margin:1rem 0 0; }
.nd-plan-fineprint strong { color: var(--nd-ink-2); }

.nd-faq-list { max-width:760px; margin:0 auto; }
.nd-faq-item { border:1px solid var(--nd-line); border-radius: var(--nd-radius); margin-bottom:.85rem; background: var(--nd-surface); overflow:hidden; }
.nd-faq-item summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; cursor:pointer; list-style:none; padding:1.15rem 1.4rem; font-family: var(--nd-display); font-weight:700; color: var(--nd-ink); font-size:1.05rem; }
.nd-faq-item summary::-webkit-details-marker { display:none; }
.nd-faq-glyph { width:18px; height:18px; position:relative; flex:0 0 auto; }
.nd-faq-glyph::before, .nd-faq-glyph::after { content:""; position:absolute; background: var(--nd-pink); border-radius:2px; }
.nd-faq-glyph::before { top:8px; left:0; width:18px; height:2px; }
.nd-faq-glyph::after { left:8px; top:0; width:2px; height:18px; transition:transform .2s ease; }
.nd-faq-item[open] .nd-faq-glyph::after { transform:rotate(90deg); opacity:0; }
.nd-faq-body { padding:0 1.4rem 1.3rem; color: var(--nd-muted); line-height:1.65; }
.nd-faq-body p { margin:0; }

.nd-cta-band { background: var(--nd-teal-soft); }
.nd-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; background: var(--nd-surface); border:1px solid var(--nd-line); border-radius:20px; padding: clamp(2rem,4vw,2.75rem); box-shadow: var(--nd-shadow); }
.nd-cta-headline { font-size: clamp(1.6rem,1.2rem+1.8vw,2.3rem); font-weight:800; margin:.3rem 0 .5rem; }
.nd-cta-sub { color: var(--nd-muted); margin:0; }
.nd-eyebrow-on-tint { color: var(--nd-teal-d); }

.nd-footer { background: var(--nd-ink); color:#B8C4C8; padding: clamp(3rem,5vw,4rem) 0 1.5rem; }
.nd-footer a { color:#B8C4C8; text-decoration:none; }
.nd-footer a:hover { color:#fff; }
.nd-footer__grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem; }
.nd-footer__name { font-family: var(--nd-display); font-weight:800; color:#fff; font-size:1.15rem; margin:.6rem 0 .25rem; }
.nd-footer__tag { color:#7E8C90; margin:0 0 .9rem; font-size:.9rem; }
.nd-footer__address { color:#7E8C90; font-style:normal; font-size:.85rem; line-height:1.5; }
.nd-footer__heading { font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:#fff; margin:0 0 .9rem; }
.nd-footer__nav ul, .nd-footer__contact ul { list-style:none; margin:0; padding:0; }
.nd-footer__nav li, .nd-footer__contact li { margin-bottom:.55rem; font-size:.92rem; }
.nd-footer__base { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; border-top:1px solid rgba(255,255,255,.1); margin-top:2.5rem; padding-top:1.5rem; font-size:.82rem; color:#7E8C90; }
.nd-footer__payment { display:flex; justify-content:center; margin-top:1.25rem; }
@media (max-width:780px){ .nd-footer__grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .nd-footer__grid{grid-template-columns:1fr;} .nd-footer__base{flex-direction:column; text-align:center;} }

.btn.btn-primary, button.signup-submit, .signup-pay, .signup-submit { background: var(--nd-teal-d); color:#fff; border:1px solid transparent; border-radius:99px; font-family: var(--nd-body); font-weight:700; }
.btn.btn-primary:hover, button.signup-submit:hover, .signup-pay:hover { background: var(--nd-teal); color:#fff; }
.legal-prose { color: var(--nd-ink-2); line-height:1.7; }
.legal-prose h1,.legal-prose h2,.legal-prose h3 { color: var(--nd-ink); }
.legal-prose a { color: var(--nd-teal-d); }
.page--members, body { background: var(--nd-surface); }
