/* ==========================================================================
   Still Field | Oat Field & Sage editorial system
   Palette: primary #3B4A3A  secondary #B4623E  accent #6E8B5E
            background #F4EFE6  foreground #232720
   Fonts: display "Sorts Mill Goudy" | body "Alegreya Sans" | mono "Cascadia Code"
   ONE accent locked to sage (#6E8B5E) for every interactive element.
   ========================================================================== */

:root{
  --primary:#3B4A3A;      /* deep forest, headings + primary voice */
  --secondary:#B4623E;    /* terracotta, warm support tone only */
  --accent:#6E8B5E;       /* sage, every interactive element */
  --accent-deep:#5b7a4c;  /* pressed sage */
  --bg:#F4EFE6;           /* oat ground (green-warm) */
  --fg:#232720;           /* ink, green-black undertone */
  --paper:#FBF8F1;        /* lifted paper */
  --hair:#DED6C6;         /* hairline rule */
  --hair-soft:#E7E0D2;
  --muted:#5f6357;        /* muted ink for meta */
  --radius:12px;          /* single locked soft radius */
  --measure:65ch;         /* single body measure */
  --wrap:1140px;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --shadow:0 1px 2px rgba(35,39,32,.04);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  font-family:"Alegreya Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:18px;
  line-height:1.72;
  color:var(--fg);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* subtle paper grain via layered gradients, no image files */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(1200px 700px at 82% -8%, rgba(110,139,94,.10), transparent 60%),
    radial-gradient(900px 620px at -6% 12%, rgba(180,98,62,.055), transparent 58%),
    radial-gradient(700px 700px at 50% 118%, rgba(59,74,58,.06), transparent 62%);
}

h1,h2,h3,h4{
  font-family:"Sorts Mill Goudy",Georgia,"Times New Roman",serif;
  color:var(--primary);
  font-weight:400;
  line-height:1.12;
  letter-spacing:.002em;
  margin:0 0 .5em;
}
h1{font-size:clamp(2.5rem,5.6vw,4.35rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.85rem)}
h3{font-size:clamp(1.3rem,2vw,1.6rem)}
p{margin:0 0 1.25rem}
a{color:var(--accent-deep);text-decoration:none}

img{max-width:100%;height:auto;display:block}

/* ---------- Layout helpers ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1.2rem,4vw,2.6rem)}
.section{padding-block:clamp(4rem,9vw,7.5rem)}
.section-sm{padding-block:clamp(2.6rem,6vw,4.5rem)}
.hair{height:1px;background:var(--hair);border:0;margin:0}
.eyebrow{
  font-family:"Cascadia Code",ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--accent-deep);margin:0 0 1.1rem;display:inline-block;
}
.stamp{
  font-family:"Cascadia Code",ui-monospace,monospace;
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}
.lead{font-size:1.16rem;color:var(--muted);max-width:60ch}
.measure{max-width:var(--measure)}
.center{text-align:center;margin-inline:auto}

.skip{
  position:absolute;left:-999px;top:0;background:var(--primary);color:var(--bg);
  padding:.7rem 1.1rem;border-radius:var(--radius);z-index:200;
}
.skip:focus{left:1rem;top:1rem}

/* ---------- Buttons / interactive (sage locked) ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:"Alegreya Sans",sans-serif;font-weight:700;font-size:1rem;
  padding:.82rem 1.5rem;border-radius:var(--radius);cursor:pointer;
  border:1px solid var(--accent);background:var(--accent);color:var(--paper);
  transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);
  text-decoration:none;
}
.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep);transform:translateY(-2px);box-shadow:0 10px 26px rgba(110,139,94,.28)}
.btn .arrow{transition:transform .3s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.btn-ghost{background:transparent;color:var(--accent-deep);border-color:var(--accent)}
.btn-ghost:hover{background:rgba(110,139,94,.10);color:var(--accent-deep);box-shadow:none}

/* text link with quiet accent-underline draw */
.link-draw{
  position:relative;color:var(--accent-deep);font-weight:600;
  display:inline-flex;align-items:center;gap:.4rem;
}
.link-draw::after{
  content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:100%;
  background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .4s var(--ease);
}
.link-draw:hover::after{transform:scaleX(1)}
.link-draw .arrow{transition:transform .3s var(--ease)}
.link-draw:hover .arrow{transform:translateX(3px)}

:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px;border-radius:4px}

