@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:1240px; }
* { 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,.4); 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:11px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.eyebrow.light { color:#c8d8ce; }
.lead { max-width:580px; color:var(--muted); font-size:clamp(17px,1.6vw,20px); }

.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:70px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; }
.wordmark,.footer-wordmark { font-family:var(--serif); font-size:25px; font-weight:700; letter-spacing:.08em; line-height:1; }
.nav { display:flex; gap:32px; color:#454a47; font-size:13px; }
.nav a { position:relative; }
.nav a::after { content:""; position:absolute; right:0; bottom:-5px; left:0; height:1px; background:var(--forest); transform:scaleX(0); transform-origin:left; transition:transform 180ms ease; }
.nav a:hover::after { transform:scaleX(1); }
.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:42px; padding:8px 16px; font-size:13px; }
.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); }
.text-link span { transition:transform 180ms ease; }
.text-link:hover span { transform:translateX(4px); }

.hero { background:var(--surface); border-bottom:1px solid var(--border); }
.hero-grid { min-height:min(760px,calc(100vh - 70px)); display:grid; grid-template-columns:.82fr 1.18fr; }
.hero-copy { padding:clamp(62px,7vw,98px) clamp(28px,5vw,72px) 60px 0; display:flex; flex-direction:column; justify-content:center; }
.hero h1 { max-width:570px; margin:0; font-family:var(--serif); font-size:clamp(66px,6.8vw,102px); font-weight:400; letter-spacing:-.042em; line-height:.94; }
.hero-lead { max-width:550px; margin:26px 0 0; color:#444a46; font-family:var(--serif); font-size:clamp(21px,1.9vw,27px); line-height:1.35; }
.topic-line { margin:24px 0 0; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.hero-visual { min-height:620px; position:relative; overflow:hidden; background:#dfe4df; }
.hero-image { width:100%; height:100%; object-fit:cover; object-position:42% center; transition:transform 700ms ease; }
.hero-visual:hover .hero-image { transform:scale(1.012); }
.visual-note { position:absolute; z-index:2; top:66px; right:32px; margin:0; color:#3e4943; font-family:var(--serif); font-size:19px; font-style:italic; line-height:1.35; text-align:right; text-shadow:0 1px 8px rgba(251,250,247,.75); }
.hero-inset { width:42%; min-width:260px; margin:0; position:absolute; right:0; bottom:0; border-top:5px solid var(--surface); border-left:5px solid var(--surface); overflow:hidden; }
.hero-inset img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.hero-inset figcaption { position:absolute; right:18px; bottom:15px; padding:7px 9px; color:var(--surface); background:rgba(29,33,31,.8); font-family:var(--serif); font-size:15px; font-style:italic; line-height:1.2; }
.signup-form { max-width:600px; margin-top:31px; }
.signup-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; }
.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:13px; display:grid; grid-template-columns:20px 1fr; gap:9px; align-items:start; color:var(--muted); font-size:11px; line-height:1.45; }
.consent input { width:18px; height:18px; margin:1px 0 0; accent-color:var(--forest); }
.form-note,.form-status { margin:9px 0 0; color:var(--muted); font-size:11px; }
.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 { background:var(--canvas); border-bottom:1px solid var(--border); }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); padding-block:58px; }
.principle-grid article { position:relative; padding:0 42px; 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 article:not(:last-child)::after { content:"→"; position:absolute; top:5px; right:-10px; z-index:1; padding:0 4px; color:var(--forest); background:var(--canvas); }
.principle-top { display:flex; align-items:center; gap:14px; color:var(--forest); }
.principle-top i { font-size:27px; }
.principle-top span { font-size:10px; font-weight:800; letter-spacing:.12em; }
.principle-grid h2 { margin:13px 0 0; font-family:var(--serif); font-size:clamp(43px,4.5vw,64px); font-weight:400; line-height:1; }
.principle-grid p { max-width:270px; margin:13px 0 0; color:var(--muted); font-size:14px; }

.horizon-break { height:clamp(360px,38vw,520px); position:relative; overflow:hidden; color:var(--surface); background:var(--forest-dark); }
.horizon-break::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,31,25,.62) 0,rgba(20,31,25,.13) 52%,rgba(20,31,25,0) 72%); pointer-events:none; }
.horizon-break>img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 800ms ease; }
.horizon-break:hover>img { transform:scale(1.012); }
.horizon-copy { position:absolute; z-index:2; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.horizon-copy h2 { max-width:560px; margin:0; font-family:var(--serif); font-size:clamp(58px,6vw,88px); font-weight:400; letter-spacing:-.035em; line-height:.98; text-shadow:0 2px 18px rgba(16,24,20,.3); }

.focus-section { padding-block:clamp(78px,9vw,124px); background:var(--surface); border-bottom:1px solid var(--border); }
.focus-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(62px,9vw,124px); align-items:start; }
.focus-copy { position:sticky; top:116px; }
.focus-copy h2,.weekly h2,.community h2,.closing-section h2,.final-cta h2 { margin:0; font-family:var(--serif); font-size:clamp(46px,5vw,72px); font-weight:400; letter-spacing:-.035em; line-height:1; }
.focus-list { margin:0; padding:0; border-top:1px solid var(--border); list-style:none; }
.focus-list li { border-bottom:1px solid var(--border); }
.focus-list a { min-height:74px; display:grid; grid-template-columns:34px minmax(0,1fr) 24px; gap:16px; align-items:center; padding:11px 8px; transition:background 180ms ease,padding 180ms ease; }
.focus-list a:hover { padding-inline:14px; background:#f1f3ee; }
.focus-list a>i:first-child { color:var(--forest-dark); font-size:25px; }
.focus-list a>i:last-child { color:var(--forest); font-size:18px; transition:transform 180ms ease; }
.focus-list a:hover>i:last-child { transform:translateX(4px); }
.focus-list span { display:grid; grid-template-columns:minmax(145px,.65fr) 1.35fr; gap:20px; align-items:center; }
.focus-list strong { font-family:var(--serif); font-size:20px; font-weight:400; }
.focus-list small { color:var(--muted); font-size:13px; }

.community { width:min(1440px,100%); margin-inline:auto; display:grid; grid-template-columns:1.25fr .75fr; background:#eef1ec; border-bottom:1px solid var(--border); }
.community-image { min-height:530px; overflow:hidden; }
.community-image img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform 700ms ease; }
.community-image:hover img { transform:scale(1.012); }
.community-copy { padding:clamp(64px,8vw,112px) clamp(42px,6vw,90px); display:flex; flex-direction:column; justify-content:center; }
.community-copy h2 { max-width:500px; }
.community-copy>p:not(.eyebrow) { max-width:480px; color:#505652; font-size:18px; }
.community-copy .text-link { align-self:flex-start; }

.weekly { padding-block:clamp(76px,9vw,112px); 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:17px; }
.weekly-points { border-top:1px solid #547263; }
.weekly-points div { min-height:70px; display:grid; grid-template-columns:140px 1fr; align-items:center; gap:22px; border-bottom:1px solid #547263; }
.weekly-points strong { color:#c4d6cb; font-size:11px; letter-spacing:.15em; }

.closing-section { padding-block:clamp(78px,9vw,120px); background:var(--surface); }
.closing-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(54px,7vw,96px); align-items:start; }
.about-copy { padding-right:clamp(30px,4vw,56px); border-right:1px solid var(--border); }
.about-copy h2 { font-size:clamp(42px,4.3vw,62px); }
.about-copy>p:not(.eyebrow) { color:#505652; }
.founding { display:grid; grid-template-columns:.72fr 1.05fr; gap:clamp(28px,4vw,50px); align-items:start; scroll-margin-top:100px; }
.founding-copy h2 { font-size:clamp(40px,4vw,58px); }
.founding-copy>p:not(.eyebrow) { color:#505652; font-size:15px; }
.founding-offer { padding:clamp(24px,3vw,34px); background:var(--canvas); border:1px solid var(--border); border-radius:var(--radius); }
.offer-label { margin:0 0 10px; color:var(--forest-dark); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.price-line { display:flex; flex-wrap:wrap; align-items:baseline; gap:7px 13px; }
.price-line s { color:var(--muted); font-size:15px; }
.price-line strong { font-family:var(--serif); font-size:clamp(50px,5vw,68px); font-weight:400; letter-spacing:-.04em; line-height:1; }
.price-line span { color:var(--muted); font-size:12px; }
.founding-offer ul { margin:22px 0; padding:0; list-style:none; border-top:1px solid var(--border); }
.founding-offer li { padding:11px 0 11px 22px; position:relative; border-bottom:1px solid var(--border); font-size:13px; }
.founding-offer li::before { content:"✓"; position:absolute; left:0; color:var(--forest); font-weight:800; }
.founding-offer .button { width:100%; }
.offer-note { margin:11px 0 0; color:var(--muted); font-size:10px; line-height:1.5; }

.final-cta { padding-block:54px; background:var(--canvas); border-top:1px solid var(--border); }
.final-inner { display:flex; justify-content:space-between; gap:48px; align-items:center; }
.final-cta h2 { max-width:780px; font-size:clamp(38px,4.2vw,58px); }
.final-cta .button { flex:0 0 auto; }
.site-footer { padding-block:56px 26px; 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:12px; }
.footer-links { display:flex; flex-wrap:wrap; gap:18px 28px; color:#d3d7d4; font-size:13px; }
.footer-inner>p { grid-column:1/-1; padding-top:20px; 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; }

.has-js [data-reveal] { opacity:0; transform:translateY(14px); transition:opacity 480ms ease var(--delay,0ms),transform 480ms ease var(--delay,0ms); }
.has-js [data-reveal].is-visible { opacity:1; transform:none; }

@media (max-width:1080px) {
  .hero-grid { width:100%; grid-template-columns:1fr; }
  .hero-copy { width:min(100% - 48px,var(--container)); margin-inline:auto; padding:72px 0 56px; }
  .hero-visual { min-height:650px; }
  .closing-grid { grid-template-columns:1fr; }
  .about-copy { padding-right:0; padding-bottom:54px; border-right:0; border-bottom:1px solid var(--border); }
}

@media (max-width:820px) {
  .focus-grid,.weekly-grid,.community { grid-template-columns:1fr; }
  .focus-copy { position:static; }
  .community-image { min-height:440px; }
  .community-copy { padding-inline:24px; }
  .founding { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
  .container,.hero-copy { width:min(100% - 32px,var(--container)); }
  .header-inner { min-height:62px; grid-template-columns:1fr auto; }
  .nav { display:none; }
  .wordmark { font-size:22px; }
  .button-small { min-height:40px; padding:7px 12px; font-size:12px; }
  .hero-copy { padding-block:58px 42px; }
  .hero h1 { font-size:clamp(54px,17vw,72px); }
  .hero-lead { font-size:19px; }
  .topic-line { line-height:1.8; }
  .signup-row { grid-template-columns:1fr; }
  .signup-row .button { width:100%; }
  .hero-visual { min-height:500px; }
  .hero-image { height:100%; object-position:42% center; }
  .visual-note { top:22px; right:18px; font-size:15px; }
  .hero-inset { width:58%; min-width:0; }
  .hero-inset figcaption { right:8px; bottom:8px; font-size:12px; }
  .principle-grid { grid-template-columns:1fr; padding-block:24px; }
  .principle-grid article,.principle-grid article:first-child,.principle-grid article:last-child { padding:26px 0; border-right:0; border-bottom:1px solid var(--border); }
  .principle-grid article:last-child { border-bottom:0; }
  .principle-grid article::after { display:none; }
  .horizon-break { height:420px; }
  .horizon-break>img { object-position:38% center; }
  .horizon-break::after { background:rgba(20,31,25,.34); }
  .horizon-copy { justify-content:flex-end; padding-bottom:44px; }
  .horizon-copy h2 { font-size:52px; }
  .focus-list span { grid-template-columns:1fr; gap:2px; }
  .focus-list a { min-height:82px; grid-template-columns:30px minmax(0,1fr) 20px; gap:12px; }
  .focus-list strong { font-size:18px; }
  .focus-list small { font-size:12px; }
  .community-image { min-height:360px; }
  .community-copy { padding-block:64px; }
  .weekly-points div { grid-template-columns:105px 1fr; }
  .founding { grid-template-columns: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; }
  .has-js [data-reveal] { opacity:1; transform:none; }
}
