/* Content determines hero height; the filter keeps a consistent breathing space. */
.hero--home{min-height:0}
.hero--home .hero-inner{padding-top:57px;padding-bottom:110px}
.ticket-wrap{margin-top:-64px}
.hero--home .eyebrow{font-size:15px;letter-spacing:.06em;max-width:650px;line-height:1.65}

/* Painted chapter labels, decorative spans rather than misleading buttons. */
.collection-section .eyebrow{position:relative;isolation:isolate;display:inline-block;color:#14539b;font-size:15px;font-weight:800;letter-spacing:.09em;padding:12px 23px;margin:0 0 18px;line-height:1.4}
.collection-section .eyebrow:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#d8edff,#e8f5ff);clip-path:polygon(3% 17%,19% 8%,48% 12%,78% 3%,97% 14%,95% 35%,100% 50%,96% 65%,97% 85%,72% 91%,45% 86%,11% 97%,1% 81%,4% 58%,0 37%);transform:rotate(-1.5deg)}
.collection-section--themes .eyebrow{color:#995c1c}.collection-section--themes .eyebrow:before{background:linear-gradient(110deg,#ffead0,#fff4e2);transform:rotate(1deg)}
.collection-section--locations .eyebrow{color:#277067}.collection-section--locations .eyebrow:before{background:linear-gradient(110deg,#d9f0e9,#eaf7ed)}

/* Navigation as small route tabs; only opacity/transform animate. */
.desktop-nav,.primary-menu{gap:10px}
.desktop-nav a{position:relative;isolation:isolate;padding:11px 10px;border-radius:12px;text-decoration:none!important;transition:color .18s,transform .18s}
.desktop-nav a:before{content:'';position:absolute;inset:0;z-index:-1;background:#e7f3ff;border-radius:12px 12px 12px 3px;opacity:0;transform:translateY(4px) rotate(-2deg);transition:opacity .18s,transform .18s}
.desktop-nav a:hover:before,.desktop-nav a:focus-visible:before,.desktop-nav a.is-current:before,.desktop-nav a[aria-current=page]:before{opacity:1;transform:translateY(0) rotate(-2deg)}
.desktop-nav a:hover{color:#075abd;transform:translateY(-1px)}
.desktop-nav a.is-current,.desktop-nav a[aria-current=page]{color:#075abd;font-weight:750}
.desktop-nav a.is-current:after,.desktop-nav a[aria-current=page]:after{content:'';position:absolute;bottom:3px;left:calc(50% - 3px);width:6px;height:3px;background:#0780e8;border-radius:10px;transform:rotate(-12deg)}
.desktop-nav .nav-search,.primary-menu li:first-child a{padding:13px 16px;border-radius:13px 13px 13px 4px}
.desktop-nav .nav-search:before,.primary-menu li:first-child a:before{background:#074cad}
.primary-menu li:first-child a:hover,.primary-menu li:first-child a.is-current{color:#fff}
.primary-menu li:first-child a.is-current:after{background:#b4e2ff}
.menu-dialog nav a.is-current{background:#e8f4ff;border-radius:13px 13px 13px 4px;padding-inline:14px;color:#075abd}

/* A visible pointer and a quiet pulse introduce the filter until first contact. */
.catalog-guide{padding-left:22px}
.guide-kicker{font-size:12px;letter-spacing:.1em}
.stat strong .stat-count{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit;font-variant-numeric:tabular-nums}
.stat strong{font-variant-numeric:tabular-nums}

/* Separate rear paper from the opaque face; nothing blurs the lettering. */
.phone-card{isolation:isolate;width:385px;padding:28px 29px 24px;backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(145deg,#fff,#f1f8ff)}
.phone-card:before{z-index:-2;background:#e1effa;inset:-11px 11px 8px -10px}
.phone-card:after{content:'';position:absolute;inset:0;z-index:-1;border:1px solid #fff;border-radius:inherit;background:linear-gradient(145deg,#fff,#f1f8ff);pointer-events:none}
.phone-card-intro>span:last-child{font-size:12px;line-height:1.6}
.phone-card-intro strong{font-size:24px}
@media(min-width:1600px){.hero--home .hero-inner{padding-top:74px}}
@media(max-width:1200px){.desktop-nav,.primary-menu{gap:3px}.desktop-nav a{padding:11px 8px}.primary-menu li:first-child a{padding:12px}.phone-card{width:365px}}
@media(max-width:1023px){.hero--home .hero-inner{padding-bottom:108px}.hero--home .eyebrow{font-size:13px;max-width:520px}.catalog-guide{padding-left:23px}.guide-arrow{display:none}.filter-panel.filter-intro:before{display:none}.phone-card{width:325px;padding:24px;max-width:44%}.phone-card-intro strong{font-size:20px}}
@media(max-width:767px){.hero--home .hero-inner{padding-top:35px;padding-bottom:108px}.hero--home .eyebrow{font-size:12px;max-width:400px;line-height:1.7;letter-spacing:.045em}.ticket-wrap{margin-top:-64px}.collection-section .eyebrow{font-size:13px;padding:10px 19px;margin-bottom:16px}.guide-kicker{font-size:12px}.catalog-guide{padding-left:21px}.phone-card{width:370px;max-width:calc(100% - 8px);padding:26px 27px 23px}.phone-card-intro strong{font-size:23px}.phone-card-intro>span:last-child{font-size:12px}}
@media(max-width:374px){.hero--home .eyebrow{font-size:11px;max-width:280px}.hero--home .hero-inner{padding-bottom:104px}.ticket-wrap{margin-top:-62px}.phone-card{padding:24px 20px}.phone-card-intro strong{font-size:21px}.phone-card-intro>span:last-child{font-size:11px}}
@media(prefers-reduced-motion:reduce){.guide-intro .guide-arrow,.filter-panel.filter-intro:before{animation:none}.desktop-nav a,.desktop-nav a:before{transition:none}}

/* A compact header with a named saved-tours destination. */
.site-header{background:#fffffffa;border-bottom:1px solid #dce9f4;box-shadow:0 4px 20px #24496d08;backdrop-filter:none}
.header-inner{min-height:90px;gap:18px}
.header-favorites{width:auto;height:auto;min-height:48px;display:flex;align-items:center;gap:9px;padding:5px 12px 5px 5px;border:1px solid #d2e4f2;border-radius:16px;background:#f4f9fe;color:#284d73;flex-shrink:0;text-decoration:none!important;transition:background .18s,transform .18s}
.header-favorites:hover{background:#eaf5ff;transform:translateY(-1px)}
.header-favorites>span{position:static;inset:auto;border:0;min-width:0;border-radius:0;background:none;color:inherit;font-size:12px;line-height:1.35;font-weight:700;text-align:left}
.header-favorites>.header-heart{position:relative;width:36px;height:36px;display:grid;place-items:center;background:#fff;border:1px solid #dfebf5;border-radius:12px;flex-shrink:0}
.header-heart>.icon{width:22px;height:22px;color:#3183d4;fill:#dcefff;stroke-width:1.8}
.header-heart [data-favorites-count]{position:absolute;right:-6px;top:-5px;min-width:18px;padding:0 3px;border:2px solid #fff;border-radius:20px;background:#0866ff;color:#fff;font-size:9px;line-height:15px;text-align:center;font-weight:800}
.header-heart [hidden]{display:none}
@media(min-width:1201px) and (max-width:1439px){.desktop-nav,.primary-menu{gap:4px;font-size:12px}.desktop-nav a{padding-inline:8px}.header-inner{gap:12px}.header-favorites>span{font-size:11px}}
@media(max-width:1023px){.header-inner{min-height:80px}.header-favorites{margin-left:auto}}
@media(max-width:600px){.header-inner{min-height:74px;gap:8px}.header-inner .brand{gap:5px}.header-inner .brand-mark{width:38px;height:38px}.header-inner .brand-words strong{font-size:27px}.header-inner .brand-words small{font-size:6.5px}.header-inner .brand-image{max-width:126px;max-height:43px}.header-favorites{gap:6px;padding:4px 7px 4px 4px;min-height:42px;border-radius:13px}.header-favorites>span{font-size:10px}.header-favorites>.header-heart{width:29px;height:29px;border-radius:9px}.header-heart>.icon{width:19px;height:19px}.header-mobile{gap:0}.header-mobile .contact-pill{display:none}.header-mobile .tablet-menu{display:inline-grid;width:35px;height:35px}.header-mobile .tablet-menu>.icon{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){.header-favorites{transition:none}}
.ticket-all-tours{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border:1px solid #c9e0f2;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:700;color:#266ca9;background:#edf7ff;text-decoration:none!important;min-height:42px}
.ticket-all-tours:hover{background:#dfedfa}.ticket-all-tours .icon{width:16px;height:16px}
.ticket-all-tours--mobile{display:none}
@media(min-width:768px) and (max-width:1023px){.ticket-top{flex-wrap:wrap;gap:14px}.ticket-all-tours--desktop{margin-left:auto}.ticket-top .tour-tabs{flex-basis:100%;justify-content:center}.ticket-top .tour-tabs label{flex:1}.ticket-top .tour-tabs label>span{width:100%}}
@media(max-width:767px){.ticket-all-tours--desktop{display:none}.ticket-all-tours--mobile{display:flex;width:100%;margin-top:9px;min-height:44px;font-size:13px}}
.tour-tabs label>span>.tab-short-label{display:none}
@media(max-width:600px){.tour-tabs label>span>.tab-full-label{display:none}.tour-tabs label>span>.tab-short-label{display:block}.tour-tabs label>span{font-size:12px;min-height:39px;line-height:1.3;padding:6px}}

@media(max-width:374px){.header-inner{gap:5px}.header-inner .brand{gap:3px}.header-inner .brand-mark{width:35px;height:35px}.header-inner .brand-words strong{font-size:25px}.header-inner .brand-words small{font-size:6px}.header-favorites{gap:4px;padding-right:6px}}

/* Final refinements: quiet catalog guide, painted saved-tours link. */
.ticket-fields>.button{font-size:18px;font-weight:750}
.header-favorites{isolation:isolate;position:relative;padding:10px 15px;gap:9px;border:0;background:transparent;box-shadow:none;border-radius:0;color:#264d79;min-height:46px}
.header-favorites:before{content:'';position:absolute;inset:1px -3px;z-index:-1;background:linear-gradient(105deg,#ffe3a8,#fff0cb);clip-path:polygon(3% 15%,24% 8%,48% 11%,75% 4%,98% 15%,96% 37%,100% 53%,96% 75%,97% 90%,72% 96%,45% 88%,10% 98%,1% 79%,4% 56%,0 33%);transform:rotate(-2deg)}
.header-favorites:hover{background:transparent;color:#174471}.header-favorites:hover:before{background:#ffdfa0}
.header-favorites>.header-heart{width:26px;height:28px;border:0;background:none;border-radius:0}
.header-heart>.icon{width:24px;height:24px;color:#315c88;fill:#fff7e4}
.header-favorites>.header-saved-label{font-size:14px;white-space:nowrap;font-weight:800}
.header-heart [data-favorites-count]{top:-9px;right:-7px;min-width:19px;background:#1468c5;border-color:#fff4d7;line-height:15px}
.phone-card-bottom>a{display:inline-flex;align-items:center;gap:6px;font-size:inherit;font-weight:750;color:#1668b5;text-decoration:none;border-bottom:1px solid #8fbadd;padding-bottom:2px;min-height:32px}
.phone-card-bottom>a:hover{color:#034b99;border-bottom-color:#034b99}.phone-card-bottom>a .icon{width:15px;height:15px}
.desktop-nav a[href*="hot=1"] .nav-fire{display:inline-flex;width:17px;opacity:0;overflow:hidden;transition:opacity .18s;flex-shrink:0}
.desktop-nav a[href*="hot=1"] .nav-fire .icon{width:17px;height:20px;color:#dd6122;fill:#ffe3c6}
.desktop-nav a[href*="hot=1"]:hover,.desktop-nav a[href*="hot=1"]:focus-visible{color:#b54b15}
.desktop-nav a[href*="hot=1"]:hover:before,.desktop-nav a[href*="hot=1"]:focus-visible:before{background:#fff0de}
.desktop-nav a[href*="hot=1"]:hover .nav-fire,.desktop-nav a[href*="hot=1"]:focus-visible .nav-fire{width:17px;opacity:1}
@media(max-width:767px){.ticket-fields>.button{font-size:18px;font-weight:750}.header-favorites{padding:9px 10px;gap:7px}.header-favorites>.header-saved-label{font-size:13px}.header-favorites>.header-heart{width:24px}.header-heart>.icon{width:22px;height:22px}.phone-card-bottom>a{font-size:11px}}
@media(max-width:374px){.header-favorites{padding:8px 9px;gap:6px}.header-favorites>.header-saved-label{font-size:12px}.header-favorites>.header-heart{width:22px}.header-heart>.icon{width:21px;height:21px}.phone-card-bottom>a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.desktop-nav a .nav-fire{transition:none}}