/* ---------- Header ---------- */
.site-head{position:sticky;top:0;z-index:100;background:rgba(244,239,230,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--primary)}
.brand-name{font-family:"Sorts Mill Goudy",serif;font-size:1.4rem;letter-spacing:.01em;color:var(--primary)}
.brand-mark{flex:0 0 auto}
.primary-nav{display:flex;align-items:center;gap:1.8rem}
.primary-nav ul{display:flex;align-items:center;gap:1.7rem;list-style:none;margin:0;padding:0}
.primary-nav a{color:var(--fg);font-weight:600;font-size:.98rem;position:relative}
.primary-nav ul a::after{
  content:"";position:absolute;left:0;bottom:-6px;height:1.5px;width:100%;
  background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);
}
.primary-nav ul a:hover::after,.primary-nav ul a[aria-current="page"]::after{transform:scaleX(1)}
.primary-nav ul a[aria-current="page"]{color:var(--primary)}
.nav-toggle{display:none;background:none;border:1px solid var(--hair);border-radius:var(--radius);padding:.4rem;color:var(--primary);cursor:pointer}

@media (max-width:860px){
  .nav-toggle{display:inline-flex}
  .primary-nav{
    position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);border-bottom:1px solid var(--hair);padding:.6rem 0;
    clip-path:inset(0 0 100% 0);opacity:0;pointer-events:none;transition:clip-path .4s var(--ease),opacity .3s ease;
  }
  .primary-nav.open{clip-path:inset(0 0 0 0);opacity:1;pointer-events:auto}
  .primary-nav ul{flex-direction:column;align-items:stretch;gap:0;width:100%}
  .primary-nav ul li{border-bottom:1px solid var(--hair-soft)}
  .primary-nav ul a{display:block;padding:.95rem clamp(1.2rem,5vw,2.2rem)}
  .primary-nav ul a::after{display:none}
  .nav-cta{margin:.7rem clamp(1.2rem,5vw,2.2rem)}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding-block:clamp(4.5rem,10vw,8.5rem)}
.hero-photo{
  position:absolute;inset:0;z-index:0;
  /* soft natural-light editorial scene built from layered gradients (no image files) */
  background:
    radial-gradient(60% 90% at 78% 18%, rgba(251,248,241,.9), transparent 60%),
    radial-gradient(50% 70% at 88% 72%, rgba(110,139,94,.30), transparent 65%),
    radial-gradient(46% 66% at 68% 90%, rgba(180,98,62,.20), transparent 62%),
    linear-gradient(160deg, #eef0e5 0%, #e7e6d6 40%, #d9ddc9 100%);
}
.hero-photo::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(30% 42% at 82% 30%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(40% 40% at 60% 8%, rgba(59,74,58,.10), transparent 60%);
  mix-blend-mode:soft-light;
}
.hero .wrap{position:relative;z-index:1}
.hero-inner{max-width:760px}
.hero h1{margin-bottom:.35em}
.hero-sub{font-size:clamp(1.1rem,1.8vw,1.35rem);color:var(--muted);max-width:52ch;margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}
.hero-note{margin-top:2.6rem;display:flex;flex-wrap:wrap;gap:1.6rem 2.4rem}
.hero-note .stat b{font-family:"Sorts Mill Goudy",serif;color:var(--primary);font-size:1.9rem;display:block;line-height:1}
.hero-note .stat span{font-size:.9rem;color:var(--muted)}

/* ---------- Marquee (one per page) ---------- */
.marquee{border-block:1px solid var(--hair);background:var(--paper);overflow:hidden;padding-block:1.05rem}
.marquee-track{display:flex;gap:3.2rem;white-space:nowrap;width:max-content;animation:marq 34s linear infinite}
.marquee-track span{font-family:"Sorts Mill Goudy",serif;font-size:1.15rem;color:var(--primary);display:inline-flex;align-items:center;gap:1rem}
.marquee-track span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* ---------- Editorial sections (hairlines, not cards) ---------- */
.sec-head{max-width:46ch;margin-bottom:2.8rem}
.sec-head.wide{max-width:60ch}

.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.feature-media{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:5/4;
  background:
    radial-gradient(50% 60% at 30% 26%, rgba(251,248,241,.85), transparent 60%),
    radial-gradient(60% 70% at 78% 80%, rgba(110,139,94,.34), transparent 66%),
    radial-gradient(40% 50% at 90% 20%, rgba(180,98,62,.20), transparent 60%),
    linear-gradient(150deg,#e9ebde,#dfe0cf 55%,#d3d8c2);
}
.feature-media .grain{position:absolute;inset:0;background:radial-gradient(28% 34% at 60% 30%,rgba(255,255,255,.5),transparent 60%);mix-blend-mode:soft-light}
@media (max-width:800px){.feature{grid-template-columns:1fr}.feature.flip .feature-media{order:-1}}

/* pillar / service list - hairlines over boxes */
.pillar-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair)}
.pillar{display:grid;grid-template-columns:auto 1fr auto;gap:1.4rem;align-items:start;padding:2rem 0;border-bottom:1px solid var(--hair)}
.pillar-ico{width:44px;height:44px;border-radius:var(--radius);display:grid;place-items:center;background:rgba(110,139,94,.12);color:var(--accent-deep)}
.pillar h3{margin:0 0 .35rem}
.pillar p{margin:0;color:var(--muted);max-width:60ch}
.pillar-no{font-family:"Cascadia Code",monospace;font-size:.78rem;color:var(--muted);letter-spacing:.1em}
@media (max-width:640px){.pillar{grid-template-columns:auto 1fr}.pillar-no{display:none}}

