:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark;--navy:#071f35;--gold:#e4bf76}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--navy);color:#fff}a{color:inherit}.layout{min-height:100svh;display:grid;grid-template-columns:205px minmax(0,1fr)}.sidebar{border-right:1px solid #ffffff1c;background:#09253e;padding:28px 15px;display:flex;flex-direction:column;gap:24px}.brand{font-size:13px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;color:var(--gold);text-decoration:none}.nav{display:flex;flex-direction:column;gap:7px}.nav a{display:block;text-decoration:none;border-radius:7px;padding:12px 11px;font-size:14px;transition:background .15s}.nav a:hover,.nav a:focus-visible{background:#ffffff19;outline:2px solid transparent}.nav a[aria-current=page]{background:#e4bf761e;color:var(--gold);border-left:3px solid var(--gold);padding-left:8px}.nav-note{margin-top:auto;font-size:11px;line-height:1.6;color:#b9cad8}.content{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px}.art{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 82px);object-fit:contain;box-shadow:0 16px 50px #0005;border-radius:8px}footer{font:clamp(11px,1.5vw,14px)/1.4 system-ui,sans-serif;text-align:center;color:#dbe5ed;padding:0 8px}.mobilebar{display:none}.placeholder{max-width:650px;padding:40px 30px;text-align:center}.placeholder h1{font:700 clamp(30px,4vw,48px)/1.15 Georgia,serif;color:var(--gold)}.placeholder p{line-height:1.7;color:#dbe5ed}.backlink{display:inline-block;margin-top:20px;padding:12px 22px;border:1px solid var(--gold);border-radius:6px;text-decoration:none;color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.layout{display:block}.mobilebar{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#09253e;border-bottom:1px solid #ffffff25}.mobilebar .brand{font-size:12px}.menu-button{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid #ffffff66;color:white;border-radius:6px;padding:9px 12px;cursor:pointer;font-size:14px}.sidebar{display:none;border:0;border-bottom:1px solid #ffffff25;padding:12px 16px}.sidebar.open{display:block}.sidebar>.brand,.nav-note{display:none}.nav{gap:3px}.nav a{padding:11px}.content{min-height:calc(100svh - 60px)}.art{max-height:calc(100svh - 140px)}}@media(max-width:500px){.content{padding:10px;gap:12px}.art{max-height:calc(100svh - 130px)}footer{font-size:11px}}

