:root{
  --ink:#061921;
  --ink-2:#08242e;
  --paper:#f5f3ee;
  --white:#fff;
  --muted:#a7b1b4;
  --line:rgba(255,255,255,.14);
  --line-dark:rgba(7,25,33,.12);
  --accent:#e9c79d;
  --accent-2:#f4dcc0;
  --shadow:0 24px 70px rgba(2,16,22,.18);
  --radius:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,system-ui,sans-serif;background:var(--ink);color:#0d2028;-webkit-font-smoothing:antialiased}
button,a,input,textarea{font:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
button{cursor:pointer}
.page-shell{overflow:hidden;background:var(--paper)}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.container-wide{width:min(1320px,calc(100% - 48px));margin-inline:auto}
.section-dark{background:var(--ink);color:var(--white)}
.eyebrow{font-size:11px;letter-spacing:.34em;font-weight:700;color:var(--accent);margin-bottom:20px}
.dark-eyebrow{color:#77828a}
.muted-accent{color:#c7a67e}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Arial,Helvetica,system-ui,sans-serif}
h2{font-size:clamp(32px,4.1vw,62px);line-height:.98;letter-spacing:-.045em;margin-bottom:24px}
p{line-height:1.62}
.btn{appearance:none;border:0;border-radius:var(--radius);padding:15px 23px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:13px;font-weight:700;transition:.25s ease;white-space:nowrap}
.btn span{transition:transform .25s ease}
.btn:hover span{transform:translateX(4px)}
.btn-accent{background:var(--accent);color:#0a1b22}
.btn-accent:hover{background:#f3d8b7;transform:translateY(-2px)}
.btn-light{background:#f4efe8;color:#081a22;padding:13px 19px}
.btn-light:hover{background:#fff}
.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.42)}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.header{position:absolute;z-index:20;top:0;left:50%;transform:translateX(-50%);width:min(1320px,calc(100% - 48px));height:82px;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid rgba(255,255,255,.09)}
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;line-height:.88;letter-spacing:-.04em}
.brand-mark{width:2px;height:34px;background:var(--accent);display:block}
.brand-text{font-size:15px}
.desktop-nav{display:flex;gap:28px;margin-left:70px}
.desktop-nav a{font-size:12px;color:rgba(255,255,255,.82);transition:.2s}
.desktop-nav a:hover{color:#fff}
.header-actions{display:flex;align-items:center;gap:22px}
.lang-switch{display:flex;align-items:center;gap:6px;font-size:10px;color:rgba(255,255,255,.52)}
.lang-switch button{border:0;background:none;color:inherit;padding:0}
.lang-switch .active{color:#fff}
.menu-btn{display:none;width:42px;height:42px;background:transparent;border:1px solid rgba(255,255,255,.2);padding:0;position:relative}
.menu-btn span{position:absolute;left:10px;right:10px;height:1px;background:#fff;top:16px}.menu-btn span+span{top:24px}
.mobile-nav{position:absolute;top:75px;left:0;right:0;background:#071a23;border:1px solid rgba(255,255,255,.12);padding:22px;display:grid;gap:18px;box-shadow:var(--shadow)}
.mobile-nav[hidden]{display:none}
.mobile-nav a{font-size:16px}
.hero{position:relative;min-height:750px;display:flex;align-items:flex-end;background:#061921}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,21,29,.96) 0%,rgba(3,21,29,.76) 32%,rgba(3,21,29,.12) 66%,rgba(3,21,29,.36) 100%),url('./assets/hero-yacht.webp');background-size:cover;background-position:center}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 58%,rgba(2,18,25,.84))}
.hero-noise{position:absolute;inset:0;opacity:.07;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}
.hero-inner{position:relative;z-index:2;padding-top:160px;padding-bottom:155px;display:flex;justify-content:space-between;align-items:flex-end}
.hero-copy{width:min(580px,58%)}
.hero h1{font-size:clamp(58px,7.6vw,108px);line-height:.83;letter-spacing:-.065em;margin:0 0 30px;font-weight:800}
.hero h1 span{color:var(--accent)}
.hero-copy>p{font-size:17px;max-width:500px;color:rgba(255,255,255,.88);margin-bottom:32px}
.hero-buttons{display:flex;align-items:center;gap:24px}
.video-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:700}.play{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.52);font-size:11px;padding-left:2px}
.hero-script{font-family:"Segoe Script","Bradley Hand",cursive;font-size:38px;line-height:1.05;transform:rotate(-8deg);color:rgba(255,255,255,.72);margin:0 35px 70px 0;text-align:center}
.hero-facts{position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:3;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}
.hero-facts article{min-height:92px;padding:24px 25px;display:flex;align-items:center;gap:15px;border-right:1px solid var(--line)}
.hero-facts article:last-child{border:0}.fact-icon{font-size:25px;color:var(--accent)}.hero-facts strong{display:block;font-size:12px;margin-bottom:6px}.hero-facts small{display:block;font-size:10px;color:rgba(255,255,255,.56)}
.services{padding:86px 0 92px}.services-layout{display:grid;grid-template-columns:310px 1fr;gap:54px;align-items:start}.section-heading h2{font-size:44px}.section-heading p{color:rgba(255,255,255,.68);font-size:13px;margin-bottom:28px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{position:relative;height:348px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#0b2631}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(2,18,25,.94) 100%)}.service-card img{height:100%;object-fit:cover;transition:transform .55s ease}.service-card:hover img{transform:scale(1.045)}.service-overlay{position:absolute;z-index:2;left:18px;right:18px;bottom:17px;color:#fff}.service-overlay span{font-size:10px;color:var(--accent)}.service-overlay h3{font-size:16px;margin:5px 0 6px}.service-overlay p{font-size:10px;line-height:1.45;color:rgba(255,255,255,.58);margin:0 30px 0 0}.service-overlay i{position:absolute;right:0;bottom:0;font-style:normal}
.facility{display:grid;grid-template-columns:1.15fr .95fr .72fr;min-height:465px}.facility-image{min-height:465px}.facility-image img{height:100%;object-fit:cover}.facility-copy,.facility-points{padding:68px 48px;background:#06202a}.facility-copy{border-left:1px solid rgba(255,255,255,.08)}.facility-copy h2{font-size:42px}.facility-copy p{font-size:13px;color:rgba(255,255,255,.66);margin-bottom:29px}.facility-points{padding-left:36px;display:flex;flex-direction:column;justify-content:center;gap:28px}.facility-points>div{display:flex;gap:16px}.facility-points>div>span{color:var(--accent);font-size:24px;width:30px}.facility-points p{margin:0}.facility-points strong{font-size:12px;display:block;margin-bottom:4px}.facility-points small{font-size:10px;color:rgba(255,255,255,.55)}
.location{position:relative;min-height:370px;background:#05202a;color:#fff}.location-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(3,23,31,.97) 0%,rgba(3,23,31,.82) 33%,rgba(3,23,31,.12) 66%,rgba(3,23,31,.4) 100%),url('./assets/location.webp');background-size:cover;background-position:center}.location-inner{position:relative;z-index:2;padding:66px 0}.location h2{font-size:48px;max-width:530px}.location p{max-width:480px;color:rgba(255,255,255,.75);font-size:13px}.location-stats{position:absolute;right:0;bottom:55px;display:flex;gap:0}.location-stats div{padding:0 28px;border-left:1px solid rgba(255,255,255,.35)}.location-stats strong,.location-stats span{display:block}.location-stats strong{font-size:13px}.location-stats span{font-size:9px;color:rgba(255,255,255,.62);margin-top:6px}
.gallery-section{padding:54px 0 36px;background:#f4f3ef}.gallery-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.gallery-head h2{font-size:34px;margin:0;color:#10222a}.text-btn{background:none;border:0;color:#172b34;font-size:12px;font-weight:700}.gallery-track{display:grid;grid-template-columns:1.04fr .98fr 1.05fr 1.06fr .95fr;gap:7px}.gallery-item{padding:0;border:0;background:#ddd;overflow:hidden;height:155px}.gallery-item img{height:100%;object-fit:cover;transition:.4s}.gallery-item:hover img{transform:scale(1.05)}
.testimonial{background:#f4f3ef;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}.testimonial-inner{min-height:132px;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:25px}.avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(145deg,#c2c8c9,#7c8b92);color:#fff;display:grid;place-items:center;font-weight:800;border:4px solid #fff;box-shadow:0 5px 20px rgba(0,0,0,.08)}blockquote{font-size:16px;line-height:1.48;margin:0 0 8px;color:#24333a}.quote-meta{display:flex;gap:13px;align-items:center;font-size:10px}.quote-meta span{color:#8b9599}.quote-controls{display:flex;align-items:center;gap:13px;font-size:9px;color:#818c91}.quote-controls button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-dark);background:#fff;color:#516069}
.cta{position:relative;min-height:280px;color:#fff;background:#061921}.cta-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(4,24,32,.97) 0%,rgba(4,24,32,.86) 38%,rgba(4,24,32,.28) 70%,rgba(4,24,32,.55)),url('./assets/cta-yacht.webp');background-size:cover;background-position:center 58%}.cta-inner{position:relative;z-index:2;min-height:280px;display:flex;align-items:center;justify-content:space-between;gap:45px}.cta-copy{max-width:520px}.cta-copy h2{font-size:39px}.cta-copy p{font-size:12px;color:rgba(255,255,255,.7);max-width:450px}.cta-buttons{display:flex;gap:12px;margin-top:25px}.cta-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;min-width:510px}.cta-benefits div{display:grid;grid-template-columns:26px 1fr;column-gap:10px;align-items:start}.cta-benefits div>span{font-size:23px;color:var(--accent);grid-row:1/3}.cta-benefits strong{font-size:11px}.cta-benefits small{font-size:9px;color:rgba(255,255,255,.57);margin-top:5px}
.footer{padding:36px 0 20px}.footer-grid{display:grid;grid-template-columns:1.25fr 2fr .6fr 1.2fr;gap:30px;align-items:center}.footer-brand{display:flex;align-items:center;gap:25px}.footer-brand p{font-size:10px;color:rgba(255,255,255,.55);margin:0}.footer nav{display:flex;justify-content:center;gap:24px}.footer nav a{font-size:10px;color:rgba(255,255,255,.72)}.footer-social{display:flex;gap:11px}.footer-social a{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-size:11px}.footer-contact{display:grid;gap:5px;text-align:right;font-size:10px;color:rgba(255,255,255,.68)}.footer-bottom{border-top:1px solid rgba(255,255,255,.11);margin-top:27px;padding-top:18px;display:flex;justify-content:space-between;color:rgba(255,255,255,.37);font-size:9px}
.lead-dialog{width:min(760px,calc(100% - 28px));border:0;padding:0;background:#f3f0ea;color:#10232b;box-shadow:0 30px 90px rgba(0,0,0,.42)}.lead-dialog::backdrop{background:rgba(2,14,19,.78);backdrop-filter:blur(6px)}.lead-dialog[open]{display:grid;grid-template-columns:.9fr 1.1fr}.dialog-close{position:absolute;right:15px;top:14px;z-index:4;border:0;background:transparent;font-size:28px;color:#263941}.dialog-copy{padding:48px 40px;background:#e9e5dc}.dialog-copy h2{font-size:35px}.dialog-copy p{font-size:12px;color:#627077}.lead-dialog form{padding:48px 40px;display:grid;gap:14px;background:#fff}.lead-dialog label{display:grid;gap:7px;font-size:10px;font-weight:700;color:#45545b}.lead-dialog input,.lead-dialog textarea{width:100%;border:1px solid #d9dcdd;background:#fff;padding:12px 13px;outline:0}.lead-dialog input:focus,.lead-dialog textarea:focus{border-color:#102f3b}.lead-dialog small{font-size:8px;color:#8b9498;line-height:1.4}.lightbox{position:fixed;inset:0;background:rgba(3,17,23,.92);z-index:80;display:grid;place-items:center;padding:40px}.lightbox[hidden]{display:none}.lightbox img{max-width:min(1200px,94vw);max-height:88vh;width:auto;height:auto;box-shadow:0 30px 80px rgba(0,0,0,.45)}.lightbox button{position:absolute;right:25px;top:18px;border:0;background:none;color:#fff;font-size:34px}.toast{position:fixed;right:22px;bottom:22px;z-index:100;background:#fff;color:#10232b;padding:15px 20px;box-shadow:var(--shadow);transform:translateY(120px);opacity:0;transition:.35s}.toast.show{transform:none;opacity:1}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.desktop-nav{gap:18px;margin-left:25px}.header-actions .btn-light{display:none}.hero{min-height:690px}.hero-facts article{padding:19px 14px}.services-layout{grid-template-columns:1fr}.section-heading{max-width:620px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{height:370px}.facility{grid-template-columns:1fr 1fr}.facility-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);padding:35px 48px}.location-stats{position:static;margin-top:38px}.cta-inner{align-items:flex-start;flex-direction:column;padding:55px 0}.cta-benefits{min-width:0;width:100%}.footer-grid{grid-template-columns:1fr 1fr}.footer nav{justify-content:flex-end}.footer-social{justify-content:flex-start}.footer-contact{text-align:right}}
@media(max-width:760px){.container,.container-wide,.header{width:min(100% - 30px,1180px)}.header{height:70px}.desktop-nav,.lang-switch{display:none}.menu-btn{display:block}.brand-text{font-size:13px}.hero{min-height:760px;align-items:stretch}.hero-bg{background-position:66% center}.hero-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,20,27,.52),rgba(3,20,27,.38) 30%,rgba(3,20,27,.93) 78%)}.hero-inner{padding-top:132px;padding-bottom:270px;align-items:flex-start}.hero-copy{width:100%;max-width:480px}.hero h1{font-size:58px}.hero-copy>p{font-size:14px;max-width:360px}.hero-script{display:none}.hero-buttons{gap:13px;flex-wrap:wrap}.hero-facts{grid-template-columns:repeat(2,1fr);bottom:0}.hero-facts article{min-height:82px;border-bottom:1px solid var(--line)}.hero-facts article:nth-child(2){border-right:0}.services{padding:62px 0}.service-grid{grid-template-columns:1fr 1fr}.service-card{height:315px}.facility{grid-template-columns:1fr}.facility-image{min-height:310px}.facility-copy,.facility-points{padding:42px 25px}.facility-points{grid-column:auto;grid-template-columns:1fr 1fr}.location{min-height:515px}.location-bg{background-position:62% center}.location-inner{padding-top:58px}.location h2{font-size:39px}.location-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:42px}.location-stats div{padding:0 18px}.gallery-track{grid-template-columns:1fr 1fr;gap:8px}.gallery-item{height:175px}.gallery-item:last-child{grid-column:1/-1}.testimonial-inner{grid-template-columns:56px 1fr;padding:25px 0}.quote-controls{grid-column:2}.cta{min-height:520px}.cta-bg{background-position:65% center}.cta-inner{min-height:520px;padding:55px 0}.cta-benefits{grid-template-columns:1fr;gap:18px}.footer-grid{grid-template-columns:1fr}.footer nav{justify-content:flex-start;flex-wrap:wrap}.footer-contact{text-align:left}.footer-bottom{gap:20px}.lead-dialog[open]{display:block}.dialog-copy,.lead-dialog form{padding:36px 24px}.dialog-copy{padding-bottom:20px}}
@media(max-width:520px){.hero h1{font-size:49px}.hero-facts strong{font-size:10px}.hero-facts small{font-size:8px}.service-grid{grid-template-columns:1fr}.service-card{height:390px}.facility-points{grid-template-columns:1fr}.location-stats{grid-template-columns:1fr}.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.gallery-item{min-width:78%;scroll-snap-align:start}.gallery-item:last-child{grid-column:auto}.cta-copy h2{font-size:34px}.cta-buttons{align-items:stretch;flex-direction:column}.footer-brand{align-items:flex-start;flex-direction:column;gap:10px}}

/* Desktop proportions and icon system aligned with the supplied reference. */
.container{width:min(1520px,calc(100% - 48px))}
.container-wide,.header{width:min(1520px,calc(100% - 48px))}
.header{width:min(1520px,calc(100% - 48px))}
.container-wide{width:min(1520px,calc(100% - 48px))}
/* Hero intentionally shares the wider header grid; ordinary sections use .container. */
.hero-inner.container{width:min(1520px,calc(100% - 48px))}
body,button,a,input,textarea{font-family:"Onest",Arial,Helvetica,sans-serif}
h1,h2,h3{font-family:"Onest",Arial,Helvetica,sans-serif}
.hero-script{font-family:"Caveat","Segoe Script",cursive}
blockquote{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.fact-icon,.facility-points>div>span,.cta-benefits div>span{display:grid;place-items:center;color:var(--accent)}
.fact-icon svg,.facility-points>div>span svg,.cta-benefits div>span svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.facility-points>div>span{color:#fff}
.facility-points>div>span svg{width:28px;height:28px;stroke-width:1.75}
.btn{padding:13px 21px;gap:16px;font-size:13px;letter-spacing:-.01em}
.btn-light{padding:12px 19px}
.header{height:72px}
.brand{gap:13px}
.brand-mark{height:40px}
.brand-text{font-size:19px}
.desktop-nav{gap:25px;margin-left:50px}
.desktop-nav a{font-size:15px}
.header-actions{gap:18px}
.hero{min-height:720px}
.hero-inner{padding-top:106px;padding-bottom:150px}
.hero-copy{width:min(620px,56%)}
.hero h1{font-size:clamp(46px,5.45vw,82px);line-height:.86;margin-bottom:22px}
.hero h1.hero-storage-title{font-size:clamp(46px,5vw,80px);line-height:.9;letter-spacing:-.06em}
.hero-copy>p{font-size:16px;max-width:470px;margin-bottom:27px}
.hero-script{font-size:39px;margin-right:24px;margin-bottom:55px}
.hero-facts article{min-height:78px;padding:17px 22px;gap:13px}
.hero-facts strong{font-size:13px;margin-bottom:5px}.hero-facts small{font-size:11px}
.services{padding:60px 0 64px}
.services-layout{grid-template-columns:255px minmax(0,1fr);gap:38px}
.eyebrow{font-size:11px;margin-bottom:15px}
h2{font-size:clamp(32px,3.4vw,52px);line-height:1;margin-bottom:19px}
.section-heading h2{font-size:39px}
.section-heading p{font-size:14px;margin-bottom:24px}
.service-grid{gap:10px}.service-card{height:300px}.service-overlay{left:15px;right:15px;bottom:14px}.service-overlay h3{font-size:16px;margin:5px 0}.service-overlay p{font-size:11px}.service-overlay span{font-size:11px}
.facility{min-height:400px;grid-template-columns:1.12fr .92fr .72fr}.facility-image{min-height:400px}.facility-copy,.facility-points{padding:52px 40px}.facility-copy h2{font-size:36px}.facility-copy p{font-size:14px;margin-bottom:24px}.facility-points{padding-left:32px;gap:22px}.facility-points>div{gap:13px}.facility-points strong{font-size:12px}.facility-points small{font-size:11px}
.location{min-height:440px}.location-inner{padding:72px 0}.location h2{font-size:40px}.location p{font-size:14px;max-width:450px;margin-bottom:24px}.location-stats{bottom:70px}.location-stats div{padding:0 24px}.location-stats strong{font-size:13px}.location-stats span{font-size:10px;margin-top:5px}
.gallery-section{padding:48px 0 42px}.gallery-head{margin-bottom:20px}.gallery-head h2{font-size:31px}.gallery-item{height:210px}
.testimonial-inner{min-height:205px;padding:34px 0;grid-template-columns:86px minmax(0,1fr) auto;gap:28px}.avatar{width:72px;height:72px;font-size:16px}blockquote{font-size:28px;line-height:1.18;margin-bottom:12px}.quote-meta{font-size:14px}.quote-controls{gap:16px}.quote-controls button{width:40px;height:40px;font-size:16px;transition:.2s ease}.quote-controls button:hover{background:#10232b;color:#fff;border-color:#10232b}
.cta{min-height:360px}.cta-inner{min-height:360px;padding:48px 0}.cta-copy{max-width:490px}.cta-copy h2{font-size:35px;margin-bottom:15px}.cta-copy p{font-size:14px}.cta-buttons{margin-top:24px}.cta-benefits{min-width:500px;gap:24px}.cta-benefits strong{font-size:12px}.cta-benefits small{font-size:10px}
.footer{padding:31px 0 18px}.footer-grid{gap:26px}.footer nav a,.footer-contact{font-size:12px}.footer-brand p,.footer-bottom{font-size:11px}.footer-bottom{margin-top:23px;padding-top:15px}

/* Readability scale: 16px body copy, 20px card titles, 46px section headings. */
body{font-size:16px}
.lang-switch{font-size:12px}
.btn{font-size:14px}
.video-link{font-size:15px}
.eyebrow{font-size:12px}
.hero-copy>p{font-size:20px;line-height:1.55;max-width:570px}
.hero-facts strong{font-size:15px}.hero-facts small{font-size:13px}
h2{font-size:clamp(36px,3.5vw,54px)}
.services-layout{grid-template-columns:420px minmax(0,1fr);gap:42px}
.section-heading h2{font-size:clamp(28px,3vw,40px)}.section-heading p{font-size:16px;line-height:1.58}
.service-overlay span{font-size:13px}.service-overlay h3{font-size:20px}.service-overlay p{font-size:16px;line-height:1.45}
.facility-copy p{font-size:16px}.facility-points strong{font-size:14px}.facility-points small{font-size:13px}
.location h2{font-size:44px}.location p{font-size:16px;line-height:1.55}.location-stats strong{font-size:15px}.location-stats span{font-size:13px}
.gallery-head h2{font-size:34px}.text-btn{font-size:14px}
.quote-meta{font-size:13px}.quote-controls{font-size:12px}
.cta-copy h2{font-size:40px}.cta-copy p{font-size:16px;line-height:1.55}.cta-benefits strong{font-size:14px}.cta-benefits small{font-size:12px}
.footer nav a,.footer-contact{font-size:14px}.footer-brand p,.footer-bottom{font-size:13px}.footer-social a{font-size:13px}
.dialog-copy p{font-size:16px}.lead-dialog label{font-size:14px}.lead-dialog small{font-size:12px}
@media (min-width:901px) and (max-width:1100px){.desktop-nav{gap:15px;margin-left:22px}.desktop-nav a{font-size:13px}.lang-switch{display:none}.header-actions .btn-light{display:inline-flex}.services-layout{grid-template-columns:280px minmax(0,1fr);gap:26px}.section-heading h2{font-size:30px}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.service-card{height:220px}.service-overlay{left:12px;right:12px;bottom:12px}.service-overlay p{display:none}.facility{grid-template-columns:1.12fr .92fr .72fr;min-height:400px}.facility-image{min-height:400px}.facility-points{grid-column:auto;display:flex;grid-template-columns:none;padding:52px 30px}}
@media(max-width:900px){.container,.container-wide,.header,.hero-inner.container{width:min(100% - 40px,1380px)}.hero{min-height:760px}.hero-inner{padding-bottom:160px}.services-layout{grid-template-columns:1fr}.section-heading{max-width:580px}.section-heading h2{font-size:42px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{height:315px}.facility{grid-template-columns:1fr 1fr}.facility-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);padding:30px 38px}.location-stats{position:static;margin-top:32px}}
@media(max-width:760px){.container,.container-wide,.header,.hero-inner.container{width:min(100% - 30px,1380px)}.hero{min-height:720px}.hero-inner{padding-top:122px;padding-bottom:245px}.hero h1{font-size:55px}.hero-copy>p{font-size:13px}.btn{font-size:11px}.services{padding:55px 0}.service-card{height:300px}.facility{grid-template-columns:1fr}.facility-image{min-height:290px}.facility-copy,.facility-points{padding:38px 25px}.facility-points{grid-column:auto;grid-template-columns:1fr 1fr}.location{min-height:490px}.location-inner{padding-top:50px}.location h2{font-size:34px}.gallery-item{height:160px}.cta{min-height:490px}.cta-inner{min-height:490px;padding:50px 0}.cta-benefits{grid-template-columns:1fr;gap:16px}}
@media(max-width:760px){.hero-copy>p{font-size:16px}.btn{font-size:14px}.hero-facts strong{font-size:13px}.hero-facts small{font-size:12px}.section-heading h2{font-size:32px}.section-heading p{font-size:16px}.service-overlay h3{font-size:19px}.service-overlay p{font-size:15px}.facility-copy p,.location p,.cta-copy p{font-size:16px}.facility-points strong,.cta-benefits strong{font-size:14px}.facility-points small,.cta-benefits small{font-size:12px}.footer nav a,.footer-contact{font-size:14px}.footer-brand p,.footer-bottom{font-size:12px}}
@media(max-width:520px){.hero-facts strong{font-size:13px}.hero-facts small{font-size:11px}.section-heading h2{font-size:30px}.service-overlay h3{font-size:20px}.service-overlay p{font-size:15px}}
@media(max-width:760px){.testimonial-inner{min-height:180px;padding:30px 0;grid-template-columns:58px minmax(0,1fr);gap:16px}.avatar{width:52px;height:52px;font-size:13px}blockquote{font-size:22px}.quote-meta{font-size:12px}.quote-controls{grid-column:2;justify-self:start}.quote-controls button{width:36px;height:36px}}
@media(max-width:760px){.brand{gap:10px}.brand-mark{height:34px}.brand-text{font-size:16px}}

/* Services: balanced editorial column and an even card row. */
.services{padding:78px 0 84px}.services-layout{grid-template-columns:420px minmax(0,1fr);gap:52px;align-items:stretch}.services-layout>.section-heading{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:12px 0}.section-heading h2{font-size:38px;line-height:1.03;margin-bottom:22px}.section-heading p{max-width:390px;margin-bottom:32px}.service-grid{gap:12px}.service-card{height:350px}.service-overlay{left:18px;right:18px;bottom:18px}.service-overlay h3{font-size:20px;margin:7px 0}.service-overlay p{font-size:15px;line-height:1.46}.service-overlay i{font-size:20px}
@media (min-width:901px) and (max-width:1100px){.services-layout{grid-template-columns:280px minmax(0,1fr);gap:26px}.section-heading h2{font-size:30px}.service-card{height:270px}.service-overlay p{font-size:13px}}
@media (min-width:901px) and (max-width:1320px){.services-layout{grid-template-columns:360px minmax(0,1fr);gap:40px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-card{height:250px}.section-heading h2{font-size:32px}.service-overlay p{font-size:14px;line-height:1.42}}
@media(max-width:900px){.services{padding:68px 0 74px}.services-layout>.section-heading{display:block;padding:0}.section-heading h2{font-size:42px}.section-heading p{max-width:580px}.service-card{height:350px}}
@media(max-width:760px){.services{padding:58px 0 64px}.section-heading h2{font-size:32px}.section-heading p{margin-bottom:28px}.service-card{height:340px}.service-overlay{left:16px;right:16px;bottom:16px}.service-overlay h3{font-size:20px}.service-overlay p{font-size:15px}}

/* Location: a readable advantage panel over the landscape image. */
.location{min-height:530px}
.location-bg{background-image:linear-gradient(90deg,rgba(3,23,31,.96) 0%,rgba(3,23,31,.88) 31%,rgba(3,23,31,.28) 58%,rgba(3,23,31,.48) 100%),url('./assets/location.webp')}
.location-inner{min-height:530px;padding:68px 0;display:grid;grid-template-columns:minmax(540px,560px) minmax(530px,640px);justify-content:space-between;align-items:center;gap:64px}
.location-copy h2{font-size:44px;line-height:1.02;margin-bottom:22px}.location-copy p{max-width:460px;margin-bottom:30px;color:rgba(255,255,255,.84)}
.location-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-self:end}
.location-benefits article{min-height:132px;padding:22px 20px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:13px;align-content:center;background:rgba(4,25,34,.72);border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 28px rgba(0,0,0,.14);backdrop-filter:blur(7px)}
.location-benefits article>span{width:30px;height:30px;color:var(--accent)}.location-benefits svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.location-benefits strong,.location-benefits small{display:block}.location-benefits strong{font-size:14px;line-height:1.28;letter-spacing:.03em}.location-benefits small{margin-top:8px;font-size:13px;line-height:1.42;color:rgba(255,255,255,.76)}
@media (min-width:1150px) and (max-width:1320px){.location{min-height:550px}.location-inner{min-height:550px;grid-template-columns:minmax(540px,560px) minmax(500px,560px);gap:40px}.location-copy h2{font-size:38px}.location-benefits article{min-height:124px;padding:18px}.location-benefits strong{font-size:13px}.location-benefits small{font-size:12px}}
@media (min-width:901px) and (max-width:1149px){.location{min-height:unset}.location-inner{min-height:unset;padding:68px 0;grid-template-columns:1fr;gap:38px}.location-copy{max-width:600px}.location-benefits{width:min(680px,100%);align-self:auto}}
@media(max-width:900px){.location{min-height:unset}.location-inner{min-height:unset;padding:72px 0;grid-template-columns:1fr;align-items:start;gap:42px}.location-benefits{width:min(680px,100%);align-self:auto}.location-copy h2{font-size:42px}}
@media(max-width:760px){.location-inner{padding:58px 0 64px;gap:36px}.location-copy h2{font-size:34px}.location-benefits{grid-template-columns:1fr;gap:10px}.location-benefits article{min-height:104px;padding:18px}.location-benefits small{font-size:14px}}

/* Contact: a full-size request form instead of undersized benefit captions. */
.cta{min-height:510px}.cta-bg{background-image:linear-gradient(90deg,rgba(4,24,32,.97) 0%,rgba(4,24,32,.89) 38%,rgba(4,24,32,.62) 67%,rgba(4,24,32,.72) 100%),url('./assets/cta-yacht.webp')}
.cta-inner{min-height:510px;padding:58px 0;display:grid;grid-template-columns:minmax(360px,510px) minmax(440px,510px);justify-content:space-between;align-items:center;gap:72px}
.cta-copy{max-width:510px}.cta-copy h2{font-size:42px;line-height:1.03;margin-bottom:20px}.cta-copy p{max-width:470px;font-size:17px;line-height:1.52;color:rgba(255,255,255,.84)}
.cta-form{width:100%;padding:28px 30px 24px;background:rgba(4,25,34,.88);border:1px solid rgba(255,255,255,.24);border-left:3px solid var(--accent);box-shadow:0 20px 40px rgba(0,0,0,.22);backdrop-filter:blur(9px)}
.cta-form-head .eyebrow{margin-bottom:10px}.cta-form h3{margin:0 0 8px;font-size:23px;line-height:1.1;letter-spacing:.01em}.cta-form-head p{margin:0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.45}
.cta-form-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 16px}.cta-form label{display:grid;gap:7px;color:rgba(255,255,255,.88);font-size:13px;font-weight:600}.cta-form input{width:100%;height:43px;padding:0 12px;border:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.96);color:#13252d;font:inherit;font-size:14px;outline:0}.cta-form input::placeholder{color:#849096}.cta-form input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(231,190,135,.2)}
.cta-form .btn{width:100%;justify-content:space-between;padding:14px 17px;font-size:14px}.cta-form>small{display:block;margin-top:12px;color:rgba(255,255,255,.7);font-size:13px;line-height:1.35}
@media (min-width:901px) and (max-width:1320px){.cta{min-height:520px}.cta-inner{min-height:520px;grid-template-columns:minmax(330px,430px) minmax(400px,480px);gap:42px}.cta-copy h2{font-size:37px}.cta-form{padding:25px}.cta-form-fields{grid-template-columns:1fr 1fr}.cta-form-fields label:last-child{grid-column:1/-1}.cta-form h3{font-size:21px}}
@media(max-width:900px){.cta{min-height:unset}.cta-inner{min-height:unset;padding:70px 0;grid-template-columns:1fr;justify-content:start;gap:42px}.cta-copy{max-width:620px}.cta-form{max-width:680px}.cta-form-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.cta-inner{padding:58px 0 64px;gap:34px}.cta-copy h2{font-size:34px}.cta-copy p{font-size:16px}.cta-form{padding:23px 20px 20px}.cta-form-fields{grid-template-columns:1fr;margin:20px 0 15px}.cta-form h3{font-size:21px}.cta-form-head p,.cta-form>small{font-size:14px}}

/* A shared, restrained corner treatment below the hero. */
.service-card,.gallery-item,.location-benefits article,.cta-form,.lead-dialog,.calculator-dialog,.calculator-form input,.calculator-form select,.cta-form input{border-radius:var(--radius)}
.facility,.location,.testimonial,.cta,.footer{border-radius:var(--radius);overflow:hidden}
.facility-image img,.service-card img,.gallery-item img{border-radius:inherit}
.location-copy h2{font-size:38px}

/* Contact form as a quiet horizontal request strip; the right-side benefits remain visible. */
.cta{min-height:470px}.cta-bg{background-image:linear-gradient(90deg,rgba(4,24,32,.96) 0%,rgba(4,24,32,.84) 40%,rgba(4,24,32,.25) 71%,rgba(4,24,32,.48) 100%),url('./assets/cta-yacht.webp')}
.cta-inner{min-height:470px;padding:46px 0 36px;display:grid;grid-template-columns:minmax(370px,490px) minmax(600px,720px);grid-template-areas:"copy benefits" "form form";justify-content:space-between;align-items:center;gap:32px 68px}
.cta-copy{grid-area:copy}.cta-copy h2{font-size:40px}.cta-copy p{font-size:16px}
.cta-benefits{grid-area:benefits;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;min-width:0;width:100%}.cta-benefits div{display:grid;grid-template-columns:29px minmax(0,1fr);column-gap:11px;align-items:start}.cta-benefits div>span{display:grid;place-items:center;grid-row:1/3;color:var(--accent)}.cta-benefits div>span svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.cta-benefits strong{font-size:14px;line-height:1.3}.cta-benefits small{margin-top:6px;font-size:13px;line-height:1.42;color:rgba(255,255,255,.72)}
.cta-form{grid-area:form;width:100%;padding:15px 18px;background:rgba(4,25,34,.28);border:1px solid rgba(255,255,255,.25);border-left:2px solid var(--accent);box-shadow:none;backdrop-filter:blur(3px);display:grid;grid-template-columns:1.22fr repeat(3,minmax(0,.88fr)) 1.08fr;gap:12px;align-items:end}
.cta-form-head{display:grid;gap:5px;padding-bottom:1px}.cta-form-head strong{font-size:13px;letter-spacing:.19em;color:var(--accent)}.cta-form-head small{font-size:13px;line-height:1.35;color:rgba(255,255,255,.77)}
.cta-form label{gap:6px;font-size:12px}.cta-form input{height:40px;font-size:13px}.cta-form .btn{height:40px;width:100%;padding:0 15px;font-size:13px}.cta-form>small{display:none}
@media (min-width:901px) and (max-width:1320px){.cta{min-height:500px}.cta-inner{min-height:500px;grid-template-columns:minmax(340px,420px) minmax(540px,650px);gap:30px 42px}.cta-copy h2{font-size:36px}.cta-benefits{gap:16px}.cta-benefits strong{font-size:13px}.cta-benefits small{font-size:12px}.cta-form{grid-template-columns:1.05fr repeat(3,minmax(0,1fr)) 1.05fr;gap:9px;padding:14px}.cta-form-head small{font-size:12px}.cta-form input,.cta-form .btn{font-size:12px}}
@media(max-width:900px){.cta{min-height:unset}.cta-inner{min-height:unset;padding:64px 0;grid-template-columns:1fr;grid-template-areas:"copy" "benefits" "form";justify-content:start;gap:36px}.cta-copy{max-width:620px}.cta-benefits{max-width:760px}.cta-form{max-width:760px;grid-template-columns:1.15fr repeat(3,minmax(0,1fr)) 1.05fr}}
@media(max-width:760px){.cta-inner{padding:56px 0;gap:30px}.cta-copy h2{font-size:34px}.cta-benefits{grid-template-columns:1fr;gap:16px}.cta-form{grid-template-columns:1fr;padding:18px}.cta-form-head{padding-bottom:5px}.cta-form input,.cta-form .btn{height:44px;font-size:14px}.cta-form-head strong{font-size:12px}.cta-form-head small{font-size:14px}}

/* Gallery: an editorial composition rather than five equal thumbnails. */
.gallery-track{display:grid;grid-template-columns:1.08fr .8fr .8fr 1.12fr;grid-template-rows:154px 116px;gap:10px}
.gallery-item{height:auto;min-width:0}.gallery-item:nth-child(1){grid-column:1;grid-row:1/3}.gallery-item:nth-child(2){grid-column:2/4;grid-row:1}.gallery-item:nth-child(3){grid-column:2;grid-row:2}.gallery-item:nth-child(4){grid-column:3;grid-row:2}.gallery-item:nth-child(5){grid-column:4;grid-row:1/3}
.gallery-item:nth-child(1) img{object-position:50% center}.gallery-item:nth-child(2) img{object-position:50% 60%}.gallery-item:nth-child(3) img{object-position:50% center}.gallery-item:nth-child(4) img{object-position:50% center}.gallery-item:nth-child(5) img{object-position:55% center}
@media(max-width:900px){.gallery-track{grid-template-columns:1.15fr 1fr;grid-template-rows:210px 160px 160px;gap:9px}.gallery-item:nth-child(1){grid-column:1;grid-row:1/3}.gallery-item:nth-child(2){grid-column:2;grid-row:1}.gallery-item:nth-child(3){grid-column:2;grid-row:2}.gallery-item:nth-child(4){grid-column:1;grid-row:3}.gallery-item:nth-child(5){grid-column:2;grid-row:3}}
@media(max-width:520px){.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}.gallery-item,.gallery-item:nth-child(n){display:block;min-width:78%;height:225px;scroll-snap-align:start}}

/* Header language control: a clear three-way segmented switch. */
.lang-switch{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;width:108px;height:38px;padding:3px;gap:2px;border:1px solid rgba(255,255,255,.46);border-radius:999px;background:rgba(3,20,27,.46);box-shadow:0 6px 18px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.lang-switch>span{display:none}.lang-switch button{height:30px;border:0;border-radius:999px;padding:0;background:transparent;color:rgba(255,255,255,.76);font-size:12px;font-weight:700;letter-spacing:.02em;transition:background .2s ease,color .2s ease}.lang-switch button:hover{background:rgba(255,255,255,.14);color:#fff}.lang-switch button.active{background:var(--accent);color:#0a1b22}

/* Hero facts use visually centred groups in equally spaced columns. */
.hero-facts article{justify-content:center;padding-inline:18px}.hero-facts article>div{min-width:0}.hero-facts .fact-icon{flex:0 0 25px}

/* Location benefits: light glass cards aligned to the copy column. */
.location-benefits{align-self:center;gap:10px}.location-benefits-label{grid-column:1/-1;margin-bottom:2px;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.24em}
.location-benefits article{min-height:118px;padding:19px 20px;background:linear-gradient(135deg,rgba(255,255,255,.22),rgba(221,234,234,.1));border:1px solid rgba(255,255,255,.38);box-shadow:0 10px 24px rgba(0,0,0,.08);backdrop-filter:blur(4px)}
.location-benefits article>span{color:#f1d2a6}.location-benefits strong{font-size:14px}.location-benefits small{font-size:13px;color:rgba(255,255,255,.86)}
@media(max-width:900px){.location-benefits{align-self:auto}.location-benefits-label{font-size:11px}}

/* Keep the request strip clear of the section edge. */
.cta{min-height:530px}.cta-inner{min-height:530px;padding:46px 0 52px;grid-template-rows:minmax(0,1fr) auto}
@media(max-width:900px){.cta{min-height:unset}.cta-inner{min-height:unset;padding:64px 0;grid-template-rows:auto auto auto}}
@media(max-width:760px){.cta-inner{padding:56px 0}}

/* Storage cost calculator */
.video-link{border:0;background:transparent;color:#fff;padding:0}.play svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.calculator-dialog{width:min(980px,calc(100% - 32px));border:0;padding:0;background:#07212b;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.5)}.calculator-dialog::backdrop{background:rgba(2,14,19,.8);backdrop-filter:blur(6px)}.calculator-dialog[open]{display:grid;grid-template-columns:1.08fr .92fr}.calculator-close{position:absolute;right:18px;top:14px;z-index:4;border:0;background:transparent;color:#fff;font-size:30px;line-height:1}.calculator-copy{padding:52px;background:#082833}.calculator-copy h2{font-size:42px;margin-bottom:18px}.calculator-copy>p{font-size:16px;color:rgba(255,255,255,.72);max-width:490px;margin-bottom:28px}.calculator-form{display:grid;gap:18px}.calculator-form label{display:grid;gap:8px;font-size:13px;font-weight:700;color:rgba(255,255,255,.88)}.calculator-form input,.calculator-form select{width:100%;border:1px solid rgba(255,255,255,.22);border-radius:0;background:#0b303d;color:#fff;padding:14px 15px;font:inherit;outline:0}.calculator-form select{appearance:auto}.calculator-form input:focus,.calculator-form select:focus{border-color:var(--accent)}.calculator-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.range-label{margin-top:2px}.calculator-form input[type="range"]{padding:0;accent-color:var(--accent);cursor:pointer}.range-label output{justify-self:end;margin-top:-27px;color:var(--accent);font-weight:700}.range-scale{display:flex;justify-content:space-between;font-size:11px;font-weight:500;color:rgba(255,255,255,.5);margin-top:-3px}.calculator-result{padding:52px 42px;display:flex;flex-direction:column;background:linear-gradient(160deg,#103a46,#08212b)}.result-line{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:14px;color:rgba(255,255,255,.66)}.result-line strong{color:#fff;font-size:15px;text-align:right}.result-total{padding:32px 0 20px;display:grid;gap:6px}.result-total span{font-size:14px;color:rgba(255,255,255,.72)}.result-total strong{font-size:52px;line-height:1;letter-spacing:-.06em;color:var(--accent)}.result-total small{font-size:13px;color:rgba(255,255,255,.64)}.calculator-result>p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.56);margin-top:auto}.calculator-result .btn{margin-top:18px;width:100%}
@media(max-width:760px){.calculator-dialog[open]{display:block}.calculator-copy,.calculator-result{padding:40px 24px}.calculator-copy h2{font-size:34px}.calculator-result{min-height:330px}.calculator-fields{grid-template-columns:1fr}.result-total strong{font-size:44px}}

/* Modal rhythm: balanced panels, fixed field heights and a calm entrance. */
@keyframes modal-enter{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes modal-backdrop-enter{from{opacity:0}to{opacity:1}}
.calculator-dialog[open],.lead-dialog[open]{animation:modal-enter .32s cubic-bezier(.22,.8,.24,1) both;transform-origin:center}.calculator-dialog::backdrop,.lead-dialog::backdrop{animation:modal-backdrop-enter .3s ease both}
.calculator-dialog{width:min(1040px,calc(100% - 32px));min-height:600px}.calculator-dialog[open]{grid-template-columns:1fr 1fr}.calculator-copy,.calculator-result{padding:46px}.calculator-copy h2{font-size:38px;line-height:1.04;margin-bottom:16px}.calculator-copy>p{margin-bottom:24px}.calculator-form{gap:15px}.calculator-form input,.calculator-form select{height:48px;padding:0 15px}.calculator-form input[type="range"]{height:auto}.calculator-fields{gap:12px}
.calculator-result{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:14px}.result-line{min-height:57px;padding:0;align-items:center}.result-total{padding:12px 0 4px;gap:7px}.result-total strong,#calcArea,#calcRate{font-variant-numeric:tabular-nums}.calculator-result>p{align-self:end;margin:0;font-size:13px}.calculator-result .btn{margin:0;min-height:48px}
.lead-dialog{width:min(820px,calc(100% - 28px));min-height:520px;overflow:hidden}.lead-dialog[open]{grid-template-columns:1fr 1fr}.dialog-copy{padding:46px;display:flex;flex-direction:column;justify-content:center}.dialog-copy h2{font-size:38px;line-height:1.05;margin-bottom:18px}.dialog-copy p{margin:0;font-size:16px;line-height:1.55}.lead-dialog form{padding:46px;grid-template-rows:auto auto auto minmax(109px,1fr) 48px minmax(34px,auto);gap:12px;align-content:start}.lead-dialog label{gap:7px;line-height:1.2}.lead-dialog input{height:48px;padding:0 13px}.lead-dialog textarea{min-height:96px;height:100%;padding:12px 13px;resize:vertical}.lead-dialog form .btn{min-height:48px;padding:0 18px}.lead-dialog form small{display:block;min-height:34px;margin:0;font-size:12px;line-height:1.4}
@media(max-width:760px){.calculator-dialog{min-height:unset}.calculator-dialog[open]{display:block}.calculator-copy,.calculator-result{padding:36px 24px}.calculator-copy h2{font-size:34px}.lead-dialog{min-height:unset}.lead-dialog[open]{display:block}.dialog-copy,.lead-dialog form{padding:34px 24px}.dialog-copy h2{font-size:32px}.lead-dialog form{display:grid;grid-template-rows:auto;gap:13px}.lead-dialog textarea{height:104px;min-height:104px}}
@media(prefers-reduced-motion:reduce){.calculator-dialog[open],.lead-dialog[open],.calculator-dialog::backdrop,.lead-dialog::backdrop{animation:none}}

/* Contact: a connected benefit panel and a more spacious request strip. */
.cta{min-height:560px}.cta-inner{min-height:560px;padding:48px 0 50px;grid-template-rows:minmax(0,1fr) auto}
.cta-benefits{gap:0;background:rgba(4,24,32,.25);border:1px solid rgba(255,255,255,.22);border-left:2px solid var(--accent);border-radius:var(--radius);overflow:hidden;backdrop-filter:blur(3px)}
.cta-benefits div{min-height:94px;padding:18px 17px;border-right:1px solid rgba(255,255,255,.2);grid-template-columns:27px minmax(0,1fr);column-gap:10px;align-content:center}.cta-benefits div:last-child{border-right:0}.cta-benefits strong{font-size:14px}.cta-benefits small{font-size:13px;line-height:1.35}
.cta-form{min-height:126px;padding:22px 20px;align-items:center}.cta-form-head{gap:7px}.cta-form-head strong{font-size:13px}.cta-form-head small{font-size:13px;line-height:1.4}.cta-form label{gap:7px;font-size:12px}.cta-form input,.cta-form .btn{height:44px}.cta-form .btn{font-size:13px}
@media (min-width:901px) and (max-width:1320px){.cta{min-height:570px}.cta-inner{min-height:570px}.cta-benefits div{padding:16px 13px}.cta-benefits strong{font-size:13px}.cta-benefits small{font-size:12px}.cta-form{padding:20px 16px;gap:10px}}
@media(max-width:900px){.cta{min-height:unset}.cta-inner{min-height:unset;padding:64px 0;grid-template-rows:auto auto auto}.cta-benefits{border-right:0}.cta-benefits div{border-right:1px solid rgba(255,255,255,.2)}.cta-form{min-height:unset;padding:20px}}
@media(max-width:760px){.cta-inner{padding:56px 0}.cta-benefits div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);min-height:unset;padding:15px}.cta-benefits div:last-child{border-bottom:0}.cta-form{padding:22px 18px}.cta-form input,.cta-form .btn{height:46px}}

/* Header and footer contact system. */
.desktop-nav a{font-size:16px;font-weight:700;color:rgba(255,255,255,.92)}
.footer nav a{font-size:15px;font-weight:700;color:rgba(255,255,255,.86)}
.header-contact{position:relative}.contact-toggle{width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.46);border-radius:999px;background:rgba(3,20,27,.46);color:var(--accent);box-shadow:0 6px 18px rgba(0,0,0,.16);backdrop-filter:blur(8px);transition:.2s ease}.contact-toggle:hover,.contact-toggle[aria-expanded="true"]{border-color:var(--accent);background:var(--accent);color:#0a1b22}
.contact-toggle svg,.header-contact-menu svg,.footer-social svg,.footer-contact-item svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.header-contact-menu{position:absolute;z-index:35;top:calc(100% + 12px);right:0;width:286px;padding:8px;border:1px solid rgba(255,255,255,.2);border-top:2px solid var(--accent);border-radius:var(--radius);background:rgba(4,25,34,.96);box-shadow:0 22px 48px rgba(0,0,0,.28);backdrop-filter:blur(14px)}.header-contact-menu[hidden]{display:none}.header-contact-menu a{display:grid;grid-template-columns:30px 1fr;gap:11px;align-items:center;padding:12px;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);transition:background .2s ease}.header-contact-menu a:last-child{border-bottom:0}.header-contact-menu a:hover{background:rgba(255,255,255,.08)}.header-contact-menu>a>span{display:grid;place-items:center;color:var(--accent)}.header-contact-menu small,.header-contact-menu strong{display:block}.header-contact-menu small{margin-bottom:3px;color:rgba(255,255,255,.6);font-size:11px}.header-contact-menu strong{font-size:13px;line-height:1.25}
.footer-social{gap:9px}.footer-social a{display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.26);border-radius:50%;color:var(--accent);transition:.2s ease}.footer-social a:hover{border-color:var(--accent);background:var(--accent);color:#0a1b22}.footer-social svg{width:17px;height:17px}
.footer-contact{display:grid;gap:10px;text-align:left}.footer-contact-item{display:grid;grid-template-columns:24px 1fr;gap:9px;align-items:center;color:rgba(255,255,255,.9);transition:color .2s ease}.footer-contact-item:hover{color:var(--accent)}.footer-contact-item>span{display:grid;place-items:center;color:var(--accent)}.footer-contact-item svg{width:18px;height:18px}.footer-contact-item small,.footer-contact-item strong{display:block}.footer-contact-item small{margin-bottom:3px;color:rgba(255,255,255,.5);font-size:11px;line-height:1.1}.footer-contact-item strong{font-size:13px;font-weight:650;line-height:1.2}
@media (min-width:901px) and (max-width:1320px){.footer-grid{grid-template-columns:1.1fr 1.55fr .8fr 1.35fr;gap:18px}.footer nav{gap:17px}.footer nav a{font-size:13px}.footer-contact-item strong{font-size:12px}}

/* Contact advantages: three calm, independent glass pills. */
.cta-benefits{gap:12px;padding:0;border:0;background:transparent;overflow:visible;backdrop-filter:none}
.cta-benefits div,.cta-benefits div:last-child{min-height:112px;padding:18px 16px;border:1px solid rgba(255,255,255,.26);border-radius:18px;background:rgba(5,28,37,.42);box-shadow:0 12px 28px rgba(0,0,0,.1);backdrop-filter:blur(8px);grid-template-columns:26px minmax(0,1fr);column-gap:10px;align-content:center}
.cta-benefits div>span{align-self:center}.cta-benefits strong{font-size:14px;line-height:1.25}.cta-benefits small{margin-top:5px;font-size:13px;line-height:1.32;color:rgba(255,255,255,.78)}
@media(max-width:900px){.cta-benefits{gap:12px}.cta-benefits div{border:1px solid rgba(255,255,255,.26)}}
@media(max-width:760px){.cta-benefits{gap:10px}.cta-benefits div,.cta-benefits div:last-child{min-height:88px;padding:15px;border:1px solid rgba(255,255,255,.26)}}

/* Persistent navigation gains contrast once content moves beneath it. */
.header{position:fixed;transition:background .24s ease,box-shadow .24s ease,border-color .24s ease,backdrop-filter .24s ease}
.header.is-scrolled{border-color:rgba(255,255,255,.18);background:rgba(4,24,32,.9);box-shadow:0 10px 30px rgba(0,0,0,.2);backdrop-filter:blur(14px)}
.services,.facility,.location,.gallery-section,.cta{scroll-margin-top:92px}

/* Every service title uses the same two-line rhythm. */
.service-overlay h3{min-height:48px;line-height:1.18}

/* The form action aligns with the input row, not with field labels. */
.cta-form .btn{align-self:end}

/* Header contacts: a soft glass card over the water, without accent strips. */
.header-contact-menu{width:292px;padding:9px;border:1px solid rgba(255,255,255,.38);border-top:1px solid rgba(255,255,255,.5);border-radius:20px;background:linear-gradient(135deg,rgba(42,93,112,.68),rgba(6,36,48,.62));box-shadow:0 18px 42px rgba(0,18,27,.28),inset 0 1px 0 rgba(255,255,255,.22);backdrop-filter:blur(18px) saturate(135%);overflow:hidden}
.header-contact-menu a{grid-template-columns:32px 1fr;gap:12px;padding:12px 11px;border-bottom-color:rgba(255,255,255,.2);border-radius:12px}.header-contact-menu a:hover{background:rgba(255,255,255,.13)}
.header-contact-menu>a>span{width:30px;height:30px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.1);color:var(--accent)}
.header-contact-menu small{color:rgba(255,255,255,.72)}.header-contact-menu strong{color:#fff}

/* Darker glass keeps contact text legible over bright water. */
.header-contact-menu{background:linear-gradient(135deg,rgba(10,48,62,.9),rgba(3,24,34,.86));box-shadow:0 20px 46px rgba(0,13,21,.42),inset 0 1px 0 rgba(255,255,255,.2)}

/* Desktop form: the action begins exactly at the input row. */
.cta-form .btn{align-self:start;margin-top:30px}
@media (min-width:761px) and (max-width:900px){.cta-form .btn{margin-top:36px}}
@media(max-width:760px){.cta-form .btn{margin-top:0}}

/* Footer: deliberate hierarchy instead of a dispersed four-column strip. */
.footer{padding:48px 0 18px;background:#061b24}
.footer-grid{grid-template-columns:minmax(220px,.8fr) minmax(300px,1fr) minmax(500px,1.45fr);gap:64px;align-items:start}
.footer-brand{flex-direction:column;align-items:flex-start;gap:16px}.footer-brand p{max-width:190px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.62)}
.footer-links{display:grid;gap:15px;align-content:start}.footer-label{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.footer nav{display:grid;grid-template-columns:repeat(3,max-content);justify-content:start;gap:11px 24px}.footer nav a{font-size:14px;font-weight:650;color:rgba(255,255,255,.88)}
.footer-social{margin-top:2px;gap:8px}.footer-social a{width:34px;height:34px;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.035)}
.footer-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;text-align:left}.footer-contact::before{content:"Contacts";grid-column:1/-1;margin-bottom:2px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.footer-contact-item{min-height:66px;padding:12px 14px;grid-template-columns:25px minmax(0,1fr);gap:10px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.035)}.footer-contact-item:last-child{grid-column:1/-1}.footer-contact-item:hover{border-color:rgba(233,199,157,.55);background:rgba(255,255,255,.075)}.footer-contact-item strong{font-size:13px}.footer-contact-item small{font-size:10px}
.footer-bottom{margin-top:34px;padding-top:16px;font-size:11px}
@media (min-width:901px) and (max-width:1320px){.footer-grid{grid-template-columns:.8fr .9fr 1.35fr;gap:34px}.footer nav{gap:10px 16px}.footer nav a{font-size:13px}.footer-contact-item{padding:11px}.footer-contact-item strong{font-size:12px}}
@media (min-width:761px) and (max-width:900px){.footer-grid{grid-template-columns:1fr 1.35fr;gap:34px}.footer-contact{grid-column:1/-1;max-width:720px}.footer-brand{align-self:center}}
@media(max-width:760px){.footer{padding:38px 0 16px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-brand p{max-width:none}.footer nav{grid-template-columns:repeat(2,max-content);gap:12px 22px}.footer-contact{grid-template-columns:1fr}.footer-contact-item:last-child{grid-column:auto}.footer-bottom{margin-top:28px;align-items:flex-start;flex-direction:column;gap:8px}}

/* Four benefits complete the top contact composition on wide screens. */
@media(min-width:1321px){.cta-inner{grid-template-columns:minmax(370px,490px) repeat(4,minmax(0,1fr));grid-template-areas:"copy benefits benefits benefits benefits" "form form form form form";gap:32px 18px}.cta-benefits{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}}
@media (min-width:761px) and (max-width:1320px){.cta-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px}}

/* Testimonials: a composed editorial panel, not a generic white carousel. */
.testimonial{position:relative;border:0;background:linear-gradient(115deg,#082630 0%,#0b313d 54%,#071e27 100%);color:#fff}.testimonial::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(233,199,157,.1),transparent 32%);pointer-events:none}
.testimonial-inner{position:relative;min-height:230px;padding:46px 0;display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:38px;align-items:center}.review-head{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:4px 0}.review-head>span{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.18em;line-height:1.35}.avatar{width:62px;height:62px;border:1px solid rgba(233,199,157,.62);border-radius:13px;background:rgba(255,255,255,.055);color:var(--accent);font-size:15px;font-weight:700;box-shadow:none}
.quote-wrap{max-width:920px}.quote-wrap blockquote{position:relative;margin:0 0 19px;padding-left:35px;color:#fff;font-size:clamp(25px,2.1vw,34px);font-weight:600;line-height:1.14}.quote-wrap blockquote::before{content:"“";position:absolute;left:0;top:-10px;color:var(--accent);font-family:"Cormorant Garamond",Georgia,serif;font-size:62px;font-weight:500;line-height:1}.quote-meta{gap:13px;font-size:13px}.quote-meta strong{color:var(--accent)}.quote-meta span{color:rgba(255,255,255,.58)}
.quote-controls{align-self:center;gap:11px;padding-left:28px;border-left:1px solid rgba(255,255,255,.17);color:rgba(255,255,255,.55);font-size:12px;font-variant-numeric:tabular-nums}.quote-controls button{width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.045);color:var(--accent);font-size:17px;transition:.2s ease}.quote-controls button:hover{border-color:var(--accent);background:var(--accent);color:#0a1c24}
@media(max-width:900px){.testimonial-inner{grid-template-columns:120px minmax(0,1fr);gap:26px}.quote-controls{grid-column:2;justify-self:start;align-self:start;padding-left:0;border-left:0}.quote-wrap blockquote{font-size:28px}}
@media(max-width:760px){.testimonial-inner{min-height:unset;padding:40px 0;grid-template-columns:1fr;gap:22px}.review-head{display:flex;flex-direction:row;align-items:center;padding:0}.review-head>span{max-width:150px}.avatar{width:54px;height:54px}.quote-wrap blockquote{padding-left:27px;font-size:25px}.quote-wrap blockquote::before{font-size:52px}.quote-controls{grid-column:auto}.quote-meta{flex-wrap:wrap}}

/* Sticky header: full-bleed surface with an independent content grid. */
.header{isolation:isolate;background:transparent;box-shadow:none}.header::before{content:"";position:fixed;z-index:-1;top:0;left:50%;width:100vw;height:72px;transform:translateX(-50%);border-bottom:1px solid transparent;background:rgba(4,24,32,0);box-shadow:0 10px 30px rgba(0,0,0,0);backdrop-filter:blur(0);opacity:0;transition:opacity .24s ease,background .24s ease,box-shadow .24s ease,backdrop-filter .24s ease}.header.is-scrolled{border-color:transparent;background:transparent;box-shadow:none;backdrop-filter:none}.header.is-scrolled::before{opacity:1;border-bottom-color:rgba(255,255,255,.16);background:rgba(4,24,32,.94);box-shadow:0 10px 30px rgba(0,0,0,.2);backdrop-filter:blur(16px) saturate(125%)}
.contact-toggle{width:44px;height:38px;border-radius:19px;border-color:rgba(255,255,255,.34);background:rgba(4,24,32,.5);box-shadow:none}.contact-toggle svg{width:20px;height:20px;stroke-width:1.65}.contact-toggle:hover,.contact-toggle[aria-expanded="true"]{border-color:var(--accent);background:rgba(233,199,157,.18);color:var(--accent)}
@media(max-width:760px){.header::before{height:70px}}

/* Footer composition: brand and navigation read as one group. */
.footer-grid{grid-template-columns:minmax(520px,.9fr) minmax(620px,1.1fr);gap:56px;align-items:start}.footer-primary{display:grid;grid-template-columns:220px minmax(0,1fr);gap:54px;align-items:start}.footer-primary .footer-brand{gap:15px}.footer-primary .footer-links{padding-top:2px}.footer-contact{align-self:start}.footer-bottom{margin-top:30px}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr;gap:32px}.footer-primary{grid-template-columns:220px minmax(0,1fr);max-width:700px}.footer-contact{max-width:760px}}
@media(max-width:760px){.footer-primary{grid-template-columns:1fr;gap:26px}.footer-bottom{margin-top:26px}}

/* Footer reference layout: brand, navigation and three contact cards. */
.footer{padding:40px 0 18px;background:linear-gradient(115deg,#061b24,#082932)}
.footer-grid{grid-template-columns:225px minmax(380px,1fr) minmax(600px,1.55fr);gap:66px;align-items:start}.footer-brand{gap:15px}.footer-brand p{max-width:185px;font-size:13px}.footer-links{gap:15px;padding-top:3px}.footer nav{display:flex;flex-wrap:wrap;gap:12px 31px}.footer nav a{font-size:14px}.footer-social{margin-top:6px}.footer-social a{width:40px;height:40px;border-color:rgba(255,255,255,.28);background:transparent}.footer-social svg{width:19px;height:19px}
.footer-contact{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.footer-contact::before{margin-bottom:2px}.footer-contact-item,.footer-contact-item:last-child{grid-column:auto;min-height:74px;padding:14px 16px;border-color:rgba(255,255,255,.25);border-radius:13px;background:rgba(4,24,32,.18)}.footer-contact-item strong{font-size:14px}.footer-contact-item small{font-size:11px}
.footer-bottom{margin-top:34px;padding-top:17px}.lang-switch{gap:0;padding:3px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.045);font-size:11px}.lang-switch span{display:none}.lang-switch button{width:34px;height:27px;padding:0;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.6);font-weight:650}.lang-switch button.active{background:rgba(233,199,157,.18);color:var(--accent)}.footer-lang{margin-left:auto}
@media (min-width:901px) and (max-width:1320px){.footer-grid{grid-template-columns:190px minmax(250px,.8fr) minmax(470px,1.35fr);gap:34px}.footer nav{gap:10px 18px}.footer-contact-item,.footer-contact-item:last-child{padding:12px}.footer-contact-item strong{font-size:12px}}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr;gap:30px}.footer-contact{max-width:760px;grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{align-items:flex-start}.footer-links{padding-top:0}}
@media(max-width:760px){.footer{padding:38px 0 16px}.footer-contact{grid-template-columns:1fr}.footer-contact-item,.footer-contact-item:last-child{min-height:66px}.footer-bottom{flex-direction:row;align-items:center}.footer-lang{margin-left:auto}}

/* Softer glass edges for the location benefits. */
.location-benefits article{border-radius:18px;overflow:hidden}

/* Floating quick-contact access. */
.quick-contact{position:fixed;z-index:70;right:26px;bottom:26px}.quick-contact-toggle{width:56px;height:56px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:linear-gradient(145deg,#e9c79d,#d8ae78);box-shadow:0 13px 30px rgba(0,0,0,.28);color:#09202a;transition:transform .2s ease,box-shadow .2s ease}.quick-contact-toggle:hover,.quick-contact-toggle[aria-expanded="true"]{transform:translateY(-3px);box-shadow:0 17px 34px rgba(0,0,0,.34)}.quick-contact-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quick-contact-panel{position:absolute;right:0;bottom:calc(100% + 14px);width:314px;padding:17px;border:1px solid rgba(255,255,255,.33);border-radius:20px;background:linear-gradient(135deg,rgba(10,48,62,.95),rgba(3,24,34,.93));box-shadow:0 24px 56px rgba(0,13,21,.4),inset 0 1px 0 rgba(255,255,255,.2);backdrop-filter:blur(18px) saturate(130%);color:#fff;transform-origin:bottom right;animation:quick-contact-enter .22s ease both}.quick-contact-panel[hidden]{display:none}.quick-contact-head{display:grid;gap:5px;margin:1px 2px 14px}.quick-contact-head span{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.18em}.quick-contact-head strong{font-size:21px;line-height:1.1}.quick-contact-panel>.btn{width:100%;min-height:45px;padding:0 15px;justify-content:space-between;font-size:13px}.quick-contact-list{display:grid;margin-top:11px}.quick-contact-list a{display:grid;grid-template-columns:31px minmax(0,1fr);gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid rgba(255,255,255,.15);color:#fff}.quick-contact-list a:last-child{border-bottom:0}.quick-contact-list a:hover{color:var(--accent)}.quick-contact-list>a>span{width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.07);color:var(--accent)}.quick-contact-list svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.quick-contact-list small,.quick-contact-list strong{display:block}.quick-contact-list small{margin-bottom:2px;color:rgba(255,255,255,.62);font-size:10px}.quick-contact-list strong{font-size:12px;line-height:1.25}@keyframes quick-contact-enter{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.quick-contact{right:16px;bottom:16px}.quick-contact-toggle{width:52px;height:52px}.quick-contact-panel{width:min(314px,calc(100vw - 32px))}}

/* Unified soft-corner pass across the landing. */
button,.btn,input,textarea,select,.play,.quote-controls button{border-radius:10px}
.hero-facts{overflow:hidden;border-radius:var(--radius)}.hero-facts article:first-child{border-radius:var(--radius) 0 0 var(--radius)}.hero-facts article:last-child{border-radius:0 var(--radius) var(--radius) 0}
.services,.gallery-section,.facility,.location,.testimonial,.cta,.footer{border-radius:0}
.service-card,.gallery-item,.location-benefits article,.cta-benefits div,.cta-form,.footer-contact-item,.testimonial-inner,.lead-dialog,.calculator-dialog{border-radius:var(--radius)}
.calculator-form input,.calculator-form select,.cta-form input,.lead-dialog input,.lead-dialog textarea{border-radius:12px}
.gallery-track{overflow:hidden;border-radius:var(--radius)}.gallery-item,.gallery-item img{border-radius:inherit}
@media(max-width:760px){.hero-facts article:first-child,.hero-facts article:last-child{border-radius:0}.hero-facts{border-radius:var(--radius) var(--radius) 0 0}}

/* Keep the softer shape restrained on individual cards. */
.location-benefits article,.cta-benefits div,.cta-benefits div:last-child{border-radius:12px}.header-contact-menu,.quick-contact-panel{border-radius:14px}

/* Full-width sticky glass: translucent, layered and readable over every section. */
.header.is-scrolled::before{border-bottom-color:rgba(255,255,255,.25);background:linear-gradient(110deg,rgba(5,35,46,.72),rgba(13,58,72,.58) 52%,rgba(5,32,43,.7));box-shadow:0 10px 30px rgba(0,17,25,.2),inset 0 1px 0 rgba(255,255,255,.18);backdrop-filter:blur(22px) saturate(140%)}

/* Footer messengers: compact rounded plaques instead of generic circles. */
.footer-social{gap:7px}.footer-social a{width:42px;height:34px;border-radius:10px;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.065)}.footer-social a:hover{border-color:var(--accent);background:rgba(233,199,157,.16);color:var(--accent)}.footer-social svg{width:17px;height:17px}

/* Fixed editorial rhythm for the four service cards. */
.service-overlay p{min-height:4.35em}
@media(max-width:900px){.service-overlay p{font-size:12px}}

/* Gallery lightbox navigation. */
.lightbox{padding:52px 78px;background:rgba(3,17,23,.92);backdrop-filter:blur(8px)}.lightbox-figure{display:grid;gap:12px;justify-items:center;max-width:100%;margin:0}.lightbox img{display:block;max-width:min(1200px,calc(100vw - 156px));max-height:82vh;width:auto;height:auto;border-radius:var(--radius);box-shadow:0 30px 80px rgba(0,0,0,.45)}.lightbox figcaption{color:rgba(255,255,255,.72);font-size:12px;letter-spacing:.02em;text-align:center}.lightbox .lightbox-close,.lightbox .lightbox-nav{position:absolute;border:1px solid rgba(255,255,255,.25);color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);display:grid;place-items:center;transition:background .2s ease,transform .2s ease}.lightbox .lightbox-close:hover,.lightbox .lightbox-nav:hover{background:rgba(255,255,255,.22);transform:scale(1.05)}.lightbox .lightbox-close{right:25px;top:20px;width:42px;height:42px;border-radius:50%;font-size:28px;line-height:1}.lightbox .lightbox-nav{top:50%;width:48px;height:48px;border-radius:50%;font-size:27px;transform:translateY(-50%)}.lightbox .lightbox-nav:hover{transform:translateY(-50%) scale(1.05)}.lightbox .lightbox-prev{left:20px}.lightbox .lightbox-next{right:20px}
@media(max-width:600px){.lightbox{padding:45px 18px 34px}.lightbox img{max-width:calc(100vw - 36px);max-height:76vh}.lightbox .lightbox-nav{top:auto;bottom:18px;width:44px;height:44px}.lightbox .lightbox-prev{left:calc(50% - 52px)}.lightbox .lightbox-next{right:calc(50% - 52px)}.lightbox figcaption{font-size:11px}.lightbox .lightbox-close{right:14px;top:14px}}

/* Client-supplied gallery photos: a larger editorial grid plus every image in the viewer. */
.gallery-track{grid-template-rows:154px 116px 112px}.gallery-item:nth-child(6){grid-column:1;grid-row:3}.gallery-item:nth-child(7){grid-column:2;grid-row:3}.gallery-item:nth-child(8){grid-column:3;grid-row:3}.gallery-item:nth-child(9){grid-column:4;grid-row:3}
@media(max-width:900px){.gallery-track{grid-template-columns:1.15fr 1fr;grid-template-rows:210px 160px 160px 150px 150px}.gallery-item:nth-child(1){grid-column:1;grid-row:1/3}.gallery-item:nth-child(2){grid-column:2;grid-row:1}.gallery-item:nth-child(3){grid-column:2;grid-row:2}.gallery-item:nth-child(4){grid-column:1;grid-row:3}.gallery-item:nth-child(5){grid-column:2;grid-row:3}.gallery-item:nth-child(6){grid-column:1;grid-row:4}.gallery-item:nth-child(7){grid-column:2;grid-row:4}.gallery-item:nth-child(8){grid-column:1;grid-row:5}.gallery-item:nth-child(9){grid-column:2;grid-row:5}}

/* Responsive type scale: readable hierarchy without cramped text at tablet and phone widths. */
@media (min-width:761px) and (max-width:1100px){
  .header{height:74px}.desktop-nav{display:none}.header-actions{gap:11px}.header-actions .btn-light{display:none}.menu-btn{display:block;width:40px;height:40px}.mobile-nav{top:74px;padding:18px;gap:14px}.mobile-nav a{font-size:16px;font-weight:650}
  .hero{min-height:700px}.hero-copy{width:min(620px,70%)}.hero h1.hero-storage-title{font-size:clamp(52px,6.4vw,68px)}.hero-copy>p{max-width:500px;font-size:17px;line-height:1.5}
  .hero-facts article{min-height:104px;padding:18px 14px}.hero-facts strong{font-size:13px}.hero-facts small{font-size:12px;line-height:1.35}
  .services-layout{grid-template-columns:1fr;gap:32px}.services-layout>.section-heading{width:100%;max-width:none}.section-heading h2{max-width:none;font-size:clamp(34px,4.4vw,42px);line-height:1.06}.section-heading h2 br{display:none}.section-heading p{max-width:820px;font-size:16px;line-height:1.5}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-card{height:290px}.service-overlay h3{font-size:21px}.service-overlay p{display:block;font-size:14px}
  .facility{grid-template-columns:1fr 1fr;min-height:unset}.facility-image{min-height:360px}.facility-copy{padding:46px 38px}.facility-copy h2{font-size:32px;line-height:1.05}.facility-copy p{font-size:15px;line-height:1.5}.facility-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:30px 38px;gap:22px}.facility-points strong{font-size:13px}.facility-points small{font-size:12px;line-height:1.35}
  .location-inner{grid-template-columns:1fr;gap:34px;padding:74px 0}.location-copy{width:100%;max-width:none}.location-copy h2{max-width:none;font-size:clamp(34px,4.7vw,42px);line-height:1.08}.location-copy h2 br{display:none}.location-copy p{max-width:820px;font-size:16px;line-height:1.55}.location-benefits{width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.location-benefits article{min-height:112px}.location-benefits strong{font-size:13px}.location-benefits small{font-size:12px}
  .gallery-head h2{font-size:32px}.testimonial-inner{padding:40px 0}.quote-wrap blockquote{font-size:27px}.cta-copy h2{font-size:36px}.cta-copy p{font-size:16px}.cta-benefits strong{font-size:13px}.cta-benefits small{font-size:12px}.cta-form{grid-template-columns:1.1fr repeat(3,minmax(0,1fr)) 1.05fr}.cta-form-head small{font-size:12px}.cta-form label{font-size:12px}
  .footer{padding:42px 0 20px}.footer-grid{grid-template-columns:210px minmax(0,1fr);gap:30px 56px}.footer-brand{align-items:flex-start}.footer-brand p{max-width:185px}.footer-links{padding-top:4px}.footer nav{gap:12px 28px}.footer-contact{grid-column:1/-1;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.footer-contact-item,.footer-contact-item:last-child{min-height:70px;padding:13px 15px}.footer-bottom{margin-top:28px}
}

@media (max-width:760px){
  body{font-size:16px;overflow-x:hidden}.container,.container-wide,.header,.hero-inner.container{width:min(100% - 32px,680px)}
  .header{height:68px}.brand-mark{height:32px}.brand-text{font-size:15px}.header-actions{gap:9px}.desktop-nav,.header-actions>.lang-switch,.header-actions>.btn-light{display:none}.menu-btn{width:40px;height:40px}.mobile-nav{top:68px;padding:18px 16px;gap:13px}.mobile-nav a{font-size:16px;font-weight:650}
  .hero{min-height:730px}.hero-inner{padding-top:118px;padding-bottom:245px}.hero-copy{max-width:520px}.hero h1.hero-storage-title{font-size:clamp(42px,12.5vw,58px);line-height:.92;letter-spacing:-.055em;margin-bottom:20px}.hero-copy>p{max-width:440px;font-size:16px;line-height:1.48;margin-bottom:23px}.hero-buttons{gap:12px}.hero-buttons .btn,.video-link{font-size:14px}.hero-facts article{min-height:96px;padding:14px 12px;gap:10px;justify-content:flex-start}.hero-facts .fact-icon{flex-basis:22px;font-size:21px}.hero-facts strong{font-size:12px;line-height:1.25}.hero-facts small{font-size:11px;line-height:1.32}
  .services{padding:54px 0 60px}.services-layout{gap:30px}.section-heading h2{font-size:clamp(29px,8.8vw,35px);line-height:1.05;margin-bottom:17px}.section-heading p{font-size:16px;line-height:1.5;margin-bottom:24px}.service-grid{gap:10px}.service-card{height:300px}.service-overlay{left:15px;right:15px;bottom:15px}.service-overlay h3{min-height:43px;font-size:18px;line-height:1.18;margin:5px 0}.service-overlay p{min-height:0;margin-right:28px;font-size:13px;line-height:1.4}.service-overlay i{font-size:18px}
  .facility-image{min-height:260px}.facility-copy,.facility-points{padding:34px 24px}.facility-copy h2{font-size:30px;line-height:1.06}.facility-copy p{font-size:16px;line-height:1.5;margin-bottom:22px}.facility-points{gap:18px}.facility-points strong{font-size:13px;line-height:1.3}.facility-points small{font-size:12px;line-height:1.35}
  .location-inner{padding:54px 0 58px;gap:30px}.location-copy h2{font-size:clamp(30px,8.9vw,36px);line-height:1.08}.location-copy p{font-size:16px;line-height:1.5}.location-benefits-label{font-size:10px;letter-spacing:.17em}.location-benefits article{min-height:96px;padding:16px;gap:11px}.location-benefits strong{font-size:13px;line-height:1.25}.location-benefits small{margin-top:5px;font-size:13px;line-height:1.35}
  .gallery-section{padding:42px 0}.gallery-head{align-items:flex-end;margin-bottom:16px}.gallery-head h2{font-size:29px;line-height:1.08}.text-btn{font-size:13px;white-space:nowrap}.testimonial-inner{padding:38px 0}.review-head>span{font-size:10px}.quote-wrap blockquote{font-size:clamp(22px,6.3vw,27px);line-height:1.18}.quote-meta{font-size:12px;line-height:1.35}.quote-controls{font-size:11px}
  .cta-inner{padding:54px 0;gap:28px}.cta-copy h2{font-size:clamp(29px,8.5vw,35px);line-height:1.08;margin-bottom:14px}.cta-copy p{font-size:16px;line-height:1.5}.cta-buttons{gap:9px;margin-top:20px}.cta-buttons .btn{font-size:14px}.cta-benefits div,.cta-benefits div:last-child{min-height:82px;padding:14px}.cta-benefits strong{font-size:14px}.cta-benefits small{font-size:12px;line-height:1.35}.cta-form{padding:18px;gap:13px}.cta-form-head strong{font-size:11px}.cta-form-head small{font-size:13px;line-height:1.35}.cta-form label{font-size:12px}.cta-form input,.cta-form .btn{height:46px;font-size:14px}
  .footer{padding:36px 0 18px}.footer-grid{gap:28px}.footer-brand p{font-size:13px}.footer nav{gap:11px 20px}.footer nav a{font-size:14px}.footer-contact-item,.footer-contact-item:last-child{min-height:64px;padding:12px 13px}.footer-contact-item strong{font-size:13px;overflow-wrap:anywhere}.footer-bottom{font-size:11px;line-height:1.4}
  .lead-dialog,.calculator-dialog{width:calc(100% - 20px)}.dialog-copy,.lead-dialog form,.calculator-copy,.calculator-result{padding:30px 20px}.dialog-copy h2,.calculator-copy h2{font-size:30px;line-height:1.06}.dialog-copy p,.calculator-copy>p{font-size:15px;line-height:1.5}.lead-dialog label,.calculator-form label{font-size:13px}.lead-dialog form small{font-size:11px}.result-total strong{font-size:42px}
}

@media (max-width:520px){
  .hero{min-height:720px}.hero-inner{padding-top:108px;padding-bottom:238px}.hero-facts article{min-height:90px;padding:12px 10px}.hero-facts strong{font-size:11px}.hero-facts small{font-size:10px}.services{padding-top:48px}.service-grid{grid-template-columns:1fr}.service-card{height:310px}.service-overlay h3{font-size:20px}.service-overlay p{font-size:14px}.facility-points{grid-template-columns:1fr}.gallery-track{display:flex;grid-template-columns:none;grid-template-rows:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;border-radius:0}.gallery-item,.gallery-item:nth-child(n){display:block;min-width:82%;height:220px;scroll-snap-align:start}.gallery-item,.gallery-item img{border-radius:var(--radius)}.cta-buttons{flex-direction:column}.cta-buttons .btn{justify-content:space-between}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-lang{margin-left:0}.quick-contact{right:14px;bottom:14px}.quick-contact-panel{width:calc(100vw - 28px)}
}

/* Touch layouts must never leave whole sections invisible during quick scrolling or captures. */
@media (max-width:1100px){.reveal{opacity:1;transform:none;transition:none}}

/* Supplied Finland archipelago background for the location section. */
.location-bg{background-image:linear-gradient(90deg,rgba(3,23,31,.97) 0%,rgba(3,23,31,.82) 33%,rgba(3,23,31,.14) 66%,rgba(3,23,31,.42) 100%),url('./assets/finland-bg-1920.webp');background-position:center;background-size:cover}
@media(max-width:760px){.location-bg{background-position:58% center;background-image:linear-gradient(90deg,rgba(3,23,31,.94) 0%,rgba(3,23,31,.75) 58%,rgba(3,23,31,.38) 100%),url('./assets/finland-bg-1920.webp')}}

.services-action-mobile{display:none}

/* Four service cards are always a visible vertical sequence on phones. */
@media(max-width:760px){.service-grid{display:flex!important;flex-direction:column;gap:12px}.service-grid .service-card{display:block!important;position:relative;min-height:310px;height:310px;visibility:visible!important;opacity:1!important;transform:none!important}.service-grid .service-card img,.service-grid .service-overlay{visibility:visible!important;opacity:1!important}}

/* Some phone browsers report a tablet-sized CSS viewport; keep portrait services stacked there too. */
@media (orientation:portrait) and (max-width:1100px){.services-layout{display:block!important}.services-layout>.section-heading{width:100%;max-width:none;margin-bottom:24px}.services-action{display:none}.services-action-mobile{display:inline-flex;margin-top:22px}.service-grid{display:flex!important;flex-direction:column!important;width:100%;gap:12px}.service-grid .service-card{display:block!important;position:relative;width:100%;min-height:310px;height:310px;visibility:visible!important;opacity:1!important;transform:none!important}}

/* Hero facts continue the background edge-to-edge on phones. */
@media(max-width:760px){.hero-facts{border-radius:0}}

/* Mobile footer brand: the promise belongs beside the logo, not below it. */
@media(max-width:760px){.footer-brand{flex-direction:row;align-items:center;gap:18px}.footer-brand p{max-width:210px;margin:0}}

/* Centre review navigation as one control group on phones. */
@media(max-width:760px){.quote-controls{justify-self:center;align-self:center;margin-top:2px}}

/* Client content: FAQ and extended quote form. */
.faq-section{padding:82px 0;background:#f4f3ef}.faq-heading{max-width:650px;margin-bottom:34px}.faq-heading h2{color:#10222a;font-size:clamp(34px,3.4vw,48px);margin-bottom:14px}.faq-heading p{color:#536169;font-size:16px;line-height:1.55;margin:0}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.faq-grid details{padding:20px 22px;border:1px solid rgba(10,35,45,.14);border-radius:var(--radius);background:#fff}.faq-grid summary{cursor:pointer;color:#13272f;font-size:16px;font-weight:700;line-height:1.35}.faq-grid summary::marker{color:#a98159}.faq-grid p{margin:13px 0 0;color:#657279;font-size:14px;line-height:1.55}.lead-dialog{max-height:calc(100vh - 28px);overflow:auto}.lead-dialog form{grid-template-rows:none}.lead-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-form-grid label{min-width:0}.lead-dialog select{width:100%;height:48px;padding:0 13px;border:1px solid #d9dcdd;background:#fff;color:#10232b;font:inherit;outline:0;border-radius:12px}.lead-dialog label>span{display:block;margin-bottom:7px}.lead-dialog form>label{display:block}.lead-dialog form>label textarea{display:block}.lead-dialog form{display:grid;gap:12px}.lead-dialog form small{min-height:0}.lang-switch{grid-template-columns:repeat(2,1fr);width:78px}.lang-switch button{width:auto}
.footer-contact::before{content:"Contacts"}html[lang="fi"] .footer-contact::before{content:"Yhteystiedot"}
@media(max-width:760px){.faq-section{padding:54px 0}.faq-heading{margin-bottom:24px}.faq-grid{grid-template-columns:1fr;gap:9px}.faq-grid details{padding:17px}.faq-grid summary{font-size:15px}.lead-form-grid{grid-template-columns:1fr}.lead-dialog form{padding-bottom:30px}}

/* Quote form: give the detailed fields the visual priority on desktop. */
.lead-dialog{width:min(1060px,calc(100% - 40px));min-height:560px}
.lead-dialog[open]{grid-template-columns:.78fr 1.22fr}
.dialog-copy{padding:48px 42px}
.lead-dialog form{padding:42px 44px;gap:14px}
.lead-form-grid{gap:14px 16px}
.lead-dialog textarea{min-height:104px}
@media (min-width:761px) and (max-width:1050px){.lead-dialog{width:calc(100% - 40px)}.dialog-copy{padding:40px 32px}.dialog-copy h2{font-size:34px}.lead-dialog form{padding:38px 34px}}
@media(max-width:760px){.lead-dialog{width:calc(100% - 20px);min-height:unset}.lead-dialog[open]{display:block}.dialog-copy,.lead-dialog form{padding:30px 20px}.lead-dialog textarea{min-height:104px}}

/* Make every line of the detailed request form intentional: paired facts first,
   then the one wide service choice, followed by the message. */
.lead-form-grid{grid-template-areas:
  "name phone"
  "email model"
  "length width"
  "period trailer"
  "collection washing"
  "maintenance maintenance"}
.lead-form-grid label:nth-child(1){grid-area:name}
.lead-form-grid label:nth-child(2){grid-area:phone}
.lead-form-grid label:nth-child(3){grid-area:email}
.lead-form-grid label:nth-child(4){grid-area:model}
.lead-form-grid label:nth-child(5){grid-area:length}
.lead-form-grid label:nth-child(6){grid-area:width}
.lead-form-grid label:nth-child(7){grid-area:period}
.lead-form-grid label:nth-child(8){grid-area:trailer}
.lead-form-grid label:nth-child(9){grid-area:collection}
.lead-form-grid label:nth-child(10){grid-area:washing}
.lead-form-grid .lead-field-full{grid-area:maintenance}
.lead-form-grid .lead-field-full select{width:100%}
@media(max-width:760px){.lead-form-grid{grid-template-areas:none}.lead-form-grid label,.lead-form-grid .lead-field-full{grid-area:auto}}

/* Separate the free-text field from the form action. */
.lead-dialog form>label:has(textarea){margin-bottom:8px}
.lead-dialog form>.btn{margin-top:4px}

/* Calculator select: keep the indicator away from the edge and reserve its own space. */
.calculator-form select{
  appearance:none;
  padding-right:52px;
  background-color:#0b303d;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23E9C79D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:calc(100% - 18px) 50%;
  background-size:16px;
}

/* FAQ cards open independently, without stretching the other card in the row. */
.faq-grid{align-items:start}
.faq-grid details{align-self:start;overflow:hidden}
.faq-grid summary{display:flex;align-items:center;gap:10px;list-style:none}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary::before{content:"";width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid #a98159;flex:0 0 auto;transition:transform .24s ease}
.faq-grid details[open] summary::before{transform:rotate(90deg)}
.faq-grid details p{display:block;max-height:0;margin:0;overflow:hidden;opacity:0;transform:translateY(-5px);transition:max-height .32s ease,margin .32s ease,opacity .2s ease,transform .32s ease}
.faq-grid details[open] p{max-height:140px;margin:13px 0 0;opacity:1;transform:translateY(0)}

/* JavaScript controls the card height; these states fade the answer in and out. */
.faq-grid details{transition:height .34s cubic-bezier(.22,.8,.24,1)}
.faq-grid details:not([open]) p{display:none}
.faq-grid details[open] p{display:block;max-height:none;margin:13px 0 0;opacity:1;transform:translateY(0);transition:opacity .2s ease,transform .3s ease}
.faq-grid details[data-faq-opening] p,.faq-grid details[data-faq-closing] p{opacity:0;transform:translateY(-5px)}

/* Fixed text rhythm keeps the four service notes aligned. */
.cta-benefits strong{min-height:1.25em}
.cta-benefits small{display:block;min-height:2.64em}

/* Prominent phone CTA in the storage section. */
.facility-phone{display:grid;grid-template-columns:1fr auto;column-gap:18px;align-items:end;width:100%;max-width:500px;margin-top:28px;padding:18px 20px;border:1px solid rgba(233,199,157,.52);border-radius:12px;background:rgba(255,255,255,.045);color:#fff;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.facility-phone span{grid-column:1/-1;margin-bottom:5px;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.facility-phone strong{font-size:clamp(24px,2.1vw,32px);line-height:1;letter-spacing:-.035em}
.facility-phone i{font-size:24px;font-style:normal;color:var(--accent);transition:transform .2s ease}
.facility-phone:hover{border-color:var(--accent);background:rgba(233,199,157,.12);transform:translateY(-2px)}
.facility-phone:hover i{transform:translateX(4px)}
@media(max-width:760px){.facility-phone{max-width:none;margin-top:24px;padding:16px}.facility-phone strong{font-size:25px}}

/* Facility benefits need a comfortable reading size on phones. */
@media(max-width:760px){.facility-points>div{gap:16px}.facility-points>div>span{width:32px;font-size:28px}.facility-points strong{font-size:16px;line-height:1.28}.facility-points small{font-size:14px;line-height:1.4}}

/* Keep the English hero promise in its intended three-line composition on phones. */
@media(max-width:760px){.hero h1.hero-storage-title{font-size:clamp(37px,10.2vw,45px);line-height:.94;letter-spacing:-.06em;white-space:nowrap}}

/* Hero actions stay on one convenient row on phones. */
@media(max-width:760px){.hero-buttons{width:100%;flex-wrap:nowrap;gap:10px}.hero-buttons .btn{flex:0 0 auto;padding:13px 14px;gap:11px;font-size:12px}.hero-buttons .video-link{flex:1;min-width:0;gap:9px;font-size:12px;white-space:nowrap}.hero-buttons .play{flex:0 0 38px;width:38px;height:38px}.hero-buttons .play svg{width:16px;height:16px}}
@media(max-width:380px){.hero-buttons{gap:7px}.hero-buttons .btn{padding:12px 10px;gap:8px;font-size:11px}.hero-buttons .video-link{gap:7px;font-size:11px}.hero-buttons .play{flex-basis:33px;width:33px;height:33px}.hero-buttons .play svg{width:14px;height:14px}}

/* Phone quote form: a simple single-column flow prevents desktop grid areas
   from creating implicit tracks or overlapping labels on narrow screens. */
@media(max-width:760px){
  .lead-form-grid{display:flex!important;flex-direction:column!important;gap:16px!important;grid-template-columns:none!important;grid-template-areas:none!important}
  .lead-form-grid>label,.lead-form-grid>.lead-field-full{display:grid!important;grid-area:auto!important;width:100%!important;min-width:0!important;margin:0!important}
  .lead-form-grid>label>input,.lead-form-grid>label>select{box-sizing:border-box!important;width:100%!important}
  .lead-dialog form{display:flex!important;flex-direction:column!important;gap:16px!important}
  .lead-dialog form>label{width:100%!important;margin:0 0 8px!important}
  .lead-dialog form>.btn{width:100%;margin-top:0!important}
}

/* The close action remains reachable while the long quote form is scrolled. */
@media(max-width:760px){
  .lead-dialog .dialog-close{
    position:fixed;
    top:calc(14px + env(safe-area-inset-top));
    right:calc(14px + env(safe-area-inset-right));
    z-index:10;
    width:38px;
    height:38px;
    margin:0;
    display:grid;
    place-items:center;
    border:1px solid rgba(16,35,43,.14);
    border-radius:50%;
    background:rgba(255,255,255,.94);
    box-shadow:0 4px 14px rgba(0,0,0,.12);
    font-size:25px;
    line-height:1;
  }
  .lead-dialog[open]{
    position:fixed;
    inset:10px;
    width:auto;
    max-height:none;
    margin:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
}

/* Calculator close button: clear, tactile control instead of a loose glyph. */
.calculator-close{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:50%!important;
  background:rgba(4,28,38,.88)!important;
  box-shadow:0 5px 16px rgba(0,0,0,.22);
  color:#fff;
  font-size:25px!important;
  line-height:1!important;
  transition:background .2s ease,transform .2s ease;
}
.calculator-close:hover{background:rgba(233,199,157,.22)!important;transform:scale(1.06)}
@media(max-width:760px){.calculator-close{right:14px!important;top:14px!important;width:38px;height:38px;font-size:24px!important}}
