:root{font-family:"Inter",system-ui,sans-serif;color:#10223b;background:#f8fafc;line-height:1.65;--navy:#10223b;--edge:#d7e1eb;--link:#075378}
*{box-sizing:border-box}
body{margin:0}
a{color:var(--link);text-underline-offset:.24em}
a:focus-visible{outline:3px solid #c15a00;outline-offset:4px}
img{max-width:100%;height:auto;display:block}
.wrap{width:min(calc(100% - 2rem),72rem);margin-inline:auto}
.narrow{max-width:48rem}
header{background:white;border-bottom:1px solid var(--edge)}
.header,.footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1rem;flex-wrap:wrap}
.header img{width:13rem}
nav{display:flex;gap:.45rem 1.1rem;flex-wrap:wrap}
nav a{padding:.3rem 0;font-weight:650;text-decoration:none}
nav [aria-current]{text-decoration:underline}
h1,h2{line-height:1.12;letter-spacing:-.035em;margin:0 0 1rem}
h1{font-size:clamp(2.35rem,5vw,4.7rem)}
h2{font-size:clamp(1.45rem,3vw,2.3rem)}
p{margin:0 0 1rem}
.hero,.intro{background:var(--navy);color:#fff;padding-block:clamp(2.5rem,7vw,6rem)}
.hero p,.intro p{max-width:43rem;color:#d8e8f1;font-size:1.12rem}
.hero .place{font-size:.86rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#94deee}
.hero a{color:#d8f5fc}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(1.5rem,5vw,4rem)}
.feature-image{border-radius:.75rem;width:100%;object-fit:cover}
.hero .feature-image{aspect-ratio:5/4}
.section{padding-block:clamp(2.5rem,6vw,5rem)}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.button,.hero .button{display:inline-block;padding:.75rem 1.15rem;border-radius:.4rem;background:#0c567c;color:white;text-decoration:none;font-weight:700}
.hero .button{background:#a8e7f2;color:#10223b}
.button:hover{filter:brightness(1.12)}
.tiles,.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.tiles a,.card{background:white;border:1px solid var(--edge);border-radius:.6rem;padding:1.35rem;overflow-wrap:anywhere}
.tiles a{display:flex;justify-content:space-between;gap:1rem;font-weight:700}
.card h2{font-size:1.45rem}
.card p:last-child{margin-bottom:0}
.tip{border-top:1px solid var(--edge);padding-top:.8rem;color:#384c62}
.band{background:#e9f3f8}
.guide li{margin-bottom:.85rem}
.guide h2:not(:first-child){margin-top:2.5rem}
footer{background:#e5edf4;border-top:1px solid var(--edge);padding-block:1.5rem}
.footer{align-items:flex-start}
.footer p{margin:.45rem 0 0;text-align:left}
address{font-style:normal}
.skip{position:absolute;left:1rem;top:-5rem;background:#fff;padding:.55rem;z-index:10}
.skip:focus{top:.5rem}
@media(max-width:700px){.split,.grid,.tiles{grid-template-columns:1fr}.hero .feature-image{aspect-ratio:4/3}.header img{width:10rem}}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.15rem}
.section-head h2{margin:0}
.featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.feature-card{display:block;overflow:hidden;border:1px solid var(--edge);border-radius:.75rem;background:white;font-weight:700;text-decoration:none}
.feature-card img,.product-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.feature-card>span{display:flex;justify-content:space-between;gap:.75rem;padding:1rem}
.feature-card:hover>span{text-decoration:underline}
.more-title{margin:2rem 0 .8rem}
.product-card{padding:0;overflow:hidden}
.card-copy{padding:1.35rem}
.quote-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.25rem;padding:clamp(1.35rem,5vw,3.2rem);border:1px solid var(--edge);background:white;border-radius:.75rem}
.quote-panel p{margin:0}
@media(max-width:700px){.featured{grid-template-columns:1fr}}

/* Homepage */
.home-page{background:#f7f9fc;color:#10243c;--link:#075378}
.home-page .wrap{width:min(calc(100% - 3rem),78rem)}
.home-page header{background:#f7f9fc;border-color:#d6e1ed}
.home-page .header{min-height:5.25rem}
.home-page nav{gap:.5rem 1.7rem}
.home-page nav a{color:#203750;font-size:.94rem}
.home-page nav [aria-current]{color:#075378;text-underline-offset:.5em}
.front-hero{padding-block:clamp(2.5rem,5.8vw,5.7rem);background:#e8eff7;border-bottom:1px solid #d6e1ed}
.front-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.8rem,5vw,5.4rem);align-items:center}
.front-copy .location{display:flex;align-items:center;gap:.55rem;font-size:.82rem;font-weight:650;color:#34516d;margin-bottom:1.35rem}
.location span{width:.44rem;height:.44rem;border-radius:50%;background:#087ca8}
.front-copy h1{font-size:clamp(2.65rem,4.8vw,5.05rem);line-height:1.02;letter-spacing:-.06em;font-weight:740;max-width:13ch}
.front-summary{max-width:38ch;font-size:clamp(1rem,1.4vw,1.18rem);color:#3d526c}
.front-image{width:100%;aspect-ratio:6/5;object-fit:cover;object-position:52% 50%;border-radius:.35rem}
.front-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.45rem;margin-top:1.65rem}
.home-page .button{display:inline-flex;align-items:center;gap:1.1rem;background:#0c567c;border-radius:.3rem}
.home-page .text-link{font-weight:680;text-underline-offset:.33em}
.text-link span{display:inline-block;margin-left:.3rem}
.catalog-section{padding-block:clamp(3rem,6vw,6rem)}
.front-section-head{display:flex;justify-content:space-between;align-items:end;gap:.85rem 2rem;flex-wrap:wrap;margin-bottom:1.85rem}
.front-section-head h2,.quote-layout h2{font-size:clamp(2rem,3.7vw,3.5rem);letter-spacing:-.05em;margin:0 0 .6rem}
.front-section-head p,.quote-layout p{margin:0;color:#425973}
.range-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8rem 1.2rem}
.range-link{display:block;height:100%;color:inherit;text-decoration:none;border-bottom:1px solid #cfdbe8}
.range-link img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:.3rem;background:#e8eff7}
.range-text{display:grid;grid-template-columns:1fr auto;align-items:start;gap:.35rem .6rem;padding:.85rem 0 1.05rem}
.range-text h3{font-size:1.02rem;line-height:1.24;margin:0;letter-spacing:-.01em}
.range-text p{grid-column:1/-1;margin:0;color:#425973;font-size:.86rem;line-height:1.4}
.range-arrow{color:#075378;line-height:1.25;font-size:1.12rem}
.range-link:hover h3{text-decoration:underline;text-underline-offset:.22em;color:#075378}
.front-quote{background:#102b49;color:#fff;padding-block:clamp(2.5rem,6vw,5.5rem)}
.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.75rem 4rem}
.quote-layout p{max-width:53ch;color:#d5e8f6}
.quote-links{display:grid;justify-items:start;gap:.8rem}
.front-quote .button{background:#d6eefb;color:#102b49}
.front-quote .text-link{color:#e1f0fa}
.home-page footer{background:#edf2f8;border-color:#d6e1ed}
@media(max-width:950px){.range-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.front-layout,.quote-layout{grid-template-columns:1fr}.front-copy h1{max-width:17ch}.front-image{aspect-ratio:5/3}.home-page .header{min-height:0}}
@media(max-width:560px){.home-page .wrap{width:calc(100% - 2.25rem)}.range-grid{grid-template-columns:1fr;gap:1.4rem}.home-page nav{gap:.25rem 1rem}.front-actions{margin-top:1.2rem}}
