/* Shared public hero composition: scenic cover, paper postcards and travel tickets. */
.cinematic-hero{--ch-ink:#192c31;--ch-accent:#ffb3c4;--ch-paper:#fff9ed;--ch-muted:#e1e7df;position:relative;isolation:isolate;overflow:hidden;background:var(--ch-ink);color:var(--ch-paper)}
.ch-theme-sea{--ch-ink:#173539;--ch-accent:#b9e3cd}.ch-theme-plum{--ch-ink:#302232;--ch-accent:#efbfcd}
.cinematic-hero>.container{position:relative;z-index:2}.cinematic-hero>.ch-art{position:absolute;z-index:0;inset:0;pointer-events:none}
.ch-art::after{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,var(--ch-ink),transparent),linear-gradient(0deg,var(--ch-ink),transparent 80%)}
@supports(color:color-mix(in srgb,black,white)){.ch-art::after{background:linear-gradient(90deg,color-mix(in srgb,var(--ch-ink) 97%,transparent) 0%,color-mix(in srgb,var(--ch-ink) 90%,transparent) 28%,color-mix(in srgb,var(--ch-ink) 50%,transparent) 60%,color-mix(in srgb,var(--ch-ink) 15%,transparent) 100%),linear-gradient(0deg,color-mix(in srgb,var(--ch-ink) 98%,transparent),transparent 85%)}}
.ch-scene{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.ch-route{position:absolute;z-index:2;left:56%;top:24%;width:28%;height:50%;stroke:var(--ch-paper);stroke-width:1.8;stroke-dasharray:6 7;opacity:.5}.ch-route circle{fill:var(--ch-paper);stroke:#fff7dd40;stroke-width:9}
.ch-edition{position:absolute;z-index:2;right:22px;top:48px;writing-mode:vertical-rl;color:#fff9edb0;font-size:8px;letter-spacing:1.8px}
.ch-ticket{position:absolute;z-index:2;right:max(8%,calc((100vw - 1200px)/2));top:46px;display:flex;align-items:center;gap:15px;max-width:280px;padding:18px 22px;background:var(--ch-paper);color:var(--ch-ink);border-radius:3px;box-shadow:0 12px 30px #0002;transform:rotate(-3deg)}
.ch-ticket::before{content:'';position:absolute;inset:0 12px auto;height:6px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,transparent 0 7px,var(--ch-ink) 7px 11px,transparent 11px 18px)}
.ch-ticket>.material-icons{font-size:29px;color:#b82b51;padding-right:14px;border-right:1px dashed #c9bda9}.ch-ticket div{display:grid;gap:6px;min-width:0}.ch-ticket div>span{font:8px/1.4 Arial,sans-serif;letter-spacing:1px;color:#7d7063}.ch-ticket strong{font:800 23px/1.15 Arial,sans-serif;max-width:175px}.ch-ticket small{color:#6c665f;font-size:9px}
.ch-postcards{position:absolute;z-index:2;right:max(6%,calc((100vw - 1280px)/2));bottom:30px;width:310px;height:210px}.ch-postcard{position:absolute;right:0;bottom:0;width:175px;margin:0;padding:8px 8px 0;background:var(--ch-paper);border-radius:3px;box-shadow:0 14px 30px #0003;transform:rotate(5deg)}.ch-postcard img{display:block;width:100%;height:138px;object-fit:cover}.ch-postcard figcaption{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:34px;padding:5px 2px;font:7px/1.5 Arial,sans-serif;letter-spacing:.7px;color:var(--ch-ink)}.ch-postcard figcaption .material-icons{font-size:14px}.ch-postcard-back{right:120px;bottom:22px;width:155px;transform:rotate(-9deg)}.ch-postcard-back img{height:120px}
.cinematic-hero :is(.breadcrumb,.breadcrumb a,.reviews-breadcrumb,.reviews-breadcrumb a){color:#f0e8dc}
.cinematic-hero :is(.section-kicker,.journal-kicker,.reviews-eyebrow,.tp-heading-note){color:var(--ch-accent)}
.cinematic-hero :is(.tp-hero-link,.journal-back){color:var(--ch-paper)}
.cinematic-hero :is(a,button,summary):focus-visible{outline:3px solid var(--ch-accent);outline-offset:4px}
.cinematic-hero :is(.tour-quick-search,.home-search-card) :is(a,button):focus-visible{outline-color:#b82b51}
.cinematic-hero :is(h1>span,h1 em){color:var(--ch-accent)}.cinematic-hero h1{position:relative;color:var(--ch-paper)}
.cinematic-hero h1::after{content:'';display:block;width:min(260px,60%);height:12px;margin-top:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 500 22' fill='none'%3E%3Cpath d='M4 15C135 2 306 1 495 9M75 21C222 11 366 11 455 16' stroke='%23ffb3c4' stroke-width='2'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.8}
.cinematic-hero.page-hero{padding:28px 0 42px;min-height:300px}.cinematic-hero.page-hero>.container>:is(h1,p){max-width:60%}.cinematic-hero.page-hero h1{font-size:clamp(30px,3.5vw,49px);line-height:1.5;margin:14px 0}.cinematic-hero.page-hero>.container>p{color:var(--ch-muted);font-size:14px;line-height:1.9}
.cinematic-hero.ch-compact{min-height:0}.cinematic-hero.ch-compact h1{font-size:clamp(26px,3vw,40px)}.cinematic-hero.ch-compact>.container>:is(h1,p){max-width:900px}
/* Existing forms, carousels and score cards remain foreground content. */
.home-page.travel-pattern .hero.cinematic-hero,.travel-pattern--listing .tour-discover-hero.cinematic-hero,.travel-pattern--listing .tour-destination-hero.cinematic-hero,.reviews-page.travel-pattern .reviews-hero.cinematic-hero,.blog-page :is(.journal-hero,.journal-article-hero).cinematic-hero{background:var(--ch-ink);color:var(--ch-paper)}
.home-page.travel-pattern .hero.cinematic-hero::before,.journal-hero.cinematic-hero::before,.reviews-hero.cinematic-hero::before,.travel-pattern--listing>.tour-detail.cinematic-hero::before{display:none}
.home-page.travel-pattern .hero.cinematic-hero h1,.travel-pattern--listing .cinematic-hero .tour-discover-copy h1,.reviews-page.travel-pattern .cinematic-hero .reviews-hero-copy h1,.blog-page .cinematic-hero h1{color:var(--ch-paper)}
.home-page.travel-pattern .hero.cinematic-hero h1 span,.travel-pattern--listing .cinematic-hero .tour-discover-copy h1>span,.reviews-page.travel-pattern .cinematic-hero .reviews-hero-copy h1 span,.blog-page .cinematic-hero h1 em{color:var(--ch-accent)}
.home-page.travel-pattern .hero.cinematic-hero .hero-copy>p,.travel-pattern--listing .cinematic-hero .tour-discover-copy p,.reviews-page.travel-pattern .cinematic-hero .reviews-hero-copy p{color:var(--ch-muted)}
.home-page.travel-pattern .hero.cinematic-hero .eyebrow{padding-left:0;background:transparent;color:var(--ch-accent)}
.ch-home .tp-home-window{border-radius:3px;padding:8px 8px 0}.home-page.travel-pattern .ch-home .tp-home-window :is(.home-hero-photo,.home-banner-viewport){border-radius:0}.ch-home .home-assurance{position:relative;z-index:2}
.home-page.travel-pattern .cinematic-hero .home-search-card{color:var(--ch-ink)}
.home-page.travel-pattern .cinematic-hero .home-search-heading h2{color:var(--ch-ink)}
.cinematic-hero.page-hero:not(.ch-compact){min-height:340px}
.cinematic-hero.page-hero .ch-ticket{top:24px;padding:12px 16px}
.cinematic-hero.page-hero .ch-ticket strong{font-size:20px}
.cinematic-hero.page-hero .ch-postcards{bottom:20px}
/* Reserve the upper composition for destination copy and postcards, above search. */
.ch-destination .tour-destination-intro{min-height:300px}
.ch-destination .tour-destination-copy{max-width:60%}
.ch-destination .tour-destination-copy>p{color:var(--ch-muted);font-size:14px;line-height:1.9}
.cinematic-hero.ch-destination .ch-postcards{top:132px;bottom:auto}
@media(max-width:820px){.ch-destination .tour-destination-intro{min-height:0}.ch-destination .tour-destination-copy{max-width:100%}}
@media(max-width:600px){.ch-destination .tour-destination-copy>p{font-size:12px}}
.td-heading.cinematic-hero .td-trip-tags>span{padding:5px 9px;border:1px solid #e6dcca;border-radius:999px}
.ch-route-hero .detail-price{background:var(--ch-paper);border:1px dashed #d7c5b1;color:#243b3f}
.cinematic-hero.ch-route-hero .detail-price small{color:#626d6e}
.cinematic-hero.ch-route-hero .detail-price strong{color:#b82b51}
.cinematic-hero .tour-discover-visual{height:280px;margin-right:20px}.travel-pattern--listing .cinematic-hero .tour-discover-photo{border-radius:3px;border:8px solid var(--ch-paper);transform:rotate(4deg)}.travel-pattern--listing .cinematic-hero .tour-discover-mini{border-radius:3px;border-color:var(--ch-paper);bottom:-7px}.cinematic-hero .tp-travel-stamp{display:none}
.travel-pattern--listing .cinematic-hero .tour-discover-note{top:-18px;bottom:auto;right:-16px;padding:15px 18px;border-radius:3px;border:0;background:var(--ch-paper);box-shadow:0 10px 26px #0002}.cinematic-hero .tour-discover-note::before{content:'';position:absolute;inset:0 10px auto;height:5px;transform:translateY(-50%);background:repeating-linear-gradient(90deg,transparent 0 7px,var(--ch-ink) 7px 10px,transparent 10px 17px)}.cinematic-hero .tour-discover-note small{color:#6c665f}
.cinematic-hero .tour-quick-search{position:relative;z-index:2;background:var(--ch-paper)}.cinematic-hero .tour-quick-search b{color:#253638}
.ch-route-hero .detail-grid{position:relative;z-index:2}.travel-pattern--listing>.ch-route-hero{background:var(--ch-ink);color:var(--ch-paper)}.ch-route-hero .detail-grid h1{color:var(--ch-paper);font-size:clamp(28px,3.5vw,46px);line-height:1.5}.ch-route-hero .detail-lead{color:var(--ch-muted)}.ch-route-hero .detail-price :is(small,strong){color:var(--ch-accent)}.travel-pattern--listing .ch-route-hero .detail-grid>.detail-cover{border-radius:3px;border-color:var(--ch-paper);max-height:350px;object-fit:cover;transform:rotate(3deg)}
.journal-hero.cinematic-hero .journal-hero-grid{grid-template-columns:1fr}.journal-hero.cinematic-hero .journal-hero-grid>div:first-child{max-width:60%}.journal-hero.cinematic-hero .journal-hero-note{display:none}
.journal-article-hero.cinematic-hero .journal-article-excerpt{color:var(--ch-muted)}.journal-article-hero.cinematic-hero :is(.journal-article-meta,.journal-updated,.journal-publisher){color:#eee0e9}.journal-article-hero.cinematic-hero .journal-story-meta>span:first-child{background:#fff8ec;color:#623d59}.journal-article-hero.cinematic-hero :is(.journal-share,.journal-read-time){color:var(--ch-paper);border-color:#fff9ed40}
.reviews-page.travel-pattern .cinematic-hero .reviews-overview{border-radius:3px;border-color:#e4d9c8;background:var(--ch-paper);box-shadow:0 12px 30px #0002}.reviews-page.travel-pattern .cinematic-hero .reviews-browse-link-secondary{color:var(--ch-paper)}
.tour-detail-page .td-heading.cinematic-hero{padding:26px;border-radius:16px;margin-top:18px}.td-heading.cinematic-hero>:not(.ch-art){position:relative;z-index:2}.tour-detail-page .td-heading.cinematic-hero h1{font-size:clamp(26px,2.8vw,40px);color:var(--ch-paper)}.td-heading.cinematic-hero :is(.td-destination,.td-package-code,.td-social-proof,.td-social-proof a){color:var(--ch-muted)}.td-heading.cinematic-hero .td-heading-actions button{background:var(--ch-paper);color:#243b3f;border-color:#e6dcca}.td-heading.cinematic-hero .td-trip-tags>span{background:#fff9ed;color:#243b3f;border-color:#e6dcca}
@media(max-width:1100px){.ch-ticket{right:6%;max-width:225px;padding:16px}.ch-ticket strong{font-size:20px}.ch-postcards{right:4%;width:265px}.ch-postcard{width:155px}.ch-postcard img{height:118px}.ch-postcard-back{width:135px;right:104px}.ch-postcard-back img{height:100px}}
@media(max-width:820px){.ch-ticket,.ch-postcards,.ch-edition{display:none}.ch-art::after{background:linear-gradient(90deg,var(--ch-ink),transparent),linear-gradient(0deg,var(--ch-ink),#192c3199)}.ch-route{left:64%;width:35%;opacity:.2}.cinematic-hero.page-hero>.container>:is(h1,p),.journal-hero.cinematic-hero .journal-hero-grid>div:first-child{max-width:100%}.cinematic-hero.page-hero{min-height:0;padding:22px 0 30px}.ch-route-hero .detail-grid h1{font-size:30px}.cinematic-hero .tour-discover-visual{height:220px}.cinematic-hero .tour-discover-intro{gap:24px}}
@media(max-width:600px){.cinematic-hero h1::after{margin-top:10px;height:10px}.cinematic-hero.page-hero h1{font-size:29px;line-height:1.5}.cinematic-hero.page-hero>.container>p{font-size:12px}.cinematic-hero .tour-discover-copy h1::after{display:none}.cinematic-hero .tour-discover-visual{display:none}.ch-home .tp-home-window{margin-top:20px}.journal-hero.cinematic-hero{padding-bottom:32px}.ch-route-hero .detail-grid>.detail-cover{margin-top:14px;max-height:260px;width:100%}.tour-detail-page .td-heading.cinematic-hero{padding:18px 14px;border-radius:12px}.tour-detail-page .td-heading.cinematic-hero h1{font-size:24px}}
@media(max-width:820px){.cinematic-hero.page-hero:not(.ch-compact){min-height:0}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.ch-postcard{animation:ch-postcard-arrive .7s ease-out}.ch-postcard-back{animation-name:ch-postcard-back-arrive}@keyframes ch-postcard-arrive{from{opacity:.6;transform:translateY(12px) rotate(0deg)}to{opacity:1;transform:translateY(0) rotate(5deg)}}@keyframes ch-postcard-back-arrive{from{opacity:.6;transform:translateY(12px) rotate(0deg)}to{opacity:1;transform:translateY(0) rotate(-9deg)}}}
@media(prefers-reduced-motion:reduce){.cinematic-hero *,.cinematic-hero *::before,.cinematic-hero *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
