@font-face{font-family:Saira;src:url('/assets/fonts/saira-variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url('/assets/fonts/dm-sans.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{
  --ink:#16233a;--ink-2:#263650;--paper:#f7f1e8;--white:#fffdf9;--mist:#e9edf0;
  --clay:#c95738;--clay-dark:#92351f;--saffron:#efb34b;--blue:#547895;--blue-soft:#dce8ef;
  --muted:#5c6879;--line:#c9c5bd;--shadow:0 18px 45px rgba(22,35,58,.14);--radius:14px;
  --wrap:min(1180px,calc(100% - 40px));--section:clamp(64px,8vw,106px)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--white);font-size:17px;line-height:1.66;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0 0 auto;height:3px;z-index:100;background:linear-gradient(90deg,var(--clay) 0 38%,var(--saffron) 38% 58%,var(--blue) 58%)}
::selection{background:var(--saffron);color:var(--ink)}
::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--blue);border:3px solid var(--paper);border-radius:10px}
img{display:block;max-width:100%;height:auto}a{color:var(--clay-dark);text-decoration-thickness:1.5px;text-underline-offset:4px}a:hover{color:var(--clay)}
button,input,select,textarea{font:inherit}button{cursor:pointer}
:focus-visible{outline:3px solid var(--saffron);outline-offset:4px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:var(--ink);color:white;padding:12px 18px;border-radius:0 0 10px 10px}.skip-link:focus{top:0}
.wrap{width:var(--wrap);margin-inline:auto}.narrow{width:min(760px,calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,249,.96);border-bottom:1px solid rgba(22,35,58,.12);backdrop-filter:blur(12px)}
.header-row{min-height:82px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-width:260px}
.brand-mark{position:relative;width:44px;height:44px;border:2px solid var(--ink);border-radius:8px;display:grid;place-items:center;font-family:Saira,sans-serif;font-weight:800;font-size:15px;background:var(--saffron);transform:rotate(-2deg)}
.brand-mark::after{content:"";position:absolute;width:12px;height:5px;border:2px solid var(--ink);border-bottom:0;top:-7px;border-radius:4px 4px 0 0}
.brand strong{display:block;font-family:Saira,sans-serif;font-size:17px;line-height:1.05;letter-spacing:-.01em}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:3px;letter-spacing:.04em;text-transform:uppercase}
.menu-button{display:none;margin-left:auto;border:1px solid var(--ink);background:var(--white);color:var(--ink);padding:10px 14px;border-radius:9px;font-family:Saira,sans-serif;font-weight:700}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:21px;font-family:Saira,sans-serif;font-size:14px;font-weight:650}
.main-nav>a,.service-link{color:var(--ink);text-decoration:none}.main-nav>a:hover,.service-link:hover{color:var(--clay-dark)}
.services-nav{position:relative;display:flex;align-items:center;gap:3px}.nav-trigger{width:26px;height:26px;border:0;background:transparent;color:var(--ink);display:grid;place-items:center;border-radius:6px}.nav-trigger svg{width:14px;transition:transform .2s}.nav-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.dropdown{position:absolute;left:-18px;top:calc(100% + 23px);width:300px;padding:9px;background:var(--white);box-shadow:var(--shadow);border-top:4px solid var(--clay);border-radius:0 0 12px 12px}.dropdown[hidden]{display:none}.dropdown a{display:flex;justify-content:space-between;padding:11px 12px;color:var(--ink);text-decoration:none;border-radius:8px}.dropdown a:hover,.dropdown a:focus-visible{background:var(--paper)}
.nav-cta{background:var(--ink);color:var(--white)!important;padding:11px 17px;border-radius:9px}.nav-cta:hover{background:var(--clay-dark)}
h1,h2,h3{font-family:Saira,sans-serif;line-height:1.08;letter-spacing:-.025em;margin:0 0 .55em;text-wrap:balance}h1{font-size:clamp(2.75rem,6vw,5rem);font-weight:760}h2{font-size:clamp(2rem,4vw,3.35rem);font-weight:730}h3{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:700}p{margin:0 0 1.15em}.lede{font-size:clamp(1.08rem,1.8vw,1.28rem);max-width:62ch;color:var(--ink-2)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 20px;border-radius:10px;border:2px solid transparent;font-family:Saira,sans-serif;font-weight:740;line-height:1;text-decoration:none;transition:transform .18s ease-out,background .18s,color .18s,box-shadow .18s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--clay);color:white;box-shadow:0 9px 22px rgba(146,53,31,.2)}.button.primary:hover{background:var(--clay-dark)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}.button.secondary:hover{background:var(--ink);color:white}.button.light{background:var(--white);color:var(--ink)}.button.dark{background:var(--ink);color:white}.actions{display:flex;gap:12px;flex-wrap:wrap}
.button.phone-coming-soon{background:var(--blue-soft);border-color:var(--blue);color:var(--ink);cursor:default}.button.phone-coming-soon:hover{transform:none}.contact-status{display:block;color:inherit;font-family:Saira,sans-serif;font-weight:700;margin:8px 0}
.hero{position:relative;overflow:hidden;background:var(--paper);padding:clamp(48px,7vw,88px) 0}.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:11px;background:linear-gradient(90deg,var(--clay) 0 20%,transparent 20% 22%,var(--blue) 22% 65%,transparent 65% 67%,var(--saffron) 67%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:center;gap:clamp(36px,6vw,86px)}
.hero-copy{position:relative;z-index:2}.hero-copy h1{max-width:10ch}.hero-copy .lede{margin-bottom:28px}.hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.route-tag{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);padding:8px 11px;border-radius:7px;color:var(--ink-2);font-size:13px;font-weight:650}.route-tag::before{content:"";width:8px;height:8px;background:var(--saffron);border-radius:50%;box-shadow:0 0 0 3px rgba(239,179,75,.22)}
.hero-media{position:relative;min-height:530px}.hero-media::before{content:"";position:absolute;inset:24px -24px -24px 28px;background:var(--blue);border-radius:var(--radius);transform:rotate(1.5deg)}.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.dispatch-strip{background:var(--ink);color:white}.dispatch-row{display:grid;grid-template-columns:1.25fr repeat(3,1fr);min-height:116px}.dispatch-cell{padding:22px 26px;border-right:1px solid rgba(255,255,255,.18);display:flex;align-items:center;gap:14px}.dispatch-cell:last-child{border-right:0}.dispatch-cell strong{font-family:Saira,sans-serif;font-size:16px;display:block}.dispatch-cell span{font-size:13px;color:#cbd5e4;display:block;line-height:1.4}.dispatch-cell img{width:34px;height:34px;filter:brightness(0) invert(1);opacity:.9}
.section{padding:var(--section) 0}.section.paper{background:var(--paper)}.section.ink{background:var(--ink);color:white}.section.blue{background:var(--blue-soft)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:42px}.section-head h2{max-width:13ch;margin-bottom:0}.section-head p{max-width:55ch;margin:0;color:var(--muted)}.ink .section-head p{color:#cbd5e4}
.service-route{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;position:relative}.service-route::before{content:"";position:absolute;left:5%;right:5%;top:50%;height:2px;background:var(--line);z-index:0}.service-panel{position:relative;z-index:1;background:var(--white);padding:24px;border-radius:var(--radius);box-shadow:0 9px 26px rgba(22,35,58,.09);text-decoration:none;color:var(--ink);min-height:230px;display:flex;flex-direction:column}.service-panel:nth-child(1){grid-column:span 5}.service-panel:nth-child(2){grid-column:span 3;background:var(--blue-soft)}.service-panel:nth-child(3){grid-column:span 4}.service-panel:nth-child(4){grid-column:span 3}.service-panel:nth-child(5){grid-column:span 5;background:#f5dfd5}.service-panel:nth-child(6){grid-column:span 4}.service-panel .tag{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:auto}.service-panel h3{margin-top:28px}.service-panel span:last-child{font-family:Saira,sans-serif;font-weight:700;color:var(--clay-dark)}.service-panel:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.84fr);gap:clamp(40px,8vw,100px);align-items:center}.split.reverse .media{order:-1}.media{position:relative}.media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.media::after{content:"";position:absolute;inset:auto -15px -15px 18%;height:48%;border-radius:10px;background:var(--saffron);z-index:-1}
.steps{counter-reset:route;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.step{counter-increment:route;padding:32px 26px;border-right:1px solid var(--line)}.step:last-child{border-right:0}.step::before{content:counter(route,decimal-leading-zero);font-family:Saira,sans-serif;font-size:13px;font-weight:800;color:var(--clay-dark);display:block;margin-bottom:34px}.step h3{font-size:1.25rem}.step p{font-size:15px;color:var(--muted);margin:0}
.area-board{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}.area-link{padding:22px 18px;min-height:125px;color:var(--ink);text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.area-link:nth-child(5n){border-right:0}.area-link:nth-last-child(-n+5){border-bottom:0}.area-link strong{font-family:Saira,sans-serif;font-size:18px}.area-link small{color:var(--muted)}.area-link:hover{background:var(--saffron);color:var(--ink)}
.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{font-family:Saira,sans-serif;font-weight:700;font-size:18px;list-style:none;padding:20px 42px 20px 0;position:relative;cursor:pointer}summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:4px;top:13px;font-size:28px;color:var(--clay)}details[open] summary::after{content:"−"}details p{padding:0 40px 20px 0;color:var(--muted)}
.cta{background:#a9432b;color:white;padding:clamp(52px,7vw,84px) 0;position:relative;overflow:hidden}.cta::before{content:"";position:absolute;width:520px;height:520px;border:70px solid rgba(255,255,255,.11);border-radius:50%;right:-190px;top:-230px}.cta-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}.cta h2{max-width:16ch}.cta p{max-width:60ch;color:#fff0ea}.cta .actions{justify-content:flex-end}
.page-hero{padding:clamp(58px,8vw,96px) 0;background:var(--paper);border-bottom:1px solid var(--line)}.crumbs{font-size:13px;margin-bottom:20px;color:var(--muted)}.page-hero h1{font-size:clamp(2.55rem,5vw,4.7rem);max-width:14ch}.page-hero p{max-width:65ch;margin:0;color:var(--ink-2);font-size:1.15rem}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(40px,7vw,86px);align-items:start}.prose{max-width:74ch}.prose h2{font-size:clamp(1.7rem,3vw,2.45rem);margin-top:1.7em}.prose h3{margin-top:1.6em}.prose ul,.prose ol{padding-left:1.2em}.prose li{margin:.48em 0}.prose table{width:100%;border-collapse:collapse;margin:28px 0;font-size:15px}.prose th,.prose td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}.prose th{font-family:Saira,sans-serif;background:var(--paper)}
.sidebar{position:sticky;top:112px;background:var(--ink);color:white;padding:28px;border-radius:var(--radius)}.sidebar h2{font-size:1.7rem}.sidebar p,.sidebar li{color:#ced7e4;font-size:15px}.sidebar .button{width:100%;margin-top:9px}.sidebar ul{padding-left:18px}
.media-pair{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin:30px 0}.media-pair img{width:100%;height:310px;object-fit:cover;border-radius:12px}.media-pair img:nth-child(2){margin-top:38px}
.callout{margin:30px 0;background:var(--blue-soft);padding:24px;border-radius:var(--radius)}.callout strong{font-family:Saira,sans-serif;font-size:18px}.callout p:last-child{margin-bottom:0}
.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.directory-item{padding:24px;background:var(--paper);border-radius:var(--radius);text-decoration:none;color:var(--ink)}.directory-item:hover{background:var(--blue-soft)}.directory-item h2,.directory-item h3{font-size:1.4rem}.directory-item p{color:var(--muted);font-size:15px}.directory-item span{font-family:Saira,sans-serif;font-weight:700;color:var(--clay-dark)}
.blog-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.post-card{grid-column:span 4;color:var(--ink);text-decoration:none}.post-card:first-child{grid-column:span 8}.post-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);margin-bottom:18px}.post-card:first-child img{aspect-ratio:2/1}.post-card h2{font-size:1.55rem}.post-card p{font-size:15px;color:var(--muted)}
.article-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-bottom:24px}.article-body>img{width:100%;max-height:520px;object-fit:cover;border-radius:var(--radius);margin:18px 0 34px}.checklist{list-style:none;padding:0!important}.checklist li{padding:10px 0 10px 34px;position:relative;border-bottom:1px solid var(--line)}.checklist li::before{content:"✓";position:absolute;left:4px;color:var(--clay-dark);font-weight:800}
.site-footer{background:#101b2e;color:white;padding:64px 0 22px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:36px}.site-footer h2,.site-footer h3{font-size:1.15rem}.site-footer p,.site-footer a{color:#c7d0de;font-size:14px}.site-footer a{display:block;text-decoration:none;margin:8px 0}.site-footer a:hover{color:white}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#9eabbc;font-size:13px}.footer-note{max-width:43ch}
.error-page{min-height:70vh;display:grid;place-items:center;text-align:center;background:var(--paper);padding:60px 20px}.error-code{font-family:Saira,sans-serif;font-size:clamp(7rem,22vw,14rem);font-weight:800;line-height:.75;color:var(--blue-soft);letter-spacing:-.04em}.error-page h1{font-size:clamp(2.1rem,5vw,4rem);margin-top:-26px}
.service-panel:nth-child(5) .tag{color:#465368}
.button.primary{background:#a9432b}.button.primary:hover{background:#7f2d1d}
.cta p{color:white}.cta .button.secondary{background:var(--ink);border-color:var(--ink);color:white}.cta .button.secondary:hover{background:white;border-color:white;color:var(--ink)}
.site-footer .brand-mark{color:var(--ink)}.site-footer .brand small{color:#bfc9d7}
@media (prefers-reduced-motion:no-preference){.hero-media img{animation:route-in .75s cubic-bezier(.16,1,.3,1) both}.hero-media::before{animation:route-block .9s .08s cubic-bezier(.16,1,.3,1) both}@keyframes route-in{from{clip-path:inset(0 100% 0 0);filter:blur(8px)}to{clip-path:inset(0);filter:blur(0)}}@keyframes route-block{from{transform:translateX(60px) rotate(1.5deg);opacity:0}to{transform:translateX(0) rotate(1.5deg);opacity:1}}}
@media (max-width:1040px){.menu-button{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--white);padding:20px;box-shadow:var(--shadow);align-items:stretch;flex-direction:column;gap:8px}.main-nav[data-open="true"]{display:flex}.main-nav>a,.services-nav{padding:10px 6px}.services-nav{display:grid;grid-template-columns:1fr auto}.nav-trigger{width:40px}.dropdown{position:static;grid-column:1/-1;width:auto;box-shadow:none;border:0;border-radius:8px;background:var(--paper);margin-top:8px}.hero-grid{grid-template-columns:1fr}.hero-media{min-height:470px}.hero-copy h1{max-width:12ch}.dispatch-row{grid-template-columns:1fr 1fr}.dispatch-cell{border-bottom:1px solid rgba(255,255,255,.18)}.service-panel:nth-child(n){grid-column:span 6}.split{grid-template-columns:1fr}.split.reverse .media{order:0}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid var(--line)}.area-board{grid-template-columns:repeat(2,1fr)}.area-link:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.area-link:nth-child(2n){border-right:0}.area-link:nth-last-child(-n+2){border-bottom:0}.content-grid{grid-template-columns:1fr}.sidebar{position:static}.footer-grid{grid-template-columns:1fr 1fr}.blog-grid .post-card,.blog-grid .post-card:first-child{grid-column:span 6}}
@media (max-width:680px){:root{--wrap:min(100% - 28px,1180px);--section:58px}body{font-size:16px}.header-row{min-height:72px}.brand{min-width:0}.brand small{display:none}.brand-mark{width:38px;height:38px}.main-nav{top:72px}.hero{padding-top:38px}.hero-grid{gap:34px}.hero-copy h1{font-size:clamp(2.5rem,13vw,3.75rem)}.hero-media{min-height:370px}.hero-media::before{inset:14px -8px -14px 12px}.dispatch-row{grid-template-columns:1fr}.dispatch-cell{border-right:0}.section-head{display:block}.section-head h2{margin-bottom:18px}.service-route{display:block}.service-route::before{display:none}.service-panel{margin-bottom:14px;min-height:190px}.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)!important}.step:last-child{border-bottom:0!important}.area-board{grid-template-columns:1fr}.area-link:nth-child(n){border-right:0;border-bottom:1px solid var(--line)}.area-link:last-child{border-bottom:0}.cta-grid{grid-template-columns:1fr}.cta .actions{justify-content:flex-start}.media-pair{grid-template-columns:1fr}.media-pair img{height:230px}.media-pair img:nth-child(2){margin-top:0}.directory-grid{grid-template-columns:1fr}.blog-grid{display:block}.post-card{display:block;margin-bottom:36px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:12px}}
