:root {
  --green: #1b4332;
  --green-dark: #103526;
  --green-light: #2f6b50;
  --gold: #d4a373;
  --cream: #f8f5ef;
  --white: #ffffff;
  --ink: #17372a;
  --muted: #66756d;
  --line: #e7e1d6;
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Montserrat", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); line-height: 1.65; }
a { color: inherit; text-decoration: none; }
.site-header { position: sticky; top: 0; z-index: 20; min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 12px 5vw; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(27,67,50,.08); backdrop-filter: blur(12px); }
.brand { display: flex; align-items: center; gap: 12px; color: var(--green); min-width: 260px; }
.brand-mark { width: 48px; height: 58px; display: grid; place-items: center; }
.brand-mark svg { width: 46px; height: 55px; fill: none; stroke: var(--green); stroke-width: 2; stroke-linecap: round; }
.brand strong { display: block; font: 700 31px/1 var(--serif); letter-spacing: 1px; }
.brand small { display: block; font-size: 9px; letter-spacing: 2.6px; font-weight: 600; }
.nav { display: flex; gap: 25px; align-items: center; }
.nav a { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .7px; padding: 31px 0 25px; border-bottom: 3px solid transparent; }
.nav a:hover, .nav a.active { color: var(--green); border-color: var(--gold); }
.round-icon { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; color: var(--gold); background: var(--green); font-size: 23px; }
.menu-toggle { display: none; border: 0; background: transparent; font-size: 28px; color: var(--green); }

.hero { min-height: 610px; position: relative; overflow: hidden; display: grid; grid-template-columns: 48% 52%; background: linear-gradient(105deg,#f7f3ea 0%,#f7f3ea 45%,#dfe7df 100%); }
.hero-content { position: relative; z-index: 2; padding: 100px 0 80px 7vw; max-width: 760px; }
.eyebrow,.section-kicker { color: var(--gold); text-transform: uppercase; font-weight: 700; letter-spacing: 2px; font-size: 11px; margin: 0 0 13px; }
.hero h1 { font: 600 clamp(48px,5vw,76px)/.91 var(--serif); margin: 0 0 26px; color: var(--green); }
.hero h1 em { display: block; color: var(--gold); font-style: normal; }
.hero-copy { max-width: 560px; color: #42534a; font-size: 15px; }
.buttons { display: flex; gap: 16px; margin-top: 32px; }
.btn { padding: 14px 23px; border-radius: 30px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }
.btn span { margin-left: 10px; font-size: 16px; }
.btn-primary { background: var(--green); color: white; }
.btn-outline { border: 1px solid var(--gold); color: #9b6a34; background: rgba(255,255,255,.5); }
.hero-art { position: relative; overflow: hidden; background: linear-gradient(#d9e4df 0%,#edf0e5 46%,#d0c8ad 47%,#9b8b69 100%); }
.sun { position:absolute; width:180px;height:180px;border-radius:50%;background:rgba(244,214,161,.75);top:75px;left:45%;filter:blur(1px); }
.mountain { position:absolute; bottom:150px; width:0;height:0;border-left:260px solid transparent;border-right:260px solid transparent;border-bottom:180px solid rgba(120,137,120,.55); }
.mountain-back { left:10%; transform:scale(1.4); opacity:.45; }
.mountain-front { right:-4%; transform:scale(1.6); border-bottom-color:rgba(99,117,96,.55); }
.tree { position:absolute; bottom:120px; left:35%; width:28px; height:260px; background:#584a31; border-radius:50% 50% 5px 5px; }
.tree:before,.tree:after { content:"";position:absolute;background:#315b3f;border-radius:50%; }
.tree:before { width:220px;height:230px;left:-95px;top:-135px;box-shadow:80px 20px 0 #3d6747, 30px -40px 0 #557553; }
.tree:after { width:160px;height:180px;left:25px;top:-110px; }
.town { position:absolute; bottom:80px; left:0; right:0; height:120px; background:linear-gradient(90deg,transparent 0 8%,#e9ddc7 8% 16%,transparent 16% 20%,#f3eadb 20% 29%,transparent 29% 36%,#ddd0b8 36% 43%,transparent 43% 51%,#eee5d6 51% 59%,transparent 59% 67%,#d9cbb1 67% 76%,transparent 76% 84%,#eee4d0 84% 93%,transparent 93%); opacity:.8; }
.town:after { content:""; position:absolute; left:63%; bottom:0; width:80px;height:190px;background:#d9d0be; clip-path:polygon(28% 0,72% 0,72% 32%,100% 32%,100% 100%,0 100%,0 32%,28% 32%); border-top:7px solid #a7936e; }

.section { padding: 100px 7vw; }
.about { display:grid; grid-template-columns: 1fr 1.4fr 1fr; gap:55px; align-items:center; background:#fff; }
.seal { width:min(290px,100%); aspect-ratio:1; border:3px solid var(--green); border-radius:50%; display:grid; place-items:center; margin:auto; position:relative; }
.seal:before { content:""; position:absolute; inset:10px; border:1px solid var(--green); border-radius:50%; }
.seal-inner { text-align:center; position:relative; z-index:1; }
.seal-inner strong { display:block; font:700 28px var(--serif); letter-spacing:2px; }
.seal-inner small { font-size:8px; letter-spacing:2px; }
.seal-branch { color:var(--gold); font-size:90px; line-height:.8; margin-top:8px; transform:rotate(-25deg); }
.about h2,.section-heading h2,.different h2,.cta h2 { font:600 clamp(38px,4vw,54px)/.95 var(--serif); margin:0 0 25px; color:var(--green); }
.about-copy p { color:#4d5a53; font-size:14px; }
.highlight { font-weight:700; color:var(--green)!important; }
.community-photo { min-height:400px; border-radius:15px; overflow:hidden; background:linear-gradient(140deg,#315b3f,#91a77c 40%,#c2a675 41%,#7c8e6d 100%); position:relative; }
.community-photo:before { content:""; position:absolute; inset:18% 10% 0; background:radial-gradient(circle at 20% 20%,#e4c9a2 0 9%,transparent 10%),radial-gradient(circle at 50% 18%,#d9b987 0 10%,transparent 11%),radial-gradient(circle at 80% 22%,#b98e62 0 8%,transparent 9%),linear-gradient(155deg,transparent 40%,rgba(28,67,50,.65) 41%); }
.photo-overlay { position:absolute; bottom:0; left:0; right:0; padding:22px; color:white; font-weight:700; background:linear-gradient(transparent,rgba(0,0,0,.6)); }

.section-dark { background:var(--green); color:#fff; padding:90px 7vw; position:relative; overflow:hidden; }
.section-dark:after { content:""; position:absolute; right:-100px; bottom:-180px; width:480px;height:480px;border:70px solid rgba(255,255,255,.035);border-radius:50%; }
.section-heading { text-align:center; position:relative; z-index:1; }
.section-heading h2 { color:#fff; }
.gold { color:var(--gold); }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:1250px; margin:45px auto 0; position:relative; z-index:1; }
.card { background:#fff; color:var(--ink); padding:34px 30px 30px; border-radius:13px; min-height:330px; text-align:center; }
.card-icon { width:58px;height:58px;border-radius:50%;background:var(--green);color:var(--gold);display:grid;place-items:center;margin:-63px auto 18px;border:6px solid var(--green);font-size:26px; }
.gold-icon { background:var(--gold); color:#fff; }
.card h3 { font:600 31px var(--serif); margin:0 0 12px; color:var(--green); }
.card p,.card li { font-size:12px; line-height:1.65; }
.card ul { text-align:left; padding-left:18px; margin:0; }

.axes { background:#fff; }
.centered { text-align:center; }
.centered h2 { margin-bottom:10px; }
.axis-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:0; max-width:1300px; margin:50px auto 0; }
.axis { text-align:center; padding:0 22px; border-right:1px dotted var(--gold); }
.axis:last-child { border-right:0; }
.axis-icon { width:64px;height:64px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--gold);font-size:28px; }
.axis:nth-child(even) .axis-icon { background:var(--gold); color:white; }
.axis h3 { font:600 22px/1 var(--serif); text-transform:uppercase; color:var(--green); margin:0 0 12px; }
.axis p { font-size:12px;color:#637068; }

.different { display:grid; grid-template-columns:130px 1fr; gap:35px; align-items:center; padding-top:65px;padding-bottom:65px; }
.different-icon { width:100px;height:100px;border-radius:50%;background:#fff;color:var(--gold);display:grid;place-items:center;font-size:45px; }
.different h2 { color:#fff; margin-bottom:10px; }
.different p { max-width:850px; margin:0 0 8px; font-size:14px; color:#dfe8e2; }
.closing { color:#fff;font-size:18px; }

.cta { display:grid; grid-template-columns:1fr 1.2fr 1.1fr; min-height:330px; background:#f7f4ec; }
.field-art { position:relative; overflow:hidden; background:linear-gradient(#d8b985 0 35%,#6d7d58 36% 60%,#38563c 61%); }
.field-sun { width:130px;height:130px;border-radius:50%;background:#f4d69d;position:absolute;top:35px;left:45%; }
.field-lines { position:absolute; inset:50% -10% -20%; background:repeating-linear-gradient(165deg,rgba(246,221,167,.5) 0 4px,transparent 4px 28px); transform:rotate(-7deg); }
.people { position:absolute; bottom:50px;left:35%; color:#1f3d2c;font-size:32px;word-spacing:18px; }
.cta-copy { padding:65px 45px; text-align:center; }
.cta-copy h2 { font-size:43px; margin-bottom:15px; }
.join-options { display:grid;grid-template-columns:repeat(3,1fr);align-items:center; }
.join-options a { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; border-left:1px solid var(--line); text-transform:uppercase; font-size:11px; letter-spacing:1px; }
.join-options span { width:64px;height:64px;border-radius:50%;background:var(--green);color:var(--gold);display:grid;place-items:center;font-size:28px;margin-bottom:12px; }
.join-options a:nth-child(2) span { background:var(--gold);color:white; }

footer { background:var(--green-dark); color:#fff; padding:40px 7vw 22px; display:grid;grid-template-columns:1fr 1fr;gap:30px; }
.footer-brand { display:grid;grid-template-columns:42px auto;align-items:center;max-width:300px; }
.footer-brand strong { font:700 28px var(--serif); }
.footer-brand small { grid-column:2;font-size:8px;letter-spacing:2px; }
.small-mark { color:var(--gold); }
.footer-contact { display:flex;justify-content:flex-end;gap:28px;align-items:center;font-size:12px;color:#dbe5de; }
.footer-bottom { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.15); padding-top:18px; display:flex;justify-content:space-between;font-size:10px;color:#b9c9bf; }

@media (max-width: 1050px) {
  .nav { gap:13px; }
  .nav a { font-size:9px; }
  .hero-content { padding-left:5vw; }
  .axis-grid { grid-template-columns:repeat(3,1fr); row-gap:35px; }
  .axis:nth-child(3) { border-right:0; }
}
@media (max-width: 800px) {
  .site-header { min-height:72px; }
  .menu-toggle { display:block; }
  .round-icon { display:none; }
  .nav { position:absolute; left:0; right:0; top:72px; background:#fff; display:none; flex-direction:column; align-items:stretch; gap:0; padding:10px 7vw 20px; box-shadow:0 15px 25px rgba(0,0,0,.08); }
  .nav.open { display:flex; }
  .nav a { padding:13px 0; border-bottom:1px solid var(--line); }
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-content { padding:70px 7vw 55px; }
  .hero-art { min-height:300px; }
  .about { grid-template-columns:1fr; }
  .cards { grid-template-columns:1fr; }
  .card { margin-top:15px; }
  .axis-grid { grid-template-columns:1fr 1fr; }
  .axis { border-right:0; }
  .different { grid-template-columns:1fr; text-align:center; }
  .different-icon { margin:auto; }
  .cta { grid-template-columns:1fr; }
  .field-art { min-height:230px; }
  .join-options { min-height:180px; }
  footer { grid-template-columns:1fr; }
  .footer-contact { justify-content:flex-start; flex-direction:column; align-items:flex-start; gap:8px; }
  .footer-bottom { flex-direction:column; gap:8px; }
}
@media (max-width: 520px) {
  .brand strong { font-size:25px; }
  .brand small { font-size:7px; letter-spacing:1.8px; }
  .brand-mark { width:40px; }
  .hero h1 { font-size:49px; }
  .buttons { flex-direction:column; align-items:flex-start; }
  .axis-grid { grid-template-columns:1fr; }
  .axis { border-bottom:1px dotted var(--gold); padding:20px 5px; }
  .join-options { grid-template-columns:1fr; }
  .join-options a { min-height:130px; border-left:0; border-top:1px solid var(--line); }
}
