/* Barlow Condensed + DM Sans, self-hosted copies of Google Fonts (SIL Open Font License 1.1).
   Same files and unicode-range subsets Google serves, so rendering is identical. */
/* Barlow Condensed 500 vietnamese */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/barlow-condensed-500-vietnamese.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Barlow Condensed 500 latin-ext */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/barlow-condensed-500-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Barlow Condensed 500 latin */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/barlow-condensed-500-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Barlow Condensed 600 vietnamese */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/barlow-condensed-600-vietnamese.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Barlow Condensed 600 latin-ext */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/barlow-condensed-600-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Barlow Condensed 600 latin */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/barlow-condensed-600-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Barlow Condensed 700 vietnamese */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/barlow-condensed-700-vietnamese.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Barlow Condensed 700 latin-ext */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/barlow-condensed-700-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Barlow Condensed 700 latin */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/barlow-condensed-700-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Barlow Condensed 800 vietnamese */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/barlow-condensed-800-vietnamese.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Barlow Condensed 800 latin-ext */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/barlow-condensed-800-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Barlow Condensed 800 latin */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/barlow-condensed-800-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* Barlow Condensed 900 vietnamese */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 900; font-display: swap; src: url(../fonts/barlow-condensed-900-vietnamese.woff2) format('woff2'); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; }
/* Barlow Condensed 900 latin-ext */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 900; font-display: swap; src: url(../fonts/barlow-condensed-900-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* Barlow Condensed 900 latin */
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 900; font-display: swap; src: url(../fonts/barlow-condensed-900-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* DM Sans 400 latin-ext */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/dm-sans-var-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* DM Sans 400 latin */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/dm-sans-var-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* DM Sans 500 latin-ext */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/dm-sans-var-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* DM Sans 500 latin */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(../fonts/dm-sans-var-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* DM Sans 600 latin-ext */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/dm-sans-var-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* DM Sans 600 latin */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/dm-sans-var-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* DM Sans 700 latin-ext */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/dm-sans-var-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* DM Sans 700 latin */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url(../fonts/dm-sans-var-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
/* DM Sans 800 latin-ext */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/dm-sans-var-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
/* DM Sans 800 latin */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 800; font-display: swap; src: url(../fonts/dm-sans-var-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root{--pine:#142419;--dark:#0d1711;--forest:#203e2c;--moss:#385941;--fern:#82916d;--gold:#c5a06f;--cream:#f5f0e6;--paper:#faf7f0;--ink:#1d2a21;--muted:#5d6a60;--border:rgba(27,52,35,.15);--font-head:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--font-body:'DM Sans',Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;font:16px/1.65 var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #ddaa66;outline-offset:4px}
.skip{position:absolute;z-index:50;top:-80px;left:16px;background:#fff;padding:10px 15px}
.skip:focus{top:12px}
.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.eyebrow{font-size:12px;text-transform:uppercase;font-weight:800;letter-spacing:.23em;color:var(--moss)}
.eyebrow.light{color:var(--gold)}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--font-head);text-transform:uppercase;letter-spacing:.01em;line-height:.98}
h2{font-size:clamp(43px,6.1vw,78px);font-weight:800;letter-spacing:-.012em;margin:14px 0 24px}
p{margin-bottom:18px}
.btn{border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:52px;padding:13px 21px;font-weight:800;font-size:13px;letter-spacing:.09em;text-transform:uppercase;border-radius:3px;transition:transform .2s,background .2s,border .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn.gold{background:var(--gold);color:#17241a}
.btn.gold:hover{background:#deb987}
.btn.outline-light{border-color:rgba(255,255,255,.36);color:#fff;background:rgba(255,255,255,.03)}
.btn.outline-light:hover{border-color:var(--gold)}
.btn.dark{background:var(--pine);color:#fff}
.btn.dark:hover{background:var(--forest)}
.btn.line{background:none;border-color:#bec8b8;color:var(--pine)}
.btn svg{width:18px;height:18px;flex-shrink:0}
.topline{background:#0c1710;color:#eae9de;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700}
.topline .container{display:flex;justify-content:space-between;align-items:center;padding:9px 0;gap:15px}
.topline a{color:#e8c99e;letter-spacing:.08em;white-space:nowrap}
.topline a:hover{text-decoration:underline}
.site-header{height:78px;position:sticky;top:0;z-index:20;background:rgba(244,240,229,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}
.header-inner{height:100%;display:flex;align-items:center;gap:22px}
.logo{display:flex;align-items:center;gap:11px;margin-right:auto;flex-shrink:0}
.brandmark{width:43px;height:43px;background:var(--pine);display:grid;place-items:center;border-radius:2px;overflow:hidden}
.brandmark svg{width:36px;height:36px}
.brandtext{font-family:var(--font-head);line-height:.78;color:var(--pine);font-size:25px;font-weight:900;letter-spacing:.005em}
.brandtext small{display:block;margin-top:7px;letter-spacing:.26em;font:700 9px/1 var(--font-body)}
.nav{display:flex;align-items:center;gap:27px}
.nav a:not(.btn){text-transform:uppercase;font-size:11px;letter-spacing:.12em;font-weight:800;transition:color .2s}
.nav a:not(.btn):hover{color:var(--moss)}
.nav .btn{min-height:43px;padding:10px 17px;font-size:11px}
.mobile-toggle{display:none;background:transparent;border:1px solid var(--border);color:var(--pine);padding:9px;border-radius:3px}
.mobile-toggle svg{width:24px;height:24px;display:block}
.hero{position:relative;overflow:hidden;background:var(--pine);color:#fff;padding:88px 0 93px}
.hero:before{content:"";position:absolute;inset:0;opacity:.32;background:radial-gradient(ellipse 55% 65% at 60% 9%,rgba(161,171,130,.23),transparent 80%),repeating-linear-gradient(123deg,transparent,transparent 70px,rgba(242,230,199,.055) 71px,transparent 72px)}
.hero:after{content:"";position:absolute;bottom:0;left:0;right:0;height:115px;background:linear-gradient(transparent,rgba(3,11,6,.22));pointer-events:none}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:.92fr 1.08fr;gap:51px;align-items:center}
.hero .eyebrow{display:flex;align-items:center;gap:12px}
.hero .eyebrow:before{content:"";height:2px;width:36px;background:var(--gold)}
h1{font-weight:900;font-size:clamp(61px,7.25vw,116px);margin:23px 0 18px;letter-spacing:-.015em;line-height:.88}
h1 em{font-style:normal;color:var(--gold)}
.hero-copy>p{color:#d0d8ce;max-width:525px;font-size:16px;line-height:1.85}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin:27px 0 26px}
.hero-micro{color:#bac7b7;display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.02em}
.hero-micro svg{width:16px;height:16px;stroke:var(--gold)}
.hero-art{position:relative}
.hero-art:before{content:"";position:absolute;inset:-14px 18px 14px -14px;border:1px solid rgba(207,164,101,.48);pointer-events:none}
.hero-art img{position:relative;z-index:1;width:100%;height:auto;border:5px solid #ece7d8;box-shadow:0 25px 65px rgba(1,8,3,.48)}
.hero-stamp{position:absolute;right:-10px;bottom:-22px;z-index:2;background:var(--gold);color:var(--pine);text-align:center;font-family:var(--font-head);font-size:18px;line-height:1.05;font-weight:900;text-transform:uppercase;padding:13px 18px;box-shadow:0 8px 22px rgba(0,0,0,.15);transform:rotate(-3deg)}
.service-strip{background:#e8e5d7;border-bottom:1px solid #d5d4c5}
.service-strip .container{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}
.strip-text{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:900;color:#3e5443}
.strip-text span{color:#a88660;margin:0 9px}
.services{padding:110px 0 102px}
.section-lead{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}
.section-lead h2{max-width:720px;margin-bottom:0}
.section-lead>p{max-width:330px;color:var(--muted);margin:0 0 6px;font-size:14px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.service-card{border:1px solid #dfded3;background:#fffdfa;position:relative;overflow:hidden;min-height:315px;display:flex;flex-direction:column;padding:28px 29px 26px;transition:transform .25s,box-shadow .25s,border-color .25s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 35px rgba(36,49,34,.08);border-color:#b9c2af}
.service-card .num{position:absolute;right:25px;top:25px;color:#afb6a8;font-size:12px;font-weight:800;letter-spacing:.08em}
.card-illustration{width:108px;height:108px;background:#eef0e6;border-radius:999px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.card-illustration svg{width:77px;height:77px;stroke:#2e4f35;fill:none;stroke-width:2.1;stroke-linejoin:round;stroke-linecap:round}
.service-card h3{font-weight:800;font-size:30px;letter-spacing:.005em;margin:0 0 9px}
.service-card p{font-size:13px;color:#68746b;line-height:1.7;margin:0 0 22px}
.service-card a{margin-top:auto;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--moss);display:inline-flex;align-items:center;gap:11px}
.service-card a:after{content:"→";font-size:20px;line-height:1}
.about{background:#e9e7dc;padding:0;overflow:hidden}
.about-grid{display:grid;grid-template-columns:1fr 1fr;min-height:580px}
.about-scene{background:linear-gradient(150deg,#274833,#101f16);min-height:520px;position:relative;display:flex;align-items:stretch;justify-content:center;overflow:hidden}
.about-scene svg{width:100%;height:100%;min-height:520px;display:block}
.about-tag{position:absolute;bottom:25px;left:28px;color:#f8ebd7;background:rgba(14,26,19,.88);border-left:4px solid var(--gold);padding:11px 17px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800}
.about-copy{padding:90px max(30px,calc((100vw - 1160px)/2)) 90px 70px;max-width:680px;align-self:center}
.about-copy h2{font-size:clamp(45px,5.4vw,75px)}
.about-copy p{color:#57665b;max-width:490px}
.checks{list-style:none;padding:0;margin:23px 0 30px;display:grid;gap:12px;font-size:14px;font-weight:700}
.checks li{display:flex;align-items:center;gap:13px}
.checks li:before{content:'✓';width:26px;height:26px;border-radius:50%;background:#d0d9c7;display:grid;place-items:center;color:var(--forest);font-size:15px}
.steps{padding:105px 0;background:#f9f6ef}
.steps h2{margin-bottom:35px}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.step{border-top:2px solid #c4c6b9;padding:24px 0 0}
.step-number{font:800 45px/1 var(--font-head);color:#ad9977}
.step h3{font-size:26px;margin:15px 0 10px}
.step p{color:#647067;font-size:14px;line-height:1.8;max-width:315px}
.location{background:var(--forest);color:#f6f3e8;padding:60px 0}
.location-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}
.location h2{font-size:clamp(39px,5vw,62px);margin:10px 0 9px}
.location p{color:#c6d1c6;margin-bottom:0}
.location .eyebrow{color:#dabb8d}
.quote{padding:110px 0;background:var(--cream)}
.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}
.quote-intro h2{font-size:clamp(48px,6vw,79px)}
.quote-intro>p{color:#5d6a61;max-width:390px}
.contact-info{border-top:1px solid #d1d1c4;margin-top:35px;padding-top:28px;display:grid;gap:19px}
.contact-info a{display:flex;align-items:flex-start;gap:15px;font-size:15px;font-weight:700;overflow-wrap:anywhere}
.contact-info svg{stroke:var(--moss);width:22px;height:22px;flex-shrink:0;margin-top:2px}
.contact-info small{display:block;color:#778074;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.17em;margin-bottom:5px}
.quote-form{background:#fffefa;border:1px solid #dedbd0;padding:38px;box-shadow:0 16px 40px rgba(42,43,32,.055)}
.quote-form h3{font-size:33px;font-weight:800;margin:0 0 8px}
.quote-form>p{font-size:13px;color:#647067;margin-bottom:26px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}
.field.full{grid-column:1/-1}
label{font-weight:800;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#354638}
input,select,textarea{width:100%;min-width:0;background:#fcfaf5;color:#253529;border:1px solid #d6d8cd;border-radius:2px;padding:13px 14px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--moss);box-shadow:0 0 0 3px #d6e2d5}
textarea{resize:vertical;min-height:125px}
.quote-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.privacy-note{font-size:11px;color:#768075;margin:16px 0 0;line-height:1.7}
.form-status{min-height:20px;margin:11px 0 0;font-size:13px;color:var(--forest);font-weight:700}
footer{background:var(--dark);color:#eee9dc;padding:48px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px;padding-bottom:36px}
.footer-grid .brandtext{color:#efe9db}
.footer-grid .brandmark{background:#344b39}
.footer-grid p{margin-top:23px;font-size:13px;color:#adbcaf;max-width:300px}
footer .footer-heading{font:700 11px/1.65 var(--font-body);text-transform:uppercase;letter-spacing:.15em;color:#cfb48d;margin:0 0 14px}
footer a{display:block;font-size:13px;margin:9px 0;color:#dce3d9;overflow-wrap:anywhere}
footer a:hover{color:var(--gold)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid #35463a;padding-top:23px;color:#98a89c;font-size:11px}
.footer-bottom strong{color:#d3bf9e;text-transform:uppercase;letter-spacing:.13em}
@media(max-width:1030px){.hero-inner{gap:32px}.hero{padding:73px 0}.about-copy{padding:60px 33px}.quote-grid{gap:35px}.nav{gap:15px}.service-card{padding:25px 22px}.service-card h3{font-size:27px}}
@media(max-width:760px){.container{width:min(100% - 34px,560px)}.topline{font-size:9px;letter-spacing:.08em}.topline .container{padding:9px 0}.topline .topline-word{white-space:nowrap}.site-header{height:70px}.brandmark{width:39px;height:39px}.brandtext{font-size:22px}.mobile-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:70px;background:#f6f1e7;box-shadow:0 14px 18px rgba(0,0,0,.12);padding:18px 22px 24px;align-items:stretch;flex-direction:column;gap:0;border-top:1px solid var(--border)}.nav.open{display:flex}.nav a:not(.btn){padding:13px 0}.nav .btn{margin-top:12px}.hero{padding:68px 0 63px}.hero-inner{grid-template-columns:1fr;gap:44px}.hero .hero-copy{max-width:560px}h1{font-size:clamp(47px,12.5vw,61px)}.hero-art{max-width:600px}.hero-stamp{font-size:14px}.service-strip .container{justify-content:center}.strip-text{font-size:9px}.services,.steps,.quote{padding:73px 0}.section-lead{display:block;margin-bottom:26px}.section-lead>p{margin:22px 0 0}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:315px}.about-grid{grid-template-columns:1fr}.about-scene{min-height:380px}.about-scene svg{min-height:380px;max-height:430px}.about-copy{max-width:560px;padding:67px 24px 70px;margin:auto}.steps-grid{gap:22px}.location-grid{grid-template-columns:1fr}.location .btn{justify-self:start}.quote-grid{grid-template-columns:1fr}.quote-intro>p{max-width:600px}.contact-info{grid-template-columns:1fr 1fr;gap:18px}.quote-form{padding:26px}.footer-grid{gap:25px}}
@media(max-width:500px){.topline .topline-word{max-width:215px;white-space:normal;line-height:1.4}.services-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:25px}.card-illustration{width:92px;height:92px;margin-bottom:17px}.service-card h3{font-size:31px}.hero-actions .btn{flex:1 1 210px}.strip-text{line-height:1.7;text-align:center}.strip-text span{margin:0 5px}.steps-grid{grid-template-columns:1fr;gap:22px}.step{padding-top:18px}.step p{max-width:none}.fields{grid-template-columns:1fr;gap:0}.quote-buttons .btn{width:100%}.contact-info{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.service-card{transition:none}}
/* Additions for the production site (no visual change to the original sections) */
.contact-info .contact-item{display:flex;gap:15px;align-items:start;font-size:15px;font-weight:700}
.footer-bottom a{display:inline;margin:0;font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-bottom a:hover{color:var(--gold)}
.privacy-note a{text-decoration:underline;text-underline-offset:2px}
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.btn[disabled]{opacity:.65;cursor:wait;transform:none}
/* Supporting pages (thank-you, 404, privacy) */
.page-hero .hero-copy{max-width:760px}
.page-hero h1{font-size:clamp(52px,7vw,96px)}
.prose{padding:80px 0 96px}
.prose-inner{max-width:760px}
.prose h2{font-size:clamp(30px,3.6vw,40px);margin:42px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:#57665b}
.prose ul{padding-left:20px;margin:0 0 18px}
.prose li{margin-bottom:6px}
.prose a{color:var(--moss);text-decoration:underline;text-underline-offset:2px;font-weight:700}
.prose .updated{font-size:13px;color:var(--muted)}
@media(max-width:760px){.page-hero h1{font-size:clamp(44px,11vw,58px)}.prose{padding:60px 0 70px}}
