/* Production refinements of Zerall's Field Green design system. */
:root { --r-xl:1rem; --r-lg:1rem; --shadow-glow:var(--shadow-sm); --wrap:78rem; }
html { scroll-padding-top:6rem; scrollbar-color:var(--forest-soft) var(--paper); }
body { overflow-wrap:break-word; }
::selection { background:var(--lime); color:var(--forest-deep); }
input, textarea { caret-color:var(--teal-action); }
h1,h2,h3,h4,.display,.d-lg,.d-md,.brand,.price .amt { letter-spacing:-.035em; text-wrap:balance; }
p { text-wrap:pretty; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--teal-action); outline-offset:5px; }
.site-foot :focus-visible,.hero :focus-visible,.featured :focus-visible,.mobile-panel :focus-visible { outline-color:var(--lime); }
.site-head { background:var(--paper-lift); backdrop-filter:none; -webkit-backdrop-filter:none; }
.site-head .wrap { box-shadow:none; }
.brand { letter-spacing:-.04em; }
.nav { margin-inline: auto 0; gap:.1rem; }
.nav a { padding-inline:.7rem; font-size:.86rem; min-height:44px; }
.nav a[aria-current] { text-decoration:underline; text-decoration-color:var(--lime-ink); text-decoration-thickness:2px; text-underline-offset:7px; background:transparent; }
.nav a.nav-cta { border-radius:.65rem; box-shadow:none; }
.btn { border-radius:.65rem; box-shadow:none; font-weight:600; min-height:50px; }
.btn:hover { box-shadow:none; }
.btn:disabled { opacity:.65; cursor:wait; transform:none; }
.tlink,.ask { text-underline-offset:4px; }
.pagehead { padding-top:clamp(3.5rem,7vw,6.5rem); padding-bottom:clamp(2.5rem,5vw,4.5rem); gap:clamp(1.5rem,5vw,5rem); }
.pagehead .d-lg { font-size:clamp(2.65rem,5.4vw,4.6rem); line-height:1.06; max-width:16ch; }
.pagehead .lead { max-width:46ch; font-size:1.075rem; line-height:1.75; }
.home-page .hero.hero-full-picture { min-height:620px; }
.home-page .hero::before { display:none; }
.hero-full-picture .hero-shell { min-height:620px; padding-block:5rem; }
.hero-full-picture .hero-copy { max-width:760px; }
.home-page .hero h1 { font-size:clamp(3.5rem,6.6vw,6rem); max-width:13ch; line-height:1.04; letter-spacing:-.04em; }
.home-page .hero h1,.home-page .hero .lead,.home-page .hero .actions { animation:none; opacity:1; transform:none; }
.home-page .hero h1 { color:var(--paper-lift); }
.home-page .hero h1 em { color:var(--lime); }
.home-page .hero .lead { font-size:1.1rem; max-width:48ch; line-height:1.75; color:var(--paper); margin-block:1.7rem 2rem; }
.home-page .hero .btn,.home-page .hero .light-link { border-radius:.65rem; }
.hero-bg-overlay { background:linear-gradient(90deg,rgb(7 28 25 / .96),rgb(7 28 25 / .82) 45%,rgb(7 28 25 / .2)); }
.trust-strip .wrap { min-height:112px; gap:2rem; }
.trust-stats { gap:2.5rem; }
.trust-stats span { font-size:.84rem; }
.trust-stats b { font-size:1.5rem; font-variant-numeric:tabular-nums; }
.display { font-size:clamp(2.4rem,4.7vw,4.6rem); line-height:1.08; }
.intro-body { border:0; padding:0; }
.intro-body p { font-size:1.1rem; line-height:1.75; }
.work-grid { grid-template-rows:auto auto; }
.feature-main { grid-row:span 2; min-height:0; border-radius:1rem; box-shadow:none; }
.feature-side { border-radius:1rem; min-height:0; box-shadow:none; }
.feature-side h2,.feature-main h2 { font-size:clamp(2rem,3.4vw,3.6rem); line-height:1.08; letter-spacing:-.035em; }
.feature-side .side-icon { display:none; }
.feature-main-media { margin-top:2rem; max-width:100%; box-shadow:none; }
.feature-side-thumb { border-radius:.6rem; height:170px; overflow:hidden; }
.feature-side-thumb img { width:100%; height:100%; object-fit:cover; }
.feature-side.soft .feature-side-thumb img { object-fit:contain; background:var(--forest-deep); }
.feature-link { min-height:44px; display:inline-flex; align-items:center; gap:1rem; }
.result-band { padding-block:clamp(4rem,7vw,7rem); }
.result-quote { border:0; }
.result-quote p { font-size:clamp(1.4rem,2.2vw,1.9rem); line-height:1.5; }
.result-port-photo { border:0; box-shadow:none; }
.result-signoff { font-family:var(--sans); letter-spacing:.05em; }
.product-rail { gap:0; border-top:1px solid var(--border); }
.product-rail a { border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; min-height:155px; padding:1.5rem; text-decoration:none; }
.product-rail a+a { border-left:1px solid var(--border); }
.product-rail a:hover { box-shadow:none; transform:none; background:var(--lime-wash); }
.product-rail span { margin-top:0; }
.cta-wrap h2 { font-size:clamp(2.5rem,5vw,4.7rem); line-height:1.08; letter-spacing:-.035em; }
.site-foot { margin-top:0; padding-bottom:3rem; }
.foot-lead { max-width:48ch; }
.wa-fab { color:var(--forest-deep); background:var(--lime); box-shadow:0 6px 20px rgb(7 28 25 / .16); z-index:70; }
.wa-fab:hover { color:var(--forest-deep); background:var(--lime-bright); box-shadow:0 8px 24px rgb(7 28 25 / .2); }
.prodcard { border-radius:1rem; box-shadow:none; scroll-margin-top:6rem; }
.prodcard-body h2 { letter-spacing:-.035em; }
.prod-photo-card { box-shadow:none; border:0; }
.prod-photo-overlay { backdrop-filter:none; -webkit-backdrop-filter:none; font-family:var(--sans); letter-spacing:0; }
.story { max-width:68rem; }
.story.prose { max-width:68rem; }
.story>section { max-width:100%; }
.story>section>p { max-width:70ch; }
.story .lead { font-size:1.3rem; line-height:1.65; }
.founders { padding:0; gap:1.5rem; }
.founders li { border-radius:0; padding:0 0 1.5rem; background:transparent; border-bottom:1px solid var(--border); box-shadow:none; min-width:0; }
.founder-photo { border:0; box-shadow:none; border-radius:.75rem; background:var(--sand); width:100%; height:auto; aspect-ratio:1; object-fit:cover; margin-bottom:1rem; }
.founders .fn { font-size:1.15rem; line-height:1.4; }
.founders .fr { font:400 .85rem/1.6 var(--sans); text-transform:none; letter-spacing:0; color:var(--muted); margin-top:.35rem; }
.reg-line { margin-top:2rem; }
.about-extra h2,.about-principles h2 { line-height:1.1; letter-spacing:-.035em; }
.milestones h3 { line-height:1.3; }
.principle-grid article { border-radius:0; background:transparent; padding:1.5rem 0; min-height:0; border:0; border-top:1px solid var(--border); }
.principle-grid h3 { margin:0 0 1rem; letter-spacing:-.025em; line-height:1.3; }
.tiers { align-items:stretch; }
.tier { box-shadow:none; transform:none; }
.tier:hover,.tier.featured { transform:none; }
.tier .price { font-variant-numeric:tabular-nums; }
.tier .amt { font-size:clamp(2rem,3.2vw,3rem); letter-spacing:-.04em; }
.tier.featured .price-sub,.tier.featured .tier-desc,.tier.featured .ask { color:var(--paper); opacity:1; }
.tier-popular-badge { position:static; transform:none; align-self:flex-start; margin-bottom:1.25rem; font-size:.7rem; white-space:normal; }
.tier-cta-btn { width:100%; }
.billing-toggle-subtext { min-height:1.6em; }
.billing-toggle-btn { min-height:48px; }
.pricing-trust-grid { border-top:1px solid var(--border); padding-top:2rem; }
.pricing-trust-icon { width:32px; height:32px; background:transparent; padding:0; border-radius:0; }
.pricing-trust-icon svg { width:24px; height:24px; }
.fit-card { box-shadow:none; border-radius:1rem; }
.matrix-scroll { overflow-x:auto; overscroll-behavior-inline:contain; border-radius:.75rem; }
.matrix-table { display:table; min-width:660px; box-shadow:none; }
.matrix-table th { font-family:var(--sans); letter-spacing:0; text-transform:none; font-size:.85rem; }
.matrix-table td { font-size:.86rem; }
.matrix-table .dash-icon { opacity:1; }
.matrix-table caption { text-align:left; padding:.75rem; font-weight:600; }
.faq-item { box-shadow:none; }
.faq-item summary,.note summary { min-height:48px; }
.comm { gap:2rem; }
.cform,.term-panel,.legal-body { box-shadow:none; border-radius:1rem; }
.cform { gap:1.25rem; }
.field input,.field select,.field textarea { width:100%; min-height:50px; border:1px solid var(--border); border-radius:.5rem; background:var(--paper-lift); padding:.8rem 1rem; color:var(--ink); }
.field textarea { min-height:150px; resize:vertical; }
.field label { display:block; margin-bottom:.5rem; font-weight:500; }
.field label { font-family:var(--sans); font-size:.9rem; letter-spacing:0; text-transform:none; }
.meta,.foot-col h2,.foot-co,.result-signoff,.trust-stats span,.milestones span,.reg-line { font-family:var(--sans); font-size:.78rem; letter-spacing:.025em; }
.foot-co { line-height:1.8; }
.trust-stats span { text-transform:none; }
.checkout-summary dt,.payment-details dt { text-transform:none; }
.form-status { margin-top:1rem; line-height:1.6; color:var(--muted); }
.form-status[data-error] { color:#9b2929; }
.dl-card { box-shadow:none; border-radius:1rem; }
.legal-grid { align-items:start; }
.legal-body { min-width:0; }
.legal-body h2,.legal-body h3 { line-height:1.3; letter-spacing:-.025em; }
.checkout-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,7rem); padding-block:clamp(3rem,7vw,6rem); max-width:68rem; }
.checkout-copy h1,.payment-state h1 { font-size:clamp(2.5rem,5vw,4rem); line-height:1.08; max-width:14ch; letter-spacing:-.035em; margin-bottom:1.5rem; }
.checkout-copy>p { max-width:44ch; color:var(--muted); line-height:1.75; }
.checkout-summary { margin-top:2rem; padding-block:1.5rem; border-block:1px solid var(--border); }
.checkout-summary dt { color:var(--muted); font-size:.9rem; }
.checkout-summary dd { margin:.4rem 0 1rem; font-weight:600; }
.checkout-summary dd:last-child { margin-bottom:0; font-size:1.7rem; font-variant-numeric:tabular-nums; }
.checkout-form { align-self:start; background:var(--paper-lift); padding:clamp(1.5rem,3vw,2.5rem); border-radius:1rem; }
.checkout-form h2 { font-size:1.45rem; line-height:1.3; margin-bottom:1.75rem; }
.checkout-form .btn { margin-top:1.5rem; width:100%; }
.checkout-form .fine { color:var(--muted); font-size:.82rem; line-height:1.6; margin-top:1rem; }
.checkout-back { display:inline-flex; align-items:center; min-height:44px; margin-top:1.5rem; text-underline-offset:4px; }
.payment-state { max-width:48rem; padding-block:clamp(4rem,8vw,7rem); min-height:65vh; }
.payment-state>p { max-width:60ch; color:var(--muted); line-height:1.8; }
.payment-details { border-block:1px solid var(--border); padding-block:1.25rem; margin-block:2rem; }
.payment-details dt { color:var(--muted); font-size:.85rem; }
.payment-details dd { margin:.3rem 0 1rem; font-weight:600; }
.payment-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; align-items:center; }
@media(min-width:60rem) { .founders { grid-template-columns:repeat(3,minmax(0,1fr)); } .founder-photo { height:auto; aspect-ratio:1.15; } }
@media(max-width:67rem) { .site-head .nav { display:none; } .mobile-menu { display:block; margin-left:auto; } .mobile-menu summary { color:var(--ink); min-height:44px; display:flex; align-items:center; gap:.75rem; } .menu-icon,.menu-icon::before,.menu-icon::after { background:var(--ink); } .mobile-panel { right:1rem; max-width:calc(100vw - 2rem); } }
@media(max-width:59.99rem) { .pagehead,.checkout-layout { grid-template-columns:1fr; } .pagehead .lead { justify-self:start; } .work-grid { grid-template-columns:1fr 1fr; } .feature-main { grid-column:1/-1; grid-row:auto; } .feature-side,.feature-side.soft { grid-column:auto; } .checkout-layout { max-width:44rem; gap:2rem; } .founders { grid-template-columns:repeat(3,minmax(0,1fr)); } .founders li { flex-direction:column; align-items:stretch; } .tiers { grid-template-columns:1fr; max-width:42rem; margin-inline:auto; } }
@media(max-width:47.99rem) {
  body { padding-bottom:0; }
  .pagehead { padding-inline:var(--pad); gap:1.4rem; }
  .home-page .hero.hero-full-picture,.hero-full-picture .hero-shell { min-height:580px; }
  .hero-full-picture .hero-shell { padding-block:3.5rem; }
  .home-page .hero h1 { font-size:clamp(2.8rem,11.8vw,4.4rem); max-width:13ch; }
  .hero-bg-overlay { background:rgb(7 28 25 / .83); }
  .home-page .hero .lead { font-size:1rem; margin-block:1.5rem; }
  .hero .actions { gap:1rem; align-items:flex-start; }
  .trust-strip .wrap { align-items:flex-start; gap:1.25rem; }
  .trust-strip p { max-width:35ch; font-size:.95rem; }
  .trust-stats { width:100%; display:flex; gap:1rem; flex-wrap:wrap; justify-content:space-between; }
  .trust-stats span { min-width:0; font-size:.72rem; }
  .trust-stats b { font-size:1.25rem; }
  .work-grid { grid-template-columns:1fr; gap:1rem; padding-bottom:4rem; }
  .feature-main,.feature-side { grid-column:1; padding:1.5rem; }
  .split-intro { grid-template-columns:minmax(0,1fr); gap:1.75rem; }
  .section-heading { align-items:flex-start; }
  .product-rail a { min-height:130px; }
  .product-rail a:nth-child(3) { border-left:0; }
  .result-grid { gap:2.5rem; }
  .founders { grid-template-columns:1fr; gap:1.5rem; }
  .founders li { display:grid; grid-template-columns:88px minmax(0,1fr); align-items:center; gap:1.25rem; }
  .founder-photo { height:88px; width:88px; aspect-ratio:1; margin:0; }
  .tier { padding:1.65rem; }
  .tier .amt { font-size:2.8rem; }
  .billing-toggle { max-width:100%; }
  .billing-toggle-btn { padding-inline:.85rem; font-size:.8rem; }
  .billing-badge { font-size:.65rem; }
  .term-panel .big { font-size:clamp(1rem,5vw,1.5rem); overflow-wrap:anywhere; }
  .foot-top { gap:2.5rem; }
  .site-foot { padding-bottom:5.5rem; }
  .wa-fab { right:1rem; bottom:max(1rem,env(safe-area-inset-bottom)); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media(forced-colors:active) { .btn,.billing-toggle-btn,.tier,.field input,.field select,.field textarea { border:1px solid ButtonText; } }
