@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("../fonts/Newsreader.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("../fonts/Newsreader-Italic.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Phosphor";
  src: url("../fonts/Phosphor.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.ph {
  font-family: "Phosphor" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  letter-spacing: 0;
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ph.ph-anchor-simple:before { content: "\e5d8"; }
.ph.ph-arrow-down-right:before { content: "\e042"; }
.ph.ph-bell-ringing:before { content: "\e5e8"; }
.ph.ph-camera:before { content: "\e10e"; }
.ph.ph-check:before { content: "\e182"; }
.ph.ph-drop:before { content: "\e210"; }
.ph.ph-file-text:before { content: "\e23a"; }
.ph.ph-house-line:before { content: "\e2c4"; }
.ph.ph-list:before { content: "\e2f0"; }
.ph.ph-paper-plane-tilt:before { content: "\e398"; }
.ph.ph-plugs-connected:before { content: "\eb5a"; }
.ph.ph-plus:before { content: "\e3d4"; }
.ph.ph-receipt:before { content: "\e3ec"; }
.ph.ph-ruler:before { content: "\e6b8"; }
.ph.ph-shield-check:before { content: "\e40c"; }
.ph.ph-wind:before { content: "\e5d2"; }
.ph.ph-wrench:before { content: "\e5d4"; }

:root{
  --color-bg:#f3efe7;
  --color-surface:#fbf8f1;
  --color-surface-2:#e7e2d8;
  --color-text:#10222a;
  --color-text-muted:#617077;
  --color-primary:#082a35;
  --color-primary-2:#0e3c49;
  --color-accent:#b86f45;
  --color-accent-soft:#e5c7b3;
  --color-line:rgba(16,34,42,.16);
  --color-white:#fffdf8;
  --space-1:8px;
  --space-2:16px;
  --space-3:24px;
  --space-4:32px;
  --space-5:48px;
  --space-6:64px;
  --space-7:80px;
  --space-8:96px;
  --text-display:clamp(3rem,7vw,5.4rem);
  --text-h1:clamp(2.35rem,5vw,3.65rem);
  --text-h2:clamp(2rem,3.5vw,3rem);
  --text-h3:clamp(1.25rem,2vw,1.6rem);
  --text-body:1rem;
  --text-small:.875rem;
  --radius-sm:10px;
  --radius-md:18px;
  --radius-lg:30px;
  --shadow:0 24px 70px rgba(5,29,36,.12);
  --max:1280px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;max-width:100%}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:'Manrope',sans-serif;font-size:var(--text-body);line-height:1.65;display:flex;flex-direction:column;min-height:100vh;min-width:0;max-width:100%;overflow-x:clip}
body.menu-open{overflow:hidden}
main{flex:1 0 auto;min-width:0;max-width:100%}
a{color:inherit;text-decoration:none}
img{max-width:100%;width:100%;height:100%;object-fit:cover;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}
.container{width:min(calc(100% - 32px),var(--max));margin-inline:auto}
.section{padding:var(--space-8) 0}
.section-dark{background:var(--color-primary);color:var(--color-white)}
.section-surface{background:var(--color-surface)}
.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700;color:var(--color-accent)}
.eyebrow:before{content:'';width:36px;height:1px;background:currentColor}
.display,h1,h2,h3{font-family:'Newsreader',serif;font-weight:500;line-height:.96;letter-spacing:-.035em;margin:0}
h1{font-size:var(--text-display)}
h2{font-size:var(--text-h2)}
h3{font-size:var(--text-h3);line-height:1.05}
p{margin:0 0 1em}
.lede{font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--color-text-muted);max-width:760px}
.section-dark .lede{color:rgba(255,253,248,.72)}
.muted{color:var(--color-text-muted)}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:0 22px;border:1px solid transparent;font-weight:700;transition:.25s ease}
.btn-primary{background:var(--color-accent);color:var(--color-white)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(184,111,69,.28)}
.btn-outline{border-color:var(--color-line);background:transparent}
.section-dark .btn-outline{border-color:rgba(255,255,255,.28);color:var(--color-white)}
.btn-outline:hover{background:var(--color-text);color:var(--color-white)}
.section-dark .btn-outline:hover{background:var(--color-white);color:var(--color-primary)}

