/* Home photography and independent category galleries. Catalog styles are separate. */
.pw-home .pw-hero{position:relative;isolation:isolate;background:#075877;padding:52px 0 30px}
.pw-home .home-hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.pw-home .pw-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,43,64,.88),rgba(3,49,70,.69) 34%,rgba(0,62,81,.12) 72%,transparent)}
.pw-home .pw-hero-grid{grid-template-columns:1.35fr 1fr;gap:65px;min-height:390px;align-items:end}
.pw-home .pw-hero-copy{padding:0 0 12px}
.pw-home .pw-hero h1{color:#fff;font-size:clamp(44px,4.4vw,66px);max-width:700px;line-height:1.08;letter-spacing:-.045em;margin-bottom:21px;text-wrap:balance}
.pw-home .pw-hero .pw-eyebrow{color:#affff1;font-size:10px;letter-spacing:.13em}
.pw-home .pw-hero .pw-lead{color:#fff;max-width:570px;font-size:16px;line-height:1.75}
.pw-home .pw-hero .pw-actions>.pw-button:first-child{background:#d93630;border-color:#d93630;box-shadow:0 4px 12px #00394a22}
.pw-home .pw-hero .pw-actions>.pw-button:first-child:hover{background:#bf2823;border-color:#bf2823}
.pw-home .pw-hero .pw-button-outline{color:#fff;border-color:#ffffff9c;background:#053e5780}
.pw-home .pw-hero .pw-button-outline:hover{background:#064661;border-color:#fff}
.pw-home .pw-hero-assurance{margin-top:25px}
.pw-home .pw-hero-assurance p,.pw-home .pw-hero-assurance strong{color:#fff}
.pw-home .pw-mini-heart{color:#affff1;border-color:#b0ffef80;background:#06435a55}
.pw-home .pw-hero-visual{padding:0 0 12px;align-self:end;justify-self:end;max-width:350px}
.pw-home .pw-photo-location{display:block;margin:0 0 17px auto;padding:9px 14px;background:#043d57db;color:#fff;border:1px solid #ffffff44;border-radius:12px;width:fit-content;font-size:13px;font-weight:650;line-height:1.5}
.pw-photo-location>span{margin-right:5px}.pw-photo-location>small{display:block;font-size:9px;font-weight:400;opacity:.94;margin-top:3px}
.pw-home .pw-floating-note{position:static;margin:0;padding:16px 20px;background:#fff;border:0;border-bottom:4px solid #04b7b8;border-radius:13px;box-shadow:0 8px 30px #032c4744}
.pw-home .pw-floating-note .pw-avatar{background:#d9faf4;color:#00747c}
.pw-home .pw-search-wrap{margin-top:30px}
.pw-home .pw-search{border:2px solid #fff;box-shadow:0 12px 30px #042c4033}
.pw-home .pw-search button[type=submit]{background:var(--pw-blue)}
.pw-home .pw-search button[type=submit]:hover{background:#084dbf}
.pw-home .pw-inspiration{padding:66px 0 48px}
.pw-inspiration .pw-section-heading{align-items:center;margin-bottom:30px}
.pw-inspiration .pw-section-heading .pw-text-link{flex-shrink:0;color:var(--pw-blue)}
.public-web .pw-inspiration-intro{font-size:15px;margin:15px 0 0}
.pw-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.pw-category{--category-accent:#007d85;border:1px solid var(--pw-line);border-radius:18px;overflow:hidden;background:#fff;min-width:0;transition:box-shadow .2s,transform .2s}
.pw-category:hover{box-shadow:0 10px 26px #123c4b14;transform:translateY(-3px)}
.pw-category-tour{--category-accent:#c34422}.pw-category-yacht{--category-accent:#155ee0}.pw-category-transport{--category-accent:#7853b7}
.pw-category-media{position:relative;aspect-ratio:1.12;background:#d3eff1;overflow:hidden;touch-action:pan-y}
.pw-category-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.pw-category-slide.is-active{opacity:1;visibility:visible}
.pw-category-slide img{width:100%;height:100%;object-fit:cover}
.pw-category-yacht .pw-category-slide:first-child img{object-position:center 41%}
.pw-carousel-controls{position:absolute;inset:0;pointer-events:none}
.pw-carousel-controls button{pointer-events:auto;border:0;display:grid;place-items:center;padding:0;color:var(--pw-ink)}
.pw-carousel-count{position:absolute;top:13px;left:13px;background:#063246d9;color:#fff;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}
.pw-carousel-controls .pw-carousel-pause{position:absolute;top:7px;right:7px;width:44px;height:44px;border-radius:50%;background:#063246d9;color:white;font-size:16px}
.pw-carousel-controls .pw-carousel-arrow{position:absolute;top:50%;margin-top:-22px;border-radius:50%;width:44px;height:44px;font-size:31px;line-height:1;background:#fff;box-shadow:0 2px 10px #10293833}
.pw-carousel-arrow>span{margin-top:-4px}.pw-carousel-previous{left:8px}.pw-carousel-next{right:8px}
.pw-carousel-controls button:hover{background:#e2fbf6;color:#064a59}
.pw-carousel-dots{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:0;background:#063246bd;border-radius:25px;padding:0 4px}
.pw-carousel-dots button{height:30px;width:30px;background:transparent;border-radius:50%}
.pw-carousel-dots button>span{width:7px;height:7px;border-radius:50%;background:#ffffff88;border:1px solid #fff}
.pw-carousel-dots button[aria-pressed=true]>span{width:17px;border-radius:8px;background:#fff}
.pw-category .pw-carousel-controls button:focus-visible{outline:3px solid #ffcc42;outline-offset:1px}
.pw-category-body{padding:23px 20px 22px;border-top:4px solid var(--category-accent)}
.public-web .pw-category h3{font-size:20px;letter-spacing:-.035em;line-height:1.25;margin:0 0 10px}
.public-web .pw-category p{font-size:12px;margin:0 0 20px;line-height:1.6}
.pw-category-body>a{display:flex;justify-content:space-between;gap:7px;color:var(--category-accent);font-size:12px;font-weight:700;min-height:28px;align-items:center}
.pw-category-body>a:hover{text-decoration:underline;text-underline-offset:4px}.pw-category-body>a>span{font-size:21px}
.pw-inspiration-foot{display:flex;align-items:baseline;justify-content:space-between;gap:25px;margin-top:21px;font-size:10px;color:var(--pw-muted)}
.public-web .pw-inspiration-foot p{font-size:10px;margin:0}.pw-inspiration-foot a{text-decoration:underline;flex-shrink:0;text-underline-offset:3px}
.pw-photo-credits{padding:0 0 32px;font-size:11px;color:var(--pw-muted)}
.pw-photo-credits summary{cursor:pointer;width:fit-content}.pw-photo-credits p{max-width:760px;margin:15px 0 10px}
.pw-photo-credits ul{list-style:none;display:flex;gap:8px 25px;flex-wrap:wrap;padding:0}.pw-photo-credits a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1500px){.pw-home .pw-hero{padding-top:65px}.pw-home .pw-hero-grid{min-height:430px}}
@media(max-width:1200px){.pw-home .pw-hero-grid{gap:30px;grid-template-columns:1.5fr 1fr}.pw-home .pw-hero h1{font-size:53px}.pw-category-grid{gap:16px}.pw-category-body{padding:20px 16px}.public-web .pw-category h3{font-size:18px}}
@media(max-width:1050px){.pw-home .pw-hero h1{font-size:47px}.pw-home .pw-floating-note{padding:15px}.pw-home .pw-floating-note div>span{font-size:10px}.pw-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.pw-category-media{aspect-ratio:1.5}.public-web .pw-category h3{font-size:22px}.public-web .pw-category p,.pw-category-body>a{font-size:14px}}
@media(max-width:760px){
 .pw-home .pw-hero{padding:33px 0 24px;background:#075877}
 .pw-home .home-hero-photo{height:760px;object-position:64% center}
 .pw-home .pw-hero:before{background:linear-gradient(180deg,#02304cdd 0,#034559dd 370px,#034559b8 465px,transparent 540px,transparent 650px,#075877 760px)}
 .pw-home .pw-hero-grid{display:block;min-height:0}
 .pw-home .pw-hero-copy{padding:0}.pw-home .pw-hero h1{font-size:clamp(39px,8vw,56px);max-width:580px;text-wrap:initial}
 .pw-home .pw-hero .pw-eyebrow{font-size:8px;letter-spacing:.09em;max-width:330px}
 .pw-home .pw-hero .pw-lead{font-size:15px}.pw-home .pw-hero .pw-actions{gap:10px}
 .pw-home .pw-hero .pw-button{font-size:12px;min-height:48px;padding:12px 16px}
 .pw-home .pw-hero-assurance{margin-top:20px;padding:10px;border-radius:12px;background:#034057e8}.pw-home .pw-hero-assurance p{font-size:10px}
 .pw-home .pw-hero-visual{max-width:none;display:flex;justify-content:flex-end;align-items:flex-end;min-height:135px;padding:0;margin-top:20px}
 .pw-home .pw-floating-note{display:none}.pw-home .pw-photo-location{font-size:11px;margin:0;padding:7px 11px;background:#03435ddb}
 .pw-photo-location>small{font-size:8px}.pw-home .pw-search-wrap{margin-top:22px}
 .pw-home .pw-inspiration{padding:45px 0 35px}.pw-inspiration .pw-section-heading{display:block;margin-bottom:25px}
 .pw-inspiration .pw-section-heading .pw-text-link{margin-top:18px;font-size:13px}
 .public-web .pw-inspiration-intro{font-size:14px}.pw-category-grid{gap:20px}
 .pw-category-media{aspect-ratio:1.2}.pw-category-body{padding:20px}
 .pw-inspiration-foot{display:block}.public-web .pw-inspiration-foot p{margin-bottom:8px}
}
@media(max-width:540px){.pw-category-grid{grid-template-columns:1fr}.pw-category-media{aspect-ratio:1.35}.public-web .pw-category h3{font-size:23px}.pw-carousel-dots button{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.pw-category,.pw-category-slide{transition:none}.pw-category:hover{transform:none}}
@media print{.pw-carousel-controls,.pw-inspiration-foot,.pw-photo-credits{display:none}.pw-home .home-hero-photo{display:none}.pw-home .pw-hero:before{display:none}.pw-home .pw-hero{background:white}.pw-home .pw-hero h1,.pw-home .pw-hero p{color:#123c4b}.pw-category-grid{grid-template-columns:repeat(2,1fr)}}

/* The same gallery controller also owns the home slideshow; search stays static. */
.pw-home .pw-hero-slides{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.pw-home .pw-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s,visibility .7s}
.pw-home .pw-hero-slide.is-active{opacity:1;visibility:visible}
.pw-home .pw-hero-slide .home-hero-photo{z-index:auto;object-position:var(--photo-position,center 58%)}
.pw-home .photo-cancun-sunny-beach{--photo-position:center bottom}
.pw-home .photo-infinity-pool{--photo-position:center 62%}
.pw-home .photo-zipline-forest{--photo-position:center 60%}
.pw-home .photo-atv-trail{--photo-position:center 65%}
.pw-home .photo-jet-ski{--photo-position:center 72%}
.pw-home .photo-ocean-cocktails{--photo-position:center 55%}
.pw-home .pw-hero-visual{width:350px;max-width:100%}
.pw-hero-slideshow-panel{width:100%;padding:14px 12px 10px;margin-bottom:15px;background:#03344dd9;border:1px solid #ffffff4d;border-radius:14px;color:#fff;touch-action:pan-y}
.pw-hero-scene{display:block;font-weight:650;font-size:14px;line-height:1.4;margin:0 5px 7px}
.pw-hero-controls{display:flex;align-items:center;gap:3px}
.pw-hero-controls button{display:grid;place-items:center;flex-shrink:0;min-height:44px;width:44px;padding:0;border:1px solid #ffffff60;border-radius:50%;background:#ffffff14;color:#fff;cursor:pointer}
.pw-hero-controls button:hover{background:#fff;color:#075877}
.pw-hero-controls button:focus-visible{outline:3px solid #ffcc42;outline-offset:2px}
.pw-hero-controls .pw-carousel-arrow{font-size:29px;line-height:1}
.pw-hero-controls .pw-carousel-pause{order:4;font-size:14px}
.pw-hero-controls .pw-carousel-count{position:static;padding:0;background:none;font-size:10px;margin:0 2px;order:5}
.pw-hero-controls .pw-carousel-dots{position:static;transform:none;flex:1;justify-content:center;background:none;padding:0;min-width:0}
.pw-hero-controls .pw-carousel-dots button{border:0;width:22px;min-height:44px;background:transparent}
.pw-hero-controls .pw-carousel-dots button>span{width:6px;height:6px}
.pw-hero-controls .pw-carousel-dots button[aria-pressed=true]>span{width:17px}
.pw-hero-controls .pw-carousel-pause:disabled{opacity:.5;cursor:default}
.pw-hero-credit{display:block;width:fit-content;margin:7px 5px 0;font-size:9px;color:#fff;text-decoration:underline;text-underline-offset:3px}
.pw-category-yacht .pw-category-slide:first-child img{object-position:center 66%}
.pw-category-tour .photo-zipline-forest-960{object-position:center 62%}
.pw-category-tour .photo-atv-trail-960{object-position:68% center}
.pw-category-tour .photo-jet-ski-960{object-position:center 75%}
.pw-category-transport .photo-modern-transfer{object-position:70% center}
@media(max-width:760px){
 .pw-home .pw-hero-visual{width:100%;min-height:175px}
 .pw-home .pw-hero-slideshow-panel{max-width:350px;margin:0}
 .pw-home .pw-hero-slide .home-hero-photo{object-position:var(--photo-mobile-position,64% center)}
 .pw-home .photo-infinity-pool{--photo-mobile-position:74% center}
 .pw-home .photo-zipline-forest{--photo-mobile-position:65% center}
 .pw-home .photo-atv-trail{--photo-mobile-position:70% center}
 .pw-home .photo-jet-ski{--photo-mobile-position:40% center}
 .pw-home .photo-ocean-cocktails{--photo-mobile-position:58% center}
 .pw-hero-controls .pw-carousel-count{display:none}
 .pw-hero-controls .pw-carousel-dots button{width:26px}
}
@media(max-width:380px){
 .pw-hero-controls{flex-wrap:wrap;justify-content:center;gap:5px 12px}
 .pw-hero-controls .pw-carousel-dots{order:6;flex-basis:100%}
 .pw-hero-controls .pw-carousel-pause{order:4}
 .pw-hero-controls .pw-carousel-count{display:inline}
 .pw-hero-slideshow-panel{padding:10px}
}
@media(prefers-reduced-motion:reduce){.pw-home .pw-hero-slide{transition:none}}
@media print{.pw-hero-slides,.pw-hero-slideshow-panel{display:none}}

/* On a phone, give the actual experience a clear frame below the message. */
@media(min-width:761px){
 .pw-home .pw-hero-visual{position:static}
 .pw-home .pw-hero-slide .photo-jet-ski{left:22%;width:78%;mask-image:linear-gradient(90deg,transparent,#000 24%)}
}
@media(max-width:760px){
 .pw-home .pw-hero:before{background:none}
 .pw-home .pw-hero-visual{position:relative;isolation:isolate;min-height:370px;margin-top:24px;padding:230px 10px 10px;border-radius:16px;overflow:hidden}
 .pw-home .pw-hero-slide .home-hero-photo{height:100%}
 .pw-home .photo-infinity-pool{--photo-mobile-position:74% center}
 .pw-home .photo-zipline-forest{--photo-mobile-position:center 60%}
 .pw-home .photo-jet-ski{--photo-mobile-position:center 74%}
 .pw-home .pw-hero-slideshow-panel{background:#03344de8}
}
