/* Tourvia reference geometry, with the established Hey typography and controls.
   All rules are scoped: homepage and /blog retain their original styling. */
.hey-tourvia{--tv-space:clamp(72px,10vw,140px);--tv-width:1320px;background:#fff;color:#171717}
.hey-tourvia #main{padding-top:0!important;overflow:clip}
.hey-tourvia .container{max-width:var(--tv-width);padding-left:0;padding-right:0;width:calc(100% - 120px)}
.hey-tourvia .tv-hero{height:968px;min-height:100svh;position:relative;overflow:clip;isolation:isolate;display:flex;align-items:flex-end;padding:0 60px 60px;background:#3677ae;color:white}
.hey-tourvia .tv-sky{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;z-index:-3;animation:tv-sky-in 1s both}
.hey-tourvia .tv-word{position:absolute;top:16%;left:50%;transform:translateX(-50%);font-size:clamp(100px,19vw,310px);font-weight:700;line-height:1;letter-spacing:-.065em;white-space:nowrap;color:#fff;mask-image:linear-gradient(#000 26%,#0000 100%);mix-blend-mode:color-dodge;z-index:-2;animation:tv-word-in 1s .35s both}
.hey-tourvia .tv-foreground{width:1440px;max-width:none;height:717px;object-fit:contain;object-position:center bottom;position:absolute;bottom:0;left:50%;transform:translateX(-50%);z-index:-1;animation:tv-land-in 1s .2s both}
.hey-tourvia .tv-top-shade{position:absolute;inset:0 0 auto;height:226px;z-index:0;pointer-events:none;background:linear-gradient(184deg,#000 -71%,transparent 32%)}
.hey-tourvia .tv-bottom-shade{position:absolute;inset:auto 0 -1px;height:542px;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent,#000 84%)}
.hey-tourvia .tv-hero-content{position:relative;z-index:1;width:100%;max-width:1320px;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:70px;animation:tv-copy-in 1s .6s both}
.hey-tourvia .tv-hero-copy{max-width:890px;min-width:0}
.hey-tourvia .tv-eyebrow{display:inline-flex;border:1px solid #ffffffa8;border-radius:99px;font-size:18px;line-height:1.4;padding:9px 16px;margin:0 0 28px;max-width:100%}
.hey-tourvia .tv-hero h1{font-family:inherit;font-size:clamp(46px,5.55vw,80px);font-weight:600;line-height:1.08;letter-spacing:-.045em;margin:0;color:white;text-wrap:balance}
.hey-tourvia .tv-hero-description{font-size:18px;line-height:1.55;margin:24px 0 0;max-width:720px;color:#fff}
.hey-tourvia .tv-hero h1 .hey-inline-wordmark{filter:brightness(0) invert(1)}
.hey-tourvia .tv-hero-cta{flex:none;margin-bottom:4px;white-space:nowrap;gap:20px}
.hey-tourvia .tv-hero-detail h1{font-size:clamp(40px,4.8vw,68px);max-width:1000px}
.hey-tourvia .tv-content{max-width:1440px;margin:0 auto}
.hey-tourvia .tv-filmstrip{display:grid;grid-template-columns:1.3fr .8fr 1.3fr;gap:24px;padding:100px 0 0;align-items:center;overflow:hidden}
.hey-tourvia .tv-filmstrip figure{margin:0;overflow:hidden;border-radius:16px;height:480px}
.hey-tourvia .tv-filmstrip figure:nth-child(2){height:390px}
.hey-tourvia .tv-filmstrip img{width:100%;height:100%;object-fit:cover}
.hey-tourvia .tv-section{margin:0 60px;padding:var(--tv-space) 0}
.hey-tourvia .tv-section+.tv-section{padding-top:0}
.hey-tourvia .tv-section h2,.hey-tourvia .hey-heading{font-family:inherit;font-weight:600;letter-spacing:-.035em;font-size:clamp(32px,3.4vw,48px);line-height:1.15;text-align:left;margin:0 0 28px;text-wrap:balance}
.hey-tourvia .tv-label{font-size:16px;line-height:1.4;display:table;border:1px solid #d1d1d1;border-radius:99px;padding:9px 16px;margin:0 0 24px}
.hey-tourvia .tv-story{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.hey-tourvia .tv-prose{font-size:20px;line-height:1.65;max-width:660px}
.hey-tourvia .tv-prose p{margin:0 0 26px}
.hey-tourvia .tv-values{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.hey-tourvia .tv-values>div:first-child{padding:48px;background:#edf2fa;border-radius:16px;align-self:start}
.hey-tourvia .tv-values>div:first-child>p:last-child{font-size:18px;line-height:1.6}
.hey-tourvia .tv-values article{display:flex;gap:30px;padding:28px 0;border-bottom:1px solid #ddd}
.hey-tourvia .tv-values article:first-child{padding-top:0}
.hey-tourvia .tv-number{font-size:16px;color:#666;padding-top:7px}
.hey-tourvia .tv-values h3{font-size:28px;font-weight:600;line-height:1.2;margin:0 0 12px;letter-spacing:-.025em}
.hey-tourvia .tv-values article p{font-size:18px;line-height:1.6;margin:0}
.hey-tourvia .tv-section-heading{max-width:800px;margin-bottom:48px}
.hey-tourvia .tv-section-heading>p:not(.tv-label){font-size:19px;line-height:1.6}
.hey-tourvia .tv-readings{display:grid;grid-template-columns:1fr 1fr;gap:60px 24px}
.hey-tourvia .tv-reading{display:block;color:inherit}
.hey-tourvia .tv-reading figure{margin:0 0 26px;aspect-ratio:1.7;overflow:hidden;border-radius:16px}
.hey-tourvia .tv-reading img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,1,.36,1)}
.hey-tourvia .tv-reading:hover img{transform:scale(1.035)}
.hey-tourvia .tv-reading h3{font-size:28px;line-height:1.2;letter-spacing:-.025em;font-weight:600;margin:0 0 14px}
.hey-tourvia .tv-reading p:not(.tv-label){font-size:18px;line-height:1.6;margin:0 0 20px;max-width:550px}
.hey-tourvia .tv-reading .tv-label{font-size:14px;padding:6px 12px;margin-bottom:16px}
.hey-tourvia .tv-link{font-size:16px;text-decoration:underline;text-underline-offset:5px}
.hey-tourvia .tv-faq{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.hey-tourvia .tv-faq details{border-bottom:1px solid #ddd}
.hey-tourvia .tv-faq summary{display:flex;justify-content:space-between;align-items:baseline;gap:24px;list-style:none;font-size:23px;font-weight:500;line-height:1.35;padding:24px 0;cursor:pointer}
.hey-tourvia .tv-faq summary::-webkit-details-marker{display:none}
.hey-tourvia .tv-faq details p{font-size:18px;line-height:1.65;padding:0 36px 20px 0;margin:0}
.hey-tourvia .tv-faq details[open] summary>span:last-child{transform:rotate(45deg)}
.hey-tourvia .tv-content>.hey-section{padding:var(--tv-space) 0}
.hey-tourvia .tv-content>.hey-section+.hey-section{padding-top:0}
.hey-tourvia .hey-source-grid{display:block;margin-top:50px}
.hey-tourvia .hey-source-card{display:grid;grid-template-columns:1fr 2fr 1.5fr auto;gap:28px;align-items:start;border:0;border-top:1px solid #ddd;border-radius:0;padding:36px 0;background:transparent;box-shadow:none}
.hey-tourvia .hey-source-card h3{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:0}
.hey-tourvia .hey-source-card p{font-size:17px;line-height:1.6;margin:0}
.hey-tourvia .hey-source-card>a{margin:0;font-size:16px;text-decoration:underline;text-underline-offset:5px}
.hey-tourvia .hey-source-card>span{font-size:14px;color:#666}
.hey-tourvia .hey-source-date{max-width:760px;margin:80px 0 0 auto}
.hey-tourvia .hey-article{padding-top:var(--tv-space);padding-bottom:var(--tv-space)}
.hey-tourvia .hey-article-photo{width:100%;height:auto;max-height:680px;object-fit:cover;aspect-ratio:1.8;border-radius:16px;margin-bottom:80px}
.hey-tourvia .hey-article-body{max-width:780px;margin:0 auto}
.hey-tourvia .hey-article-body>p,.hey-tourvia .hey-prose p{font-size:20px;line-height:1.7}
.hey-tourvia .hey-article-body h2{font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1.2;margin-top:64px}
.hey-tourvia .hey-article-body h3{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:40px}
.hey-tourvia .hey-source-note{border-radius:16px;background:#edf2fa;border:0;padding:36px;margin:64px 0}
.hey-tourvia .tv-guide-article{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.hey-tourvia .tv-guide-article .hey-article-photo{height:640px;aspect-ratio:auto;position:sticky;top:110px}
.hey-tourvia .tv-guide-article .hey-article-body{max-width:none}
.hey-tourvia .hey-country-hero{padding-top:var(--tv-space);margin-bottom:0}
.hey-tourvia .hey-country-hero img{border-radius:16px;max-height:680px;width:100%;object-fit:cover}
.hey-tourvia .hey-business{padding-top:80px;padding-bottom:var(--tv-space)}
.hey-tourvia .hey-business-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:48px}
.hey-tourvia .hey-business-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:80px}
.hey-tourvia .hey-business-gallery img{width:100%;height:450px;object-fit:cover;border-radius:16px}
.hey-tourvia .hey-business-gallery img:only-child{grid-column:1/-1;height:600px}
.hey-tourvia .hey-business>.hey-prose{max-width:780px;margin-left:auto;margin-right:auto}
.hey-tourvia .tv-art-note{font-size:12px;line-height:1.5;color:#666;padding-top:16px;padding-bottom:16px;margin-bottom:0}
.hey-tourvia .tv-event .tv-hero{width:100%;margin:0;padding-top:0}
.hey-tourvia .tv-event-media{padding-top:80px;padding-bottom:40px}
.hey-tourvia .tv-event-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,38%);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px}
.hey-tourvia .tv-event-gallery button{border:0;background:#f5f5f5;border-radius:16px;overflow:hidden;padding:0;scroll-snap-align:start}
.hey-tourvia .tv-event-gallery img{width:100%;height:360px;object-fit:cover}
.hey-tourvia .tv-event[data-media-kind=document] .tv-event-gallery img{object-fit:contain}
.hey-tourvia .tv-event .event-photo-note{margin-bottom:24px;font-size:13px}
.hey-tourvia .tv-event .event-section-nav{max-width:1320px;width:calc(100% - 120px);margin:0 auto 60px;border-bottom:1px solid #ddd;background:white;position:sticky;top:78px;z-index:8}
.hey-tourvia .tv-event>.tv-event-columns{max-width:1320px;width:calc(100% - 120px);margin:0 auto 100px;gap:80px}
.hey-tourvia .tv-event>.tv-event-columns h2,.hey-tourvia .tv-event>#faq>h2{font-size:36px;line-height:1.15;font-weight:600;letter-spacing:-.03em;margin-bottom:24px}
.hey-tourvia .tv-event>.tv-event-columns p{font-size:18px;line-height:1.7;margin-bottom:20px}
.hey-tourvia .tv-event aside>div{box-shadow:none;border:1px solid #ddd;border-radius:16px;background:white}
.hey-tourvia .tv-event .event-faq{font-size:21px;font-weight:500;padding:25px 0}
.hey-tourvia .tv-event #faq{padding-bottom:100px}
.hey-tourvia[data-tv-route="/privacy"] .tv-content>.hey-section>.container{display:grid;grid-template-columns:300px minmax(0,760px);gap:40px 80px;justify-content:space-between}
.hey-tourvia[data-tv-route="/privacy"] .hey-heading{grid-column:1/-1}
.hey-tourvia .tv-toc{position:sticky;top:120px;align-self:start;display:flex;flex-direction:column;gap:16px;font-size:16px;line-height:1.4}
.hey-tourvia .tv-toc a:hover{text-decoration:underline}
.hey-tourvia[data-tv-route="/privacy"] .hey-prose{max-width:none;margin:0}
.hey-tourvia[data-tv-route="/privacy"] .hey-prose h3{font-size:28px;line-height:1.2;font-weight:600;margin:40px 0 20px;scroll-margin-top:120px}
.hey-tourvia[data-tv-route="/privacy"] .hey-prose h3:first-child{margin-top:0}
.hey-tourvia .hey-error-links{padding:var(--tv-space) 0}
.hey-tourvia .hey-header:not(.is-scrolled){background:transparent;box-shadow:none;color:white}
.hey-tourvia .hey-header:not(.is-scrolled) .hey-wordmark{filter:brightness(0) invert(1)}
.hey-tourvia .hey-header:not(.is-scrolled) .hey-header-container{padding-top:30px}
.hey-tourvia .hey-header:not(.is-scrolled) .hey-search{opacity:0;visibility:hidden}
.hey-tourvia [id]{scroll-margin-top:110px}
.hey-tourvia .tv-reveal{opacity:1;transform:none}
.hey-tourvia.tv-motion .tv-reveal:not(.is-visible){opacity:0;transform:translateY(32px)}
.hey-tourvia .tv-reveal{transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
@keyframes tv-sky-in{from{opacity:.001;transform:translateY(-42px) scale(1.1)}to{opacity:1;transform:none}}
@keyframes tv-land-in{from{opacity:.001;transform:translate(-50%,123px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes tv-copy-in{from{opacity:.001;transform:translateY(87px)}to{opacity:1;transform:none}}
@keyframes tv-word-in{from{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%,0)}}
@media(min-width:810px) and (max-width:1439px){.hey-tourvia .tv-hero{height:1079px;padding:0 18px 60px}.hey-tourvia .tv-hero-content{flex-direction:column;align-items:flex-start;gap:40px}.hey-tourvia .tv-hero-copy{max-width:840px}.hey-tourvia .tv-word{top:24%}.hey-tourvia .container{width:calc(100% - 36px)}.hey-tourvia .tv-section{margin:0 18px}.hey-tourvia .tv-story,.hey-tourvia .tv-values,.hey-tourvia .tv-faq{gap:50px}.hey-tourvia .tv-event>.tv-event-columns,.hey-tourvia .tv-event .event-section-nav{width:calc(100% - 36px);gap:40px}}
@media(max-width:809px){
 .hey-tourvia .tv-hero{height:auto;min-height:100svh;padding:420px 18px 30px;align-items:flex-end}
 .hey-tourvia .tv-word{font-size:clamp(52px,15vw,115px);top:35%;max-width:95%;letter-spacing:-.045em}
 .hey-tourvia .tv-foreground{width:968px;height:482px;object-fit:contain;left:0}
 .hey-tourvia .tv-bottom-shade{height:500px}
 .hey-tourvia .tv-hero-content{flex-direction:column;align-items:flex-start;gap:30px}
 .hey-tourvia .tv-hero h1,.hey-tourvia .tv-hero-detail h1{font-size:36px;line-height:1.12;letter-spacing:-.035em;text-wrap:pretty}
 .hey-tourvia .tv-eyebrow{font-size:14px;line-height:1.5;padding:8px 13px;margin-bottom:20px}
 .hey-tourvia .tv-hero-description{font-size:16px;line-height:1.5;margin-top:20px}
 .hey-tourvia .tv-hero-cta{margin:0;max-width:100%;font-size:16px;white-space:normal}
 .hey-tourvia .container{width:calc(100% - 36px)}
 .hey-tourvia .tv-section{margin:0 18px;padding:80px 0}
 .hey-tourvia .tv-filmstrip{padding-top:60px;grid-template-columns:75vw 75vw 75vw;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-left:18px;padding-right:18px}
 .hey-tourvia .tv-filmstrip figure,.hey-tourvia .tv-filmstrip figure:nth-child(2){height:340px;scroll-snap-align:center}
 .hey-tourvia .tv-story,.hey-tourvia .tv-values,.hey-tourvia .tv-faq{grid-template-columns:1fr;gap:32px}
 .hey-tourvia .tv-prose{font-size:18px}
 .hey-tourvia .tv-section h2,.hey-tourvia .hey-heading{font-size:32px;text-align:left;margin-bottom:24px}
 .hey-tourvia .tv-values>div:first-child{padding:28px 24px}
 .hey-tourvia .tv-values h3{font-size:24px}
 .hey-tourvia .tv-readings{grid-template-columns:1fr;gap:48px}
 .hey-tourvia .tv-reading h3{font-size:26px}
 .hey-tourvia .tv-faq summary{font-size:20px}
 .hey-tourvia .hey-source-card{grid-template-columns:1fr;gap:16px;padding:28px 0}
 .hey-tourvia .hey-source-date{margin-top:48px}
 .hey-tourvia .hey-article{padding-top:60px;padding-bottom:80px}
 .hey-tourvia .hey-article-photo{height:320px;aspect-ratio:auto;margin-bottom:40px}
 .hey-tourvia .hey-article-body>p,.hey-tourvia .hey-prose p{font-size:18px;line-height:1.7}
 .hey-tourvia .hey-article-body h2{font-size:28px;margin-top:44px}
 .hey-tourvia .tv-guide-article{grid-template-columns:1fr;gap:0}
 .hey-tourvia .tv-guide-article .hey-article-photo{position:static;height:360px}
 .hey-tourvia .hey-source-note{padding:24px;margin:40px 0}
 .hey-tourvia .hey-business{padding-top:40px}
 .hey-tourvia .hey-business-gallery{grid-template-columns:1fr;gap:16px;margin-bottom:48px}
 .hey-tourvia .hey-business-gallery img,.hey-tourvia .hey-business-gallery img:only-child{height:340px}
 .hey-tourvia .hey-business-actions{gap:10px;margin-bottom:32px}
 .hey-tourvia .tv-event-media{padding-top:56px}
 .hey-tourvia .tv-event-gallery{grid-auto-columns:85%;gap:16px}
 .hey-tourvia .tv-event-gallery img{height:300px}
 .hey-tourvia .tv-event>.tv-event-columns{width:calc(100% - 36px);display:flex;flex-direction:column;gap:40px;margin-bottom:64px}
 .hey-tourvia .tv-event>.tv-event-columns>section,.hey-tourvia .tv-event>.tv-event-columns>aside{width:100%}
 .hey-tourvia .tv-event>.tv-event-columns h2,.hey-tourvia .tv-event>#faq>h2{font-size:28px}
 .hey-tourvia .tv-event .event-section-nav{width:calc(100% - 36px);top:92px;margin-bottom:40px}
 .hey-tourvia .tv-event #faq{padding-bottom:60px}
 .hey-tourvia[data-tv-route="/privacy"] .tv-content>.hey-section>.container{display:block}
 .hey-tourvia .tv-toc{position:static;gap:14px;margin-bottom:48px}
 .hey-tourvia .tv-art-note{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.hey-tourvia .tv-sky,.hey-tourvia .tv-foreground,.hey-tourvia .tv-word,.hey-tourvia .tv-hero-content{animation:none}.hey-tourvia .tv-reveal,.hey-tourvia.tv-motion .tv-reveal:not(.is-visible){opacity:1;transform:none;transition:none}}

.hey-tourvia .tv-event #event-summary>div{box-shadow:none;border:1px solid #ddd;border-radius:16px;padding:28px}

.hey-tourvia .tv-label .hey-inline-wordmark{display:inline-block;height:1.2em;width:auto;vertical-align:-.25em}
