:root{--bg:#101416;--surface:#191e20;--text:#f2f3f0;--muted:#abb2b3;--accent:#ff673e;--line:#333a3c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:6px}a:hover{color:var(--accent)}header{height:96px;padding:0 5%;display:flex;align-items:center;gap:45px;border-bottom:1px solid var(--line)}.brand{font-size:25px;letter-spacing:-1.4px;font-weight:900;white-space:nowrap;line-height:1}.brand span{font-weight:400;margin-left:5px}.brand i{font-size:12px;vertical-align:top;margin-left:3px;font-style:normal}nav{display:flex;gap:30px;margin-left:auto;font-size:14px}.nav-cta{font-size:14px;border:1px solid #596164;padding:12px 18px}.nav-cta span{margin-left:28px}.hero{position:relative;min-height:730px;height:calc(100svh - 96px);max-height:1000px;overflow:hidden}.hero-img,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}.hero-img{object-position:center 56%}.hero-shade{background:linear-gradient(90deg,rgba(6,15,18,.73),rgba(6,15,18,.04)),linear-gradient(0deg,rgba(6,15,18,.8),transparent 45%)}.hero-content{position:relative;padding:70px 7% 110px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.2px;color:var(--muted);margin:0 0 30px}.hero .eyebrow{color:#e5e8e3}h1{font-size:clamp(54px,6.7vw,108px);line-height:1.02;letter-spacing:-5px;font-weight:500;margin:0}h1 em{font-style:normal;color:var(--accent)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:36px;max-width:1030px;gap:30px}.hero-bottom p{color:#e4e7e3;font-size:17px;line-height:1.6}.button{padding:17px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:44px;border:1px solid var(--line);cursor:pointer;font-size:14px;font-weight:600}.orange{background:var(--accent);color:#111;border-color:var(--accent)}.orange:hover{background:#ff855f;color:#111}.hero-foot{position:absolute;left:7%;right:7%;bottom:35px;display:flex;justify-content:space-between;border-top:1px solid #ffffff55;padding-top:20px;font-size:11px;letter-spacing:1.5px}.image-credit{position:absolute;bottom:9px;right:7%;font-size:9px;letter-spacing:1px;color:#bfc8c7}.intro-strip{padding:33px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.intro-strip>span{font-size:11px;letter-spacing:1.6px;color:var(--muted)}.intro-strip p{font-size:20px;margin:0}.intro-strip strong{font-weight:400;color:var(--accent)}.intro-strip .cross{color:var(--accent);font-size:40px}.mobile{display:none}.skip{position:fixed;top:-100px;z-index:20;background:white;color:black}.skip:focus{top:5px}@media(max-width:850px){header{height:80px;gap:15px}nav{display:none}.nav-cta{margin-left:auto}.hero{height:auto;min-height:750px}.hero-content{padding:65px 6% 140px}h1{letter-spacing:-3px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:12px}.hero-foot{left:6%;right:6%;font-size:10px;gap:20px}.hero-foot>span:first-child{display:none}.intro-strip{align-items:flex-start}.intro-strip>span:first-child{display:none}.intro-strip p{font-size:17px}}@media(max-width:480px){.brand{font-size:20px}.nav-cta{padding:9px 10px;font-size:12px}.nav-cta span{margin-left:8px}.hero{min-height:760px}h1{font-size:54px;letter-spacing:-2.8px}.mobile{display:block}.hero .eyebrow{font-size:10px;letter-spacing:1.2px}.hero-bottom p{font-size:16px}.image-credit{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.section{padding:100px 7%;border-bottom:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:48px}.section-head>p{max-width:420px;color:var(--muted);font-size:16px}h2{font-size:clamp(36px,4.2vw,64px);font-weight:400;letter-spacing:-2.3px;line-height:1.1;margin:0}h3{font-weight:400;font-size:26px;letter-spacing:-.7px;line-height:1.25}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.services article{padding:35px 30px 30px 0}.services article+article{padding-left:30px;border-left:1px solid var(--line)}.service-no{font-size:12px;letter-spacing:2px;color:var(--accent)}.services p{color:var(--muted);min-height:105px}.services a{display:flex;justify-content:space-between;padding-top:25px;font-size:14px}.services a span{color:var(--accent);font-size:22px}.idea{margin:0 7%;padding:45px 0;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.idea p{font-size:25px;line-height:1.4}.idea strong{font-weight:400;color:var(--muted)}.about{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-visual{position:relative;height:620px}.about-visual img{width:100%;height:100%;object-fit:cover}.photo-label{position:absolute;bottom:20px;left:20px;right:20px;font-size:10px;letter-spacing:1.7px;text-shadow:0 2px 5px #000}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:440px}.about-copy h2{margin-bottom:28px}.accent{color:var(--accent)}.signature{border-top:1px solid var(--line);padding-top:25px;margin-top:30px;letter-spacing:2px;font-size:18px}.signature span{display:block;letter-spacing:1.5px;color:var(--muted);font-size:10px;margin-top:8px}.portfolio{background:#161b1d}.muted{color:var(--muted)}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.photo-card{padding:0;background:none;color:var(--text);border:0;text-align:left;cursor:pointer}.photo-card img{width:100%;height:380px;object-fit:cover;display:block;transition:filter .2s}.photo-card:hover img{filter:brightness(1.13)}.card-title{display:flex;align-items:center;justify-content:space-between;padding-top:18px;font-size:24px;line-height:1.5}.card-title small,.film-link small{font-size:11px;letter-spacing:1.7px;color:var(--muted);display:block;margin-bottom:6px}.card-title b{font-size:30px;font-weight:400;color:var(--accent)}.film-link{display:flex;align-items:center;gap:25px;padding:30px 0;border-top:1px solid var(--line);margin-top:45px;font-size:24px}.play{border:1px solid #606b6f;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font-size:20px}.film-action{margin-left:auto;font-size:14px}.region{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.region p{max-width:440px}.text-link{display:inline-block;margin-top:12px;color:var(--accent)}.radius-art{aspect-ratio:1;position:relative;overflow:hidden;background:linear-gradient(#29323544 1px,transparent 1px),linear-gradient(90deg,#29323544 1px,transparent 1px);background-size:38px 38px}.ring{border:1px solid #596568;position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}.ring-outer{width:92%;height:92%;border-style:dashed;opacity:.4}.ring-middle{width:72%;height:72%;border-color:var(--accent)}.ring-inner{width:43%;height:43%;opacity:.4}.radius-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.radius-center strong{font-size:90px;letter-spacing:-6px;font-weight:400;line-height:1.2}.radius-center strong span{font-size:25px;letter-spacing:-1px;color:var(--accent);margin-left:4px}.radius-center>span{font-size:10px;letter-spacing:2px}.radius-label,.radius-bottom{position:absolute;font-size:10px;letter-spacing:2px;color:var(--muted)}.radius-label{top:10px;left:10px}.radius-bottom{bottom:10px;right:10px}.pricing{background:#dce2df;color:#141a1c}.pricing .eyebrow{color:#455052}.pricing .muted{color:#455052}.pricing .section-head{align-items:flex-start;margin:0}.pricing .section-head>div{max-width:460px}.pricing .section-head>div>p:first-child{margin-top:0}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:50px}details{border-bottom:1px solid var(--line);padding:20px 0}details:first-child{padding-top:0}summary{cursor:pointer;list-style:none;position:relative;padding-right:30px;font-size:18px}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;color:var(--accent)}details[open] summary:after{content:'−'}details p{color:var(--muted);max-width:570px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#151a1c}.location{border-top:1px solid var(--line);margin-top:50px;padding-top:20px;color:var(--muted)}.contact-panel h3{margin-top:0}.draft-note{font-size:14px;color:var(--muted);border-left:2px solid var(--accent);padding-left:15px;margin-bottom:26px}label{display:block;font-size:14px;margin-bottom:7px}input,textarea,select{width:100%;background:#202729;border:1px solid #485154;border-radius:0;color:var(--text);padding:12px;margin-bottom:18px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a2acad}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-panel .button{width:100%}#form-status{font-size:14px;color:var(--accent)}footer{padding:50px 7% 22px}.footer-main{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:50px;gap:30px}.footer-main p{margin:0;color:var(--muted);font-size:14px}.footer-main>div{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px;font-size:14px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:22px;color:var(--muted);font-size:11px}.footer-bottom>div{display:flex;gap:15px}.footer-bottom button{background:none;border:0;padding:0;color:var(--muted);font-size:12px;cursor:pointer}.footer-bottom button:hover{color:var(--accent)}dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);max-width:900px;width:90vw;padding:35px;max-height:90svh}dialog::backdrop{background:#000d}.dialog-close{display:block;margin-left:auto;background:none;border:1px solid var(--line);color:white;width:40px;height:40px;cursor:pointer;margin-bottom:15px}#lightbox img{width:100%;max-height:65vh;object-fit:contain}#lightbox p{font-size:14px}#legal{max-width:650px}#legal h2{font-size:32px}#legal a{color:var(--accent);text-decoration:underline}#legal p{color:var(--muted)}@media(max-width:850px){.section{padding:65px 6%}.section-head{display:block}.section-head>p{margin-top:25px}.services{grid-template-columns:1fr}.services article,.services article+article{padding:25px 0;border-left:0}.services article+article{border-top:1px solid var(--line)}.services p{min-height:0;max-width:600px}.idea{margin:0 6%}.about{gap:35px}.about-visual{height:450px}.gallery{gap:20px}.photo-card img{height:290px}.card-title{font-size:20px}.region{gap:30px}.radius-center strong{font-size:65px}.faq{grid-template-columns:1fr;gap:35px}.contact{gap:35px}.footer-bottom{flex-wrap:wrap}.pricing .section-head>div{margin-top:30px}.film-action{max-width:150px}}@media(max-width:600px){h2{font-size:42px;letter-spacing:-1.5px}.idea{align-items:flex-start;flex-direction:column;gap:5px;padding-bottom:35px}.about,.region,.contact{grid-template-columns:1fr}.about-visual{height:370px}.about-copy{padding-top:15px}.gallery{grid-template-columns:1fr;gap:30px}.photo-card img{height:300px}.film-link{flex-wrap:wrap;font-size:20px}.film-action{margin-left:90px;max-width:none}.play{width:60px;height:60px}.radius-art{max-width:430px;width:100%;margin:auto}.radius-center strong{font-size:80px}.footer-main{flex-wrap:wrap}.footer-main>div{width:100%}.footer-bottom>span:last-child{display:none}.form-row{grid-template-columns:1fr}.section .eyebrow{margin-bottom:20px}.contact-panel{margin-top:15px}}@media(prefers-reduced-motion:reduce){.photo-card img{transition:none}}
.region-links{margin-top:30px;border-top:1px solid var(--line);padding-top:12px}.region-links h3{font-size:22px}.region-links p{font-size:14px;color:var(--muted)}.region-links a{display:block;font-size:14px;padding:10px 0;border-top:1px solid var(--line)}.regional-hero h1{font-size:clamp(46px,6vw,90px);letter-spacing:-3px}.breadcrumb{display:inline-block;margin-bottom:40px;font-size:14px;color:var(--muted)}.regional-intro{max-width:760px;font-size:21px;color:var(--muted);margin:30px 0}.regional-body{max-width:1050px;margin:auto}.regional-body h2{font-size:34px;margin:45px 0 20px}.regional-body h2:first-child{margin-top:0}.regional-body p{font-size:18px;color:#c1c8c8}.regional-note{border-left:2px solid var(--accent);padding-left:18px;margin:35px 0;color:var(--muted);font-size:14px}.regional-related h2{font-size:34px;margin-bottom:30px}.regional-related a{display:block;padding:15px 0;border-bottom:1px solid var(--line)}

/* Focused refinements; retain the original editorial style. */
header{position:relative;z-index:5}.brand:hover{color:var(--text)}.desktop-nav{display:flex}.mobile-nav{display:none}.hero-category{font-size:.875rem;font-weight:600;letter-spacing:.12em;line-height:1.5;margin:0 0 30px;color:#f0f2ef}.hero-title{font-size:clamp(54px,6.7vw,108px);line-height:1.02;letter-spacing:-5px;font-weight:500;margin:0}.hero-title em{font-style:normal;color:var(--accent)}.hero-foot{font-size:.75rem;letter-spacing:.06em}.image-credit{font-size:.75rem;letter-spacing:0}.eyebrow,.service-no,.card-title small,.film-link small{font-size:.8125rem}.intro-strip>span{font-size:.75rem}.photo-label{font-size:.75rem;background:#101416b8;padding:10px}.signature span{font-size:.75rem}.hero-img{object-position:center}.small{font-size:.875rem}.contact-details{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:26px;margin-top:30px;border-top:1px solid var(--line)}.contact-details strong{font-weight:400;font-size:24px}.contact-details a{font-size:clamp(16px,1.8vw,23px);overflow-wrap:anywhere}.download-briefing{width:100%;background:transparent;color:var(--text);border:1px solid var(--line);padding:12px;margin-top:12px;cursor:pointer}.download-briefing:hover{border-color:var(--accent)}.draft-note{line-height:1.6}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;margin:0}.footer-bottom nav{display:flex;margin:0;gap:16px;font-size:.875rem;flex-wrap:wrap}.footer-bottom{font-size:.8125rem;align-items:center}.footer-main p{font-size:1rem}.footer-main .brand{flex-shrink:0}.process ol{display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0;list-style:none;gap:40px}.process li{border-top:1px solid var(--line);padding-top:20px}.process li>span{font-size:.875rem;letter-spacing:.15em;color:var(--accent)}.process p{color:var(--muted)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:14px;font-size:.875rem;color:var(--muted);margin-bottom:35px}.regional-hero h1,.legal-page h1{overflow-wrap:anywhere}.regional-body{max-width:1120px}.regional-body a:not(.button){text-decoration:underline;text-underline-offset:4px}.use-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:35px 0}.use-cases section{padding-top:10px;border-top:1px solid var(--line)}.use-cases h3{font-size:24px}.use-cases p{font-size:16px}.regional-contact{border-top:1px solid var(--line);margin-top:45px;padding-top:5px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.regional-contact p{margin:0}.regional-contact .button{margin-top:15px}.region-distances ul{padding:0;list-style:none}.region-distances li{display:flex;gap:20px;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.region-distances strong{font-size:16px;white-space:nowrap;color:var(--accent);font-weight:400}.legal-page{max-width:1050px;margin:auto;min-height:65vh}.legal-page h1{font-size:clamp(38px,5vw,68px);letter-spacing:-2px;margin-bottom:36px}.legal-page h2{font-size:30px;margin:36px 0 20px}.legal-page p{color:#c5cdce}.legal-page a{color:var(--accent);text-decoration:underline}.legal-page .breadcrumbs a{color:var(--muted)}.skip:focus{padding:12px;left:10px}.map-grid-line{stroke:#2c363c;stroke-width:.6;fill:none}.map-water{fill:#10191f}.map-land{fill:#19252a;stroke:#43555f;stroke-width:1.3;vector-effect:non-scaling-stroke;fill-rule:evenodd}.state-3{fill:#1d2b31}.state-4{fill:#203137}.state-6{fill:#1b2a2d}.state-names text{fill:#779096;font-size:13px;letter-spacing:2px}.map-route{fill:none;stroke:#59737b;stroke-width:1.1;opacity:.4;vector-effect:non-scaling-stroke;pointer-events:none}.map-route.selected{stroke:var(--accent);stroke-width:3;opacity:1}.map-marker circle{fill:#b2c7c8;stroke:#10191f;stroke-width:2}.map-marker text{fill:#d4e2e2;font-size:15px;paint-order:stroke;stroke:#142228;stroke-width:4;stroke-linejoin:round}.map-marker.selected circle,.map-marker:focus circle{fill:var(--accent);stroke:var(--text);stroke-width:2;r:7}.map-marker.selected text,.map-marker:hover text{fill:#fff}.map-marker{cursor:pointer}.map-marker .near-label{font-size:12px}.map-origin circle:first-child{fill:#ff673e33;stroke:#ff673e88;stroke-width:1}.map-origin circle:nth-child(2){fill:var(--accent)}.map-origin text{fill:var(--accent);font-size:14px;font-weight:700;paint-order:stroke;stroke:#142228;stroke-width:4}.travel-region{background:#111a1e}.travel-region .section-head>p{max-width:440px}.travel-map{display:grid;grid-template-columns:minmax(0,1fr) 310px;border:1px solid #3a4b52;border-radius:3px;overflow:hidden}.map-canvas{min-width:0;display:flex;flex-direction:column;background:#10191f}.map-topline{display:flex;justify-content:space-between;padding:17px 20px;font-size:.75rem;letter-spacing:.08em;color:#b6c8cc;gap:20px}.route-map{display:block;width:100%;height:auto;flex:1}.map-legend{display:flex;flex-wrap:wrap;gap:12px 20px;padding:15px 20px;color:#b6c8cc;font-size:.75rem}.map-legend i{display:inline-block;width:8px;height:8px;background:var(--accent);border-radius:50%;margin-right:5px}.map-legend span:nth-child(2) i{height:2px;width:18px;border-radius:0;vertical-align:middle}.map-legend span:last-child{width:100%;color:var(--muted)}.route-panel{padding:28px;background:#20292d;border-left:1px solid #3a4b52;min-width:0}.route-panel select{margin-bottom:30px;background:#141f24;font-size:.875rem}.route-panel .eyebrow{font-size:.75rem;letter-spacing:.08em;margin-bottom:16px}.route-destination{font-size:28px;line-height:1.15;letter-spacing:-.5px;margin:0 0 12px;min-height:65px}.route-distance{margin:0;line-height:1;display:flex;align-items:baseline;gap:10px}.route-distance strong{font-weight:400;font-size:92px;letter-spacing:-5px}.route-distance span{font-size:28px;color:var(--accent)}#route-state{color:var(--muted);font-size:.875rem;margin:20px 0 12px}.route-status{font-size:.875rem;border-top:1px solid #4b5d62;padding-top:16px;min-height:64px;color:#d5dfdf}.route-panel .button{width:100%;gap:15px;padding:14px 16px}.map-note{font-size:.875rem;color:#b0c0c3;max-width:980px;margin:20px 0}.map-attribution{font-size:.75rem;color:#aabdc2;margin-top:25px}.map-attribution a{text-decoration:underline;text-underline-offset:3px}.route-table{margin-top:28px;border-top:1px solid var(--line)}.town-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 30px;margin-top:20px}.town-grid a{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:.875rem;padding:12px 0;border-bottom:1px solid var(--line)}.town-grid strong{font-weight:400;white-space:nowrap;color:var(--accent)}.region-navigation{display:flex;flex-wrap:wrap;gap:15px 28px;margin-top:30px}.region-navigation a{font-size:1rem}.travel-region svg:focus{outline:1px solid var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}address a,footer a,.mobile-nav a{min-height:24px}#main-content:focus{outline:none}
@media(min-width:1600px){.travel-map{grid-template-columns:minmax(0,1fr) 360px}.route-panel{padding:40px}}
@media(max-width:1100px){header{gap:20px}.desktop-nav{gap:17px}.travel-map{grid-template-columns:minmax(0,1fr) 270px}.route-panel{padding:20px}.route-distance strong{font-size:76px}.map-topline{font-size:.6875rem}.town-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.desktop-nav{display:none}.mobile-nav{display:block;margin:0;padding:0;border:0}.mobile-nav summary{font-size:.875rem;padding:10px 0;white-space:nowrap}.mobile-nav summary:after{display:none}.mobile-nav summary span{margin-left:5px}.mobile-nav nav{display:flex;position:absolute;left:0;right:0;top:100%;margin:0;padding:20px 6%;background:#192125;border-bottom:1px solid var(--line);flex-direction:column;gap:0}.mobile-nav nav a{padding:12px 0;font-size:1rem}.hero-title{letter-spacing:-3px}.travel-map{grid-template-columns:1fr}.route-panel{border-left:0;border-top:1px solid #3a4b52;display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.route-panel label,.route-panel select{grid-column:1 / -1}.route-panel select{margin-bottom:5px}.route-panel .eyebrow{grid-column:1;margin:10px 0 0}.route-destination{grid-column:1;margin:0;min-height:0}.route-distance{grid-column:2;grid-row:3 / 5;justify-self:end}.route-distance strong{font-size:70px}.route-panel #route-state{margin:5px 0}.route-status{grid-column:1 / -1;min-height:0;margin:5px 0}.route-panel .button{grid-column:1 / -1}.route-panel>.small{grid-column:1 / -1;margin-bottom:0}.process ol{gap:25px}.footer-bottom{gap:18px}.hero{max-height:none}.use-cases{grid-template-columns:1fr}.use-cases h3{margin:15px 0}.hero-category{font-size:.8125rem;letter-spacing:.1em}}
@media(max-width:600px){.process ol{grid-template-columns:1fr;gap:25px}.process p{margin-bottom:0}.hero-title{font-size:clamp(45px,12.8vw,66px);letter-spacing:-2px}.hero{height:auto;min-height:810px}.hero-content{padding-bottom:160px}.hero-foot{font-size:.75rem;letter-spacing:0;gap:20px}.hero-foot>a{max-width:135px;text-align:right}.image-credit{font-size:.6875rem}.hero-category{font-size:.8125rem}.nav-cta{display:none}.mobile-nav{margin-left:auto}.brand{font-size:24px}.footer-main nav{width:100%}.footer-bottom nav{gap:15px}.travel-region{padding-left:5%;padding-right:5%}.map-topline{padding:15px;font-size:.6875rem}.map-topline>span:last-child{display:none}.route-map{min-height:280px}.map-legend{padding:12px}.town-grid{grid-template-columns:1fr}.map-attribution{font-size:.75rem}.region-navigation{display:grid;gap:15px}.region-distances li{align-items:flex-start;flex-direction:column;gap:4px}.regional-hero h1{font-size:clamp(34px,8.6vw,50px);letter-spacing:-1.6px}.regional-intro{font-size:18px}.legal-page h1{font-size:38px}.breadcrumbs{font-size:.875rem;gap:8px}.contact-details a{font-size:20px}.form-row{gap:0}.footer-main{gap:25px}.map-marker text{font-size:17px}.map-marker .near-label{display:none}.route-panel{padding:22px}.route-distance strong{font-size:66px}.route-destination{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.live-route-map{grid-template-columns:minmax(0,1fr) 355px}.live-route-map .route-panel{padding:28px;display:block}.live-route-map .map-canvas{justify-content:space-between}.live-route-map .map-topline{font-size:12px;line-height:1.6}.live-route-map .route-map{flex:1;min-height:390px}.live-route-map .map-land{fill:#1c2e33;stroke:#567078;stroke-width:1.2}.live-route-map .route-panel label{font-size:16px}.place-search-controls{display:flex;margin-top:9px;gap:8px}.place-search-controls input{min-width:0;width:100%;margin:0;background:#111d22;font-size:16px;padding:13px 12px;border:1px solid #69838b;border-radius:2px}.place-search-controls button{flex-shrink:0;border:0;border-radius:2px;background:var(--accent);color:#101416;font-size:14px;font-weight:600;padding:12px;cursor:pointer}.place-search-controls button:hover{background:#ff825f}.place-search-controls button span{margin-left:2px}#place-help{font-size:13px;color:#b9c9cb;line-height:1.55;margin:10px 0 0}.search-feedback{font-size:14px;line-height:1.5;color:#dde7e8;margin:15px 0;min-height:0}.search-feedback:empty{display:none}.place-results{margin:20px 0;border-top:1px solid #69838b}.place-results>p{font-size:15px;margin:15px 0 7px}.place-results button{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid #435c64;padding:14px 8px;background:transparent;color:var(--text);cursor:pointer}.place-results button:hover,.place-results button:focus-visible{background:#30444c}.place-results strong{display:block;font-size:16px;font-weight:500}.place-results span{display:block;font-size:13px;line-height:1.5;color:#b9c9cb;margin-top:4px}.route-journey{margin:27px 0 20px}.route-journey>div{display:flex;gap:12px;position:relative;padding:0 0 25px}.route-journey>div:first-child:before{position:absolute;content:'';width:1px;background:#647e84;left:11px;top:27px;height:calc(100% - 32px)}.route-journey>div:last-child{padding-bottom:0}.journey-pin,.legend-pin{border:1px solid #c6d8db;color:#eaf2f3;background:#23383f;border-radius:50%;width:23px;height:23px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:12px;font-weight:600;line-height:1}.journey-pin.target,.legend-pin.target{background:var(--accent);border-color:var(--accent);color:#101416}.route-journey p{margin:0;display:grid;gap:5px;line-height:1.4}.route-journey small{font-size:12px;letter-spacing:.13em;color:#c3d2d4}.route-journey strong{font-size:20px;font-weight:500;overflow-wrap:anywhere;line-height:1.3}.route-journey p>span{font-size:13px!important;margin:0!important;color:#b7cacc!important;line-height:1.5}.live-route-map .route-distance{margin-top:25px}.live-route-map .route-distance strong{font-size:70px;letter-spacing:-3px}.live-route-map .route-distance>span{font-size:27px}.route-measure{font-size:13px;color:#b7cacc;margin:8px 0 15px}.live-route-map .route-status{margin:0 0 18px;min-height:0;font-size:14px}.route-status.outside{color:#ffc698}.route-provider-note{font-size:12px;line-height:1.55;color:#bbcccf;margin:20px 0 0}.route-provider-note a{text-decoration:underline}.route-empty{font-size:15px;color:#bbcdd0;line-height:1.6;margin-top:30px}.route-underlay{fill:none;stroke:#ff673e;stroke-width:11;opacity:.13;vector-effect:non-scaling-stroke}.selected-road{fill:none;stroke:#ff8058;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.route-progress{fill:none;stroke:#ffe3c2;stroke-width:2;stroke-dasharray:2 35;stroke-linecap:round;vector-effect:non-scaling-stroke;animation:route-drive 4s linear infinite}.pin-halo{fill:#d0e7eb17;stroke:#c0d9df44;stroke-width:1}.pin-disc{fill:#d6e7ea;stroke:#10191f;stroke-width:2}.pin-letter{fill:#112027;font-size:14px;font-weight:700}.destination .pin-disc{fill:var(--accent)}.destination .pin-halo{fill:#ff673e22;stroke:#ff673e66}.pin-label{fill:#e9f2f2;font-size:21px;paint-order:stroke;stroke:#13252d;stroke-width:8px;stroke-linejoin:round;font-weight:500}.destination .pin-label{fill:#ffaf8c}.route-pending .route-underlay,.route-pending .selected-road,.route-pending .route-progress,.route-pending .route-pin{visibility:hidden}.live-route-map .map-legend{font-size:13px;align-items:center}.legend-pin{margin-right:5px;font-size:11px;width:21px;height:21px}.live-route-map .map-legend>span:last-child{font-size:12px}.map-note{font-size:14px}.travel-region .section-head h2{font-size:clamp(34px,4.5vw,66px)}[hidden]{display:none!important}@keyframes route-drive{to{stroke-dashoffset:-148}}
@media(min-width:1600px){.live-route-map{grid-template-columns:minmax(0,1fr) 390px}.live-route-map .route-panel{padding:32px}}
@media(max-width:1100px){.live-route-map{grid-template-columns:minmax(0,1fr) 325px}.live-route-map .route-panel{padding:22px}.live-route-map .map-topline>span:last-child{display:none}}
@media(max-width:850px){.live-route-map{display:flex;flex-direction:column}.live-route-map .route-panel{display:block;order:0;border:0;border-bottom:1px solid #3a4b52}.live-route-map .map-canvas{order:1}.route-journey{display:grid;grid-template-columns:1fr 1fr;gap:20px}.route-journey>div:first-child:before{display:none}.route-journey>div{padding:0}.live-route-map .route-distance strong{font-size:62px}.live-route-map .route-map{min-height:0;flex:auto}.route-provider-note{max-width:600px}.live-route-map .map-topline{padding:18px 22px}.live-route-map .map-legend{padding:18px 22px}}
@media(max-width:480px){.route-journey{display:block}.route-journey>div{padding-bottom:22px}.route-journey>div:first-child:before{display:block}.live-route-map .route-panel{padding:22px 18px}.place-search-controls{gap:7px}.place-search-controls input{font-size:16px;padding:12px 9px}.place-search-controls button{padding:10px;font-size:14px}.place-search-controls button span{display:none}.live-route-map .route-map{min-height:260px}.pin-label{font-size:24px}.travel-region .section-head h2{font-size:36px}.live-route-map .map-topline{font-size:12px}.live-route-map .map-legend{gap:12px;font-size:12px}.live-route-map .map-legend>span{display:flex;align-items:center}}
@media(prefers-reduced-motion:reduce){.route-progress{animation:none}}
@media(max-width:850px){.live-route-map{display:grid;grid-template-columns:1fr}.live-route-map .route-panel{display:contents}.live-route-map #place-search{order:0;padding:22px 22px 12px}.live-route-map .search-feedback{order:1;padding:0 22px 16px;margin:0}.live-route-map .place-results{order:2;padding:0 22px 18px;margin:0}.live-route-map .route-empty{order:3;padding:0 22px 18px;margin:0}.live-route-map .map-canvas{order:4;border-top:1px solid #3a4b52;border-bottom:1px solid #3a4b52}.live-route-map #route-result{order:5;padding:0 22px 22px}.live-route-map .route-provider-note{order:6;margin:0;padding:0 22px 22px}.live-route-map .pin-label{font-size:27px}.live-route-map .pin-disc{r:20}.live-route-map .pin-letter{font-size:22px}}

/* Shared refinements for the existing ENNS AERIAL design. */
.hero .hero-shade {
  background: linear-gradient(90deg, rgba(6,15,18,.86), rgba(6,15,18,.79) 65%, rgba(6,15,18,.18)), linear-gradient(0deg, rgba(6,15,18,.8), transparent 45%);
}
.hero .hero-title {
  max-width: 1100px;
  font-size: clamp(2.7rem, 6.5vw, 6.5rem);
  letter-spacing: -.045em;
  line-height: 1.06;
  overflow-wrap: break-word;
}
.hero .hero-bottom > p { max-width: 42rem; line-height: 1.65; }
.eyebrow, .service-no, .card-title small, .film-link small { font-size: .875rem; }
input, select, textarea { font-size: 1rem; }
button, .button, .download-briefing { min-height: 44px; }
.image-credit, .map-topline, .photo-label { font-size: .75rem; }
.route-provider-note a, .map-note a { text-underline-offset: .2em; }
.environment-banner { display: flex; gap: 16px; align-items: center; padding: 12px 6%; background: #412b18; color: #fff1d6; font-size: .875rem; border-bottom: 1px solid #93623b; }
.environment-banner strong { letter-spacing: .12em; }
.catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.catalog-card { padding: 28px; background: #19252a; border: 1px solid #415158; display: flex; flex-direction: column; min-width: 0; }
.catalog-card h3 { font-size: clamp(1.4rem, 2vw, 1.9rem); margin: 0 0 20px; }
.catalog-description { white-space: pre-line; color: #c5cdce; overflow-wrap: anywhere; }
.catalog-card .text-link { margin-top: auto; padding-top: 20px; }
.catalog-price { font-size: clamp(1.35rem, 2.5vw, 1.75rem); color: var(--accent); margin: 20px 0 8px; }
.catalog-card h3, .catalog-price, .catalog-tax, .catalog-validity, .selected-price, .addon-fields span, .contact-details span { overflow-wrap: anywhere; }
.catalog-tax, .catalog-validity { font-size: .875rem; line-height: 1.6; color: #c5cdce; }
.catalog-validity { margin-top: 24px; }
.catalog-unavailable { max-width: 50rem; padding: 24px; border-left: 3px solid var(--accent); background: #19252a; }
.catalog-unavailable a { color: var(--accent); text-decoration: underline; }
.test2-note { padding: 18px; border: 1px solid #94653d; color: #fff1d6; font-size: .875rem; }
.inquiry-section { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.inquiry-section .contact-panel { min-width: 0; }
.inquiry-section fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.inquiry-section legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.inquiry-section .addon-fields legend { position: static; width: auto; height: auto; clip-path: none; font-size: 1rem; margin-bottom: 10px; }
.inquiry-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.inquiry-field { min-width: 0; margin-bottom: 22px; }
.inquiry-field label { font-size: 1rem; line-height: 1.5; margin: 0 0 8px; }
.inquiry-field input, .inquiry-field select, .inquiry-field textarea { margin: 0; width: 100%; max-width: 100%; border: 1px solid #60717a; border-radius: 3px; font: inherit; color: #f1f4f5; background: #121c21; padding: 13px; }
.inquiry-field textarea { resize: vertical; min-height: 140px; }
.inquiry-field input::placeholder, .inquiry-field textarea::placeholder { color: #a5b3ba; opacity: 1; }
.inquiry-field input[type="date"] { color-scheme: dark; min-height: 49px; }
.field-error { display: block; color: #ffb4a3; font-size: .875rem; line-height: 1.5; margin-top: 5px; }
.field-error:empty { display: none; }
[aria-invalid="true"] { border-color: #ff967e !important; }
.field-help { color: #bdc9cc; font-size: .875rem; margin-top: -10px; }
.selected-price { display: grid; gap: 8px; border-left: 3px solid var(--accent); padding: 14px 18px; margin: 0 0 22px; background: #172329; font-size: .875rem; }
.selected-price strong { font-size: 1rem; }
.addon-fields { margin: 0 0 24px !important; }
.addon-fields label { display: flex; align-items: start; gap: 12px; padding: 12px 0; font-size: .875rem; line-height: 1.6; }
.addon-fields input { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 2px; accent-color: var(--accent); }
.error-summary { padding: 20px; margin: 20px 0; border: 2px solid #ff967e; background: #341d1b; }
.error-summary a { color: #ffe2da; text-decoration: underline; }
.error-summary ul { padding-left: 20px; }
.inquiry-status { font-size: 1rem; overflow-wrap: anywhere; padding-top: 15px; }
.inquiry-status:empty { display: none; }
.inquiry-section button:disabled, .inquiry-section fieldset:disabled { opacity: .65; cursor: wait; }
.spam-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
[hidden] { display: none !important; }
@media (max-width: 1000px) {
  .catalog-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .inquiry-section { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .hero .hero-shade { background: linear-gradient(180deg, rgba(6,15,18,.78) 0%, rgba(6,15,18,.78) 55%, rgba(6,15,18,.45) 78%, rgba(6,15,18,.82)); }
  .hero { min-height: 720px; }
  .hero-content { padding-bottom: 150px; }
  .hero .hero-title { font-size: clamp(2.35rem, 9.4vw, 3.75rem); }
  .hero .hero-bottom { gap: 24px; }
  .hero-foot { align-items: end; }
  .hero-foot > span:first-child { max-width: 50%; }
  .map-topline { font-size: .75rem; }
  .environment-banner { align-items: start; gap: 10px; }
  .catalog-grid, .inquiry-row { grid-template-columns: 1fr; }
  .inquiry-row { gap: 0; }
  .catalog-card { padding: 22px; }
  .inquiry-section .contact-panel { padding: 24px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
}

.calculator { background:#14252a; }
.calculator .section-head { align-items:end; gap:32px; }
.calculator .section-head > p { max-width:30rem; color:#c5d0d1; line-height:1.7; }
.calculator-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:48px; align-items:start; }
.calculator-controls,.calculator-step { border:0; padding:0; margin:0; min-width:0; }
.calculator-step { margin-bottom:32px; }
.calculator-step > label:first-child,.calculator-step > legend { display:flex; align-items:center; gap:12px; font-size:1.15rem; font-weight:600; margin:0 0 16px; }
.calculator-number { color:#ff926f; font-size:.875rem; font-family:monospace; letter-spacing:.06em; }
.calculator-step > p { color:#b6c5c8; font-size:.875rem; line-height:1.65; margin:14px 0 0; }
.calculator-step select { width:100%; padding:15px; color:#f3f5f4; border:1px solid #62777d; background:#101c21; font:inherit; }
.calculator-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.calculator label.calculator-choice { display:flex; align-items:flex-start; gap:12px; padding:18px; margin:0; background:#101c21; border:1px solid #52666d; border-radius:4px; cursor:pointer; font-weight:400; font-size:1rem; }
.calculator-choice:has(input:checked) { border-color:#ff926f; box-shadow:inset 0 0 0 1px #ff926f; background:#213139; }
.calculator-choice input { accent-color:#ff926f; flex:0 0 20px; width:20px; height:20px; margin:2px 0 0; }
.calculator-choice span { display:grid; gap:9px; min-width:0; }
.calculator-choice strong { font-size:1rem; line-height:1.4; color:#f6f7f5; }
.calculator-choice small { font-size:.875rem; line-height:1.6; color:#c1cdd0; }
.calculator-choice em { color:#ffad8f; font-size:.875rem; font-style:normal; line-height:1.5; }
.calculator-express b { color:#ffad8f; white-space:nowrap; }
.calculator-receipt { position:sticky; top:100px; border-top:5px solid #ff8057; background:#0e191e; padding:30px; min-width:0; }
.calculator-receipt h3 { font-size:1.6rem; line-height:1.25; margin:12px 0 28px; }
.calculator-receipt dl { margin:0; }
.calculator-receipt dl > div { padding:15px 0; border-bottom:1px solid #34464e; }
.calculator-receipt dt { color:#abbec3; font-size:.875rem; margin-bottom:7px; }
.calculator-receipt dd { margin:0; line-height:1.6; font-size:1rem; overflow-wrap:anywhere; }
.calculator-total-label { color:#c4cfd2; font-size:.875rem; margin:26px 0 9px; }
.calculator-total { font-size:clamp(1.6rem,2.8vw,2.4rem); font-weight:600; color:#ff9673; line-height:1.2; margin:0 0 24px; }
.calculator-caveat,.calculator-footnote { color:#b7c5cb; font-size:.875rem; line-height:1.65; }
.calculator .button { margin:16px 0 0; width:100%; justify-content:space-between; white-space:normal; }
.calculator-footnote { margin-top:16px; }
.calculator-controls:disabled { opacity:.65; }
.calculator [aria-disabled="true"] { opacity:.65; cursor:default; }
.calculator :is(input,select,a):focus-visible { outline:3px solid #ffe3ba; outline-offset:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:1100px) { header { gap:15px; } header .desktop-nav { display:none; } header .mobile-nav { display:block; } header .nav-cta { margin-left:auto; } }
@media(max-width:1000px) { .calculator-layout { gap:24px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .calculator-options { grid-template-columns:1fr; } .calculator-receipt { padding:24px; } }
@media(max-width:700px) { .calculator-layout { grid-template-columns:1fr; } .calculator-receipt { position:static; } .calculator .section-head { align-items:start; } .calculator .section-head h2 { font-size:clamp(2rem,8.5vw,3.5rem); } .calculator-controls { margin-bottom:0; } }
