:root{
  --bg:#fbf8f1; --bg-alt:#f3eee2; --ink:#1d2a24; --muted:#56645c;
  --green:#1f4d3a; --green-2:#2f6b50; --sage:#8fb996; --line:#e3dccb;
  --radius:16px; --max:1120px;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Georgia","Iowan Old Style","Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-2)}
.container{width:min(100% - 2.5rem, var(--max));margin-inline:auto}
h1,h2,h3{line-height:1.2;margin:0 0 .6em}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,4.4vw,3.3rem);letter-spacing:-.01em}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.1rem}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--green-2);margin:0 0 .8rem}
.lead{font-size:1.15rem;color:var(--muted);max-width:36em}
.section-lead{color:var(--muted);max-width:40em;margin-top:-.2rem}

/* header */
.site-header{position:sticky;top:0;z-index:10;background:rgba(251,248,241,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink)}
.brand span{display:flex;flex-direction:column;line-height:1.1}
.brand strong{font-family:var(--serif);font-size:1.2rem}
.brand small{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.nav-links{display:flex;align-items:center;gap:1.6rem}
.nav-links a{text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem}
.nav-links a:hover{color:var(--green-2)}
.nav-toggle{display:none}
.nav-toggle-label{display:none}

/* buttons */
.btn{display:inline-block;background:var(--green);color:#fff !important;text-decoration:none;padding:.85rem 1.4rem;border-radius:999px;font-weight:600;border:2px solid var(--green);transition:background .2s,transform .2s}
.btn:hover{background:var(--green-2);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--green) !important}
.btn-ghost:hover{background:var(--green);color:#fff !important}
.btn-small{padding:.5rem 1rem;font-size:.9rem}

/* hero */
.hero{padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem);background:
  radial-gradient(1200px 500px at 85% 10%, #eef3e8 0, transparent 60%),
  radial-gradient(800px 400px at 0% 100%, #f1e9d8 0, transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}
.hero-art img{width:100%;max-width:420px;margin-inline:auto;filter:drop-shadow(0 20px 30px rgba(31,77,58,.12))}

/* sections */
.section{padding:clamp(3.5rem,7vw,6rem) 0}
.section-alt{background:var(--bg-alt)}
.section-dark{background:var(--green);color:#eef3ee}
.section-dark .eyebrow{color:var(--sage)}
.section-dark h2{color:#fff}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem}
.prose p{margin:0 0 1rem;color:var(--muted);font-size:1.05rem}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:2rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 12px 30px rgba(31,77,58,.08);transform:translateY(-2px)}
.card p{color:var(--muted);margin:0;font-size:.95rem}
.icon{width:44px;height:44px;border-radius:12px;background:#e8f0e9;display:grid;place-items:center;margin-bottom:1rem}
.icon svg{width:24px;height:24px;fill:none;stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.origins{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.origins li{display:grid;grid-template-columns:auto 1fr;column-gap:.9rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.3rem}
.origins strong{font-size:1.1rem}
.origins em{grid-column:2;font-style:normal;color:var(--muted);font-size:.92rem}
.flag-dot{grid-row:span 2;width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,transparent)}

.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:2rem}
.why-grid h3{color:#fff;border-top:2px solid var(--sage);padding-top:1rem}
.why-grid p{margin:0;color:#cfdcd3}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem}
.contact-card dl{margin:0;display:grid;grid-template-columns:90px 1fr;row-gap:1.2rem}
.contact-card dt{font-weight:700;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;padding-top:.15rem}
.contact-card dd{margin:0}
.contact-card address{font-style:normal}
.map-link{display:inline-block;margin-top:.4rem;font-size:.92rem;font-weight:600}

.site-footer{border-top:1px solid var(--line);padding:1.6rem 0;font-size:.88rem;color:var(--muted)}
.footer-inner{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* responsive */
@media (max-width:860px){
  .hero-grid,.two-col,.contact-grid{grid-template-columns:1fr;gap:2rem}
  .hero-art{order:-1}
  .hero-art img{max-width:240px}
  .nav-toggle-label{display:block;width:32px;height:32px;position:relative;cursor:pointer}
  .nav-toggle-label span,.nav-toggle-label span::before,.nav-toggle-label span::after{position:absolute;left:4px;width:24px;height:2px;background:var(--ink);content:"";transition:.2s}
  .nav-toggle-label span{top:15px}
  .nav-toggle-label span::before{top:-7px;left:0}
  .nav-toggle-label span::after{top:7px;left:0}
  .nav-links{position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:0 1.25rem;max-height:0;overflow:hidden;transition:max-height .25s,padding .25s}
  .nav-links a{padding:.8rem 0;width:100%}
  .nav-links .btn{width:auto;margin:.4rem 0 .6rem;text-align:center}
  .nav-toggle:checked ~ .nav-links{max-height:360px;padding:.5rem 1.25rem 1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}