.site-header{position:fixed;inset:0 0 auto;z-index:50;padding:14px 0;background:var(--color-primary);color:var(--color-white);border-bottom:1px solid rgba(255,253,248,.14);box-shadow:0 10px 32px rgba(5,29,36,.22);transition:.25s ease}
.site-header.scrolled{background:var(--color-primary);color:var(--color-white);border-bottom:1px solid rgba(255,253,248,.14);box-shadow:0 12px 34px rgba(5,29,36,.26)}
.site-header .brand span small{color:rgba(255,253,248,.72)}
.site-header .nav a{color:var(--color-white)}
.site-header .menu-btn{border-color:rgba(255,253,248,.34);background:var(--color-primary-2);color:var(--color-white)}
.header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.08em;font-size:.86rem}
.brand img{width:34px;height:34px;object-fit:contain}
.brand span small{display:block;font-size:.61rem;letter-spacing:.22em;color:var(--color-text-muted);font-weight:600}
.nav{display:flex;justify-content:center;gap:28px;font-size:.86rem;font-weight:600}
.nav a{position:relative}
.nav a:after{content:'';position:absolute;left:0;bottom:-7px;width:100%;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:.25s}
.nav a:hover:after{transform:scaleX(1)}
.header-cta{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--color-line);background:var(--color-surface);font-size:1.2rem}

.hero{min-height:100vh;padding:124px 0 54px;display:flex;align-items:flex-end;position:relative;overflow:hidden}
.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,26,33,.86) 0%,rgba(5,26,33,.54) 43%,rgba(5,26,33,.12) 72%,rgba(5,26,33,.18) 100%);z-index:1}
.hero-media{position:absolute;inset:0;background:var(--color-primary)}
.hero-media img{object-position:center}
.hero-inner{position:relative;z-index:2;color:var(--color-white);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.5fr);gap:80px;align-items:end}
.hero-copy{max-width:860px}
.hero .eyebrow{color:var(--color-accent-soft);margin-bottom:22px}
.hero h1 span{font-style:italic;color:var(--color-accent-soft)}
.hero-copy>p{font-size:clamp(1.06rem,1.65vw,1.25rem);max-width:700px;color:rgba(255,253,248,.82);margin:26px 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-rail{border-left:1px solid rgba(255,255,255,.28);padding-left:28px;display:grid;gap:24px}
.hero-stat strong{display:block;font-family:'Newsreader',serif;font-size:2rem;font-weight:500;line-height:1}
.hero-stat span{display:block;margin-top:5px;color:rgba(255,255,255,.66);font-size:.82rem}
.mooring-line{position:absolute;right:5vw;top:50%;width:140px;height:140px;border:1px solid rgba(229,199,179,.55);border-radius:50%;z-index:2}
.mooring-line:after{content:'';position:absolute;width:240px;height:1px;background:rgba(229,199,179,.55);right:80px;top:50%;transform:rotate(-22deg);transform-origin:right}

.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(38px,7vw,90px);align-items:center}
.split.reverse{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.image-frame{background:var(--color-surface-2);overflow:hidden;border-radius:var(--radius-lg);position:relative;box-shadow:var(--shadow)}
.image-frame.landscape{aspect-ratio:4/3}
.image-frame.tall{aspect-ratio:4/5}
.image-frame.wide{aspect-ratio:16/9}
.image-label{position:absolute;left:18px;bottom:18px;background:rgba(8,42,53,.86);color:white;padding:10px 14px;border-radius:999px;font-size:.76rem;backdrop-filter:blur(10px)}
.copy-stack{display:grid;gap:24px}
.copy-stack .lede{max-width:620px}
.fact-band{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-line);margin-top:28px;border:1px solid var(--color-line)}
.fact{background:var(--color-surface);padding:22px}
.fact strong{display:block;font-family:'Newsreader',serif;font-size:1.75rem;font-weight:500}
.fact span{font-size:.8rem;color:var(--color-text-muted)}

.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:end;margin-bottom:52px}
.section-head .lede{justify-self:end}
.protocol-title{line-height:1.04}
.nowrap-quote{white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:28px;min-height:320px;display:flex;flex-direction:column;transition:.25s}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-card .icon{font-size:1.5rem;color:var(--color-accent);margin-bottom:auto}
.service-card h3{margin:26px 0 14px}
.service-card p{color:var(--color-text-muted);font-size:.93rem}
.service-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.service-meta span{border:1px solid var(--color-line);padding:6px 9px;border-radius:999px;font-size:.72rem}

