/* Approved B direction. Preserve composition and the existing readable type floor. */
:root{--line:#e6edf1;--shadow:0 4px 17px #082b4607;--radius:7px}
html{scroll-padding-top:88px}
.site-header{position:sticky;top:0;z-index:40;background:#082b46;transition:background-color .3s,box-shadow .3s,backdrop-filter .3s}
.site-header.is-scrolled{background:#082b46ed;backdrop-filter:blur(14px) saturate(115%);-webkit-backdrop-filter:blur(14px) saturate(115%);box-shadow:0 5px 22px #061e3624}
.site-header nav{position:relative}
.nav-indicator{position:absolute;left:0;bottom:9px;height:2px;background:#f2ce77;border-radius:2px;pointer-events:none;transition:translate .28s cubic-bezier(.2,.7,.2,1),width .28s cubic-bezier(.2,.7,.2,1),opacity .2s;opacity:0}
.site-header.has-nav-indicator nav a:before,.site-header.has-nav-indicator nav a:after{display:none}
.hero{isolation:isolate;background:#082b46}
.hero-cinema{position:absolute;inset:0;overflow:hidden;z-index:-1;background:#082b46}
.hero-drift{position:absolute;inset:-26px 0;transform:translate3d(0,var(--hero-shift,0px),0)}
.hero-shot{position:absolute;inset:0;background:var(--hero-image) center 48%/cover;transform:scale(1.045);transform-origin:65% 50%}
.home-hero .hero-shot,.routes-hero .hero-shot,.question-hero .hero-shot{background-image:var(--alpine-image);background-position:center 47%}
.hero-cinema:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061d3961,transparent 68%)}
.hero .hero-inner{z-index:1}
.home-hero h1{font-weight:700;letter-spacing:2px}
.hero-note{font-size:21px;text-shadow:0 1px 4px #001a32,0 3px 14px #001a32b0}
.section-heading h2{letter-spacing:.3px}
.card{border-color:#e6edf1;box-shadow:0 4px 17px #082b4607}
.card-body{padding:12px 13px 13px}
.card-body h3{letter-spacing:.2px}
.card-body h3 a{transition:color .25s}
.route-card .description,.article-card .description{line-height:1.8}
.destination-card:after{background:linear-gradient(transparent 8%,#082b4652 45%,#06263ee8 100%);transition:opacity .5s;opacity:.91}
.destination-text h3{letter-spacing:1px}
.destination-text b{transition:translate .3s,background .3s}
.guide-links>.feature{box-shadow:0 2px 8px #082b4603}
.badge{background:#fff0c8;border-radius:6px}
.button{position:relative;overflow:hidden;background:linear-gradient(115deg,#ffe9ad,#f1ce7a);border-color:#eed39a;isolation:isolate}
.button-outline{background:#082b465c;border-color:#ebf2f8a8}
.button:after{content:"";position:absolute;inset:-20% auto -20% 0;width:40%;background:linear-gradient(90deg,transparent,#ffffff65,transparent);transform:translateX(-180%) skewX(-22deg);opacity:0;pointer-events:none}
.button-outline:after{background:linear-gradient(90deg,transparent,#ffffff20,transparent)}
@keyframes pomelo-camera{from{transform:scale(1)}to{transform:scale(1.045)}}
@keyframes pomelo-sheen{0%{transform:translateX(-180%) skewX(-22deg);opacity:0}15%{opacity:.8}85%{opacity:.8}100%{transform:translateX(360%) skewX(-22deg);opacity:0}}
@keyframes pomelo-page-in{from{opacity:0}to{opacity:1}}
@keyframes pomelo-page-out{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:no-preference){
  .hero-shot{animation:pomelo-camera 6s cubic-bezier(.16,.4,.3,1) both}
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:pomelo-page-out .16s ease both}
  ::view-transition-new(root){animation:pomelo-page-in .2s ease both}
}
@media(hover:hover) and (pointer:fine){
  .destination-card:hover:after{opacity:1}
  .destination-card:hover .destination-text b{translate:2px 0;background:#ffdf8e}
  .route-card:hover h3 a,.article-card:hover h3 a{color:#8c631d}
  .button:hover:after{animation:pomelo-sheen .7s ease-out}
  .route-card:hover,.article-card:hover{box-shadow:0 13px 28px #082b4613;border-color:#ded5bd}
}
@media(max-width:850px){.card-body{padding:10px}.hero-note{font-size:20px}}
@media(max-width:640px){
  .site-header{position:sticky;z-index:40}
  .site-header nav{position:absolute}
  .nav-indicator{display:none}
  .site-header.has-nav-indicator nav a[aria-current]:after{display:block}
  .hero-drift{inset:0;transform:none}
  .hero-shot{background-position:62% center;transform:scale(1)}
  .home-hero .hero-shot,.routes-hero .hero-shot,.question-hero .hero-shot{background-position:62% center}
  .home-hero h1{letter-spacing:1px}
  .hero-cinema:after{background:linear-gradient(90deg,#041c3978,#041c391f)}
  .card-body{padding:9px}
  .hero-shot{animation-duration:2.2s}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-shot{animation:none!important;transform:none}
  .hero-drift{transform:none}
  .site-header,.nav-indicator,.destination-card:after,.destination-text b,.card-body h3 a{transition:none}
  .button:after{animation:none!important;display:none}
  .destination-card:hover .destination-text b{translate:none}
  @view-transition{navigation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* Handoff 3: visibility, touch-target and contrast repairs only. */
.badge.navy-badge{background:var(--navy);color:var(--gold-light)}

/* Text links and footer links have no intentional responsive size tier. */
a.text-link{display:inline-flex;align-items:center;min-height:44px}
.site-footer .footer-grid>div:not(.footer-brand)>a,
.site-footer .footer-last a:not(.brand),
.site-footer .footer-brand>a.brand{display:flex;align-items:center;min-height:44px}

/* Contrast repairs verified against the rendered backgrounds. */
.steps h3 em{color:#8a5a06}
.contact-method strong.pending{color:#7a6224}
.inquiry-form .char-count,.qr-placeholder span{color:#556c86}
.partners small{color:#5b6b7a;font-size:12px}
.sample-note{color:#836a26}

/* Preserve the existing responsive type and padding tiers while raising targets. */
@media(min-width:851px){
  .round-arrow.round-arrow{width:40px;height:40px;min-width:40px;min-height:40px}
  .route-filters label span{display:inline-flex;align-items:center;box-sizing:border-box;min-height:36px;border-radius:999px}
  .route-filters button.button,.button.button{min-height:44px}
}
@media(min-width:641px) and (max-width:850px){
  .round-arrow.round-arrow{width:40px;height:40px;min-width:40px;min-height:40px}
  .route-filters label span{display:inline-flex;align-items:center;box-sizing:border-box;min-height:36px;border-radius:999px}
  .route-filters button.button,.button.button{min-height:44px}
}
@media(max-width:640px){
  .round-arrow.round-arrow{width:40px;height:40px;min-width:40px;min-height:40px}
  .route-filters label span{display:inline-flex;align-items:center;box-sizing:border-box;min-height:36px;border-radius:999px}
  .route-filters button.button,.button.button{min-height:44px}
  .menu-toggle.menu-toggle{width:44px;height:44px;min-width:44px;min-height:44px}
}

/* Larger transparent hit areas; typography and visual spacing stay unchanged. */
.section-heading .more{min-height:44px}
.route-card .card-body h3 a{display:flex;align-items:center;min-height:44px}

/* The official deer icon has a landscape viewBox; contain prevents distortion. */
.brand img{object-fit:contain}

/* Approved J palette: glacier mist transitions into the established navy. */
.site-header{background:linear-gradient(90deg,#eef2f1 0,#dce6e8 185px,#a9bec6 280px,#4e7182 385px,#082b46 505px);border-bottom:1px solid #d2b15c55}
.site-header.is-scrolled{background:linear-gradient(90deg,#eef2f1f5 0,#dce6e8f5 185px,#a9bec6f5 280px,#4e7182f5 385px,#082b46f5 505px);box-shadow:0 5px 22px #061e3624}
.site-header nav a{color:#fff;text-shadow:0 1px 3px #082b4660}
.site-header nav a:hover,.site-header nav a[aria-current]{color:#ffdf8d}
.site-header .nav-indicator{background:#f2ce77}
.brand-horizontal{width:190px;height:58px;padding:3px 8px;overflow:hidden}
.brand-horizontal img{width:100%;height:100%;object-fit:contain}
.site-footer .brand-horizontal{width:178px;height:66px;padding:5px 9px;background:#eef2f1;border-radius:9px}
.site-footer .footer-brand .brand-horizontal img{width:100%;height:100%}

@media(max-width:1100px){
  .brand-horizontal{width:170px;height:55px}
}
@media(max-width:850px){
  .site-header{background:linear-gradient(90deg,#eef2f1 0,#dce6e8 155px,#9fb6bf 235px,#476b7d 330px,#082b46 440px)}
  .site-header.is-scrolled{background:linear-gradient(90deg,#eef2f1f5 0,#dce6e8f5 155px,#9fb6bff5 235px,#476b7df5 330px,#082b46f5 440px)}
  .brand-horizontal{width:154px;height:52px}
}
@media(max-width:640px){
  .site-header{background:linear-gradient(90deg,#eef2f1 0,#dce6e8 120px,#9eb5be 185px,#45697b 255px,#082b46 360px)}
  .site-header.is-scrolled{background:linear-gradient(90deg,#eef2f1f5 0,#dce6e8f5 120px,#9eb5bef5 185px,#45697bf5 255px,#082b46f5 360px)}
  .brand-horizontal{width:132px;height:49px;padding-inline:3px}
  .site-header .menu-toggle{color:#fff}
  .site-header nav{background:#082b46;color:#fff}
  .site-footer .brand-horizontal{width:155px;height:60px}
}

/* Approved L refinement: larger desktop mark and content-aligned gradient. */
.site-header{height:72px;background:linear-gradient(90deg,#eef2f1 0 calc(50% - 420px),#dce6e8 calc(50% - 330px),#a9bec6 calc(50% - 245px),#4e7182 calc(50% - 140px),#082b46 calc(50% - 20px))}
.site-header.is-scrolled{background:linear-gradient(90deg,#eef2f1f5 0 calc(50% - 420px),#dce6e8f5 calc(50% - 330px),#a9bec6f5 calc(50% - 245px),#4e7182f5 calc(50% - 140px),#082b46f5 calc(50% - 20px))}
.site-header .brand-horizontal{width:218px;height:66px}

@media(max-width:1100px){
  .site-header{height:68px;background:linear-gradient(90deg,#eef2f1 0,#dce6e8 190px,#a9bec6 285px,#4e7182 390px,#082b46 510px)}
  .site-header.is-scrolled{background:linear-gradient(90deg,#eef2f1f5 0,#dce6e8f5 190px,#a9bec6f5 285px,#4e7182f5 390px,#082b46f5 510px)}
  .site-header .brand-horizontal{width:188px;height:62px}
}
@media(max-width:850px){
  .site-header{height:64px;background:linear-gradient(90deg,#eef2f1 0,#dce6e8 155px,#9fb6bf 235px,#476b7d 330px,#082b46 440px)}
  .site-header.is-scrolled{background:linear-gradient(90deg,#eef2f1f5 0,#dce6e8f5 155px,#9fb6bff5 235px,#476b7df5 330px,#082b46f5 440px)}
  .site-header .brand-horizontal{width:158px;height:54px}
}
@media(max-width:640px){
  .site-header{height:65px;background:linear-gradient(90deg,#eef2f1 0,#dce6e8 120px,#9eb5be 185px,#45697b 255px,#082b46 360px)}
  .site-header.is-scrolled{background:linear-gradient(90deg,#eef2f1f5 0,#dce6e8f5 120px,#9eb5bef5 185px,#45697bf5 255px,#082b46f5 360px)}
  .site-header .brand-horizontal{width:132px;height:49px}
}

/* Approved P footer lockup: full-color mark, gold divider and reverse type. */
.site-footer .footer-logo-divider{display:inline-flex;width:auto;height:64px;padding:0;margin-bottom:12px;align-items:center;gap:13px;background:transparent}
.site-footer .footer-logo-divider img{width:49px;height:54px;object-fit:contain}
.site-footer .footer-logo-divider span{display:block;border-left:1px solid #d7b75e;padding-left:14px}
.site-footer .footer-logo-divider strong{display:block;color:#fff7df;font-size:24px;line-height:1.08;letter-spacing:2px}
.site-footer .footer-logo-divider small{display:block;color:#f2ce77;font-size:9px;line-height:1.8;letter-spacing:2.6px}

@media(max-width:640px){
  .site-footer .footer-logo-divider{height:58px;gap:10px}
  .site-footer .footer-logo-divider img{width:44px;height:49px}
  .site-footer .footer-logo-divider span{padding-left:11px}
  .site-footer .footer-logo-divider strong{font-size:21px}
  .site-footer .footer-logo-divider small{font-size:8px}
}

/* Approved T destination cue: glass navy circle, gold outline and forward chevron. */
.destination-text b{width:30px;height:30px;border-radius:50%;background:#082b4666;color:#fff7df;border:1.5px solid #f2ce77;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 2px 8px #001a324d;font:700 22px/1 Arial,sans-serif}
.destination-card:hover .destination-text b{translate:2px 0;background:#082b4694;color:#fff7df;border-color:#ffe19a}

@media(max-width:850px){
  .destination-text b{width:28px;height:28px;font-size:20px}
}
@media(max-width:640px){
  .destination-text b{width:26px;height:26px;font-size:19px}
}

/* Approved W route CTA: explicit label for the higher-intent route action. */
.route-card .route-card-cta{width:auto;min-width:94px;height:40px;padding:0 14px;border-radius:8px;background:linear-gradient(135deg,#ffe8a8,#efc75f);color:#082b46;border:1px solid #e8c467;box-shadow:0 3px 10px #8b692d21;font-size:12px;font-weight:700;gap:6px}
.route-card .route-card-cta:hover{background:linear-gradient(135deg,#ffedb6,#f3cc68);border-color:#d9ad45;translate:0 -1px}
.route-card .route-card-cta span{font-size:14px;line-height:1}

@media(max-width:640px){
  .route-card .route-card-cta{min-width:88px;height:38px;padding-inline:11px;font-size:11px;gap:4px}
}

/* Approved Z home hero scale: quieter title while preserving the two-line hierarchy. */
.home-hero h1{font-size:48px;line-height:1.16;letter-spacing:2px}
@media(max-width:1100px){
  .home-hero h1{font-size:46px}
}
@media(max-width:850px){
  .home-hero h1{font-size:43px;letter-spacing:1px}
}
@media(max-width:640px){
  .home-hero h1{font-size:37px;line-height:1.22}
}

/* Unified reading scale, approved after the full-site typography audit. */
:root{--text-body:15px;--text-reading:17px;--text-card-title:18px;--text-control:16px;--text-meta:13px;--text-section:28px}
body{font-size:var(--text-body)}
html:root body main :is(.article-card.card .card-body h3,.route-card.card .card-body h3,.question-card h3,.editorial-side h3,.team-card h3,.full-itinerary h3){font-size:var(--text-card-title);line-height:1.55}
html:root body main :is(.article-card.card .card-body p.description,.route-card.card .card-body p.description,.question-card p,.editorial-side article div p,.team-card div p,.timeline p,.feature p,.feature small,.featured-route-title p,.steps li p,.consultant p,.advisor-strip p,.contact-method p,.service-cover p,.form-result,.related p){font-size:var(--text-body);line-height:1.75}
html:root body main :is(.feature h3,.feature strong,.steps h3,.timeline h3,.itinerary-columns h3){font-size:16px;line-height:1.55}
html:root body main :is(.article-content.card p,.article-content.card li,.story-grid>div>p:not(.story-quote)){font-size:var(--text-reading);line-height:1.85}
html:root body main :is(.checks li,.itinerary-columns .day-list li,.itinerary-columns .day-list b,.faq-list summary,.faq-list .faq-answer,.question-links a){font-size:var(--text-body);line-height:1.75}
html:root body main :is(.card .card-body .tags span,.team-card .tags span,.route-card .route-meta,.destination-card .destination-text span,.card .badge,.badge,.breadcrumbs,.sample-note,.article-content p.sample-note,.article-content p.reading-note,.partners small,.filter-title small,.category-bar a small,.question-card details summary,.question-card details a,.inquiry-form .char-count,.inquiry-form p.form-note,.qr-placeholder span,.advisor-tags,.timeline span){font-size:var(--text-meta);line-height:1.65}
html:root body main :is(.destination-card .destination-text p,.section-heading div p,.home-bottom .section-heading div p,.contact-layout .section-heading div p){font-size:14px;line-height:1.7}
html:root body main :is(.section-heading h2,.home-bottom .section-heading h2,.faq-consult .section-heading h2){font-size:var(--text-section)}
html:root body :is(.button,.route-card .route-card-cta,.route-filters button.button,a.button.header-cta,.featured-route-title a.button,.site-header nav a){font-size:15px;line-height:1.5}
html:root body main :is(.search-box input,.field input,.field select,.field textarea,.tool-budget input,.tool-budget select){font-size:var(--text-control);min-height:44px}
html:root body main :is(.field label,.route-filters legend,.category-bar strong,.question-categories a,.route-filters label span,.section-heading .more,.text-link){font-size:14px;line-height:1.6}
html:root body main .hero-description{font-size:16px;line-height:1.8}
html:root body .site-footer .footer-grid h2{font-size:16px}
html:root body .site-footer :is(.footer-grid>div:not(.footer-brand)>a,.footer-last a:not(.brand),.footer-grid p:not(.handwritten)){font-size:14px;line-height:1.85}
html:root body .site-footer .footer-last .handwritten{font-size:21px}
html:root body .site-footer .copyright{font-size:12px}
/* Make room for reading text rather than shrinking it to fit fixed cards. */
.card-body{display:flex;flex-direction:column}
.card-bottom{margin-top:auto;flex-wrap:wrap;row-gap:10px}
.route-card .card-body,.article-card .card-body{padding:14px}
.feature>div,.feature>span:last-child,.featured-route-title>div{min-width:0}
.feature p,.feature small{overflow-wrap:anywhere}
.guide-links,.advantage-bar .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.advantage-bar .feature{border:0;padding:8px}
.mini-features{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-five{grid-template-columns:repeat(3,minmax(0,1fr))}
.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.benefits .feature{padding:10px}
.section-heading>div{flex-wrap:wrap;column-gap:16px;row-gap:4px}
.featured-route-title{flex-wrap:wrap}
.route-filters{flex-wrap:wrap}
.site-header nav{gap:20px}
@media(max-width:850px){
 :root{--text-card-title:17px;--text-section:26px}
 .home-bottom,.faq-consult{grid-template-columns:1fr}
 .five-features{grid-template-columns:repeat(3,minmax(0,1fr))}
 .itinerary-columns{grid-template-columns:1fr}
}
@media(max-width:640px){
 :root{--text-reading:16px;--text-card-title:17px;--text-section:24px}
 .guide-links,.advantage-bar .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-home .grid-four,.page-routes .grid-three,.grid-five,.question-cards{grid-template-columns:1fr}
 .grid-five .article-card:last-child:nth-child(odd){display:block;grid-column:auto}
 .grid-five .article-card:last-child:nth-child(odd) .article-picture{height:190px}
 .route-card .route-picture,.article-card .article-picture,.page-routes .grid-three .route-picture{height:190px}
 .question-categories{grid-template-columns:repeat(5,minmax(0,1fr))}
 .question-categories a{padding-inline:2px}
 .five-features,.team-grid,.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-info{grid-template-columns:1fr}
 .qr-placeholder{border-left:0;border-top:1px solid var(--line);padding-top:14px}
 .section-heading{flex-wrap:wrap;gap:4px}
 .section-heading>div{flex:1;min-width:200px}
 .footer-brand{grid-template-columns:1fr}
 .editorial-cover{min-height:340px}
 .question-card{grid-template-columns:85px minmax(0,1fr)}
 .inquiry-form{grid-template-columns:1fr}
}

html:root body main :is(.editorial-side article .tags span,.contact-method strong.pending,.qa-label,.steps li h3 em){font-size:13px}
html:root body main .home-bottom .section-heading .more{font-size:14px}
html:root body main .brand-cta p:not(.handwritten){font-size:15px;line-height:1.75}
html:root body main .editorial-cover p{font-size:15px;line-height:1.75}
html:root body main .article-content.card p.reading-note{font-size:13px}
.site-footer .copyright .icp-link{color:inherit;text-decoration:none;margin-left:12px}
.site-footer .copyright .icp-link:hover,.site-footer .copyright .icp-link:focus-visible{color:#fff7df;text-decoration:underline}
