/* Stage 6 third concept: photo-led gallery and contact layout refinement. */
.gallery-section{background:#f5f8fa}
.gallery-section .section-head{max-width:1200px;margin:0 auto 2.1rem}
.gallery-filter-bar{max-width:1200px;margin:0 auto 3rem;display:flex;gap:.55rem;flex-wrap:wrap}
.gallery-filter{appearance:none;border:1px solid #c4d4df;background:#fff;color:#284357;cursor:pointer;border-radius:999px;padding:.72rem .9rem;font-family:inherit;font-size:.72rem;line-height:1.2;font-weight:700;display:inline-flex;align-items:center;gap:.6rem;transition:background .2s,color .2s,transform .2s,border-color .2s}
.gallery-filter span{color:#58758a;font-size:.64rem;font-weight:700}
.gallery-filter:hover,.gallery-filter:focus-visible{transform:translateY(-2px);border-color:#147bb6}
.gallery-filter.is-active{background:#126ca7;border-color:#126ca7;color:#fff;box-shadow:0 6px 14px #0c639229}
.gallery-filter.is-active span{color:#d9f2ff}
.gallery-filter:focus-visible,.gallery-card:focus-visible{outline:3px solid #f2ab52;outline-offset:3px}
.gallery-groups{max-width:1200px;margin:auto;display:grid;gap:4rem}
.gallery-group[hidden]{display:none!important}
.gallery-group-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:0 0 .85rem;border-bottom:1px solid #c5d3dd;margin-bottom:1.2rem}
.gallery-group-heading h3{font-size:clamp(1.45rem,2.2vw,2.3rem);letter-spacing:-.04em;color:#102a43;margin:0}
.gallery-group-heading span{font-size:.69rem;color:#58758a;font-weight:760;white-space:nowrap}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}
.gallery-card{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:#dce6ec;color:#fff;isolation:isolate}
.gallery-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.8,.2,1),filter .3s}
.gallery-card::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#061d30c7);pointer-events:none}
.gallery-card:hover img,.gallery-card:focus-visible img{transform:scale(1.055);filter:saturate(1.07)}
.gallery-card-caption{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:1.1rem;display:flex;align-items:end;justify-content:space-between;gap:.5rem}
.gallery-card-caption strong{font-size:.75rem;line-height:1.2;font-weight:780}
.gallery-card-caption span{font-size:1.3rem;line-height:1}
.gallery-caution{max-width:1200px;margin:3.2rem auto 0;color:#5b7180;font-size:.79rem}
.gallery-peek-section{padding:5.2rem clamp(1.5rem,7vw,8rem);background:#122f49;color:#fff}
.gallery-peek-heading{max-width:1200px;margin:0 auto 2rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}
.gallery-peek-heading h2{color:#fff;margin:0 0 .5rem}
.gallery-peek-heading p{color:#b7cfdf;margin:0}
.gallery-peek-heading>a{color:#b8e1fb;border-bottom:1px solid #b8e1fb;padding-bottom:.35rem;font-weight:730;font-size:.78rem;white-space:nowrap}
.gallery-peek-heading>a span{margin-left:.5rem}
.gallery-peek-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}
.gallery-peek-card{display:block;background:#244760;color:#fff;min-width:0;overflow:hidden}
.gallery-peek-card img{display:block;width:100%;height:165px;object-fit:cover;transition:transform .4s}
.gallery-peek-card:hover img,.gallery-peek-card:focus-visible img{transform:scale(1.06)}
.gallery-peek-card span{display:flex;justify-content:space-between;gap:.4rem;align-items:center;padding:.85rem;font-size:.68rem;font-weight:740;line-height:1.2}
.gallery-peek-card b{font-size:1.05rem;font-weight:400}
.social-updates{background:#eff5f8}
.social-updates-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.social-update-card{display:flex;flex-direction:column;min-width:0;background:#fff;color:#102a43;padding:0 0 1.3rem;transition:transform .25s,box-shadow .25s}
.social-update-card:hover,.social-update-card:focus-visible{transform:translateY(-5px);box-shadow:0 14px 28px #102a4322}
.social-update-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1.3rem}
.social-update-card span,.social-update-card strong,.social-update-card b{margin-left:1.3rem;margin-right:1.3rem}
.social-update-card span{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:#126ca7;font-weight:800}
.social-update-card strong{font-size:1.18rem;line-height:1.2;margin-top:.6rem;margin-bottom:1.5rem}
.social-update-card b{font-size:.75rem;margin-top:auto;color:#126ca7}
.contact-route-grid .route-card{min-width:0}
.contact-route-grid .route-bottom{min-width:0}
.contact-route-grid .route-bottom span{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.enquiry-builder{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,7rem);background:#e7f0f5;max-width:none}
.enquiry-builder h2{color:#102a43}
.enquiry-builder h2 em{color:#126ca7}
.enquiry-intro>p:not(.eyebrow){color:#506c7d;max-width:28rem}
.enquiry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;align-content:start}
.enquiry-form label{display:flex;flex-direction:column;gap:.5rem;color:#19394f;font-size:.76rem;font-weight:760}
.enquiry-form .enquiry-wide,.enquiry-actions,.enquiry-privacy{grid-column:1/-1}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;min-width:0;border:1px solid #bdd0dc;border-radius:0;background:#fff;padding:.85rem 1rem;color:#102a43;font:inherit;font-weight:500;outline:none}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:#126ca7;box-shadow:0 0 0 3px #126ca72b}
.enquiry-form textarea{resize:vertical}
.enquiry-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.3rem}
.enquiry-actions .action{cursor:pointer;border:0}
.enquiry-actions .action-email{background:#fff;color:#102a43;border:1px solid #97b6c8}
.enquiry-actions .action-email::before{background:#d7e9f3}
.enquiry-privacy{font-size:.69rem;color:#5c7686;margin:0}
@media(max-width:1200px){.contact-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-peek-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.social-updates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.gallery-filter-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:.7rem;margin-bottom:2rem}.gallery-filter{white-space:nowrap;flex:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-groups{gap:3rem}.gallery-peek-section{padding:4rem 1.5rem}.gallery-peek-heading{align-items:start;flex-direction:column;gap:1rem}.gallery-peek-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.enquiry-builder{grid-template-columns:1fr}}
@media(max-width:560px){.contact-route-grid{grid-template-columns:1fr}.gallery-grid{gap:.45rem}.gallery-card{aspect-ratio:1/1.08}.gallery-card-caption{padding:.65rem}.gallery-card-caption strong{font-size:.66rem}.gallery-group-heading{align-items:start;flex-direction:column;gap:.2rem}.gallery-peek-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem}.gallery-peek-card{min-width:66%;scroll-snap-align:start}.social-updates-grid{grid-template-columns:1fr}.enquiry-form{grid-template-columns:1fr}.enquiry-actions .action{width:100%}}
@media(prefers-reduced-motion:reduce){.gallery-filter,.gallery-card img{transition:none!important}}