.safety-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}
.safety-panel{background:#0c3440;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:32px;position:relative;overflow:hidden}
.safety-panel.large{min-height:430px;display:flex;flex-direction:column;justify-content:flex-end}
.safety-panel.large:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(8,42,53,.88) 76%);z-index:1}
.safety-panel.large img{position:absolute;inset:0}
.safety-panel.large>*:not(img){position:relative;z-index:2}
.safety-stack{display:grid;gap:22px}
.signal{display:flex;gap:18px;align-items:flex-start}
.signal i{font-size:1.4rem;color:var(--color-accent-soft);margin-top:4px}
.signal p{margin:6px 0 0;color:rgba(255,255,255,.66);font-size:.9rem}

.news-case{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.news-case .image-frame{border-radius:0;box-shadow:none;aspect-ratio:auto;min-height:520px}
.news-copy{padding:clamp(32px,5vw,64px);display:flex;flex-direction:column;justify-content:center}
.news-copy .eyebrow{color:var(--color-accent-soft)}
.news-copy h2{margin:18px 0 22px;line-height:1.12}
.news-copy p{color:rgba(255,255,255,.72)}
.news-source{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);font-size:.82rem;color:rgba(255,255,255,.62)}
.news-source a{text-decoration:underline;text-underline-offset:3px}

.tariff-region-note{display:flex;justify-content:flex-end;margin-bottom:26px;color:var(--color-text-muted);font-size:.78rem}
.tariff-region-note span{max-width:640px;border-top:1px solid var(--color-line);padding-top:12px}
.region-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:22px}
.region-directory-item{border-top:2px solid var(--color-primary);padding:15px 2px 0;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:baseline}
.region-directory-item span{grid-row:1/3;font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--color-accent)}
.region-directory-item strong{font-family:'Newsreader',serif;font-size:1.35rem;font-weight:600;line-height:1}
.region-directory-item small{font-size:.72rem;color:var(--color-text-muted)}
.tariff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.tariff-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;display:grid;grid-template-rows:auto 1fr;height:680px;transition:.25s;min-width:0}
.tariff-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.tariff-image{aspect-ratio:16/10;background:var(--color-surface-2);overflow:hidden}
.tariff-body{padding:26px;display:flex;flex-direction:column;min-height:0}
.tariff-region-tag{align-self:flex-start;margin-bottom:10px;padding:6px 9px;border:1px solid var(--color-line);border-radius:999px;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);background:var(--color-white)}
.tariff-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent);font-weight:800;min-height:2.15em}
.tariff-title{font-family:'Newsreader',serif;font-size:1.7rem;line-height:1.05;margin:7px 0 8px}
.tariff-sub{color:var(--color-text-muted);font-size:.87rem;min-height:2.6em}
.price{font-family:'Newsreader',serif;font-size:2.55rem;line-height:1;margin:24px 0 5px;white-space:nowrap}
.price small{font:600 .72rem 'Manrope',sans-serif;color:var(--color-text-muted);letter-spacing:.02em;white-space:normal}
.features{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:9px;font-size:.88rem}
.features li{display:flex;gap:9px}
.features i{color:var(--color-accent);margin-top:4px;flex:0 0 auto}
.price-note{margin-top:auto;padding-top:22px;font-size:.73rem;color:var(--color-text-muted);border-top:1px solid var(--color-line)}

.assurance-strip{margin-top:30px;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-md);padding:25px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}
.assurance-strip i{font-size:2rem;color:var(--color-accent-soft)}
.assurance-strip p{margin:0;color:rgba(255,255,255,.68);font-size:.87rem}

.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.78rem;font-weight:700;color:rgba(255,255,255,.72)}
.field input,.field select,.field textarea{width:100%;max-width:100%;border:1px solid rgba(255,255,255,.18);background:#0d3743;color:white;border-radius:var(--radius-sm);min-height:48px;padding:0 14px}
.field textarea{min-height:118px;padding-top:12px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.42)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}
.step{padding:30px 24px;border-right:1px solid var(--color-line)}
.step:last-child{border-right:0}
.step-num{font-size:.72rem;letter-spacing:.12em;color:var(--color-accent);font-weight:800}
.step h3{margin:18px 0 12px}
.step p{font-size:.87rem;color:var(--color-text-muted)}

