/* Owner-approved PDF concept 01: a light Christmas opening with real photography. */
@font-face{font-family:Prata;src:url('assets/prata.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
h1,h2{font-family:Prata,Georgia,'Times New Roman',serif;letter-spacing:-.025em}
.header-actions .small-btn{font-size:14px;min-height:48px}
.hero-emotion{overflow:clip;padding:44px 0 0;background:#eef5f6}
.hero-emotion:before,.hero-emotion:after{display:none}
.emotion-grid{display:grid;grid-template-columns:1fr 1.08fr;grid-template-areas:'intro photo' 'details photo';gap:24px 56px;align-items:start}
.emotion-intro{grid-area:intro;min-width:0}
.hero-emotion .eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:24px;color:var(--muted)}
.hero-emotion h1{font-size:clamp(40px,4vw,57px);line-height:1.2}
.emotion-promise{font:400 clamp(21px,1.9vw,26px)/1.5 Montserrat,Arial,sans-serif;letter-spacing:0;color:var(--wine);max-width:440px;margin-top:24px;text-wrap:pretty}
.emotion-photo{grid-area:photo;align-self:center;min-width:0;margin:0}
.emotion-photo-frame{aspect-ratio:1.18;overflow:hidden;border-radius:24px;background:#e5ece9}
.emotion-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 61%;transform:scale(1.045)}
.emotion-photo figcaption{margin-top:12px;font-size:11px;line-height:1.5;color:var(--muted);text-align:right}
.emotion-details{grid-area:details;min-width:0}
.emotion-lead{font-size:17px;line-height:1.75;max-width:410px;color:var(--muted)}
.hero-emotion .trip-date{font-size:15px;margin-top:22px;gap:5px 8px;line-height:1.5}
.hero-emotion .trip-date>span:last-child{font-size:15px;color:var(--ink)}
.hero-emotion .trip-date>span:first-child{font-size:14px;color:var(--muted)}
.emotion-highlights{display:none}
.hero-emotion .hero-actions{grid-template-columns:.8fr 1.15fr;margin-top:24px;gap:12px}
.hero-emotion .hero-actions .btn{font-size:14px;min-height:52px;padding:12px 14px;gap:8px;border-radius:13px}
.emotion-more{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:9px;font-size:14px;color:var(--action)}
.emotion-more:hover{text-decoration:underline;text-underline-offset:4px}
.hero-emotion .trip-facts{font-size:14px;line-height:1.6;margin-top:8px;max-width:460px}
.emotion-inclusions{margin-top:38px;padding:24px 0 28px;border-top:1px solid #d8e5e5;background:#fbfdfb}
.emotion-inclusions p{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted);margin-bottom:16px}
.emotion-inclusions ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0}
.emotion-inclusions li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.55;font-weight:400}
.emotion-inclusions li>span{font-size:16px;line-height:1.4;color:var(--action);flex:none}
#price{scroll-margin-top:110px}
.price-context{font-size:14px;line-height:1.65;color:var(--muted);margin-top:15px}
.booking-aside .aside-fares p,.booking-aside .aside-early,.booking-aside .aside-small,.booking-aside .payment-note span{font-size:14px;line-height:1.65}
.seat-price-note{font-size:14px;line-height:1.65;color:var(--muted);padding-top:16px;margin-top:18px;border-top:1px solid var(--line)}
/* The market from PDF concept 02 replaces the previous similar photograph. */
.moment-card:nth-child(2) img{object-position:50% 61%}
@media(max-width:1100px){
 .emotion-grid{gap:24px 32px;grid-template-columns:1fr 1fr}
 .hero-emotion h1{font-size:44px}
 .emotion-promise{font-size:23px}
 .hero-emotion .hero-actions{grid-template-columns:1fr}
 .emotion-photo-frame{border-radius:20px;aspect-ratio:4/5}
 .emotion-inclusions ul{gap:18px}
 .emotion-inclusions li{gap:7px}
}
@media(min-width:701px) and (max-width:850px){
 .hero-emotion h1{font-size:36px}
 .emotion-grid{gap:20px 25px;grid-template-columns:1fr 1fr}
 .emotion-promise{font-size:21px}
 .emotion-inclusions ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px}
 .emotion-photo figcaption{text-align:left}
}
@media(max-width:700px){
 .header-inner{min-height:60px;padding-block:6px;flex-wrap:nowrap}
 .header .brand img{width:150px}
 .header-actions{flex-wrap:nowrap}
 .header-actions .small-btn{font-size:14px;min-height:44px;padding:10px 12px;border-radius:12px}
 .hero-emotion{padding:24px 0 0}
 .hero-emotion .wrap{width:calc(100% - 48px)}
 .emotion-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'photo' 'details';gap:18px}
 .hero-emotion .eyebrow{font-size:10px;letter-spacing:.065em;margin-bottom:12px;line-height:1.4}
 .hero-emotion h1{font-size:clamp(30px,8.75vw,38px);line-height:1.2}
 .emotion-promise{font-size:17px;line-height:1.45;margin-top:16px;max-width:330px;text-wrap:pretty}
 .emotion-photo-frame{aspect-ratio:4/3;border-radius:18px}
 .emotion-photo img{object-position:50% 58%;transform:scale(1.15)}
 .emotion-photo figcaption{margin-top:7px;font-size:10px;text-align:left;line-height:1.5}
 .emotion-lead{display:none}
 .hero-emotion .trip-date{font-size:14px;margin-top:0;line-height:1.5;gap:4px 6px}
 .hero-emotion .trip-date>span:last-child{font-size:14px}
 .emotion-highlights{display:grid;gap:6px;margin:14px 0 0;padding:0;list-style:none}
 .emotion-highlights li{display:flex;gap:9px;align-items:flex-start;font-size:14px;line-height:1.5}
 .emotion-highlights li>span{color:var(--action);flex:none}
 .hero-emotion .hero-actions{grid-template-columns:1fr;margin-top:18px;gap:10px}
 .hero-emotion .hero-actions .btn{font-size:16px;min-height:52px;padding:12px 10px}
 .hero-emotion .hero-actions .secondary{font-size:14px;min-height:50px}
 .emotion-more{display:none}
 .hero-emotion .trip-facts{font-size:14px;line-height:1.5;margin-top:16px;text-align:center;text-wrap:balance}
 .hero-emotion .trip-facts span{margin-inline:3px}
 .emotion-inclusions{margin-top:24px;padding:24px 0}
 .emotion-inclusions p{font-size:14px;letter-spacing:0;margin-bottom:15px}
 .emotion-inclusions ul{grid-template-columns:1fr;gap:11px}
 .emotion-inclusions li{font-size:14px;gap:11px}
 .mobile-dock{padding-top:9px;padding-bottom:calc(9px + env(safe-area-inset-bottom))}
 .mobile-dock .btn,.dock-contact{font-size:14px;min-height:50px}
 body.hero-dock-managed:not(.past-hero) .mobile-dock{display:none}
 #price{scroll-margin-top:90px}
}
@media(max-width:360px){
 .header .brand img{width:125px}
 .header-actions .small-btn{font-size:14px;padding-inline:10px}
 .hero-emotion .wrap{width:calc(100% - 36px)}
 .hero-emotion h1{font-size:clamp(28px,8.75vw,31.5px)}
 .emotion-promise{font-size:16px}
 .emotion-photo-frame{border-radius:16px}
 .hero-emotion .trip-date{gap:4px}
}
