:root{--ink:#171915;--paper:#eee9de;--cream:#f7f3ea;--tobacco:#8f4f2a;--tobacco-lt:#b66c3d;--tan:#e0bd98;--muted:#56544c;--line:rgba(23,25,21,.18);--header-h:72px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
a:focus-visible,button:focus-visible{outline:2px solid var(--tobacco-lt);outline-offset:3px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:50;padding:10px 16px;background:var(--ink);color:#fff;font-size:14px}
.skip-link:focus{top:12px}

/* Header: fixed so navigation is always reachable */
.site-header{position:fixed;z-index:20;inset:0 0 auto;height:var(--header-h);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 clamp(16px,5vw,76px);color:#fff;background:rgba(18,20,16,.94);border-bottom:1px solid rgba(255,255,255,.12);transition:background .25s ease,border-color .25s ease}
.site-header.over-hero{background:transparent;border-bottom-color:rgba(255,255,255,.28)}
.brand{display:inline-flex;align-items:center;gap:12px;width:max-content}
.brand-badge{width:46px;height:46px;border-radius:50%}
.brand-name{text-transform:uppercase;letter-spacing:.1em;font-size:13px;font-weight:700;line-height:1.3}
.brand-name em{display:block;font-family:Georgia,serif;font-size:12px;font-weight:400;letter-spacing:.24em;opacity:.85}
nav{display:flex;gap:clamp(20px,3.5vw,48px)}
nav a,.header-social{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:12px 0}
nav a:hover,.header-social:hover{color:var(--tan)}
.header-social{justify-self:end}

/* Hero */
.hero{position:relative;min-height:max(680px,100svh);color:#fff;overflow:hidden;background:#263025}
.hero:before{content:"";position:absolute;inset:0;background-image:url('hero-farm.png');background-size:cover;background-position:62% center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,16,12,.88) 0%,rgba(17,20,15,.62) 45%,rgba(17,20,15,.15) 78%),linear-gradient(0deg,rgba(10,12,9,.7),transparent 38%)}
.hero-content{position:relative;z-index:1;padding:calc(var(--header-h) + clamp(80px,14vh,150px)) clamp(16px,8vw,120px) 130px;max-width:1050px}
.eyebrow{margin:0 0 20px;color:var(--tan);text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:800;line-height:1.5}
.eyebrow.dark{color:var(--tobacco)}
.hero h1{margin:0;font:500 clamp(46px,7.4vw,112px)/.95 Georgia,serif;letter-spacing:-.045em}
.hero h1 span{font-style:italic;color:#ecdccb}
.hero-copy{max-width:600px;margin:32px 0 0;font:19px/1.65 Georgia,serif;color:rgba(255,255,255,.9)}
.hero-actions{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 26px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.1em;font-size:14px;font-weight:800;transition:background .2s ease}
.button-primary{background:var(--tobacco);color:#fff}
.button-primary:hover{background:var(--tobacco-lt)}
.button-quiet{border-color:rgba(255,255,255,.6)}
.button-quiet:hover{background:rgba(255,255,255,.12)}
.hero-foot{position:absolute;z-index:1;bottom:30px;left:clamp(16px,8vw,120px);right:clamp(16px,8vw,120px);display:flex;align-items:center;gap:18px;text-transform:uppercase;font-size:12px;letter-spacing:.18em;color:rgba(255,255,255,.75)}
.hero-foot .rule{height:1px;flex:1;background:rgba(255,255,255,.3)}

/* Shared section type */
.section-number{margin:0;font:italic 18px Georgia,serif;color:var(--tobacco)}
.manifesto h2,.about-copy h2,.updates-section h2{margin:0;font:500 clamp(34px,4.2vw,64px)/1.06 Georgia,serif;letter-spacing:-.03em}

/* 01 Manifesto */
.manifesto{display:grid;grid-template-columns:.35fr 1.25fr .8fr;gap:clamp(30px,5vw,80px);padding:120px clamp(16px,7vw,110px);border-bottom:1px solid var(--line)}
.manifesto h2 .line{display:block}
.manifesto-copy{align-self:end;margin:0;font:18px/1.75 Georgia,serif;color:var(--muted)}

/* Book */
.book-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(56px,9vw,140px);align-items:center;padding:130px clamp(16px,9vw,140px);background:var(--cream)}
.book-art{justify-self:center;width:min(380px,76vw);aspect-ratio:5.5/8.5;background:#252620;box-shadow:24px 32px 34px rgba(26,21,16,.26);transform:perspective(1000px) rotateY(4deg)}
.book-art img{width:100%;height:100%;object-fit:cover}
.book-copy h2{margin:0;font:italic 500 clamp(52px,7vw,96px)/.95 Georgia,serif;letter-spacing:-.045em}
.subtitle{margin:14px 0 0;text-transform:uppercase;letter-spacing:.14em;font-size:14px;font-weight:800;color:var(--muted)}
.tagline{margin:30px 0 30px;font:italic 24px/1.4 Georgia,serif;color:var(--tobacco)}
.book-description{max-width:620px;border-top:1px solid var(--line);padding-top:28px;font:18px/1.75 Georgia,serif;color:#3f3f3a}
.book-description p{margin:0 0 1.1em}
.text-link{display:inline-flex;gap:12px;margin-top:10px;padding:6px 0 7px;border-bottom:2px solid var(--ink);text-transform:uppercase;letter-spacing:.1em;font-size:14px;font-weight:800}
.text-link:hover{color:var(--tobacco);border-color:var(--tobacco)}

/* 02 About */
.about-section{display:grid;grid-template-columns:.55fr 1.45fr;gap:70px;padding:130px clamp(16px,8vw,120px);color:#eee9de;background:#20231e}
.about-label .eyebrow{margin-top:80px}
.section-number.light{color:var(--tan)}
.about-copy h2{max-width:850px;color:#f3ede2}
.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:48px;padding-top:34px;border-top:1px solid rgba(255,255,255,.18)}
.about-columns p{margin:0;font:17px/1.8 Georgia,serif;color:rgba(255,255,255,.82)}

/* 03 Updates */
.updates-section{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;padding:130px clamp(16px,8vw,120px);background:#dcd5c7}
.updates-section .section-number{margin-bottom:20px}
.updates-copy{align-self:end;max-width:540px}
.updates-copy>p:first-child{margin:0 0 28px;font:18px/1.75 Georgia,serif;color:#45453f}
.button-dark{background:var(--ink);color:#fff}
.button-dark:hover{background:var(--tobacco)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.signup-form{margin:0}
.signup-fields{display:flex;flex-wrap:wrap;gap:10px}
.signup-fields .formkit-input{flex:1 1 240px;min-width:0;min-height:52px;padding:0 16px;border:1px solid #9d978a;background:#fbf9f4;color:var(--ink);font:17px Georgia,serif;border-radius:0}
.signup-fields .formkit-input::placeholder{color:#6d6a61}
.signup-fields .formkit-input:focus{outline:2px solid var(--tobacco);outline-offset:0;border-color:var(--tobacco)}
.signup-fields .button{flex:1 1 auto;border:0;cursor:pointer;font-family:inherit;white-space:nowrap;position:relative}
.formkit-spinner{display:none}
.formkit-submit[data-active] .formkit-spinner{display:inline-flex;gap:4px}
.formkit-submit[data-active] .formkit-spinner span{width:6px;height:6px;border-radius:50%;background:#fff;opacity:.6}
.formkit-submit[data-active] .formkit-spinner ~ span{opacity:.5}
.signup-note{margin:12px 0 0;font-size:14px;line-height:1.5;color:#55534b}
.signup-note a{text-decoration:underline;text-underline-offset:2px}
.signup-social{margin:26px 0 0;font-size:15px;color:#45453f}
.signup-social a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.signup-social a:hover,.signup-note a:hover{color:var(--tobacco)}
.formkit-alert{list-style:none;margin:0 0 14px;padding:12px 14px;font-size:15px;line-height:1.5}
.formkit-alert:empty{display:none}
.formkit-alert-error{background:#f6e3da;border-left:3px solid #b3441b;color:#7a2a0e}
.formkit-alert-success{background:#e7ecdf;border-left:3px solid #4d6b3a;color:#2f4524;font:18px/1.6 Georgia,serif}

/* Footer */
footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:32px clamp(16px,5vw,76px);color:#e4ded2;background:#121410}
.press-logo{width:96px;height:96px;object-fit:cover;border:1px solid #5d5c54}
footer>p{justify-self:end;margin:0;font-size:13px;letter-spacing:.04em;color:#a9aa9f}

/* Tablet and phone */
@media(max-width:800px){
  :root{--header-h:64px}
  .site-header{grid-template-columns:auto 1fr;gap:12px}
  .brand-name,.header-social{display:none}
  nav{justify-self:end;gap:clamp(14px,5vw,28px)}
  nav a{font-size:13px;letter-spacing:.08em}
  .brand-badge{width:40px;height:40px}
  .hero-content{padding-bottom:110px}
  .hero-copy{font-size:18px}
  .manifesto,.book-section,.about-section,.updates-section{grid-template-columns:1fr;padding-top:80px;padding-bottom:80px}
  .manifesto{gap:24px}
  .manifesto h2 .line{display:inline}
  .book-section{gap:56px}
  .about-section{gap:28px}
  .about-label .eyebrow{margin-top:16px}
  .about-columns{grid-template-columns:1fr;gap:22px}
  .updates-section{gap:36px}
  footer{grid-template-columns:1fr auto}
  footer>p{grid-column:1/-1;justify-self:start}
}
@media(max-width:480px){
  .hero h1{font-size:44px}
  .hero-actions{flex-direction:column;align-items:stretch}
  .button{width:100%;padding:0 18px;letter-spacing:.06em;text-align:center}
  .signup-fields{flex-direction:column}
  .signup-fields .formkit-input,.signup-fields .button{flex:0 0 auto}
  .hero-foot{bottom:22px;font-size:12px;letter-spacing:.12em}
  .tagline{font-size:21px}
  .book-description,.updates-copy>p:first-child,.manifesto-copy{font-size:17px}
  .press-logo{width:80px;height:80px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.site-header{transition:none}}