/* stats row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;border-block:1px solid var(--hair);padding-block:2.4rem}
.stat-cell b{font-family:"Sorts Mill Goudy",serif;font-size:clamp(2rem,4vw,2.9rem);color:var(--primary);display:block;line-height:1}
.stat-cell span{font-size:.92rem;color:var(--muted)}
@media (max-width:700px){.stats{grid-template-columns:1fr 1fr;gap:2rem 1.5rem}}

/* pull quote - serif publication authority */
.pullquote{max-width:34ch;margin-inline:auto;text-align:center}
.pullquote blockquote{font-family:"Sorts Mill Goudy",serif;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.28;color:var(--primary);margin:0 0 1.1rem}
.pullquote cite{font-style:normal;font-family:"Cascadia Code",monospace;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.pullquote .qmark{color:var(--accent);font-size:2rem;line-height:1;display:block;margin-bottom:.4rem}

/* testimonials - hairline separated, no boxes */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.testi{padding:2.2rem clamp(1.2rem,2.4vw,2rem);border-left:1px solid var(--hair)}
.testi:first-child{border-left:0;padding-left:0}
.testi p{font-family:"Sorts Mill Goudy",serif;font-size:1.24rem;line-height:1.42;color:var(--primary);margin:0 0 1.4rem}
.testi .who{display:flex;align-items:center;gap:.8rem}
.testi .avatar{width:40px;height:40px;border-radius:50%;flex:0 0 auto;background:linear-gradient(135deg,var(--accent),var(--primary));display:grid;place-items:center;color:var(--paper);font-family:"Sorts Mill Goudy",serif;font-size:1.05rem}
.testi .who b{display:block;font-family:"Alegreya Sans",sans-serif;font-weight:700;color:var(--fg);font-size:.98rem}
.testi .who span{font-size:.86rem;color:var(--muted)}
@media (max-width:820px){.testi-grid{grid-template-columns:1fr}.testi{border-left:0;border-top:1px solid var(--hair);padding-left:0}.testi:first-child{border-top:0}}

/* resources / blogroll */
.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--hair)}
.resource{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem clamp(.4rem,2vw,1.6rem);border-bottom:1px solid var(--hair);color:var(--fg);transition:background .3s var(--ease)}
.resource:nth-child(odd){border-right:1px solid var(--hair)}
.resource:hover{background:rgba(110,139,94,.07)}
.resource b{font-family:"Sorts Mill Goudy",serif;font-size:1.28rem;color:var(--primary);display:block;font-weight:400}
.resource small{display:block;color:var(--muted);font-size:.9rem;margin-top:.15rem}
.resource .ico{color:var(--accent-deep);flex:0 0 auto;transition:transform .3s var(--ease)}
.resource:hover .ico{transform:translate(3px,-3px)}
@media (max-width:640px){.resource-grid{grid-template-columns:1fr}.resource:nth-child(odd){border-right:0}}

