@font-face { font-family:"Manrope Variable"; font-style:normal; font-display:swap; font-weight:200 800; src:url("/assets/manrope-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"Manrope Variable"; font-style:normal; font-display:swap; font-weight:200 800; src:url("/assets/manrope-latin.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:"DM Serif Display"; font-style:normal; font-display:swap; font-weight:400; src:url("/assets/dm-serif-display-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:"DM Serif Display"; font-style:normal; font-display:swap; font-weight:400; src:url("/assets/dm-serif-display-latin.woff2") format("woff2"); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
:root { --canvas:#f4f1ea; --surface:#fbfaf7; --ink:#1d211f; --forest:#315c49; --forest-dark:#244638; --forest-light:#dce6df; --muted:#656a66; --border:#d9d7d0; --serif:"DM Serif Display",Georgia,"Times New Roman",serif; --sans:"Manrope Variable","Arial Nova",Arial,sans-serif; --radius:7px; --container:1200px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--canvas); }
body { margin:0; color:var(--ink); background:var(--canvas); font-family:var(--sans); font-size:16px; line-height:1.6; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
:focus-visible { outline:3px solid rgba(49,92,73,.38); outline-offset:3px; border-radius:4px; }
::selection { color:var(--ink); background:var(--forest-light); }
.container { width:min(var(--container),calc(100% - 48px)); margin-inline:auto; }
.sr-only,.honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
.skip-link { position:fixed; z-index:100; top:12px; left:12px; padding:10px 14px; color:var(--surface); background:var(--ink); transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.eyebrow { margin:0 0 14px; color:var(--forest-dark); font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow.light { color:#c8d8ce; }
.lead { max-width:590px; color:var(--muted); font-size:clamp(18px,2vw,21px); }
.site-header { position:sticky; z-index:30; top:0; background:rgba(251,250,247,.94); border-bottom:1px solid var(--border); backdrop-filter:blur(14px); }
.header-inner { min-height:72px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; }
.wordmark,.footer-wordmark { font-family:var(--serif); font-size:26px; font-weight:700; letter-spacing:.08em; line-height:1; }
.nav { display:flex; gap:32px; font-size:14px; }
.nav a { color:#454a47; }
.header-inner>.button { justify-self:end; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; color:var(--surface); background:var(--forest); border:1px solid var(--forest); border-radius:var(--radius); font-weight:750; font-size:14px; transition:background 180ms ease,transform 180ms ease; }
.button:hover { background:var(--forest-dark); transform:translateY(-1px); }
.button:disabled { opacity:.62; cursor:wait; transform:none; }
.button-small { min-height:44px; padding:9px 17px; }
.hero { background:var(--surface); border-bottom:1px solid var(--border); }
.hero-grid { min-height:min(760px,calc(100vh - 72px)); display:grid; grid-template-columns:.92fr 1.08fr; }
.hero-copy { padding:clamp(68px,8vw,112px) clamp(28px,5vw,74px) 68px 0; display:flex; flex-direction:column; justify-content:center; }
.hero h1 { max-width:620px; margin:0; font-family:var(--serif); font-size:clamp(68px,7.2vw,108px); font-weight:400; letter-spacing:-.04em; line-height:.94; }
.hero-lead { max-width:600px; margin:28px 0 0; color:#444a46; font-family:var(--serif); font-size:clamp(21px,2.1vw,28px); line-height:1.35; }
.topic-line { margin:27px 0 0; color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hero-media { min-height:620px; margin:0; overflow:hidden; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:52% center; }
.signup-form { max-width:610px; margin-top:34px; }
.signup-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.signup-row input { min-width:0; min-height:50px; padding:12px 15px; color:var(--ink); background:#fff; border:1px solid #adafaa; border-radius:var(--radius); }
.signup-row input:focus { outline:none; border-color:var(--forest); box-shadow:0 0 0 3px rgba(49,92,73,.17); }
.consent { margin-top:14px; display:grid; grid-template-columns:20px 1fr; gap:9px; align-items:start; color:var(--muted); font-size:12px; line-height:1.45; }
.consent input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--forest); }
.form-note,.form-status { margin:10px 0 0; color:var(--muted); font-size:12px; }
.form-note a { text-decoration:underline; text-underline-offset:2px; }
.form-status:empty { display:none; }
.form-status.success { color:#19462f; }
.form-status.error { color:#842f28; }
.principles { border-bottom:1px solid var(--border); }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-block:68px; }
.principle-grid article { padding:0 48px; border-right:1px solid var(--border); }
.principle-grid article:first-child { padding-left:0; }
.principle-grid article:last-child { padding-right:0; border:0; }
.principle-grid span { color:var(--forest); font-family:var(--serif); font-size:18px; }
.principle-grid h2 { margin:12px 0 0; font-family:var(--serif); font-size:clamp(44px,5vw,70px); font-weight:400; line-height:1; }
.principle-grid p { max-width:280px; margin:13px 0 0; color:var(--muted); }
.focus-section { padding-block:clamp(78px,10vw,126px); background:#edf1ec; }
.focus-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(56px,9vw,118px); align-items:start; }
.focus-grid h2,.weekly h2,.about h2,.founding h2,.final-cta h2 { margin:0; font-family:var(--serif); font-size:clamp(46px,5.3vw,72px); font-weight:400; letter-spacing:-.03em; line-height:1.02; }
.focus-list { display:grid; grid-template-columns:1fr 1fr; margin:0; padding:0; border-top:1px solid #bfc8c1; list-style:none; }
.focus-list li { min-height:68px; padding:18px 16px; display:flex; align-items:center; border-bottom:1px solid #bfc8c1; font-family:var(--serif); font-size:23px; }
.focus-list li:nth-child(odd) { border-right:1px solid #bfc8c1; }
.focus-list .practical { color:var(--forest-dark); background:var(--forest-light); }
.weekly { padding-block:clamp(80px,10vw,120px); color:var(--surface); background:var(--forest-dark); }
.weekly-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(58px,9vw,120px); align-items:center; }
.weekly-lead { max-width:520px; color:#d2dcd6; font-size:18px; }
.weekly-points { border-top:1px solid #547263; }
.weekly-points div { min-height:76px; display:grid; grid-template-columns:140px 1fr; align-items:center; gap:22px; border-bottom:1px solid #547263; }
.weekly-points strong { color:#c4d6cb; font-size:12px; letter-spacing:.15em; }
.about { padding-block:clamp(80px,11vw,138px); background:var(--surface); }
.about-grid { display:grid; grid-template-columns:.38fr 1fr; gap:clamp(48px,9vw,120px); }
.about-grid>div { max-width:800px; }
.about-grid p:not(.eyebrow) { color:#4f5551; font-size:clamp(18px,2vw,22px); }
.text-link { margin-top:16px; display:inline-flex; gap:12px; align-items:center; color:var(--forest-dark); font-weight:750; border-bottom:1px solid var(--forest); }
.founding { padding-block:clamp(78px,10vw,124px); background:var(--canvas); border-top:1px solid var(--border); }
.founding-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(52px,9vw,120px); align-items:start; }
.founding-copy>p:not(.eyebrow) { max-width:570px; color:#4f5551; font-size:clamp(18px,2vw,21px); }
.founding-copy .founding-clarity { margin-top:26px; padding-top:20px; color:var(--ink)!important; border-top:1px solid var(--border); font-size:14px!important; font-weight:700; }
.founding-offer { padding:clamp(28px,4vw,46px); background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); }
.offer-label { margin:0 0 12px; color:var(--forest-dark); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.price-line { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 16px; }
.price-line s { color:var(--muted); font-size:18px; }
.price-line strong { font-family:var(--serif); font-size:clamp(58px,7vw,82px); font-weight:400; letter-spacing:-.04em; line-height:1; }
.price-line span { color:var(--muted); font-size:14px; }
.founding-offer ul { margin:28px 0; padding:0; list-style:none; border-top:1px solid var(--border); }
.founding-offer li { padding:13px 0 13px 24px; position:relative; border-bottom:1px solid var(--border); }
.founding-offer li::before { content:"✓"; position:absolute; left:0; color:var(--forest); font-weight:800; }
.founding-offer .button { width:100%; }
.offer-note { margin:13px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.final-cta { padding-block:58px; border-top:1px solid var(--border); }
.final-inner { display:flex; justify-content:space-between; gap:48px; align-items:center; }
.final-cta h2 { max-width:700px; font-size:clamp(38px,4.5vw,58px); }
.final-cta .button { flex:0 0 auto; }
.site-footer { padding-block:58px 28px; color:var(--surface); background:var(--ink); }
.footer-inner { display:grid; grid-template-columns:1fr auto; gap:42px 80px; align-items:start; }
.footer-inner p { margin:12px 0 0; color:#aeb5b0; font-size:13px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px 28px; color:#d3d7d4; font-size:14px; }
.footer-inner>p { grid-column:1/-1; padding-top:22px; border-top:1px solid #383e3a; }
.legal-page { min-height:70vh; padding-block:clamp(72px,9vw,110px); background:var(--surface); }
.legal-copy { max-width:780px; }
.legal-copy h1 { margin:0; font-family:var(--serif); font-size:clamp(52px,8vw,86px); font-weight:400; letter-spacing:-.035em; line-height:1; }
.legal-copy h2 { margin:2em 0 .5em; font-family:var(--serif); font-size:34px; font-weight:400; line-height:1.15; }
.legal-copy p { color:#505652; font-size:17px; }
.legal-copy a:not(.text-link) { color:var(--forest-dark); text-decoration:underline; text-underline-offset:3px; }
.legal-updated { margin-bottom:48px; color:var(--muted); font-size:13px!important; }
@media (max-width:900px) {
  .hero-grid { width:100%; grid-template-columns:1fr; }
  .hero-copy { width:min(100% - 48px,var(--container)); margin-inline:auto; padding:76px 0 56px; }
  .hero-media { min-height:440px; }
  .focus-grid,.weekly-grid,.founding-grid { grid-template-columns:1fr; }
  .about-grid { grid-template-columns:1fr; gap:22px; }
}
@media (max-width:700px) {
  .container,.hero-copy { width:min(100% - 32px,var(--container)); }
  .header-inner { min-height:64px; grid-template-columns:1fr auto; }
  .nav { display:none; }
  .wordmark { font-size:23px; }
  .button-small { min-height:42px; padding:8px 13px; font-size:13px; }
  .hero h1 { font-size:clamp(56px,18vw,76px); }
  .hero-lead { font-size:20px; }
  .topic-line { line-height:1.8; }
  .signup-row { grid-template-columns:1fr; }
  .signup-row .button { width:100%; }
  .hero-media { min-height:360px; }
  .principle-grid { grid-template-columns:1fr; padding-block:26px; }
  .principle-grid article,.principle-grid article:first-child,.principle-grid article:last-child { padding:28px 0; border-right:0; border-bottom:1px solid var(--border); }
  .principle-grid article:last-child { border-bottom:0; }
  .focus-list { grid-template-columns:1fr; }
  .focus-list li:nth-child(odd) { border-right:0; }
  .weekly-points div { grid-template-columns:110px 1fr; }
  .final-inner,.footer-inner { display:grid; grid-template-columns:1fr; }
  .final-cta .button { width:100%; }
  .footer-inner>p { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
