.subpage-hero { min-height: 46vh; background: linear-gradient(120deg, #05080c, #17243a); color: #fff; padding-bottom: 70px; }
.subpage-shell, .subpage-content { max-width: 1120px; margin: 0 auto; }
.subpage-shell { padding: 90px 32px 0; }
.subpage-shell h1 { max-width: 820px; margin: 0; font-size: clamp(54px, 8vw, 112px); letter-spacing: -.06em; line-height: .92; }
.subpage-intro { max-width: 720px; margin-top: 34px; font-size: clamp(22px, 2.3vw, 34px); line-height: 1.1; }
.subpage-visuals { padding: 44px 32px 0; }
.subpage-banner { overflow: hidden; border-radius: 26px; border: 1px solid #ffffff30; box-shadow: 0 18px 46px #0008; }
.subpage-banner img { display: block; width: 100%; height: clamp(150px, 20vw, 260px); object-fit: cover; }
.subpage-banner img[src$="/header.jpg"] { height: auto; max-height: none; object-fit: initial; }
.subpage-programme-visuals { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.subpage-programme-visuals img { display: block; width: 100%; height: clamp(120px, 16vw, 210px); object-fit: cover; border-radius: 22px; border: 1px solid #ffffff30; box-shadow: 0 18px 46px #0008; }
.hotel-branding { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 28px 0 0; padding: 20px 24px; border: 1px solid #ffffff35; border-radius: 22px; background: #fff; }
.hotel-branding > img:first-child { width: min(390px, 70%); height: auto; }
.hotel-branding .hotel-qr { width: 96px; height: 96px; }
.route-maps { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 28px; }
.route-maps figure { margin: 0; padding: 18px; border: 1px solid #ffffff35; border-radius: 22px; background: #fff; color: #101214; box-shadow: 0 18px 46px #0008; }
.route-maps figcaption { margin-bottom: 12px; font-size: 15px; font-weight: 700; }
.route-maps img { display: block; width: 100%; height: auto; }
.subpage-content { padding: 90px 32px 110px; color: #fff; }
.subpage-content p, .subpage-content li { max-width: 800px; font-size: clamp(18px, 1.35vw, 24px); line-height: 1.35; }
.subpage-content h3 { max-width: 900px; margin: 36px 0 14px; color: #fff; font-size: clamp(20px, 1.7vw, 28px); }
.subpage-content ul { max-width: 850px; padding-left: 1.2em; }
.subpage-content a { color: #9ed0ff; }
.subpage-footer { color: #fff; border-top: 1px solid #ffffff55; display: flex; justify-content: space-between; gap: 24px; padding: 28px 32px 40px; }
.subpage-footer a { color: #fff; }
.subpage-footer span { display: flex; gap: 24px; }
@media (max-width: 760px) { .subpage-shell, .subpage-content, .subpage-footer, .subpage-visuals { padding-left: 22px; padding-right: 22px; } .subpage-programme-visuals, .route-maps { grid-template-columns: 1fr; } .hotel-branding { align-items: flex-start; flex-direction: column; } .hotel-branding > img:first-child { width: min(390px, 100%); } .hotel-branding .hotel-qr { width: 88px; height: 88px; } .subpage-footer { flex-direction: column; } }