/* insights blogroll cards (hairline framed) */
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:var(--radius);overflow:hidden}
.insight{background:var(--bg);padding:1.9rem;display:flex;flex-direction:column;gap:.9rem;transition:background .3s var(--ease)}
.insight:hover{background:var(--paper)}
.insight .thumb{aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;position:relative}
.insight .th1{background:linear-gradient(150deg,#e3e6d6,#cfd6bf 60%,#c2ccb0)}
.insight .th2{background:linear-gradient(150deg,#ece2d4,#e2c6b2 60%,#d7b49b)}
.insight .th3{background:linear-gradient(150deg,#e0e4d3,#c9d2b8 55%,#b9c6a6)}
.insight .thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(40% 50% at 30% 25%,rgba(255,255,255,.5),transparent 60%);mix-blend-mode:soft-light}
.insight .imeta{display:flex;align-items:center;gap:.7rem;font-family:"Cascadia Code",monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.insight .imeta .tag{color:var(--accent-deep)}
.insight h3{font-size:1.28rem;margin:0}
.insight h3 a{color:var(--primary)}
.insight p{color:var(--muted);font-size:.98rem;margin:0}
.insight .more{margin-top:auto}
@media (max-width:820px){.insight-grid{grid-template-columns:1fr}}

/* CTA band */
.cta-band{position:relative;overflow:hidden;background:var(--primary);color:var(--bg);border-radius:var(--radius);padding:clamp(3rem,7vw,5rem) clamp(1.5rem,5vw,4rem)}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 90% at 85% 20%,rgba(110,139,94,.45),transparent 60%),radial-gradient(40% 70% at 10% 100%,rgba(180,98,62,.30),transparent 60%)}
.cta-band .inner{position:relative;z-index:1;max-width:44ch}
.cta-band h2{color:var(--paper)}
.cta-band p{color:rgba(244,239,230,.82)}
.cta-band .btn{background:var(--accent);border-color:var(--accent)}
.cta-band .btn:hover{background:var(--paper);color:var(--primary);border-color:var(--paper)}

/* ---------- Article ---------- */
.crumb{font-family:"Cascadia Code",monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-block:1.6rem}
.crumb a{color:var(--accent-deep)}
.crumb span{color:var(--fg)}
.article-hero{max-width:760px}
.article-hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem)}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem;font-family:"Cascadia Code",monospace;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:1.2rem 0 1.8rem}
.article-meta .pill{color:var(--accent-deep)}
.article-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--hair);display:inline-block}
.article-fig{border-radius:var(--radius);overflow:hidden;aspect-ratio:16/7;margin-bottom:2.6rem;position:relative;
  background:
    radial-gradient(55% 80% at 74% 24%, rgba(251,248,241,.9), transparent 62%),
    radial-gradient(50% 70% at 84% 82%, rgba(110,139,94,.32), transparent 66%),
    radial-gradient(40% 54% at 20% 30%, rgba(180,98,62,.16), transparent 60%),
    linear-gradient(150deg,#e9ebdd,#dee0ce 55%,#d1d7c0);
}
.article-fig::after{content:"";position:absolute;inset:0;background:radial-gradient(30% 46% at 78% 30%,rgba(255,255,255,.5),transparent 60%);mix-blend-mode:soft-light}

.prose{max-width:var(--measure);font-size:1.075rem;line-height:1.78}
.prose>p:first-of-type{font-size:1.2rem;color:var(--fg)}
.prose h2{margin-top:2.4em;font-size:clamp(1.6rem,2.8vw,2.15rem)}
.prose h3{margin-top:1.8em;color:var(--primary)}
.prose a{color:var(--accent-deep);font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1.5px}
.prose a:hover{text-decoration-thickness:2px}
.prose ul,.prose ol{margin:0 0 1.4rem;padding-left:1.3rem}
.prose li{margin-bottom:.5rem}
.prose li::marker{color:var(--accent)}
.prose strong{color:var(--primary)}
.prose blockquote{margin:2rem 0;padding:.4rem 0 .4rem 1.6rem;border-left:2px solid var(--accent);font-family:"Sorts Mill Goudy",serif;font-size:1.4rem;line-height:1.4;color:var(--primary)}
.prose blockquote p{margin:0}
.article-foot{max-width:var(--measure);margin-top:3rem;padding-top:1.8rem;border-top:1px solid var(--hair)}
.article-foot .src{font-size:.95rem;color:var(--muted)}
.article-foot .src a{color:var(--accent-deep);font-weight:600}
.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.2rem;font-weight:700;color:var(--accent-deep)}
.back-link .arrow{transform:scaleX(-1);transition:transform .3s var(--ease)}
.back-link:hover .arrow{transform:scaleX(-1) translateX(3px)}