/* Satellite service area */
.map-page{width:min(1180px,100%);margin:0 auto;padding:22px 12px 12px}.map-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.map-heading h1{font:700 clamp(30px,3.2vw,48px)/1.1 Georgia,serif;color:#f4d79e;margin:8px 0}.map-heading p{color:#d8e5ef;margin:0;line-height:1.5}.eyebrow{font-size:11px;letter-spacing:.2em;color:#e4bf76;font-weight:700}.map-badge{font-size:12px;line-height:1.6;color:#f4d79e;border:1px solid #e4bf7680;border-radius:8px;padding:12px 18px;text-align:center;white-space:nowrap}.map-frame{position:relative;border:2px solid #e4bf76;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #0005;background:#183b51}#service-map{height:clamp(340px,54svh,670px);width:100%;z-index:0}.map-fallback{position:absolute;inset:0;display:grid;place-items:center;background:#0c2b45;color:white;padding:20px}.map-fallback[hidden]{display:none}.area-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.area-card{border:1px solid #ffffff29;border-radius:10px;padding:15px;background:#ffffff0c}.area-card h2{font-size:15px;margin:0 0 8px;color:#e4bf76}.area-card p{font-size:13px;margin:0 0 10px;color:#d8e5ef}.area-card strong{font-size:18px}.map-disclaimer,.map-credit{font-size:12px;line-height:1.5;color:#cbd9e5}.map-credit{font-size:11px}.leaflet-container{font-family:system-ui,sans-serif}.leaflet-control-attribution{font-size:10px!important}@media(max-width:700px){.map-page{padding:14px 4px}.map-heading{align-items:flex-start}.map-badge{display:none}.area-details{grid-template-columns:1fr}#service-map{height:52svh;min-height:340px}}

/* Map refinements */
.map-label-toggle{background:#09253ef2;color:#fff;border:1px solid #e4bf76;border-radius:6px;padding:10px 12px;font:13px system-ui,sans-serif;box-shadow:0 3px 12px #0005}
.map-label-toggle label{cursor:pointer}.map-label-toggle input{accent-color:#e4bf76}
.map-page{max-width:1220px}.map-frame{margin-top:14px}#service-map{height:clamp(390px,64svh,740px)}
.map-disclaimer{margin-top:18px}

/* Static service-area imagery — no interactive map or pricing */
.aerial-frame{width:100%;margin:12px 0 0;border:2px solid var(--gold);border-radius:12px;overflow:hidden;background:#163349;box-shadow:0 12px 40px #0005}
.aerial-frame img{display:block;width:100%;height:auto;aspect-ratio:2000/1235;object-fit:cover}
.aerial-frame figcaption{font-size:11px;color:#cddde7;padding:10px 14px;background:#0c2941}
.imagery-unavailable{padding:70px 25px;text-align:center;color:#e6eef5}
.imagery-unavailable[hidden]{display:none}
.map-actions{display:flex;justify-content:center;margin:20px 0}
.map-link{display:inline-flex;align-items:center;gap:10px;background:#e4bf76;color:#071f35;padding:14px 24px;border-radius:8px;font-weight:750;text-decoration:none;text-align:center}
.map-link:hover,.map-link:focus-visible{background:#f5d9a5;outline:2px solid white;outline-offset:3px}
@media(max-width:700px){.aerial-frame img{aspect-ratio:4/3;object-fit:cover}.map-link{width:100%;justify-content:center}}

/* V5: compact static aerial image; preserve full geography without cropping */
.aerial-frame{width:min(100%,760px);margin:12px auto 0}
.aerial-frame img{width:100%;height:auto;aspect-ratio:2000/1235;object-fit:contain}
@media(max-width:700px){.aerial-frame{width:100%}.aerial-frame img{aspect-ratio:2000/1235;object-fit:contain}}

/* V8: source photo cropped to actual imagery, no baked-in left/top margin */
.aerial-frame img{aspect-ratio:auto;height:auto;object-fit:contain}
@media(max-width:700px){.aerial-frame img{aspect-ratio:auto;height:auto;object-fit:contain}}

/* V9: services overview */
.services-page{width:min(1180px,100%);margin:0 auto;padding:26px 12px 18px}.services-intro{max-width:850px;color:#d8e5ef;font-size:16px;line-height:1.7;margin:2px 0 22px}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.service-card{background:#ffffff0b;border:1px solid #ffffff28;border-radius:12px;padding:22px;min-height:190px}.service-card h2{color:#f4d79e;font:700 20px/1.25 Georgia,serif;margin:10px 0}.service-card p{color:#d9e5ef;font-size:14px;line-height:1.65;margin:0}.service-icon{color:var(--gold);font-size:25px}.services-callout{margin:24px 0 12px;border:1px solid #e4bf7677;background:#ffffff0b;border-radius:12px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:24px}.services-callout h2{color:#f4d79e;margin:0 0 8px;font:700 23px Georgia,serif}.services-callout p{margin:0;color:#d8e5ef;line-height:1.5}.services-callout .map-link{white-space:nowrap}.services-fineprint{font-size:12px;line-height:1.6;color:#bbcfde;margin:14px 0 0}@media(max-width:1050px){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.services-page{padding:18px 4px}.services-grid{grid-template-columns:1fr}.service-card{min-height:auto}.services-callout{flex-direction:column;align-items:stretch}.services-callout .map-link{white-space:normal}}

/* V12: balanced services layout, desktop and mobile */
.services-page{padding:12px 12px 18px}
.services-page .map-heading{margin-bottom:10px}
.services-page .map-heading h1{font-size:clamp(30px,2.8vw,44px);margin:5px 0}
.services-page .map-heading p{font-size:15px}
.services-intro{max-width:1000px;font-size:14px;line-height:1.5;margin:0 0 14px}
.services-grid{gap:12px}
.service-card{padding:15px 17px;min-height:0}
.service-icon{font-size:19px;line-height:1}
.service-card h2{font-size:18px;margin:7px 0 6px}
.service-card p{font-size:13px;line-height:1.48}
.services-callout{margin:16px 0 10px;padding:16px 18px}
.services-callout h2{font-size:20px}
.services-callout p{font-size:13px}
.services-fineprint{font-size:11px;margin:10px 0 0}
@media(max-width:700px){.services-page{padding:14px 4px}.services-grid{gap:10px}.service-card{padding:15px}.services-intro{font-size:14px}.services-page .map-heading h1{font-size:34px}}

/* Contact page */
.contact-page{width:min(100%,1180px);margin:0 auto;padding:12px 0 30px}
.contact-eyebrow{font-size:12px;letter-spacing:.2em;font-weight:800;color:#e4bf76;margin-bottom:10px}
.contact-page h1{font-family:Georgia,serif;color:#f4d394;font-size:clamp(2.4rem,4vw,3.6rem);line-height:1.08;margin:0 0 12px}
.contact-tagline{font-size:1.1rem;margin:0 0 16px}.contact-intro{line-height:1.65;max-width:850px;margin:0 0 26px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.contact-card{background:#112a40;border:1px solid #ffffff30;border-radius:14px;padding:23px;min-width:0}
.contact-symbol{color:#e4bf76;font-size:1.5rem;display:block;margin-bottom:10px}
.contact-card h2{font-family:Georgia,serif;color:#f4d394;font-size:1.5rem;margin:0 0 9px}
.contact-card p{line-height:1.55;margin:0 0 18px;min-height:3.1em}
.contact-email{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:#f4d394;text-underline-offset:4px;font-weight:600}
.contact-email:hover,.contact-email:focus-visible{color:white}
.contact-notice{border:1px solid #e4bf7680;border-radius:12px;padding:17px 20px;margin-top:20px;line-height:1.55;background:#112a40}
@media(max-width:850px){.contact-grid{grid-template-columns:1fr}.contact-card p{min-height:0}}
