/* Visual-only shared finishing layer. Existing routes, controls and copy stay in place. */
.ah-visual{--paper:#f5f8f8;--cream:#f1f6f5;--muted:#455e64;background:#fff;color:#173039}
.ah-visual :where(.intro-copy,.section-head>p,.story-copy p,.source-note){color:#455e64}
.ah-visual main :where(.grid,.info-grid,.market-grid,.destination-grid,.section-head,.intro,.intro-grid)>*{min-width:0}
.ah-visual :where(h1,h2,h3){overflow-wrap:break-word}
.ah-visual :where(.btn,.button){transition:transform .2s ease,box-shadow .2s ease;white-space:normal;text-align:center}
.ah-visual :where(.btn,.button):hover{transform:translateY(-2px)}
/* Destination pages: photography first, light information and one signature closing contrast. */
.ah-v-destination .hero:after{background:linear-gradient(90deg,rgba(6,27,34,.76),rgba(6,27,34,.28) 62%,rgba(6,27,34,.06)),linear-gradient(0deg,rgba(6,27,34,.52),transparent 70%)}
.ah-v-destination .hero{min-height:660px}
.ah-v-destination .hero-copy{padding-bottom:68px}
.ah-v-destination .experiences{background:#f0f6f5;color:#173039}
.ah-v-destination .experiences .title,.ah-v-destination .experiences .card{color:#173039}
.ah-v-destination .experiences .card{background:#fff;border-color:#d5e3e1;box-shadow:none}
.ah-v-destination .experiences .card p,.ah-v-destination .experiences .section-head>p{color:#455e64}
.ah-v-destination .practical{background:#fff;color:#173039}
.ah-v-destination .practical .title{color:#173039}
.ah-v-destination .practical-card{background:#f0f6f5;border-color:#d5e3e1}
.ah-v-destination .practical-card h3{color:#17646b}
.ah-v-destination .practical-card p,.ah-v-destination .practical .section-head>p{color:#455e64}
.ah-v-destination .kicker{color:#86601e}
.ah-v-destination .hero .eyebrow,.ah-v-destination .cta .kicker{color:#f0d39d}
/* Homepage: remove the large residual dark bands, retain the closing brand accent. */
.ah-v-home .promise,.ah-v-home .services,.ah-v-home .direct-contact{background:#fff;color:#173039}
.ah-v-home .promise .title,.ah-v-home .services .title{color:#173039}
.ah-v-home .promise .principle,.ah-v-home .services .service-card{color:#173039}
.ah-v-home .promise .principle p,.ah-v-home .services .service-card p{color:#455e64}
.ah-v-home .contact-bar{background:#edf5f4;color:#173039;border:1px solid #d5e3e1;box-shadow:none}
.ah-v-home .contact-bar p{color:#455e64}
.ah-v-home .contact-bar .secondary{color:#173039;border-color:#17646b}
.ah-v-home .cta-panel{background:#f1f6f5;color:#173039}
.ah-v-home .cta-panel p{color:#455e64}
.ah-v-home .cta-panel .secondary{color:#173039;border-color:#17646b}
.ah-v-home .ah-mosaic .ah-tile-gift{background:#f8ebcc;color:#173039}
.ah-v-home .ah-mosaic .ah-tile-gift .ah-tile-number{color:#86601e}
.ah-v-home .destination:after{background:linear-gradient(0deg,rgba(5,24,31,.72),transparent 75%)}
.ah-v-home .portugal-mainland{--photo:url('images/destinations/cards/editorial-v101/portugal-card.webp')}
.ah-v-home .azores{--photo:url('images/destinations/cards/editorial-v101/sao-miguel-card.webp')}
.ah-v-home .spain{--photo:url('images/destinations/cards/editorial-v101/sevilha-card.webp')}
.ah-v-home .italy{--photo:url('images/destinations/cards/editorial-v101/roma-card.webp')}
.ah-v-home .greece{--photo:url('images/destinations/cards/editorial-v101/santorini-card.webp')}
/* Collection: daylight opening and undimmed destination photography. */
.ah-v-hub .hero{background:#e8f3f4;color:#173039;min-height:360px}
.ah-v-hub .hero:after{display:none}
.ah-v-hub .hero p,.ah-v-hub .hero .eyebrow{color:#455e64}
.ah-v-hub .top{background:#0d3439}
.ah-v-hub .destination-media{background-color:#dbeceb}
/* Cruises: bright route section; keep distinct, documented ports rather than repeating a ship. */
.ah-v-cruise .routes{background:#edf5f7;color:#173039}
.ah-v-cruise .routes .section-head p,.ah-v-cruise .routes .hint{color:#455e64}
.ah-v-cruise .included{background:#fff;color:#173039}
.ah-v-cruise .included .section-head p,.ah-v-cruise .compare-card ul,.ah-v-cruise .included .disclaimer{color:#455e64}
.ah-v-cruise .compare-card{background:#f1f6f5;border-color:#d5e3e1}
.ah-v-cruise .compare-card h3{color:#17646b}
.ah-v-cruise .included .disclaimer{background:#f8ebcc}
.ah-v-cruise .hero:after{background:linear-gradient(90deg,rgba(4,20,26,.76),rgba(4,20,26,.3) 65%,rgba(4,20,26,.08)),linear-gradient(0deg,rgba(4,20,26,.48),transparent 70%)}
/* Christmas: warm white, red and golden details; preserve all city photographs/offers. */
.ah-v-christmas .gastronomy,.ah-v-christmas .dates{background:#fff5ec;color:#173039}
.ah-v-christmas .gastronomy .title,.ah-v-christmas .dates .title{color:#173039}
.ah-v-christmas .gastronomy p,.ah-v-christmas .dates p{color:#455e64}
.ah-v-christmas .gastronomy .experience,.ah-v-christmas .dates .date{background:#fff;border-color:#e6d5c5;color:#173039}
.ah-v-christmas .offer-shell{background:#fff7ed;color:#173039;box-shadow:none;border:1px solid #ead8c6}
.ah-v-christmas .offer-copy h2,.ah-v-christmas .offer-fact strong{color:#173039}
.ah-v-christmas .offer-copy p,.ah-v-christmas .offer-fact small,.ah-v-christmas .offer-condition{color:#455e64}
.ah-v-christmas .offer-copy .offer-price{color:#9e352c}
.ah-v-christmas .offer-facts{border-color:#decbb7}
.ah-v-christmas .hero{background-image:linear-gradient(90deg,rgba(6,27,34,.77),rgba(6,27,34,.32)),url('christmas-strasbourg.jpg')}
/* New Year: retain fireworks hero, brighter daytime itinerary sections. */
.ah-v-newyear .destinations,.ah-v-newyear .gallery-section{background:#edf5f7;color:#173039}
.ah-v-newyear .destinations .title,.ah-v-newyear .gallery-section .title{color:#173039}
.ah-v-newyear .destinations .section-head p,.ah-v-newyear .gallery-section .section-head p,.ah-v-newyear .hint{color:#455e64}
.ah-v-newyear .shade{background:linear-gradient(90deg,rgba(3,14,18,.76),rgba(3,14,18,.22) 70%),linear-gradient(0deg,rgba(3,14,18,.55),transparent 70%)}
/* Gift: lighter explanation, no unverified replacement photograph. */
.ah-v-gift .how{background:#f0f6f5;color:#173039}
.ah-v-gift .how .kicker{color:#86601e}
.ah-v-gift .how-head p,.ah-v-gift .step p{color:#455e64}
.ah-v-gift .steps{background:#d5e3e1;border-color:#d5e3e1}
.ah-v-gift .step{background:#fff;color:#173039}
.ah-v-gift .step span{color:#86601e;border-color:#c49b48}
.ah-v-gift .hero:after{background:linear-gradient(90deg,rgba(4,17,24,.78),rgba(4,17,24,.35) 55%,rgba(4,17,24,.08)),linear-gradient(0deg,rgba(4,17,24,.5),transparent 70%)}
/* Travel Partner: brighter, human scale; original activity claims unchanged. */
.ah-v-partner .partner-hero{background:#e7f2f3;color:#173039}
.ah-v-partner .partner-hero p,.ah-v-partner .partner-hero .partner-next-steps{color:#455e64}
.ah-v-partner .partner-actions .btn:not(.primary){color:#173039;border-color:#17646b;background:#fff}
/* Iceland support and tours: colourful Reykjavík plus light practical information. */
.ah-v-support .hero,.ah-v-iceland .hero{background-image:linear-gradient(90deg,rgba(5,24,31,.78),rgba(5,24,31,.24) 70%),url('images/destinations/cards/editorial-v101/iceland-card.webp')}
.ah-v-support .categories,.ah-v-support .how,.ah-v-iceland .experiences{background:#edf5f4;color:#173039}
.ah-v-support .categories .title,.ah-v-iceland .experiences .title{color:#173039}
.ah-v-support .category,.ah-v-iceland .experience{background:#fff;color:#173039;border-color:#d5e3e1}
.ah-v-support .category p,.ah-v-support .how p,.ah-v-iceland .experience p,.ah-v-iceland .experiences .section-head p{color:#455e64}
.ah-v-support .wellness-intents{background:#edf5f4;color:#173039}
.ah-v-support .wellness-intents>p,.ah-v-support .wellness-continuity p{color:#455e64}
.ah-v-support .wellness-intents h4{color:#17646b}
.ah-v-support .wellness-intent-choice{border-color:#c6d9d6;border-radius:12px}
/* Motion only on entry or interaction; no continuous photographic animation. */
.ah-visual .ah-visual-enter{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.ah-visual .ah-visual-enter.is-visible{opacity:1;transform:none}
@media(max-width:700px){
 .ah-visual :where(.hero h1,.partner-hero h1){font-size:clamp(2.5rem,9vw,3.4rem)}
 .ah-v-destination .hero{min-height:600px}
 .ah-v-destination[data-visual-lot="1"] .hero{background-size:100% auto;background-color:#0d3439;min-height:0}
 .ah-v-destination[data-visual-lot="1"] .hero:after{background:linear-gradient(180deg,transparent 30vw,#0d3439 63vw)}
 .ah-v-destination[data-visual-lot="1"] .hero-copy{padding:calc(62.5vw + 12px) 0 52px}
 .ah-v-support .hero,.ah-v-iceland .hero{background-position:58% center}
 .ah-visual .actions>*{max-width:100%}
 .ah-v-hub .hero{min-height:330px}
}
@media(prefers-reduced-motion:reduce){.ah-visual *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.ah-visual .ah-visual-enter{opacity:1;transform:none}.ah-visual video[data-ah-video]{display:none}}
.ah-v-cruise .route:nth-child(1){--photo:url('images/destinations/cards/editorial-v101/malta-card.webp')}
.ah-v-cruise .route:nth-child(5){--photo:url('images/destinations/cards/editorial-v101/madeira-card.webp')}
.ah-v-cruise .routes .kicker,.ah-v-cruise .included .kicker{color:#86601e!important}
.ah-v-christmas .offer-copy{color:#173039}
.ah-v-christmas .date-grid>*{border-color:#d9d4c8}
.ah-v-christmas .gastronomy .disclaimer{background:#fff;color:#455e64}
.ah-visual .ah-photo-credit{font-size:.75rem;line-height:1.6;margin:12px auto;max-width:1180px;padding-inline:20px;color:inherit}
.ah-visual .ah-photo-credit a{color:inherit;text-underline-offset:3px}

@media(max-width:700px){.ah-v-destination .hero{background-image:var(--hero-image-mobile,var(--hero-image));}}
