/* Visit Sharm: responsive destination photography, October 2026. */
img[data-photo]{height:auto;background:#d9e4e5}
.hero img[data-photo],.subhero img[data-photo]{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{background:linear-gradient(90deg,rgba(3,23,33,.65),rgba(3,23,33,.22) 55%,rgba(3,23,33,.04)),linear-gradient(0deg,rgba(3,23,33,.5),transparent 50%)}
.subhero-overlay{background:linear-gradient(90deg,rgba(3,23,33,.68),rgba(3,23,33,.12) 78%),linear-gradient(0deg,rgba(3,23,33,.36),transparent 55%)}
.hero h1{font-size:clamp(58px,6.8vw,92px);line-height:1.03;letter-spacing:-.025em;max-width:780px}
.hero-content{width:min(920px,calc(100% - 36px));padding-top:clamp(170px,21vh,225px);padding-bottom:115px}
.hero-lead{max-width:620px;font-size:clamp(18px,1.6vw,21px);line-height:1.6}
.subhero{min-height:640px;height:76vh;max-height:820px}
.subhero-content{max-width:1000px;padding-top:160px;padding-bottom:76px}
.subhero h1{font-size:clamp(46px,6.2vw,82px);line-height:1.04;letter-spacing:-.025em;max-width:920px}
.subhero p:not(.kicker){font-size:clamp(18px,1.6vw,21px);max-width:730px;line-height:1.6}
.feature-band img[data-photo]{height:100%;min-height:480px;object-fit:cover}
.experience-card img[data-photo]{height:100%;object-fit:cover}
.book-card img[data-photo]{height:auto;aspect-ratio:3/2;object-fit:cover}
.news-card img[data-photo]{height:260px;object-fit:cover}
.booking-home img[data-photo]{height:390px;object-fit:cover}
.photo-caption{margin:0;padding:14px clamp(18px,6vw,80px);font-size:12px;color:var(--muted);background:#eeeae3}
.photo-credit-link{font-size:12px;opacity:.75;margin-top:16px}.photo-credit-link a{text-decoration:underline;text-underline-offset:3px}
.credits-intro{padding-top:160px;padding-bottom:25px;max-width:1050px}.credits-intro h1{font-family:Georgia,serif;font-size:clamp(38px,5vw,64px);font-weight:400}.credit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.credit-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.credit-card img[data-photo]{height:220px;object-fit:cover}.credit-card>div{padding:22px}.credit-card h2{font-size:22px;line-height:1.2}.credit-card p{font-size:13px;line-height:1.7}.credit-card p a{text-decoration:underline}
@media(max-width:900px){.hero-content{padding-bottom:285px}.credit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.hero{min-height:830px}.hero-content{padding-top:155px;padding-left:22px;padding-bottom:275px;width:calc(100% - 24px)}.hero h1{font-size:54px;line-height:1.03}.hero-lead{font-size:17px}.subhero{height:auto;min-height:650px;max-height:none;display:flex;align-items:flex-end}.subhero-content{padding:155px 22px 70px;width:100%;max-width:100%}.subhero h1{font-size:46px;line-height:1.06;overflow-wrap:break-word}.subhero p:not(.kicker){font-size:17px;line-height:1.6}.hero-overlay,.subhero-overlay{background:linear-gradient(0deg,rgba(3,23,33,.78),rgba(3,23,33,.20) 85%)}.hero img[data-photo]{object-position:62% center}.feature-band img[data-photo]{min-height:0;height:350px}.booking-home img[data-photo]{height:280px}.news-card img[data-photo]{height:230px}.credit-grid{grid-template-columns:1fr}.photo-caption{line-height:1.6}}
@media(prefers-reduced-motion:reduce){.experience-card img,.book-card img{transition:none;transform:none!important}}
.subhero{margin-top:90px;min-height:560px;height:72vh;max-height:760px}.subhero-content{padding-top:110px}.subhero img[data-photo="turtle"]{object-position:center top}
@media(max-width:640px){.subhero{margin-top:86px;min-height:590px;height:auto;max-height:none}.subhero-content{padding-top:110px;padding-bottom:65px}.subhero img[data-photo="turtle"]{object-position:36% center}}

/* Uniform destination cards: source aspect ratios must not change grid geometry. */
.portal-card>a{display:flex;flex-direction:column;height:100%}
.portal-card img[data-photo]{display:block;width:100%;height:230px;flex:0 0 230px;object-fit:cover;object-position:center}
.portal-card>a>div{display:flex;flex-direction:column;flex:1;min-height:260px;align-items:flex-start}
.portal-card h3{min-height:2.1em}
.portal-card strong{align-self:flex-start;margin-top:auto;padding-top:24px}
@media(max-width:640px){.portal-card>a>div{min-height:0}.portal-card h3{min-height:0}}
