/* Mobile polish layer: loaded after style.css, applies to screens up to 900px */
html{scroll-padding-top:72px}
body{font-size:16px;line-height:1.7}
img,svg,iframe,video{max-width:100%}
.w{padding:0 20px}
header{box-shadow:0 1px 0 var(--line)}

/* footer + newsletter: normal flow, nothing overlaps the page content */
footer{margin-top:48px;padding:8px 0 96px}
footer .w{padding:0 20px}
.fnl{display:block;transform:none!important;margin:36px 0 34px;padding:24px 20px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid #22375a;box-shadow:none}
.fnl h3{font-size:24px}.fnl p{font-size:15px;margin-bottom:0}.fnl>div+div{margin-top:16px}
.fnl small{display:block;margin-top:10px}
.nl input,.nl button{font-size:16px;min-height:48px}
footer .fg{grid-template-columns:1fr 1fr;gap:30px 18px;margin-top:0;padding-bottom:30px}
footer .fg>div:first-child,footer .fg>div:nth-child(4){grid-column:1/-1}
.fg h4{margin-bottom:12px}.fg a{padding:6px 0;font-size:15px}
.fd{padding-top:18px}.fbar{gap:10px}

/* hero — full-bleed image with overlaid text, single authoritative mobile definition */
.hero{position:relative;padding:0;overflow:hidden;height:auto;min-height:min(88vw,560px);max-height:640px;display:flex;align-items:flex-end;border-radius:0 0 28px 28px}
.hero .w{display:block;position:relative;z-index:2;padding:0 22px calc(30px + env(safe-area-inset-bottom,0px));width:100%}
.hero .imgwrap{position:absolute;inset:0;max-width:none;width:100%;height:100%;margin:0;z-index:0}
.hero .imgwrap:before{display:none}
.hero img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 22%;border-radius:0;box-shadow:none;margin:0}
.hero:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,26,48,.15) 0%,rgba(11,26,48,.35) 45%,rgba(11,26,48,.92) 100%);pointer-events:none}
.hero .eyebrow{margin-bottom:14px}
.hero h1{font-size:clamp(30px,8.6vw,40px);line-height:1.14;margin-bottom:12px;text-shadow:0 2px 16px rgba(0,0,0,.35)}
.hero p{font-size:16px;line-height:1.55;margin-bottom:22px;color:#e4e9f2;max-width:46ch}
.btn{width:auto}.hero .btn,.cf .btn,.cta .btn{width:100%}
.hero .btn{padding:16px 28px;box-shadow:0 10px 26px rgba(193,154,82,.4)}
@media(max-height:640px){.hero{min-height:78vw}}
@media(min-width:480px) and (max-width:900px){.hero{min-height:420px}.hero p{max-width:52ch}}

/* sections, cards, forms */
section{padding:48px 0}
section h2{font-size:26px;margin-bottom:24px}
.grid.hs{scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.card{border-radius:16px;box-shadow:0 4px 18px rgba(15,31,56,.09)}
.card:active{transform:scale(.98)}
.cf{box-shadow:0 4px 24px rgba(15,31,56,.08)}
.cf input,.cf textarea{font-size:16px}
.dd .dt,nav>a{min-height:48px;display:flex;align-items:center}

/* cookie banner */
#cc{font-size:13px;padding:14px 16px;gap:10px}#cc button{flex:1}
