@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root { --ink:#1d2c30; --muted:#5d6b6d; --pine:#233a3f; --accent:#ba714d; --paper:#f8f8f5; --wash:#edf1ed; --line:#d9e0dc; --white:#fff; --radius:6px; --content:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:86px; }
body { margin:0; color:var(--ink); background:var(--white); font:400 16px/1.6 "DM Sans",Arial,sans-serif; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:Manrope,Arial,sans-serif; line-height:1.13; letter-spacing:-.035em; }
h1 { max-width:760px; font-size:clamp(2.45rem,5vw,4.7rem); margin-bottom:23px; font-weight:800; } h2 { font-size:clamp(1.85rem,3.5vw,3rem); margin-bottom:17px; } h3 { font-size:1.08rem; margin-bottom:8px; letter-spacing:-.02em; }
a { color:inherit; } a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #cb8e6e; outline-offset:3px; }
.container { width:min(var(--content),calc(100% - 48px)); margin-inline:auto; }.section { padding:104px 0; }.section-tint { background:var(--paper); }
.eyebrow { color:var(--accent); margin-bottom:14px; text-transform:uppercase; font-size:.76rem; letter-spacing:.12em; font-weight:700; }.section-heading { max-width:660px; }.section-heading>p:not(.eyebrow) { color:var(--muted); font-size:1.08rem; }
.site-header { position:sticky; top:0; z-index:10; background:rgb(255 255 255 / .94); border-bottom:1px solid rgb(217 224 220 / .85); backdrop-filter:blur(10px); }.nav-wrap { min-height:74px; display:flex; align-items:center; justify-content:space-between; }
.brand { font:800 1.2rem/1 Manrope,sans-serif; letter-spacing:.12em; text-decoration:none; }.primary-nav { display:flex; align-items:center; gap:27px; }.primary-nav>a:not(.button) { color:#405054; font-size:.9rem; font-weight:600; text-decoration:none; }.primary-nav>a:not(.button):hover { color:var(--accent); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid var(--accent); border-radius:var(--radius); background:var(--accent); color:white; font-weight:700; font-size:.92rem; text-decoration:none; cursor:pointer; transition:background .18s,transform .18s,border-color .18s; }.button:hover { background:#a95f3d; border-color:#a95f3d; transform:translateY(-1px); }.button-small { min-height:40px; padding:8px 14px; font-size:.82rem; }.menu-toggle { display:none; }
.hero { padding:104px 0 46px; background:linear-gradient(110deg,#fafbf9 0%,#fff 70%); }.hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr); align-items:center; gap:72px; }.lead { max-width:640px; color:var(--muted); font-size:1.17rem; }.hero-actions { display:flex; align-items:center; gap:25px; margin-top:34px; }.text-link { font-weight:700; text-decoration:none; }.text-link span { color:var(--accent); margin-left:5px; transition:margin .15s; }.text-link:hover span { margin-left:9px; }
.hero-panel { padding:33px; background:var(--pine); color:#f8f8f5; border-radius:var(--radius); box-shadow:0 16px 38px rgb(26 47 49 / .12); }.panel-label { font:600 1.05rem Manrope,sans-serif; }.panel-line { height:1px; background:rgb(255 255 255 / .25); margin:27px 0 0; }.hero-panel ul { padding:0; margin:0; list-style:none; }.hero-panel li { display:grid; grid-template-columns:34px 1fr; gap:13px; padding:20px 0; border-bottom:1px solid rgb(255 255 255 / .15); font-size:.93rem; }.hero-panel li:last-child { border:0; padding-bottom:0; }.hero-panel li span { color:#dfa481; font-size:.73rem; font-weight:700; }
.trust-points { display:flex; flex-wrap:wrap; gap:0; margin-top:67px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.trust-points span { padding:15px 25px 15px 0; margin-right:25px; font-size:.86rem; font-weight:600; }.trust-points span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:9px; background:var(--accent); border-radius:50%; }
.space-list { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:50px; border-top:1px solid var(--line); }.space-list article { min-height:210px; padding:25px 22px 12px 0; margin-right:22px; border-right:1px solid var(--line); }.space-list article:last-child { border:0; }.space-list p { color:var(--muted); font-size:.91rem; }.item-number { color:var(--accent); display:block; margin-bottom:32px; font:700 .75rem Manrope,sans-serif; }
.services-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:11%; }.check-list { padding:0; margin:0; list-style:none; columns:2; border-top:1px solid var(--line); }.check-list li { position:relative; break-inside:avoid; padding:14px 6px 14px 24px; border-bottom:1px solid var(--line); font-weight:600; font-size:.93rem; }.check-list li::before { content:""; position:absolute; left:1px; top:21px; width:8px; height:8px; border-radius:50%; background:var(--accent); }.service-note { margin:24px 0 29px; color:var(--muted); font-weight:600; }.supply-note { padding:25px 28px; border-left:3px solid var(--accent); background:var(--paper); }.supply-note .eyebrow { margin-bottom:8px; }.supply-note h3 { margin-bottom:8px; font-size:1.16rem; }.supply-note p:last-child { color:var(--muted); margin-bottom:0; font-size:.94rem; }
.section-dark { background:var(--pine); color:#fff; }.section-dark .eyebrow { color:#dfa481; }.benefit-grid { display:grid; grid-template-columns:repeat(5,1fr); margin-top:52px; }.benefit-grid article { padding:0 25px; border-left:1px solid rgb(255 255 255 / .2); }.benefit-grid article:first-child { padding-left:0; border:0; }.benefit-grid p { color:#d8dfdc; font-size:.91rem; }
.process-heading { max-width:none; display:flex; align-items:baseline; justify-content:space-between; }.process-list { display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:49px 0 0; list-style:none; counter-reset:process; }.process-list li { padding:0 25px; border-left:1px solid var(--line); }.process-list li:first-child { padding-left:0; border:0; }.process-list li>span { display:flex; align-items:center; justify-content:center; width:30px; height:30px; margin-bottom:25px; color:var(--accent); border:1px solid var(--accent); border-radius:50%; font:700 .82rem Manrope,sans-serif; }.process-list p { color:var(--muted); font-size:.91rem; }
.pricing-grid,.coverage-grid,.contact-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:12%; }.pricing-card { padding:34px; background:white; border:1px solid var(--line); box-shadow:0 12px 26px rgb(27 49 51 / .05); }.pricing-card p { color:var(--muted); }.pricing-card .button { margin-top:11px; }
.coverage { padding-block:87px; }.districts { color:var(--pine); max-width:480px; font:600 clamp(1.2rem,2.2vw,1.75rem)/1.65 Manrope,sans-serif; letter-spacing:-.03em; }.districts span { color:var(--accent); padding-inline:4px; }
.inquiry-section { background:#f2f4f1; }.inquiry-grid { display:grid; grid-template-columns:.74fr 1.26fr; gap:10%; }.inquiry-intro>p:not(.eyebrow) { color:var(--muted); max-width:350px; }.form-contact { margin-top:35px; font-size:.92rem; }.form-contact a { color:var(--ink); font-weight:700; }.inquiry-form { padding:31px; background:white; border:1px solid var(--line); }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:19px; }.field { display:flex; flex-direction:column; gap:6px; }.field-full { grid-column:1/-1; }.field label { font-weight:700; font-size:.83rem; }.field em,.required-note em { color:var(--accent); font-style:normal; }.field small { color:var(--muted); font-weight:400; } input,select,textarea { width:100%; padding:11px 12px; color:var(--ink); border:1px solid #c9d1cc; border-radius:4px; background:white; font:400 .95rem "DM Sans",sans-serif; } select { min-height:43px; } textarea { resize:vertical; }.required-note { color:var(--muted); margin:18px 0; font-size:.8rem; }.form-status { min-height:24px; margin:14px 0 0; font-size:.88rem; font-weight:600; }.form-status.error { color:#a64031; }.form-status.success { color:#356848; }
.contact-section { padding-block:78px; }.contact-details { display:flex; flex-direction:column; gap:7px; }.contact-details a { font:600 1.22rem Manrope,sans-serif; letter-spacing:-.02em; text-decoration:none; }.contact-details a:hover { color:var(--accent); }.contact-details p { margin:7px 0 0; color:var(--muted); }
.site-footer { padding:51px 0 22px; background:#17282c; color:#eaf0ed; }.site-footer .brand { color:white; }.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; }.footer-grid p:not(.footer-label) { color:#bdc9c6; margin:12px 0 0; }.footer-grid a:not(.brand) { display:block; margin-bottom:5px; color:#eaf0ed; text-decoration:none; font-size:.91rem; }.footer-grid a:not(.brand):hover,.footer-bottom a:hover { color:#dfa481; }.footer-label { margin-bottom:10px; color:#9baaa7; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.footer-bottom { display:flex; flex-wrap:wrap; gap:15px 31px; padding-top:35px; margin-top:36px; border-top:1px solid rgb(255 255 255 / .15); color:#9baaa7; font-size:.79rem; }.footer-bottom a { color:#bdc9c6; text-decoration:none; }
.skip-link,.sr-only { position:absolute; }.skip-link { left:8px; top:-60px; padding:10px; background:var(--ink); color:#fff; z-index:20; }.skip-link:focus { top:8px; }.sr-only { width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:900px) { .primary-nav { gap:16px; }.primary-nav>a:not(.button) { font-size:.79rem; }.hero-grid,.services-layout,.inquiry-grid { gap:45px; }.space-list { grid-template-columns:repeat(3,1fr); }.space-list article:nth-child(3) { border:0; }.space-list article:nth-child(n+4) { border-top:1px solid var(--line); }.benefit-grid { grid-template-columns:repeat(3,1fr); gap:30px 0; }.benefit-grid article:nth-child(4) { padding-left:0; border:0; }.process-list { grid-template-columns:repeat(2,1fr); gap:35px 0; }.process-list li:nth-child(3) { padding-left:0; border:0; } }
@media (max-width:700px) { .container { width:min(100% - 36px,var(--content)); }.section { padding:70px 0; }.site-header { min-height:65px; }.nav-wrap { min-height:65px; }.menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:4px; width:39px; height:39px; padding:9px; border:0; background:none; cursor:pointer; }.menu-toggle span:not(.sr-only) { display:block; height:2px; background:var(--ink); transition:transform .2s,opacity .2s; }.menu-toggle[aria-expanded="true"] span:nth-child(2) { transform:translateY(6px) rotate(45deg); }.menu-toggle[aria-expanded="true"] span:nth-child(3) { opacity:0; }.menu-toggle[aria-expanded="true"] span:nth-child(4) { transform:translateY(-6px) rotate(-45deg); }.primary-nav { position:absolute; top:65px; left:0; right:0; display:none; align-items:stretch; gap:0; padding:12px 18px 19px; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 10px 20px rgb(31 47 48 / .08); }.primary-nav.is-open { display:flex; flex-direction:column; }.primary-nav>a:not(.button) { padding:12px 4px; font-size:.95rem; }.nav-cta { margin:8px 0 0; }.hero { padding-top:69px; }.hero-grid,.services-layout,.pricing-grid,.coverage-grid,.inquiry-grid,.contact-grid { grid-template-columns:1fr; gap:37px; }.hero-panel { padding:26px; }.trust-points { margin-top:42px; }.trust-points span { width:50%; margin:0; padding:12px 5px; font-size:.78rem; }.space-list { grid-template-columns:1fr 1fr; margin-top:35px; }.space-list article { min-height:0; padding:20px 16px 20px 0; margin-right:16px; }.space-list article:nth-child(2) { border:0; }.space-list article:nth-child(3) { border-right:1px solid var(--line); }.space-list article:nth-child(n+3) { border-top:1px solid var(--line); }.item-number { margin-bottom:20px; }.check-list { columns:1; }.benefit-grid { grid-template-columns:1fr; margin-top:36px; gap:0; }.benefit-grid article,.benefit-grid article:nth-child(4) { padding:19px 0; border:0; border-top:1px solid rgb(255 255 255 / .2); }.benefit-grid article:first-child { border-top:1px solid rgb(255 255 255 / .2); }.benefit-grid p { margin-bottom:0; }.process-heading { display:block; }.process-list { grid-template-columns:1fr; margin-top:35px; gap:0; }.process-list li,.process-list li:nth-child(3) { display:grid; grid-template-columns:45px 1fr; gap:12px; padding:20px 0; border:0; border-top:1px solid var(--line); }.process-list li>span { margin:0; }.process-list p { margin-bottom:0; }.pricing-card,.inquiry-form { padding:24px; }.form-grid { grid-template-columns:1fr; }.field-full { grid-column:auto; }.contact-section { padding-block:60px; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid>div:first-child { grid-column:1/-1; }.footer-bottom { margin-top:29px; padding-top:25px; } }
@media (max-width:400px) { .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }.space-list { grid-template-columns:1fr; }.space-list article,.space-list article:nth-child(3) { margin:0; padding-right:0; border-right:0; border-top:1px solid var(--line); }.space-list article:first-child { border-top:0; }.trust-points span { width:100%; }.footer-grid { grid-template-columns:1fr; }.footer-grid>div:first-child { grid-column:auto; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }
