@font-face{
  font-family:"ARR Sans";
  src:url("assets/arr-sans-variable.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

/* Final readability gate: no consequential product/auth/payment microcopy below 12px. */
:is(.page-product,.page-estimate) .brand-copy span,:is(.page-product,.page-estimate) .header-code,:is(.page-product,.page-estimate) .hero-facts li,
:is(.page-product,.page-estimate) .config-live-strip span,:is(.page-product,.page-estimate) .confirm-tag,:is(.page-product,.page-estimate) .payment-controls legend,
:is(.page-product,.page-estimate) .payment-controls label,:is(.page-product,.page-estimate) .route-map-caption,:is(.page-product,.page-estimate) .fact dt,
:is(.page-product,.page-estimate) .sticky-price span,:is(.page-product,.page-estimate) .sticky-price small,:is(.page-product,.page-estimate) .package-list summary span,
:is(.page-product,.page-estimate) .optional-label,:is(.page-product,.page-estimate) .booking-progress button strong,:is(.page-product,.page-estimate) .review-snapshot dt,
:is(.page-product,.page-estimate) .auth-status span,:is(.page-product,.page-estimate) .auth-path li::before,:is(.page-product,.page-estimate) .auth-path-copy small,
:is(.page-product,.page-estimate) .auth-path-state,:is(.page-product,.page-estimate) .auth-safety,:is(.page-product,.page-estimate) .estimator-context span{
  font-size:max(.75rem,12px)!important;line-height:1.4!important
}
:is(.page-product,.page-estimate) .day-stay{font-size:max(.8125rem,13px)!important;line-height:1.45!important}
@media(max-width:360px){
  :is(.page-product,.page-estimate) .sticky-price small{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  :is(.page-product,.page-estimate) .arr-personal-inner{flex-wrap:wrap!important}
  :is(.page-product,.page-estimate) .arr-personal-inner button{margin-inline-start:0!important}
}
:root{
  --arr-ui:"ARR Sans","Segoe UI Variable Text","Segoe UI",Arial,sans-serif;
  --arr-display:"ARR Sans","Segoe UI Variable Display","Segoe UI",Arial,sans-serif;
  --display:var(--arr-display)!important;
  --body:var(--arr-ui)!important;
  --sans:var(--arr-ui)!important;
  --font-display:var(--arr-display)!important;
  --font-body:var(--arr-ui)!important;
  --font-mono:var(--arr-ui)!important;
}
html{font-synthesis:none}
body{font-family:var(--arr-ui)!important;font-size:16px!important;line-height:1.55!important;letter-spacing:0!important;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:inherit}
.arr-approved-wordmark{display:block;color:#6b016e;font-family:var(--arr-display)!important;font-size:clamp(1.2rem,2.2vw,1.72rem);font-style:italic;font-weight:850;letter-spacing:-.045em;line-height:1;white-space:nowrap}
.nav-logo .arr-approved-wordmark{color:#fff;text-shadow:0 2px 12px rgba(20,3,24,.4)}
.nav.scrolled .arr-approved-wordmark{color:#6b016e;text-shadow:none}
h1,h2,h3,.sec-title,.wordmark{font-family:var(--arr-display)!important;text-wrap:balance}
.hero h1{font-size:clamp(2.5rem,6vw,4.5rem)!important;font-weight:680!important;line-height:1.02!important;letter-spacing:-.035em!important;white-space:normal!important;max-width:14ch!important;margin-inline:auto!important}
.hero-sub,.hero-lede,.section-intro{font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.55;letter-spacing:0}
.sec-title,.section-head h2{font-size:clamp(2rem,4vw,3.5rem)!important;font-weight:680!important;line-height:1.04!important;letter-spacing:-.03em!important}
.section-kicker,.eyebrow,.label{font-size:.75rem;line-height:1.2;font-weight:700;letter-spacing:.12em}
.day-title strong{font-size:clamp(1.0625rem,2vw,1.125rem);line-height:1.25}
.day-title span,.day-tags li,.day-stay,.micro,.form-note{font-size:max(.8125rem,12px);line-height:1.45;letter-spacing:0}
.search-hint,.trust-label,.trust-chip,.review-trip,.review-via,.j-tag,.j-desc,.mood-card p,
.pack-days,.pack-basis,.pack-note,.pack-stub,.pack-dest,.genie-fine,.footer-tagline,.footer-bottom,
.r3-dest,.r3-meta,.reveal3-proof,.chip,.genie-whisper,.genie-step-label,
#genieStep1 .genie-pills button small,.party-mark,.genie-name-note,.r3-go,.genie-tool,
.region-state,.collection-note,.resume-eyebrow{font-size:max(.75rem,12px)!important;line-height:1.4!important;letter-spacing:0!important}
.page-home .search-hint,.page-home #clearSavedTrip{font-size:12px!important;line-height:1.45!important}
.page-home .resume-book{min-height:44px!important;display:inline-flex!important;align-items:center!important}
:is(.page-product,.page-estimate) :is(.hero-caption,.route-node,.review-avatar,.review-trip,.footer-lock,.day-title span,.section-kicker,.stepper-copy small,.estimator-context span){font-size:12px!important;line-height:1.4!important}
:is(.page-product,.page-estimate) :is(.hero-facts li,.package-facts span,.traveller-option small){font-size:12px!important;line-height:1.4!important}
.arr-genie-dialog,.arr-genie-fab,.arr-genie-dialog *{font-family:var(--arr-ui)!important}
.arr-genie-title,.arr-genie-answer strong{font-family:var(--arr-display)!important}
.arr-genie-fab-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(58,1,64,.24))}
:is(.page-product,.page-estimate) .sticky-inner{grid-template-columns:minmax(0,1fr) auto!important}
:is(.page-product,.page-estimate) .sticky-inner .book-button{min-width:min(48vw,240px)}
@media(max-width:700px){
  .hero h1{font-size:clamp(2.375rem,11vw,2.75rem)!important;max-width:11ch!important}
  .sec-title,.section-head h2{font-size:clamp(2rem,9vw,2.5rem)!important}
  .nav,.arr-genie-dialog{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
@media(prefers-reduced-motion:no-preference){
  .reveal{transition-duration:.42s!important}
}
/* Performance rule: character comes from interaction, not perpetual GPU work. */
.scroll-line,.genie-glow,.lamp-icon,.lamp-icon .orbit,.lamp-icon .core,.lamp-icon .plane,
.atlas-pet,.atlas-pet img,.region-stars i,.cta-btn::before,.cta-btn::after,
.genie-mascot,.genie-lamp::after,.genie-talk-pet,.genie-flow-pet,.sticky-cta a img,
.destination-genie i{animation:none!important}
.region-card{will-change:auto!important}
@media(hover:none),(pointer:coarse){
  .region-card{transform:none!important}
  .cursor-star{display:none!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
