@font-face{font-family:"DM Sans";src:url("DMSans-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url("DMSans-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{
  --ink:#1a2419;--ink-soft:#4a5648;--paper:#f7f3eb;--paper-alt:#efe8dc;
  --line:#ddd4c6;--line-strong:#c9bdaa;
  --hero:#14201a;--hero-2:#1e3228;
  --accent:#8a3f28;--accent-deep:#6b2f1d;--accent-bright:#e08b6a;--accent-soft:#f3e4dc;
  --sage:#2f5d50;--sage-soft:#dce8e3;--ok:#1f6b45;
  --radius:4px;--shadow:0 18px 40px rgba(20,32,26,.18);
  --font:"DM Sans",system-ui,-apple-system,Segoe UI,sans-serif;
  --display:Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --max:1160px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:400 16px/1.55 var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--accent-deep)}
.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:16px;top:16px;z-index:1000;background:#fff;padding:10px 14px;border:2px solid var(--accent)}
.container{width:min(100% - 32px,var(--max));margin-inline:auto}
.util-bar{background:#0d1612;color:rgba(255,255,255,.86);font-size:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.util-inner{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:40px;flex-wrap:wrap;padding:6px 0}
.util-links{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.util-links a{color:#fff;text-decoration:none;font-weight:700}
.util-links a:hover{color:var(--accent-bright)}
.util-cta{background:var(--accent);color:#fff!important;padding:6px 12px;letter-spacing:.04em;text-transform:uppercase}
.site-header{background:#fff;border-bottom:1px solid var(--line-strong);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:70px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700}
.logo-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:2px;background:linear-gradient(145deg,var(--sage),var(--hero));color:#fff;font-size:11px;letter-spacing:.08em}
.nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--ink-soft);font-weight:700;font-size:14px}
.nav a[aria-current="page"],.nav a:hover{color:var(--ink)}
.nav-cta{background:var(--accent)!important;color:#fff!important;padding:10px 14px;text-transform:uppercase;letter-spacing:.04em;font-size:12px!important}
.menu-btn{display:none;flex-direction:column;gap:5px;background:transparent;border:0;padding:8px;cursor:pointer;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.menu-btn span{display:block;width:22px;height:2px;background:var(--ink)}
.nav-mobile{display:none;flex-direction:column;gap:10px;padding:0 0 16px}
.nav-mobile[data-open="true"]{display:flex}
.nav-mobile a{text-decoration:none;color:var(--ink);font-weight:700;padding:10px 0;border-bottom:1px solid var(--line);min-height:44px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 18px;border-radius:0;font:700 13px/1 var(--font);text-decoration:none;border:2px solid transparent;cursor:pointer;letter-spacing:.04em;text-transform:uppercase;transition:transform .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn-ghost:hover{border-color:#fff}
.btn-ghost-dark{background:#fff;color:var(--ink);border-color:var(--line-strong)}
.hero{background:linear-gradient(155deg,var(--hero) 0%,var(--hero-2) 52%,#2a4638 100%);color:#fff;padding:48px 0 36px;overflow:hidden}
.hero-split{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:stretch}
.hero-copy h1{font-family:var(--display);font-size:clamp(2.5rem,5.2vw,4rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 14px;font-weight:700;max-width:14ch}
.hero-copy h1 em{font-style:italic;color:#e8dcc8;font-weight:400}
.hero-lead{color:rgba(255,255,255,.84);font-size:1.05rem;max-width:36rem;margin:0 0 20px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.trust-row{display:flex;flex-wrap:wrap;gap:8px}
.trust-pill{border:1px solid rgba(255,255,255,.22);padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.collage{min-height:360px;border:1px solid rgba(255,255,255,.16);background:
  linear-gradient(160deg,rgba(47,93,80,.55),transparent 50%),
  linear-gradient(210deg,#1a2c24,#274438 55%,#3a5c4c);
  padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px;box-shadow:var(--shadow)}
.collage-tile{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);min-height:120px;padding:12px;display:flex;flex-direction:column;justify-content:flex-end}
.collage-tile:nth-child(1){grid-row:span 2;min-height:250px;background:linear-gradient(160deg,rgba(138,63,40,.35),rgba(255,255,255,.04))}
.collage-index{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--accent-bright)}
.collage-label{font-size:1rem;font-weight:700;margin-top:4px}
.quote-card{background:#fff;color:var(--ink);border:1px solid #fff;box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;gap:12px}
.quote-card .eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.quote-card h2{font-family:var(--display);font-size:1.7rem;line-height:1.15;margin:0;font-weight:700}
.quote-card .field label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;color:var(--ink-soft)}
.quote-card .field{margin-bottom:10px}
.quote-card input,.quote-card select,textarea{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:0;padding:10px 12px;font:400 15px/1.4 var(--font);background:#fff;color:var(--ink)}
.quote-card input:focus,.quote-card select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.quote-card .btn{width:100%}
.next-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);margin-top:4px}
.next-strip .step{padding:12px 8px 0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}
.next-strip .step strong{display:block;color:var(--ink);margin-top:4px;font-size:12px;letter-spacing:.02em}
.form-note{font-size:12px;color:var(--ink-soft);margin:0}
.section{padding:72px 0}.section-alt{background:var(--paper-alt)}.section-head{max-width:42rem;margin-bottom:28px}
.section-kicker{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}
.section h2,.page-hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2rem,3.6vw,2.9rem);line-height:1.12;margin:0 0 12px;letter-spacing:-.015em}
.lede{color:var(--ink-soft);margin:0;font-size:1.05rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.path-card,.card{display:block;background:#fff;border:1px solid var(--line-strong);padding:22px;text-decoration:none;color:inherit;border-radius:0;transition:border-color .22s var(--ease),transform .22s var(--ease)}
.path-card:hover,.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.path-card span:not(.badge),.card .kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:10px 0 6px}
.path-card strong,.card strong{display:block;font-family:var(--display);font-size:1.25rem;margin-bottom:8px;font-weight:700}
.path-card p,.card p{margin:0;color:var(--ink-soft)}
.badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--accent);color:var(--accent-deep);background:var(--accent-soft)}
.page-hero{padding:48px 0 24px;border-bottom:1px solid var(--line)}.page-hero .section-kicker{color:var(--accent)}
.prose{max-width:42rem}.prose p{color:var(--ink-soft)}.prose h2{font-family:var(--display);font-weight:700;font-size:1.5rem;margin:32px 0 10px}
.faq-list{display:grid;gap:12px}.faq-item{background:#fff;border:1px solid var(--line-strong);padding:16px 18px}
.faq-item h3{margin:0 0 8px;font-size:1rem}.faq-item p{margin:0;color:var(--ink-soft)}
.site-footer{background:var(--hero);color:rgba(255,255,255,.82);padding:48px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;margin-bottom:28px}
.footer-heading{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-bright);margin:0 0 12px}
.site-footer a{color:rgba(255,255,255,.86);text-decoration:none}.site-footer a:hover{color:#fff}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer-brand{font-weight:700;color:#fff;margin-bottom:8px;font-family:var(--display);font-size:1.2rem}
.footer-meta{border-top:1px solid rgba(255,255,255,.14);padding-top:18px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:12px}
.status{padding:12px 14px;border:2px solid var(--ok);background:#e8f7f0;color:var(--ok);font-weight:700;display:none}.status[data-show="true"]{display:block}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gallery-tile{min-height:180px;background:linear-gradient(145deg,#c9bdaa,#2f5d50 45%,#14201a);border:1px solid var(--line-strong);padding:16px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff}
.gallery-tile span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#f3e4dc}
.disclaimer{font-size:13px;color:var(--ink-soft);border:1px solid var(--sage);padding:12px 14px;background:var(--sage-soft);margin:18px 0 0}
@media (max-width:900px){
  .nav{display:none}.menu-btn{display:inline-flex}
  .hero-split,.grid-3,.grid-2,.footer-grid,.gallery-grid,.next-strip,.collage{grid-template-columns:1fr}
  .collage-tile:nth-child(1){grid-row:auto;min-height:160px}
  .hero{padding-top:32px}.section{padding:52px 0}.hero-copy h1{max-width:none}
}
@media (max-width:360px){
  .container{width:min(100% - 24px,var(--max))}
  .btn{padding:12px 14px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
}
