*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#eef2f8;color:#0b2a55;font-family:Arial,Helvetica,sans-serif;line-height:1.5;border-top:6px solid #b31942}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none!important}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.site-header{background:#fff;border-bottom:4px solid #0b2a55;padding:10px 16px}
.logo{display:block;width:140px;margin:0 auto;border-radius:6px}
.logo img{width:100%}
main{max-width:960px;margin:0 auto;padding:16px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.card{background:#fff;border-radius:14px;padding:20px 18px;box-shadow:0 2px 10px rgba(11,42,85,.12)}
h1,h2{margin:0 0 .4em;line-height:1.15}
h1{font-size:clamp(28px,7vw,44px)}
h2{font-size:24px}
p{margin:0 0 .8em}
ul{list-style:none;margin:0;padding:0}
.vd,.deals{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.vd-hero{width:100%;border-radius:14px;background:#0b2a55;aspect-ratio:1374/478}
.offer{background:#0b2a55;color:#fff;text-align:center}
.kicker{display:block;font-size:.5em;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:.3em}
.kicker::before,.kicker::after{content:"\2605";color:#ff9aa9;margin:0 .5em}
.tagline{font-size:20px;font-weight:700}
.perks{display:grid;gap:10px;margin:18px 0}
.perks li{background:#fff;color:#0b2a55;border-radius:10px;padding:12px 8px;font-size:clamp(17px,4.8vw,22px);font-weight:900;text-transform:uppercase}
.dates{display:inline-block;background:#b31942;color:#fff;font-weight:700;font-size:18px;padding:8px 16px;border-radius:6px;margin:4px 0 14px}
.fine{font-size:16px;color:#fff}
.vd-photos{display:grid;gap:12px}
.vd-photos img{width:100%;border-radius:12px;background:#d8e0ec}
.btn{display:block;text-align:center;text-decoration:none;font-weight:700;font-size:18px;padding:14px 18px;border-radius:10px;border:2px solid transparent;min-height:48px}
.btn-red{background:#b31942;color:#fff}
.btn-red:hover{background:#8f1435}
.offer .btn-red{border-color:#fff;max-width:360px;margin:6px auto 0}
.btn-navy{background:#0b2a55;color:#fff}
.btn-navy:hover{background:#163d75}
.specials{display:grid;gap:10px;margin:14px 0 16px}
.intro{border-left:8px solid #b31942}
.locations{display:flex;flex-wrap:wrap;gap:8px}
.locations li{border:2px solid #0b2a55;border-radius:999px;padding:6px 14px;font-weight:700}
a:focus-visible{outline:4px solid #b31942;outline-offset:3px;box-shadow:0 0 0 7px #fff}
.offer a:focus-visible{outline-color:#fff;box-shadow:0 0 0 7px #b31942}
footer{text-align:center;font-size:14px;color:#33415c;padding:8px 16px 28px}
footer p{margin:.3em 0}
.build-label{overflow-wrap:anywhere}
@media(min-width:640px){
.logo{width:170px}
.site-header{padding:12px 24px}
main{padding:24px}
.card{padding:28px}
.perks{grid-template-columns:1fr 1fr}
.vd-photos{grid-template-columns:790fr 598fr}
.specials{grid-template-columns:repeat(3,minmax(0,1fr))}
.btn-red{display:inline-block;min-width:240px}
.offer .btn-red{display:block}
}
@media(prefers-reduced-motion:no-preference){.btn{transition:background-color .15s}}