/* ---------- Forms ---------- */
.form-wrap{max-width:600px}
.field{margin-bottom:1.4rem}
.field label{display:block;font-weight:700;font-size:.95rem;color:var(--primary);margin-bottom:.5rem}
.field input,.field textarea{
  width:100%;font-family:"Alegreya Sans",sans-serif;font-size:1rem;color:var(--fg);
  background:var(--paper);border:1px solid var(--hair);border-radius:var(--radius);padding:.85rem 1rem;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(110,139,94,.18)}
.field input::placeholder,.field textarea::placeholder{color:#9a9c8f}
.form-note{font-size:.86rem;color:var(--muted);margin-top:.4rem}
.thankyou{display:none;align-items:flex-start;gap:.8rem;padding:1.2rem 1.3rem;border-radius:var(--radius);background:rgba(110,139,94,.12);border:1px solid var(--accent);color:var(--primary);margin-top:1.4rem}
.thankyou.show{display:flex}
.thankyou svg{flex:0 0 auto;color:var(--accent-deep);margin-top:2px}

/* contact meta list */
.contact-meta{list-style:none;margin:0;padding:0}
.contact-meta li{display:flex;gap:.9rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--hair)}
.contact-meta li:first-child{padding-top:0}
.contact-meta .ico{width:40px;height:40px;border-radius:var(--radius);flex:0 0 auto;display:grid;place-items:center;background:rgba(110,139,94,.12);color:var(--accent-deep)}
.contact-meta b{display:block;color:var(--primary);font-weight:700}
.contact-meta a,.contact-meta span{color:var(--muted)}
.contact-meta a:hover{color:var(--accent-deep)}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.member .portrait{aspect-ratio:4/5;border-radius:var(--radius);position:relative;overflow:hidden;margin-bottom:1rem}
.member .p1{background:linear-gradient(155deg,#e6e8d8,#cdd5bd 60%,#bcc7a8)}
.member .p2{background:linear-gradient(155deg,#ece1d3,#ddc3ae 60%,#cfae94)}
.member .p3{background:linear-gradient(155deg,#e2e5d4,#c8d1b6 60%,#b6c3a3)}
.member .portrait::after{content:"";position:absolute;inset:0;background:radial-gradient(38% 42% at 42% 30%,rgba(255,255,255,.5),transparent 60%);mix-blend-mode:soft-light}
.member .portrait .mono{position:absolute;left:14px;bottom:12px;font-family:"Sorts Mill Goudy",serif;font-size:2.4rem;color:rgba(59,74,58,.32)}
.member h3{margin:0 0 .1rem;font-size:1.35rem}
.member .role{font-family:"Cascadia Code",monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.6rem}
.member p{color:var(--muted);font-size:.98rem;margin:0}
@media (max-width:760px){.team-grid{grid-template-columns:1fr;gap:2.4rem}}

/* value list */
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem}
.value .ico{width:46px;height:46px;border-radius:var(--radius);display:grid;place-items:center;background:rgba(110,139,94,.12);color:var(--accent-deep);margin-bottom:1rem}
.value h3{font-size:1.35rem;margin-bottom:.4rem}
.value p{color:var(--muted);margin:0}
@media (max-width:760px){.value-grid{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.site-foot{background:var(--paper);border-top:1px solid var(--hair);padding-block:clamp(3rem,6vw,4.5rem) 2rem;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.4rem}
.foot-brand .brand{margin-bottom:1rem}
.foot-tag{color:var(--muted);max-width:34ch;font-size:.98rem}
.foot-mail{display:inline-flex;align-items:center;gap:.55rem;color:var(--accent-deep);font-weight:600;margin-top:.6rem}
.foot-col h2{font-family:"Cascadia Code",monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:400;margin:0 0 1rem}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin-bottom:.6rem}
.foot-col a{color:var(--fg)}
.foot-col a:hover{color:var(--accent-deep)}
.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-top:2.6rem;padding-top:1.6rem;border-top:1px solid var(--hair);color:var(--muted);font-size:.85rem}
.foot-note{font-family:"Cascadia Code",monospace;letter-spacing:.06em}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ---------- Motion / reveal ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-line{overflow:hidden}
.reveal-line .ln{display:block;transform:translateY(105%);transition:transform .7s var(--ease)}
.reveal-line.in .ln{transform:none}
[data-stagger]>*{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
[data-stagger].in>*{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-line .ln,[data-stagger]>*{opacity:1 !important;transform:none !important;transition:none !important}
  .btn:hover,.resource:hover .ico,.back-link:hover .arrow{transform:none}
}