.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.quote{padding:28px;background:var(--color-surface);border-left:3px solid var(--color-accent)}
.quote blockquote{margin:0;font-family:'Newsreader',serif;font-size:1.28rem;line-height:1.25}
.quote cite{display:block;margin-top:20px;font-style:normal;color:var(--color-text-muted);font-size:.78rem}
.quote-note{margin-top:18px;font-size:.72rem;color:var(--color-text-muted)}

.faq{display:grid;gap:1px;background:var(--color-line);border:1px solid var(--color-line)}
.faq-item{background:var(--color-surface)}
.faq-q{width:100%;border:0;background:none;text-align:left;padding:22px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-weight:700;color:var(--color-text)}
.faq-q i{transition:.25s}
.faq-item.open .faq-q i{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 24px 24px;margin:0;color:var(--color-text-muted)}
.faq-item.open .faq-a{grid-template-rows:1fr}

.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px}
.contact-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:34px;border:1px solid var(--color-line)}
.contact-meta{display:grid;gap:22px;margin-top:28px}
.contact-meta div{padding-top:16px;border-top:1px solid var(--color-line)}
.contact-meta span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:var(--color-text-muted);font-weight:800}
.contact-meta strong{display:block;margin-top:5px;font-weight:600}
.lead-form{background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-lg);padding:34px}
.lead-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:.76rem;color:rgba(255,255,255,.68)}
.consent input{margin-top:4px}
.consent a{text-decoration:underline}

.site-footer{background:#061e26;color:var(--color-white);padding:64px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .7fr 1fr;gap:40px}
.footer-brand p{color:rgba(255,255,255,.58);font-size:.84rem;max-width:340px;margin-top:18px}
.footer-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--color-accent-soft);font-weight:800;margin-bottom:16px}
.footer-links{display:grid;gap:9px;font-size:.84rem;color:rgba(255,255,255,.7)}
.footer-legal{font-size:.82rem;color:rgba(255,255,255,.62);line-height:1.7}
.footer-bottom{margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;font-size:.72rem;color:rgba(255,255,255,.48)}
.disclaimer{margin-top:34px;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.12);font-size:.75rem;color:rgba(255,255,255,.5);max-width:980px}

