/* Intrinsic image proportions: never stretch a photograph to a card or grid row. */
.card-image img,.gallery-photo img,.v3 .mosaic .card-image img,.story-image img,.wide-story>img,.about-story img,.detail-photo img,.choice img{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;transform:none;animation:none}
.card-image,.gallery-photo,.story-image,.detail-photo{align-self:center;overflow:hidden}
.detail-photo{padding:0;width:100%;max-width:560px;margin-inline:auto;border-radius:12px;box-shadow:0 14px 32px #10293612}
.story-image,.about-story>img{max-width:640px;margin-inline:auto}
.wide-story>img{max-width:1120px;margin-inline:auto}
.hero-bg{object-fit:contain;object-position:center;animation:hero-light 12s ease-in-out infinite alternate;transform:none;background:#102936}
.hero-one{background:linear-gradient(135deg,#102936,#285462);min-height:calc(100svh - 76px)}
.hero-shade{background:linear-gradient(90deg,#071c2deb 0%,#071c2db3 45%,#071c2d24 100%)}
.hero-two-image{padding:26px;min-height:0;background:linear-gradient(145deg,#dde9dc,#b7cec2);align-items:center;justify-content:center;isolation:isolate}
.hero-two-image>img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;animation:hero-light 12s ease-in-out infinite alternate;transform:none;border-radius:8px;box-shadow:0 24px 60px #163c372b}
.hero-two-image:before{content:'';position:absolute;inset:0;background:linear-gradient(130deg,#e9f0e4e8,#e9f0e48a),url('travel-bg-960.webp') center/cover;z-index:-1}
.hero-three-photo{height:auto;min-height:0;max-height:none;padding:0 24px 68px;background:linear-gradient(135deg,#ead7c7,#c99886)}
.hero-three-photo>img{width:100%;height:auto;max-width:1040px;max-height:none;margin-inline:auto;object-fit:contain;object-position:center;animation:hero-light 14s ease-in-out infinite alternate;transform:none;border-radius:8px}
.hero-three-photo .portal-links{bottom:10px}
.hero-two{max-height:none}.image-caption{max-width:calc(100% - 52px)}
.photo-cta .cta-photo{object-fit:cover;object-position:center;animation:hero-light 15s ease-in-out infinite alternate;transform:none}
/* Photographic surfaces retain a solid readable copy layer. */
.inner-title{position:relative;background:linear-gradient(90deg,var(--paper) 15%,color-mix(in srgb,var(--paper) 93%,transparent)),url('business-bg-960.webp') right center/cover;border-radius:0 0 24px 24px;padding-inline:24px}
.page-travel-services .inner-title,.page-gallery .inner-title{background-image:linear-gradient(90deg,var(--paper) 15%,color-mix(in srgb,var(--paper) 90%,transparent)),url('travel-bg-960.webp')}
.process-layout{padding:32px;border-radius:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--paper) 96%,transparent),color-mix(in srgb,var(--tint) 91%,transparent)),url('city-bg-960.webp') center/cover;gap:44px}
.prepare-box,.category-tile{background:linear-gradient(135deg,var(--tint),var(--paper));border:1px solid var(--line);border-radius:14px}
.service-card,.offer-card,.gallery-item,.category-tile,.prepare-box,.process-steps article{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s,box-shadow .25s,filter .25s}
.btn:before{content:'';position:absolute;inset:-60% auto -60% -60%;width:35%;background:linear-gradient(90deg,transparent,#ffffff45,transparent);transform:skewX(-22deg);pointer-events:none;transition:left .65s}
.btn:hover:before,.btn:focus-visible:before{left:135%}
.btn:hover,.btn:focus-visible{transform:translateY(-5px);box-shadow:0 12px 24px #1029362b;filter:brightness(1.08)}
.btn:active{transform:translateY(1px) scale(.97)}
.btn svg{transition:transform .3s}.btn:hover svg{transform:translateX(4px)}
@media(hover:hover){.service-card:hover,.offer-card:hover,.gallery-item:hover,.category-tile:hover,.prepare-box:hover{transform:translateY(-9px);box-shadow:0 20px 40px #10293624;border-color:var(--accent)}.process-steps article:hover{transform:translateX(7px);box-shadow:0 8px 20px #10293612}.original-socials a:hover{transform:translateY(-6px) rotate(8deg) scale(1.08)}}
.service-card:active,.offer-card:active,.gallery-item:active,.category-tile:active{transform:scale(.99)}
.hero h1{animation:copy-enter .85s both}.hero .eyebrow{animation:copy-enter .65s both}.hero .actions,.hero-two-copy>.btn,.hero-three-intro{animation:copy-enter 1.1s both}
.js-reveal .reveal{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(36px)}
.js-reveal .reveal.visible{transform:none}.reveal:nth-child(3n+2){transition-delay:.08s}.reveal:nth-child(3n){transition-delay:.16s}
.offer-ticker:hover .ticker-track,.offer-ticker:focus-within .ticker-track{animation-play-state:running}
.ticker-track{animation-duration:38s}
@keyframes copy-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes hero-light{from{filter:brightness(.94)}to{filter:brightness(1.06)}}
@media(max-width:900px){.hero-two-image{padding:20px}.hero-three-photo{padding:0 20px 68px}.process-layout{padding:25px;gap:28px}.hero-one{min-height:calc(100svh - 70px)}}
@media(max-width:600px){.hero-one{min-height:calc(100svh - 66px)}.hero-bg{object-position:center bottom}.hero-shade{background:linear-gradient(180deg,#071c2df2 15%,#071c2dd9 48%,#071c2d24 100%)}.hero-content{padding-top:38px;padding-bottom:170px}.hero-foot{margin-top:25px}.hero-two-image{width:100%;height:auto;min-height:0;padding:16px 16px 58px}.hero-two-image>img{height:auto;animation:hero-light 12s ease-in-out infinite alternate}.hero-three-photo{height:auto;min-height:0;padding:0 14px 66px}.hero-three-photo>img{height:auto}.image-caption{font-size:9px;max-width:calc(100% - 32px)}.inner-title{padding-inline:16px}.process-layout{padding:22px 16px}.detail-photo{max-width:480px}.photo-gallery{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.v2 .editorial .service-card:nth-child(even){margin-top:0}.card-copy{padding:22px}.card-copy h3{font-size:24px}.card-copy p:not(.eyebrow){font-size:14px}.gallery-item>div{padding:20px}.gallery-item h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-reveal .reveal{opacity:1;transform:none}.btn:hover,.service-card:hover,.gallery-item:hover,.offer-card:hover,.category-tile:hover,.prepare-box:hover,.process-steps article:hover{transform:none}}

@media(hover:hover) and (prefers-reduced-motion:no-preference){.js-reveal .service-card.visible:hover,.js-reveal .offer-card.visible:hover,.js-reveal .gallery-item.visible:hover{transform:translateY(-9px)}}
