/* v1 — Four Counters Under One Roof. Organic neighbourhood market. */
:root{
  --ink:#14241a;
  --green:#1f5135;
  --green-d:#173d28;
  --leaf:#3f7d4f;
  --cream:#f6f1e4;
  --paper:#fbf8f0;
  --terra:#c25433;
  --gold:#caa64a;
  --line:rgba(20,36,26,.14);
  --wrap:1120px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:"Inter",-apple-system,system-ui,"PingFang SC",sans-serif;
  color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 22px}
.serif{font-family:"Fraunces","Georgia",serif}
.mono{font-family:"Space Mono",ui-monospace,monospace}

/* reveal */
.x9anim .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.x9anim .reveal.in{opacity:1;transform:none}
.x9anim .reveal.d1{transition-delay:.08s}
.x9anim .reveal.d2{transition-delay:.16s}
.x9anim .reveal.d3{transition-delay:.24s}

/* nav */
.nav{position:sticky;top:0;z-index:40;background:rgba(251,248,240,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--wrap);margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:10px;font-family:"Fraunces",serif;font-weight:600;font-size:20px;letter-spacing:-.01em;text-decoration:none;color:var(--green)}
.brand .seal{width:26px;height:26px;border-radius:50%;background:var(--green);position:relative;flex:0 0 auto}
.brand .seal::after{content:"";position:absolute;inset:6px;border-radius:50%;border:1.5px solid var(--cream)}
.nav-links{display:flex;gap:26px;font-size:14px}
.nav-links a{text-decoration:none;color:var(--ink);opacity:.8}
.nav-links a:hover{opacity:1;color:var(--green)}
.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:var(--cream);text-decoration:none;font-weight:600;font-size:13px;padding:9px 16px;border-radius:999px}
.nav-cta:hover{background:var(--green-d)}
@media(max-width:760px){.nav-links{display:none}}

