/* Hotel Affiliate Network Client — Style Contract v2 core */
.hanc-style-v2{--hanc-style-gap:22px;--hanc-style-radius:20px;--hanc-style-shadow:0 18px 48px rgba(15,23,42,.09);--hanc-style-border:var(--hanc-border);--hanc-style-font:inherit;--hanc-style-serif:Georgia,"Times New Roman",serif;font-family:var(--hanc-style-font)}
.hanc-style-v2 .hanc-hotel-grid,.hanc-style-v2 .hanc-destination-grid{gap:var(--hanc-style-gap)}
.hanc-style-v2 .hanc-hotel-card,.hanc-style-v2 .hanc-destination-card,.hanc-style-v2 .hanc-booking-card,.hanc-style-v2 .hanc-content-card,.hanc-style-v2 .hanc-facts-card,.hanc-style-v2 .hanc-faq-section{border-radius:var(--hanc-style-radius);box-shadow:var(--hanc-style-shadow)}
.hanc-token-density-compact{--hanc-style-gap:14px}.hanc-token-density-airy{--hanc-style-gap:30px}.hanc-token-density-comfortable{--hanc-style-gap:22px}
.hanc-token-radius-small{--hanc-style-radius:7px}.hanc-token-radius-medium{--hanc-style-radius:18px}.hanc-token-radius-large{--hanc-style-radius:30px}.hanc-token-radius-none{--hanc-style-radius:0}.hanc-token-radius-organic{--hanc-style-radius:34px 12px 34px 12px}.hanc-token-radius-mixed{--hanc-style-radius:20px 6px 28px 12px}
.hanc-token-shadow-line{--hanc-style-shadow:none}.hanc-token-shadow-paper{--hanc-style-shadow:8px 10px 0 rgba(15,23,42,.07)}.hanc-token-shadow-floating{--hanc-style-shadow:0 24px 70px rgba(15,23,42,.13)}.hanc-token-shadow-ambient{--hanc-style-shadow:0 24px 80px rgba(31,78,58,.12)}.hanc-token-shadow-soft-pop{--hanc-style-shadow:0 14px 0 color-mix(in srgb,var(--hanc-accent) 12%,transparent)}
.hanc-token-typography-serif-mix,.hanc-token-typography-editorial-serif,.hanc-token-typography-newspaper-serif,.hanc-token-typography-luxury-serif{--hanc-style-font:Georgia,"Times New Roman",serif}
.hanc-token-motion-minimal *{transition-duration:.01ms!important}.hanc-token-motion-playful .hanc-hotel-card:hover{transform:translateY(-7px) rotate(-.35deg)}.hanc-token-motion-gentle .hanc-hotel-card:hover{transform:translateY(-3px)}
.hanc-state-directory{padding-bottom:8px}.hanc-state-featured{margin-top:58px;padding-top:48px;border-top:1px solid var(--hanc-border)}
.hanc-component-hotel-card--card-itinerary::before,.hanc-component-hotel-card--card-transport-timetable::before,.hanc-component-hotel-card--card-airport-info::before{content:"";position:absolute;z-index:3;left:0;top:0;bottom:0;width:5px;background:var(--hanc-accent)}
.hanc-component-hotel-card--card-itinerary,.hanc-component-hotel-card--card-transport-timetable,.hanc-component-hotel-card--card-airport-info{position:relative}
.hanc-component-breadcrumb--breadcrumb-route,.hanc-component-breadcrumb--breadcrumb-air-gates,.hanc-component-breadcrumb--breadcrumb-transport-track{border-bottom:1px dashed color-mix(in srgb,var(--hanc-primary) 25%,var(--hanc-border))}
.hanc-component-faq--faq-family-cards .hanc-faq-list,.hanc-component-faq--faq-family-tiles .hanc-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hanc-component-faq--faq-family-cards .hanc-faq-item,.hanc-component-faq--faq-family-tiles .hanc-faq-item{padding:0 16px;border:1px solid var(--hanc-border);border-radius:16px;background:#fff}
.hanc-component-faq--faq-editorial-interview,.hanc-component-faq--faq-gazette-columns{border-radius:0!important;border-width:1px 0!important;box-shadow:none!important}
.hanc-component-pagination--pagination-market-load,.hanc-component-pagination--pagination-tropical-more,.hanc-component-pagination--pagination-family-blocks{justify-content:center}.hanc-component-pagination--pagination-market-load a,.hanc-component-pagination--pagination-tropical-more a,.hanc-component-pagination--pagination-family-blocks a{min-width:130px}

/* New v2 hero structures */
.hanc-hero-alpine-lodge,.hanc-hero-metro-capsule,.hanc-hero-sunset-club,.hanc-hero-atlas-explorer,.hanc-hero-black-label,.hanc-hero-tropica-market,.hanc-hero-heritage-gazette,.hanc-hero-air-terminal,.hanc-hero-eco-habitat,.hanc-hero-playful-family{position:relative;overflow:hidden}
.hanc-hero-alpine-grid,.hanc-hero-metro-grid,.hanc-hero-sunset-grid,.hanc-hero-atlas-grid-layout,.hanc-hero-black-grid,.hanc-hero-tropica-market-grid,.hanc-hero-gazette-grid,.hanc-hero-air-grid,.hanc-hero-eco-grid,.hanc-hero-playful-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:54px;align-items:center}
.hanc-alpine-stamp,.hanc-metro-code,.hanc-eco-label,.hanc-family-trip-label{position:relative;z-index:3;display:inline-flex;margin-bottom:22px;padding:7px 11px;border:1px solid currentColor;font-size:10px;font-weight:900;letter-spacing:.16em}
.hanc-alpine-ridge{position:absolute;right:-4%;bottom:-115px;left:-4%;height:310px;background:linear-gradient(145deg,transparent 24%,color-mix(in srgb,var(--hanc-primary) 15%,transparent) 25% 52%,transparent 53%),linear-gradient(35deg,transparent 37%,color-mix(in srgb,var(--hanc-accent) 12%,transparent) 38% 62%,transparent 63%);opacity:.9}
.hanc-metro-line{position:absolute;top:32px;right:5%;left:5%;display:flex;justify-content:space-between;border-top:5px solid var(--hanc-primary)}.hanc-metro-line i{width:18px;height:18px;margin-top:-11px;border:4px solid var(--hanc-primary);border-radius:50%;background:#fff}
.hanc-sunset-disc{position:absolute;right:8%;top:8%;width:360px;height:360px;border-radius:50%;background:linear-gradient(#ffcc73,#ff7b65);opacity:.38}.hanc-sunset-horizon{position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,color-mix(in srgb,var(--hanc-primary) 9%,#fff))}
.hanc-atlas-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(15,23,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.045) 1px,transparent 1px);background-size:52px 52px}.hanc-atlas-routebar{position:relative;z-index:3;display:flex;align-items:center;gap:12px;margin-bottom:24px;font-size:10px;font-weight:900;letter-spacing:.14em}.hanc-atlas-routebar i{width:120px;border-top:2px dashed var(--hanc-primary)}.hanc-atlas-routebar b{display:grid;place-items:center;min-width:34px;height:34px;border-radius:50%;background:var(--hanc-primary);color:#fff}
.hanc-black-monogram{position:absolute;right:2%;top:-22%;color:rgba(255,255,255,.035);font-family:Georgia,serif;font-size:520px;font-weight:700;line-height:1}.hanc-black-topline,.hanc-tropica-market-ribbon,.hanc-gazette-masthead,.hanc-air-board{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:32px;padding-bottom:12px;border-bottom:1px solid currentColor;font-size:10px;font-weight:900;letter-spacing:.16em}
.hanc-market-confetti{position:absolute;inset:0;background-image:radial-gradient(var(--hanc-accent) 2px,transparent 3px),radial-gradient(var(--hanc-primary) 2px,transparent 3px);background-position:0 0,20px 18px;background-size:42px 42px;opacity:.13}
.hanc-gazette-masthead{font-family:Georgia,serif}.hanc-gazette-masthead b{font-size:22px;letter-spacing:.04em}
.hanc-air-runway{position:absolute;right:-10%;bottom:-40px;width:65%;height:180px;border-top:4px dashed rgba(255,255,255,.24);transform:rotate(-8deg)}.hanc-air-board{padding:12px 16px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.14)}
.hanc-eco-rings{position:absolute;right:-130px;top:-160px;width:560px;height:560px;border:70px solid color-mix(in srgb,var(--hanc-accent) 8%,transparent);border-radius:44% 56% 62% 38%/55% 42% 58% 45%;transform:rotate(18deg)}
.hanc-family-shape{position:absolute;border-radius:36% 64% 60% 40%/50% 35% 65% 50%}.hanc-family-shape-one{right:-100px;top:-130px;width:390px;height:390px;background:color-mix(in srgb,var(--hanc-accent) 18%,transparent)}.hanc-family-shape-two{left:-90px;bottom:-170px;width:310px;height:310px;background:color-mix(in srgb,var(--hanc-primary) 12%,transparent)}

@media(max-width:900px){
  .hanc-hero-alpine-grid,.hanc-hero-metro-grid,.hanc-hero-sunset-grid,.hanc-hero-atlas-grid-layout,.hanc-hero-black-grid,.hanc-hero-tropica-market-grid,.hanc-hero-gazette-grid,.hanc-hero-air-grid,.hanc-hero-eco-grid,.hanc-hero-playful-grid{grid-template-columns:1fr;gap:28px}
  .hanc-component-faq--faq-family-cards .hanc-faq-list,.hanc-component-faq--faq-family-tiles .hanc-faq-list{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hanc-black-topline,.hanc-tropica-market-ribbon,.hanc-gazette-masthead,.hanc-air-board{align-items:flex-start;flex-direction:column;gap:6px}
  .hanc-state-featured{margin-top:40px;padding-top:34px}
}
@media(prefers-reduced-motion:reduce){.hanc-style-v2 *{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}
