.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:35px}.offer-tile{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 28px #04275e09;transition:transform .2s}.offer-tile:hover{transform:translateY(-5px)}.offer-tile img{height:220px;width:100%;object-fit:cover}.offer-tile>div{padding:24px;display:flex;flex:1;flex-direction:column}.offer-tile small{color:#087f89;font-size:14px}.offer-tile h3{font:800 1.25rem/1.35 Montserrat,sans-serif;margin:13px 0;color:var(--navy)}.offer-price{font-weight:800;margin:auto 0 16px;padding-top:8px}.offer-tile span{font-size:14px;color:#087f89;font-weight:800}.new-offers{background:linear-gradient(180deg,#fff,#f0fafb)}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}.news-tile{border-top:3px solid var(--teal);padding:22px 0}.news-tile small{color:#087f89;letter-spacing:1px;font-weight:800;font-size:12px}.news-tile h3{font:800 1.25rem/1.4 Montserrat,sans-serif;color:var(--navy)}.news-tile p{color:var(--muted);line-height:1.7}.appointment-band{background:var(--navy);color:white}.appointment-band>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}.appointment-band h2{font:800 clamp(27px,4vw,42px)/1.2 Montserrat}.appointment-band .eyebrow{color:#6be0e3}.offers-intro h1,.article-body h1,.offer-detail h1,.section>.container>h1{font:800 clamp(32px,4.2vw,54px)/1.15 Montserrat,sans-serif;letter-spacing:-1.5px;color:var(--navy)}.offers-intro h1 em{font-family:Caveat;color:var(--teal);font-size:1.2em}.crumb{display:block;margin-bottom:28px;color:#087f89}.offer-detail{padding:38px 0 80px;background:#f5f9fb}.breadcrumbs{font-size:14px;color:var(--muted);margin-bottom:30px}.breadcrumbs a{color:#087f89}.detail-subtitle{color:var(--muted);font-size:18px}.gallery-open{display:block;position:relative;border:0;padding:0;border-radius:24px;overflow:hidden;background:var(--navy);width:100%;cursor:zoom-in}.gallery-open img{width:100%;height:440px;object-fit:cover}.gallery-open span{position:absolute;right:20px;bottom:20px;border-radius:30px;padding:12px 20px;background:#fff;color:var(--navy);font-size:14px;font-weight:800}.image-caption{font-size:13px;color:var(--muted);margin:12px 0 34px}.detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:45px;align-items:start}.detail-tabs{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}.detail-tabs a{padding:12px 17px;border-radius:12px;background:white;font-weight:800;color:var(--navy)}.detail-tabs a:hover{background:var(--ice)}.detail-section{padding:35px 0;scroll-margin-top:170px}.detail-section h2{font:800 1.5rem Montserrat;color:var(--navy)}.detail-section p{line-height:1.85;color:#50627a}.detail-section iframe{width:100%;height:330px;border:0;border-radius:20px}.booking-summary{position:sticky;top:160px;border:1px solid var(--line);background:#fff;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft)}.summary-top{padding:26px}.summary-top small{font-size:11px;letter-spacing:1px;color:#087f89;font-weight:800}.summary-top strong{display:block;font:800 1.55rem/1.4 Montserrat;color:var(--navy);margin:14px 0}.summary-top p{font-size:14px;color:var(--muted)}.summary-top .button{padding:12px 15px;font-size:14px;width:100%}.booking-summary dl{border-block:1px solid var(--line);padding:24px;margin:0}.booking-summary dt{font-size:12px;color:#087f89;text-transform:uppercase;font-weight:800;margin-top:18px}.booking-summary dt:first-child{margin-top:0}.booking-summary dd{margin:5px 0 0;font-size:15px}.summary-appointment{display:block;padding:20px;font-size:14px;font-weight:700;color:#087f89}.transport-box{padding:24px;background:white;border:1px solid var(--line);border-radius:18px;line-height:1.8}.article-body{max-width:860px}.article-body>p{font-size:18px;line-height:1.9}.enquiry-form{background:#f5f9fb;border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.enquiry-form label{font-size:14px;font-weight:700}.enquiry-form input,.enquiry-form textarea,.enquiry-form select{display:block;width:100%;min-width:0;background:white;padding:12px;border:1px solid var(--line);border-radius:10px;margin-top:8px;color:var(--navy);font:inherit;font-size:16px}.enquiry-form .full{grid-column:1/-1}.enquiry-form p{font-size:14px;line-height:1.6}.photo-dialog{max-width:min(1100px,95vw);max-height:94vh;border:0;border-radius:16px;padding:16px;background:white}.photo-dialog::backdrop{background:#021d48db}.photo-dialog img{max-width:100%;max-height:75vh;object-fit:contain;margin:auto}.photo-dialog button{display:block;margin:0 0 12px auto;border:1px solid var(--line);border-radius:20px;padding:10px 18px;background:white;color:var(--navy)}
@media(max-width:850px){.offer-grid,.news-grid{grid-template-columns:1fr 1fr}.detail-columns{grid-template-columns:1fr;gap:20px}.booking-summary{position:static;grid-row:1}.gallery-open img{height:320px}.appointment-band>.container{align-items:flex-start;flex-direction:column}.detail-section{scroll-margin-top:95px}}
@media(max-width:580px){.offer-grid,.news-grid,.enquiry-form{grid-template-columns:1fr}.offer-tile img{height:220px}.gallery-open img{height:240px}.gallery-open{border-radius:16px}.detail-tabs a{padding:10px;font-size:14px}.offer-detail{padding-top:24px}.enquiry-form{padding:20px}.detail-columns{gap:12px}}