/* hero */
.hero{position:relative;min-height:84vh;display:flex;align-items:flex-end;overflow:hidden;color:var(--cream)}
.hero-media{position:absolute;inset:0;z-index:0;will-change:transform}
.hero-media video,.hero-media .still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-media .still{background-size:cover;background-position:center}
.hero-grade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(15,30,20,.30) 0%,rgba(15,30,20,.18) 36%,rgba(12,24,16,.84) 100%)}
.hero-in{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin:0 auto;padding:64px 22px}
.hero-kick{display:inline-flex;align-items:center;gap:10px;font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#eadfc4}
.hero-kick .ln{width:34px;height:1px;background:var(--gold)}
.hero h1{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(38px,7vw,76px);line-height:1.02;letter-spacing:-.02em;margin:16px 0 14px;max-width:13ch}
.hero h1 em{font-style:italic;color:#f0d99a}
.hero-lede{max-width:54ch;font-size:clamp(15px,1.8vw,18px);color:#ece4d4}
.hero-row{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none}
.btn-terra{background:var(--terra);color:#fff}
.btn-terra:hover{background:#a8431f}
.btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.hero-chips{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}
.chip{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#f3ecdc}

/* intro band */
.band{background:var(--green);color:var(--cream)}
.band .wrap{padding:46px 22px}
.band p{font-family:"Fraunces",serif;font-size:clamp(20px,3vw,30px);line-height:1.4;max-width:24ch;margin:0;font-weight:400}
.band .small{font-family:"Inter",sans-serif;font-size:14px;color:#cfe0d2;max-width:60ch;margin-top:14px;line-height:1.7}

/* counters centerpiece */
.counters-sec{padding:84px 0}
.sec-tag{display:inline-flex;align-items:center;gap:10px;font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
.sec-tag .ln{width:28px;height:1px;background:var(--terra)}
.sec-h{font-family:"Fraunces",serif;font-weight:600;font-size:clamp(28px,4.4vw,46px);line-height:1.08;letter-spacing:-.01em;margin:14px 0 8px;max-width:18ch}
.sec-sub{color:#42584a;max-width:56ch;margin:0 0 36px}
.counters{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:900px){.counters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.counters{grid-template-columns:1fr}}
.counter-card{position:relative;border-radius:16px;overflow:hidden;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;text-decoration:none;border:1px solid var(--line);background:#0c160f;
  transform:translateY(18px);opacity:0;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s}
.counter-card.lit{transform:none;opacity:1}
.counter-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.counter-card:hover img{transform:scale(1.07)}
.counter-card .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,18,12,0) 30%,rgba(8,18,12,.86) 100%)}
.counter-card .body{position:relative;z-index:2;padding:22px}
.counter-card .no{font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.14em;color:var(--gold)}
.counter-card h3{font-family:"Fraunces",serif;font-size:23px;font-weight:600;margin:6px 0 6px}
.counter-card p{font-size:13.5px;color:#dfe7e0;margin:0;line-height:1.55}
.counter-card .seam{position:absolute;left:22px;right:22px;bottom:0;height:3px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .7s ease .2s}
.counter-card.lit .seam{transform:scaleX(1)}

/* roof line tally */
.roof{margin-top:46px;display:flex;flex-wrap:wrap;gap:34px;align-items:baseline;justify-content:center;text-align:center;padding:30px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.roof .stat{display:flex;flex-direction:column;align-items:center}
.roof .num{font-family:"Fraunces",serif;font-weight:600;font-size:46px;color:var(--green);line-height:1}
.roof .lab{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#5a6d60;margin-top:8px}

/* split story */
.split{padding:84px 0}
.split-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
@media(max-width:840px){.split-grid{grid-template-columns:1fr;gap:30px}}
.split .photo{border-radius:16px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line)}
.split .photo img{width:100%;height:100%;object-fit:cover}
.split p{color:#3a4c41}
.split .dropcap::first-letter{font-family:"Fraunces",serif;font-weight:600;float:left;font-size:62px;line-height:.78;padding:6px 12px 0 0;color:var(--terra)}
.pull{font-family:"Fraunces",serif;font-style:italic;font-size:clamp(20px,2.6vw,26px);color:var(--green);border-left:3px solid var(--terra);padding-left:18px;margin:26px 0 0}

/* produce strip */
.strip{padding:18px 0 84px}
.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:820px){.strip-grid{grid-template-columns:repeat(2,1fr)}}
.strip-grid figure{margin:0;border-radius:13px;overflow:hidden;aspect-ratio:1/1;position:relative;border:1px solid var(--line)}
.strip-grid img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.strip-grid figure:hover img{transform:scale(1.08)}
.strip-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font-family:"Space Mono",monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,transparent,rgba(8,18,12,.8))}
.swap{position:absolute;top:9px;right:9px;font-family:"Space Mono",monospace;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#173d28;background:rgba(246,241,228,.85);padding:3px 7px;border-radius:6px}

/* visit */
.visit{background:var(--green-d);color:var(--cream)}
.visit .wrap{padding:74px 22px}
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:760px){.visit-grid{grid-template-columns:1fr;gap:26px}}
.visit h2{font-family:"Fraunces",serif;font-size:clamp(26px,4vw,40px);font-weight:600;margin:8px 0 18px;color:#fff}
.vrow{display:flex;gap:16px;padding:15px 0;border-top:1px solid rgba(255,255,255,.14)}
.vrow .k{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9fc0a8;min-width:92px;padding-top:2px}
.vrow .v{font-size:15px}
.vrow .v .sub{display:block;color:#a9c2b0;font-size:12.5px;margin-top:3px}
.map{border-radius:14px;overflow:hidden;min-height:300px;border:1px solid rgba(255,255,255,.18)}
.map iframe{width:100%;height:100%;min-height:300px;border:0;display:block;filter:grayscale(.2) contrast(.95)}

/* footer */
.foot{background:#0c160f;color:#c7d2c9}
.foot .wrap{padding:40px 22px;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center}
.foot .mark{display:flex;align-items:center;gap:10px;font-family:"Fraunces",serif;color:#fff;font-size:18px}
.foot a{color:#9fc0a8}
.foot .credit{font-size:13px;color:#8aa091;text-align:right}
