:root{--wine:#6d2038;--dark:#291d23;--teal:#346f73;--paper:#faf7f4;--line:#e4d9d9;--muted:#62555a;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--dark);background:var(--paper)}
*{box-sizing:border-box}body,figure,p,h1,h2,h3{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #548e93;outline-offset:4px}img,svg{display:block;max-width:100%}img{object-fit:contain}html{scroll-behavior:smooth}section{scroll-margin-top:20px}.wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;top:-100px;left:15px;background:#fff;padding:12px;z-index:3}.skip:focus{top:10px}
.header{background:#fff;border-bottom:1px solid var(--line)}.bar{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{flex-shrink:0}.bar nav{display:flex;gap:clamp(17px,3vw,43px);font-weight:650;font-size:.93rem}.bar nav a:hover,.quiet:hover,.footer a:hover{text-decoration:underline;text-underline-offset:5px}
.button{background:var(--wine);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:13px 20px;border:1px solid var(--wine);border-radius:5px;font-size:.94rem;font-weight:700;min-height:46px}.button:hover{background:#522033}.header-cta{background:#fff;color:var(--wine)}.header-cta:hover{background:#f7ebef}
.hero{background:radial-gradient(ellipse at 91% 18%,#f0dfe3,transparent 47%),var(--paper);border-bottom:1px solid var(--line)}.hero-grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}.hero-grid{padding-block:clamp(58px,8vw,110px)}.eyebrow{display:flex;align-items:center;gap:9px;font-size:.72rem;font-weight:780;letter-spacing:.16em;color:var(--teal);margin-bottom:20px}.eyebrow span,.signal{width:8px;height:8px;background:currentColor;transform:rotate(45deg);flex-shrink:0}
h1,h2,h3{line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(3.3rem,6.9vw,6.8rem);font-weight:800}h1 em{font-style:normal;color:var(--wine)}h2{font-size:clamp(2.15rem,4.5vw,4.15rem)}h3{font-size:1.36rem;line-height:1.2}.intro,.section-intro,.split p:not(.eyebrow){line-height:1.65;color:var(--muted);font-size:clamp(1rem,1.5vw,1.17rem);margin-top:20px;max-width:55ch}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:29px}.quiet{font-size:.94rem;font-weight:700;color:var(--wine)}
.network{overflow:hidden;background:radial-gradient(at 15% 25%,#78354d,#401928 78%);color:#fff;border:1px solid #77324b;border-radius:12px;box-shadow:0 22px 45px #6d203820}.network svg{width:100%;height:auto}.network figcaption{display:flex;align-items:center;gap:10px;padding:14px 18px;border-top:1px solid #a06f80;font-size:.67rem;letter-spacing:.09em;font-weight:750}.signal{color:#93d9d1}.caption-right{margin-left:auto;color:#f0cbd6}
.section,.coverage,.contact{padding-block:clamp(54px,8vw,105px)}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:9px;overflow:hidden}.services article{padding:27px;background:#fff}.services p{color:var(--muted);line-height:1.55;margin-top:10px}
.coverage{background:#e9f0ed}.destinations{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.destinations li{padding:15px;background:#fafcfb;border:1px solid #ceded8;border-radius:4px;font-weight:700;display:flex;flex-direction:column;gap:4px}.destinations small{color:var(--teal);font-size:.7rem;letter-spacing:.1em}.story{border-left:2px solid var(--teal);padding-left:26px}.split .story p{margin:0}.contact{background:#592139;color:#fff}.contact .eyebrow{color:#a6e0d7}.contact .split p:not(.eyebrow){color:#f6dce5}.light{margin-top:23px;background:#fff;color:var(--wine);border-color:#fff}.light:hover{background:#f6dce5}.contact address{font-style:normal;border-top:1px solid #a97b8d}.contact address div{padding:15px 0;border-bottom:1px solid #a97b8d}.contact address small{display:block;color:#b8e6df;font-size:.68rem;letter-spacing:.12em;margin-bottom:6px}.contact address a:hover{text-decoration:underline}.footer{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:100px;color:var(--muted);font-size:.83rem}.footer a{font-weight:700;color:var(--wine)}
@media(max-width:860px){.wrap{width:calc(100% - 46px)}.hero-grid{gap:28px}h1{font-size:clamp(2.9rem,7.8vw,5rem)}.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:calc(100% - 34px)}.bar{flex-wrap:wrap;gap:0;min-height:0}.brand img{width:150px;height:65px}.bar nav{order:3;justify-content:space-between;width:100%;padding:13px 0;border-top:1px solid var(--line)}.header-cta{min-height:38px;padding:7px 12px}.hero-grid,.split{grid-template-columns:1fr;gap:27px}.hero-grid{padding-block:46px}.services article{padding:18px}.footer{padding-block:16px;flex-wrap:wrap}.footer img{width:135px;height:50px}.footer p{order:3;width:100%}}
@media(max-width:360px){.services{grid-template-columns:1fr}.network figcaption{font-size:.58rem;padding-inline:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.coverage-process{margin-block:36px 24px;border-top:1px solid #bfcfc9;padding-top:25px}
.coverage-process dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:20px 0 0}
.coverage-process dt{font-weight:750;margin-bottom:5px}
.coverage-process dd{margin:0}
@media(max-width:650px){.coverage-process dl{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.65rem,5.25vw,5rem)}
.hero .intro + .intro{margin-top:13px}
.region-map{margin-top:28px;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:16px;align-items:start}
.region-map figure{background:#f9fcfa;border:1px solid #ceded8;border-radius:9px;overflow:hidden}
.region-map svg{width:100%;height:auto}
.region-map figcaption{padding:10px 15px;color:var(--muted);font-size:.8rem}
.map-labels{fill:#346568;font-size:16px;font-weight:650}
.map-points text{fill:var(--wine);font-size:21px;font-weight:750}
.map-points circle{fill:var(--wine);stroke:#fff;stroke-width:2}
.map-points .is-active circle{fill:#2a696c;stroke:#fff;stroke-width:4;r:12px}
.map-controls{display:grid;gap:8px}
.map-controls button{font:inherit;font-weight:700;text-align:left;padding:10px 13px;cursor:pointer;border:1px solid #bfcfc9;border-radius:5px;background:#fff;color:var(--dark)}
.map-controls button[aria-pressed="true"]{color:#fff;background:var(--wine);border-color:var(--wine)}
.map-controls button:focus-visible{outline:3px solid #548e93;outline-offset:2px}
@media(max-width:650px){.region-map{grid-template-columns:1fr}.map-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
.market-profile{grid-column:1/-1;padding:22px;background:#fff;border:1px solid #ceded8;border-radius:9px}
.market-profile .eyebrow{margin-bottom:12px}
.market-profile p:not(.eyebrow){margin-top:10px;line-height:1.55;color:var(--muted)}
.market-profile strong{color:var(--wine);font-size:1.55rem}
.market-source a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;font-size:.86rem}
.market-source{margin-top:12px;color:var(--teal);font-size:.86rem}
.market-source summary{display:list-item;width:fit-content;cursor:pointer}
.market-source summary span{margin-right:.25rem}
.market-source ul{margin:6px 0 0;padding-left:1.5rem}
[data-quote],.quote-dialog button{cursor:pointer;font-family:inherit}
.quote-dialog{width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:clamp(16px,4vw,30px);border:1px solid #d9ceca;border-radius:16px;background:#fff;color:var(--dark)}
.quote-dialog::backdrop{background:rgba(32,18,22,.62)}
.quote-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}
.quote-heading h2{font-size:clamp(1.5rem,4vw,2rem);margin:0}
.quote-close{background:transparent;border:0;color:inherit;font-size:1.6rem;min-width:44px;min-height:44px}
.quote-dialog p{margin:10px 0 16px}
.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.quote-dialog label{display:block;font-weight:650}
.quote-dialog input,.quote-dialog textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:9px;border:1px solid #8e7a75;border-radius:7px;font:inherit;font-weight:400}
.quote-dialog textarea{resize:vertical}
#quote-note{font-size:.87rem;color:var(--muted)}
@media(max-width:500px){.quote-fields{grid-template-columns:1fr}}
