/* Shared visual layer for the seven homepage editions. No changes to service claims. */
:root{--paper:#f3f6f8;--white:#fff;--line:#dce3e9;--muted:#526477}
body{background:#f3f6f8;color:#162433;-webkit-font-smoothing:antialiased}
html{scroll-padding-top:140px}
*,*::before,*::after{box-sizing:border-box}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c18012;outline-offset:5px}
h1,h2{letter-spacing:-.045em;line-height:1.08;text-wrap:balance}
h1 em,h2 em{font-family:inherit;font-style:normal;font-weight:inherit}
.site-header{position:sticky;top:0;height:auto;min-height:80px;grid-template-columns:auto 1fr auto;gap:24px;padding:18px 4vw;background:#0b1f33;border-bottom:1px solid #314253;backdrop-filter:none}
.site-header .brand{font-size:19px;letter-spacing:-.7px}
.site-header>nav,.site-header .sw-primary-nav{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.site-header nav a,.site-header .sw-nav-link{font-size:14px;font-weight:600;letter-spacing:0;padding:5px 0}
.header-tools{gap:14px}.header-cta{border-radius:8px;font-size:14px;min-height:46px;padding:12px 18px;white-space:nowrap}
.language-menu summary{font-size:14px;padding:10px 4px}.language-menu div{z-index:60}
.hero{padding:28px 3vw 36px;min-height:660px;grid-template-columns:46% 54%;gap:0;background:#0b1f33}
.hero-copy{padding:38px 4vw 30px 1vw;min-width:0}
.hero h1{font-size:clamp(44px,4.9vw,76px);line-height:1.07;letter-spacing:-.045em}
.eyebrow{font-size:12px;letter-spacing:.09em;line-height:1.6;margin-bottom:24px;max-width:460px}.eyebrow span{display:none}
.hero-lead{font-size:18px;line-height:1.7;color:#c8d5e0;max-width:520px;margin-top:26px}
.hero-actions{gap:12px;margin-top:30px}.button{border-radius:8px;font-size:15px;min-height:52px;padding:14px 20px;line-height:1.4;gap:12px}
.button-ghost{border-color:#607387}.hero-proof{margin-top:36px;padding-top:24px;gap:24px;flex-wrap:wrap}.hero-proof strong{font-size:26px}.hero-proof span{font-size:12px;line-height:1.5;letter-spacing:0;color:#bdcbd6}
.hero-visual{min-height:570px;border-radius:18px;isolation:isolate}.hero-visual>img{object-position:center;height:100%;width:100%}.hero-visual .image-shade{background:linear-gradient(0deg,rgba(7,23,38,.45),transparent 50%)}
.location-float{bottom:22px;right:22px;background:#fff;color:#0b1f33;border-radius:12px;box-shadow:0 14px 44px #00122130;min-width:220px;padding:22px}.location-float strong{font-size:25px}.location-float small,.location-float span{font-size:12px;letter-spacing:.03em}.live-badge{font-size:12px;border-radius:6px;letter-spacing:.06em}.live-badge i{display:none}.scroll-cue{display:none}
.section{padding:88px max(5vw,24px)}.section-label{font-size:12px;letter-spacing:.12em;margin-bottom:30px;line-height:1.6}
.intro{background:#fff}.intro h2,.locations h2,.chain-copy h2,.gallery-text h2,.partner-card h2,.contact-copy h2{font-size:clamp(32px,3.7vw,54px);line-height:1.12}
.intro h2 em,.locations h2 em{color:#845709}.intro-grid,.locations-head{grid-template-columns:1.1fr .9fr;gap:9%}.intro-text{padding-left:26px}.intro-text span{font-size:13px;line-height:1.6;letter-spacing:.04em}
.service-grid{gap:16px;border:0;margin-top:44px;grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{background:#f3f6f8;border:1px solid #dce3e9;border-radius:14px;min-height:280px;padding:26px;display:flex;flex-direction:column}.service-card:hover{background:#fff;box-shadow:0 14px 30px #0b1f330a;transform:translateY(-3px)}.service-card h3{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:30px 0 16px}.service-card p{font-size:16px;line-height:1.65;margin-bottom:24px}.service-top{font-size:13px}.service-tag{position:static;margin-top:auto;font-size:12px;line-height:1.5;letter-spacing:.02em;color:#79500c}
.full-chain{margin:24px;border-radius:18px;overflow:hidden;grid-template-columns:48% 52%}.chain-photo{min-height:600px}.chain-copy{padding:60px 5vw}.chain-copy li b{font-size:17px}.chain-copy li small{font-size:15px;line-height:1.6;color:#b8c8d5}.photo-caption{font-size:12px}
.location-grid{gap:16px;margin-top:36px}.route{display:none}.location-card,.location-card:last-child{border:1px solid #dce3e9;border-radius:12px;background:white;min-height:245px;padding:24px;display:flex;flex-direction:column}.location-card.featured{background:#0b1f33;border-color:#0b1f33}.location-card h3{margin-top:35px;font-size:27px}.location-card strong{font-family:inherit;font-size:16px;color:#80580c}.location-card.featured strong{color:#efb350}.location-index{font-size:12px}.main-tag{font-size:11px;border-radius:4px}.location-card p{font-size:13px;line-height:1.5;letter-spacing:0;color:#536477}.location-card.featured p{color:#bdcbd6}.location-more{position:static;margin-top:auto;padding-top:24px;font-size:13px;letter-spacing:0}
.gallery-band{margin:24px;border-radius:18px;overflow:hidden;min-height:520px}.gallery-text{padding:48px 4vw}.gallery-text>p{font-size:16px}.gallery-text li{font-size:15px;line-height:1.6}.gallery-image{height:80%}
.partner-card{border-radius:18px;background:#eaf0f5;border:1px solid #dce3e9;padding:52px 5%;gap:8%}.partner-card h2 em{color:#80580c}.partner-points span{border-color:#acbac6;border-radius:5px;font-size:12px;letter-spacing:0}.partner-info>p{font-size:17px}
.contact-section{padding:76px 5vw;gap:7%}.contact-copy>p{font-size:17px}.direct-contact{grid-template-columns:1fr;gap:20px}.direct-contact span{font-size:12px}.direct-contact b{font-size:17px;overflow-wrap:anywhere}.contact-form{border-radius:16px;padding:32px;box-shadow:0 20px 60px #00102020}.contact-form label{font-size:14px;letter-spacing:0;text-transform:none;font-weight:600}.contact-form input,.contact-form textarea{font-size:16px;background:#f7f9fb;border:1px solid #b9c7d2;border-radius:7px;min-width:0}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #ae751a;outline-offset:2px}.contact-form button{border-radius:8px;font-size:16px}.contact-form>small{font-size:13px;line-height:1.6;color:#526477}
.sw-knowledge{background:#fff;padding:72px 5vw}.sw-knowledge-grid{gap:20px}.sw-knowledge-grid>a{border-radius:14px;background:#f3f6f8;border-color:#dce3e9;transition:transform .2s,box-shadow .2s;min-height:180px;padding:28px}.sw-knowledge-grid>a:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0b1f330c}.sw-faq{padding-top:0}.sw-faq article{max-width:none;display:grid;grid-template-columns:1fr 1.4fr;gap:44px;padding:26px 0}.sw-faq h3{margin:8px 0;font-size:19px}.sw-faq p{color:#42566a;line-height:1.8}
footer{padding:36px 5vw;gap:24px}footer p,footer>div{font-size:14px}.cookie-banner{border-radius:12px}.cookie-banner p,.cookie-link,.cookie-accept{font-size:13px}.cookie-reopen{font-size:12px}
.sw-mobile-menu{display:none;position:relative;color:white}.sw-mobile-menu summary{font-size:14px;cursor:pointer;padding:10px;border:1px solid #607387;border-radius:6px;list-style:none}.sw-mobile-menu summary::after{content:' +';color:#efb350}.sw-mobile-menu[open] summary::after{content:' −'}.sw-mobile-menu>div{position:absolute;top:calc(100% + 14px);right:0;width:min(310px,90vw);max-height:70vh;overflow:auto;background:#0b1f33;border:1px solid #607387;border-radius:12px;padding:12px;box-shadow:0 20px 50px #00102040}.sw-mobile-menu a{display:block;padding:12px;font-size:16px;color:white;border-radius:6px}.sw-mobile-menu a:hover{background:#20394e}
@media(min-width:1051px) and (max-width:1600px){.site-header{grid-template-columns:1fr auto;gap:14px;padding:14px 4vw}.site-header>nav,.site-header .sw-primary-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start;gap:26px;border-top:1px solid #314253;padding-top:8px}.header-tools{grid-column:2;grid-row:1}}
@media(max-width:1050px){.site-header{grid-template-columns:1fr auto;min-height:76px;padding:12px 20px;gap:10px}.site-header>nav,.site-header .sw-primary-nav{display:none!important}.sw-mobile-menu{display:block}.hero{grid-template-columns:1fr 1fr;padding:24px;min-height:0}.hero-copy{padding:28px 24px 28px 0}.hero-visual{min-height:500px}.hero h1{font-size:clamp(38px,5.5vw,58px)}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-band{grid-template-columns:1fr 1fr}.gallery-image:last-child{display:none}}
@media(max-width:760px){html{scroll-padding-top:135px}.site-header{grid-template-columns:1fr auto;padding:12px 16px}.site-header .brand{font-size:15px}.header-tools{gap:8px;flex-wrap:wrap;justify-content:flex-end}.header-cta{display:none}.language-menu{display:block}.language-menu summary{font-size:13px}.hero{display:flex;padding:20px 20px 28px;gap:28px}.hero-copy{order:1;min-height:0;padding:12px 0}.hero-visual{order:2;min-height:360px;width:100%}.hero h1{font-size:clamp(40px,9vw,60px)}.hero-lead{font-size:17px;margin-top:20px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-proof{gap:20px;justify-content:space-between}.hero-proof span{font-size:12px}.hero-proof div{flex-direction:column;align-items:flex-start}.location-float{bottom:16px;right:16px;padding:16px;min-width:190px}.section{padding:56px 20px}.intro-grid,.locations-head{grid-template-columns:1fr;gap:24px}.intro-text{margin:0;padding:20px 0 0}.intro h2,.locations h2,.chain-copy h2,.gallery-text h2,.partner-card h2,.contact-copy h2{font-size:36px}.service-grid{grid-template-columns:1fr;margin-top:30px}.service-card{min-height:250px}.full-chain,.gallery-band{margin:14px;border-radius:14px;grid-template-columns:1fr}.chain-photo{min-height:320px}.chain-copy,.gallery-text{padding:40px 24px}.partner-card{padding:32px 24px;gap:28px;grid-template-columns:1fr}.contact-section{padding:56px 20px;grid-template-columns:1fr;gap:30px}.contact-form{padding:24px 20px}.sw-knowledge{padding:56px 20px}.sw-faq{padding-top:0}.sw-faq article{grid-template-columns:1fr;gap:4px}.sw-knowledge-grid{grid-template-columns:1fr}.location-grid{gap:12px}.location-card,.location-card:last-child{padding:20px;min-width:0}.main-tag{position:static;width:max-content;max-width:100%;margin-top:12px}.gallery-image.tall{height:340px}footer{grid-template-columns:1fr;padding:36px 20px}.cookie-banner{max-width:calc(100% - 20px)}}
@media(max-width:430px){.location-grid{grid-template-columns:1fr}.site-header .brand{font-size:13px}.brand small{font-size:10px}.sw-mobile-menu summary{font-size:13px;padding:8px}.live-badge{font-size:11px}.hero-proof{gap:12px}.hero-proof strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
