/* Shared hospitality imagery: matches the AFG executive presentations. */
.hospitality-hero .hero-grid{align-items:center;gap:48px}
.hospitality-portrait{margin:0;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;isolation:isolate;background:var(--panel);min-width:0}
.hospitality-portrait img{display:block;width:100%;height:620px;object-fit:cover;object-position:58% center;filter:brightness(1.55)}
.hospitality-portrait:after{content:"";position:absolute;inset:35% 0 0;z-index:0;background:linear-gradient(transparent,rgba(5,16,29,.96))}
.hospitality-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px;z-index:1}
.hospitality-portrait .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:14px}
.hospitality-portrait blockquote{font:600 clamp(23px,2.3vw,31px)/1.35 "Manrope",sans-serif;margin:0 0 13px;letter-spacing:-.03em}
.hospitality-portrait p{color:#d2dce6;font-size:15px;line-height:1.6;margin:0}
.hospitality-portrait small{display:block;color:#c0cdd8;font-size:11px;line-height:1.5;margin-top:17px}
.hospitality-sectors{padding:65px 0 45px}
.hospitality-sectors .section-head{margin-bottom:30px}
.hospitality-sectors h2{font-size:clamp(30px,3.6vw,46px)}
.hospitality-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hospitality-option{display:block;position:relative;overflow:hidden;min-height:365px;border-radius:20px;border:1px solid var(--line);background:var(--panel)}
.hospitality-option img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:brightness(1.65);transition:transform .3s ease}
.hospitality-option:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,16,29,.05) 15%,rgba(7,16,29,.93) 100%)}
.hospitality-option>div{position:relative;z-index:1;padding:155px 30px 30px}
.hospitality-option .eyebrow{margin-bottom:12px;color:#ffe2a7}
.hospitality-option h3{font-size:clamp(25px,2.5vw,33px);max-width:23ch;line-height:1.22}
.hospitality-option p{color:#d6e0e8;max-width:43ch;line-height:1.6;font-size:16px;margin:13px 0 18px}
.hospitality-option .visual-link{font-weight:700;color:var(--gold2);font-size:14px}
.hospitality-option:hover img{transform:scale(1.025)}
.hospitality-option:focus-visible{outline:3px solid var(--gold2);outline-offset:5px}
.hospitality-art-note{color:var(--muted);font-size:12px;line-height:1.6;margin:16px 0 0}
.memory-journey{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:36px 0 40px;gap:0;counter-reset:journey}
.memory-journey li{counter-increment:journey;position:relative;border-top:2px solid rgba(88,194,207,.42);padding:27px 25px 0 0;min-width:0}
.memory-journey li:before{content:"0" counter(journey);display:block;font:700 13px "DM Sans",sans-serif;color:var(--teal);letter-spacing:.12em;margin-bottom:16px}
.memory-journey li:not(:last-child):after{content:"→";position:absolute;right:24px;top:19px;font-size:25px;color:var(--gold2)}
.memory-journey h3{font-size:23px;line-height:1.25;margin:0 0 13px}
.memory-journey p{color:var(--muted);font-size:16px;line-height:1.65;margin:0;max-width:25ch}
.memory-journey strong{color:#fff;font-weight:500}
.residence-photo{margin:0 0 35px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.residence-photo img{display:block;width:100%;height:360px;object-fit:cover;object-position:center 56%}
.residence-photo figcaption{padding:16px 22px;font-size:13px;line-height:1.6;color:var(--muted)}
.residence-photo strong{color:var(--gold2)}
.hero.compact.hospitality-hero .hero-grid{grid-template-columns:1.12fr .88fr;max-width:1280px}
.hero.compact.hospitality-hero h1{font-size:clamp(38px,4.6vw,62px);max-width:18ch;line-height:1.07}
.hero.compact.hospitality-hero .hero-copy{font-size:18px}
.hero.compact.hospitality-hero .hospitality-portrait img{height:570px}
.hospitality-portrait.ship-portrait img{object-position:42% center}
@media(max-width:980px){
 .hero.compact.hospitality-hero .hero-grid{grid-template-columns:1fr;gap:32px}
 .hospitality-portrait img,.hero.compact.hospitality-hero .hospitality-portrait img{height:470px;object-position:center 48%}
 .memory-journey{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}
 .memory-journey li:nth-child(2):after{display:none}
}
@media(max-width:640px){
 .hospitality-sectors{padding:42px 0 20px}
 .hospitality-options{grid-template-columns:1fr;gap:20px}
 .hospitality-option{min-height:340px}
 .hospitality-option>div{padding:145px 24px 25px}
 .hospitality-portrait img,.hero.compact.hospitality-hero .hospitality-portrait img{height:440px;object-position:62% center}
 .hospitality-portrait figcaption{padding:24px}
 .hospitality-portrait blockquote{font-size:25px}
 .memory-journey{display:block;margin:30px 0}
 .memory-journey li{padding:0 0 28px 27px;border-top:0;border-left:2px solid rgba(88,194,207,.42)}
 .memory-journey li:before{margin-bottom:10px}
 .memory-journey li:not(:last-child):after{content:"↓";display:block;top:auto;bottom:5px;left:-9px;right:auto;background:var(--bg);line-height:1}
 .memory-journey li:last-child{padding-bottom:0}
 .memory-journey p{max-width:36ch}
 .residence-photo img{height:250px}
}
@media(prefers-reduced-motion:reduce){.hospitality-option img{transition:none}.hospitality-option:hover img{transform:none}}