.cookie-banner{position:fixed;z-index:100;left:16px;right:16px;bottom:16px;max-width:1000px;margin:auto;background:var(--color-white);box-shadow:0 18px 60px rgba(0,0,0,.22);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:20px;display:none}
.cookie-banner.show{display:block}
.cookie-row{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.cookie-row p{margin:0;color:var(--color-text-muted);font-size:.82rem}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-actions button{border-radius:999px;min-height:44px;padding:0 16px;border:1px solid var(--color-line);font-weight:700;background:var(--color-surface)}
.cookie-actions .accept{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}
.cookie-prefs{display:none;padding-top:16px;margin-top:16px;border-top:1px solid var(--color-line)}
.cookie-prefs.open{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cookie-pref{background:var(--color-surface);padding:12px;border-radius:var(--radius-sm);font-size:.78rem}
.cookie-pref label{display:flex;gap:8px;align-items:center;font-weight:700}
.cookie-save{grid-column:1/-1;justify-self:end}

.legal-hero,.thanks-hero{padding:150px 0 70px;background:var(--color-primary);color:var(--color-white)}
.legal-hero .eyebrow,.thanks-hero .eyebrow{color:var(--color-accent-soft)}
.legal-hero p,.thanks-hero p{max-width:760px;color:rgba(255,255,255,.68);margin-top:22px}
.legal-wrap{display:grid;grid-template-columns:250px 1fr;gap:60px;padding:70px 0 100px}
.legal-toc{position:sticky;top:110px;align-self:start;display:grid;gap:9px;font-size:.8rem}
.legal-toc a{color:var(--color-text-muted)}
.legal-content{max-width:830px;word-break:break-word}
.legal-content section{margin-bottom:52px}
.legal-content h2{font-size:2rem;margin-bottom:18px}
.legal-content h3{font-size:1.35rem;margin:28px 0 12px}
.legal-content p{color:#44545b}
.legal-box{padding:24px;background:var(--color-surface);border-left:3px solid var(--color-accent);margin:24px 0}

.thanks-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.thanks-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:28px}
.thanks-card .num{font-family:'Newsreader',serif;font-size:2.2rem;color:var(--color-accent)}
.thanks-card h3{margin:12px 0}

.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}
.reveal.visible{opacity:1;transform:none}

@media (max-width:1024px){
  .nav,.header-cta{display:none}
  .header-inner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px}
  .brand{flex:1 1 auto;min-width:0;flex-direction:row;align-items:center}
  .menu-btn{display:inline-grid;place-items:center;flex:0 0 auto}
  .nav.open{display:flex;position:absolute;top:100%;left:16px;right:16px;margin-top:8px;background:var(--color-surface);padding:24px;border-radius:var(--radius-md);box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;z-index:40}
  .site-header .nav.open a{color:var(--color-text)}
  .hero-inner,.split,.split.reverse,.section-head,.news-case,.contact-layout{grid-template-columns:1fr}
  .hero-inner{gap:34px}
  .hero-rail{grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid rgba(255,255,255,.28);padding:22px 0 0}
  .section-head .lede{justify-self:start}
  .cards{grid-template-columns:repeat(2,1fr)}
  .region-directory{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tariff-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .safety-grid{grid-template-columns:1fr}
  .news-case .image-frame{min-height:360px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(2){border-right:0}
  .step:nth-child(-n+2){border-bottom:1px solid var(--color-line)}
  .quote-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .legal-wrap{grid-template-columns:1fr}
  .legal-toc{position:static;display:flex;flex-wrap:wrap;gap:12px 20px}
}

@media (max-width:860px){
  .tariff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:700px){
  .section{padding:64px 0}
  .container{width:min(calc(100% - 24px),var(--max))}
  .hero{padding-top:100px;min-height:920px}
  .hero:before{background:linear-gradient(180deg,rgba(5,26,33,.5),rgba(5,26,33,.84) 58%,rgba(5,26,33,.95))}
  .hero-inner{align-self:end}
  .hero-rail{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .hero-stat strong{font-size:1.6rem}
  .mooring-line{width:100px;height:100px;right:-28px;top:24%}
  .mooring-line:after{width:160px}
  .fact-band,.cards,.lead-form-grid,.thanks-grid{grid-template-columns:1fr}
  .region-directory{grid-template-columns:1fr;gap:14px}
  .tariff-grid{grid-template-columns:1fr}
  .tariff-card{height:auto}
  .assurance-strip{grid-template-columns:auto 1fr}
  .assurance-strip .btn{grid-column:1/-1}
  .steps{grid-template-columns:1fr}
  .step,.step:nth-child(2){border-right:0;border-bottom:1px solid var(--color-line)}
  .step:last-child{border-bottom:0}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .cookie-row{grid-template-columns:1fr}
  .cookie-prefs.open{grid-template-columns:1fr}
  .contact-card,.lead-form{padding:24px}
  .nowrap-quote{white-space:normal}
  .price{white-space:normal;font-size:clamp(1.7rem,8vw,2.55rem)}
  .lead-form .btn{width:100%;max-width:100%}
}

@media (max-width:900px){
  .hero-inner > *,
  .split > *,
  .contact-layout > *,
  .news-case > *,
  .tariff-grid > *,
  .cards > *,
  .safety-grid > *,
  .footer-grid > *{
    min-width:0;
    max-width:100%;
  }
}

@media (max-width:640px){
  .brand span,
  .footer-legal,
  .footer-brand,
  .contact-meta strong{
    word-break:break-all;
    min-width:0;
  }
  .image-frame{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .image-frame.landscape,
  .image-frame.tall,
  .image-frame.wide{
    aspect-ratio:auto;
  }
  .image-frame img{
    height:auto;
    aspect-ratio:4/3;
  }
  .image-frame.tall img{
    aspect-ratio:4/5;
  }
  .image-label{
    position:static;
    max-width:100%;
    border-radius:var(--radius-sm);
  }
  .mooring-line{display:none}
}

@media (max-width:480px){
  .section{padding:48px 0}
  .container{width:min(calc(100% - 16px),var(--max))}
  .hero{padding:92px 0 36px;min-height:0}
  .hero-rail{grid-template-columns:1fr}
  .contact-card,.lead-form{padding:16px}
  .legal-hero,.thanks-hero{padding:120px 0 48px}
  .legal-content h2{font-size:clamp(1.4rem,6vw,2rem)}
  .cookie-banner{left:8px;right:8px;bottom:8px;padding:14px}
  .cookie-actions button{width:100%;max-width:100%}
}
