/* Coastal direction: daylight photography and licensed Phosphor artwork. */
.beach-icon { display:inline-block; width:32px; height:32px; flex:0 0 auto; fill:currentColor; stroke:none; vertical-align:middle; }
.theme-two .hero__media { inset:0; background-image:url('../assets/hero-fotohappyplace-v1.webp'); background-position:center 54%; transform:none !important; }
.theme-two .hero__wash { background:linear-gradient(90deg,rgba(3,36,53,.52) 0%,rgba(3,36,53,.32) 31%,rgba(3,36,53,.04) 58%,transparent 76%); }
.theme-two .hero { box-shadow:0 24px 60px rgb(7 149 176 / .12); }
.theme-two .hero h1 { text-shadow:0 2px 14px rgb(3 36 53 / .18); }
.theme-two .hero .eyebrow,.theme-two .hero__content > p,.theme-two .hero__mini-proof small { color:#fff; text-shadow:0 1px 6px rgb(3 36 53 / .5); }
.theme-two .hero__floating-note { color:var(--ink); background:rgba(255,255,255,.94); border-color:rgba(255,255,255,.85); }
.theme-two .hero__floating-note b { color:var(--ink); }
.theme-two .hero__floating-note .beach-icon { width:26px; height:26px; }
.theme-two .experience-chips > a { --chip-face:#12b7d2; --chip-base:#07859c; --chip-ink:var(--ink); --chip-depth:6px; }
.theme-two .experience-chips > a[data-experience="pool"] { --chip-face:var(--yellow); --chip-base:#dba900; }
.theme-two .experience-chips > a[data-experience="couple"] { --chip-face:var(--coral); --chip-base:#cf584f; --chip-ink:#702339; }
.theme-two .experience-chips > a[data-experience="family"] { --chip-face:#73d4e5; --chip-base:#369cae; }
.theme-two .experience-chips > a[data-experience="pet"] { --chip-face:#9addbd; --chip-base:#559e7b; }
.theme-two .experience-chips > a[data-experience="department"] { --chip-face:#70b9e2; --chip-base:#367faa; }
.theme-two .experience-chips > a[data-experience="house"] { --chip-face:#ffc566; --chip-base:#d59535; }
.theme-two .experience-chips > a[data-experience] > span {
 display:grid; place-items:center; border:0; color:var(--chip-ink); background:var(--chip-face);
 box-shadow:0 var(--chip-depth) 0 var(--chip-base),0 10px 18px rgb(5 43 66 / .10),inset 0 1px 0 rgb(255 255 255 / .25);
 transition:transform 160ms ease,box-shadow 160ms ease;
}
.theme-two .experience-chips .beach-icon { width:34px; height:34px; }
.theme-two .experience-chips > a:hover { transform:none; background:transparent; }
.theme-two .experience-chips > a.is-active { background:#f0f8fa; box-shadow:inset 0 0 0 2px var(--chip-base); }
.theme-two .experience-chips > a:active > span { transform:translateY(3px); box-shadow:0 calc(var(--chip-depth) - 3px) 0 var(--chip-base),0 5px 10px rgb(5 43 66 / .08); }
@media(hover:hover) and (pointer:fine) {
 .theme-two .experience-chips > a:hover > span { transform:translateY(-2px); box-shadow:0 calc(var(--chip-depth) + 2px) 0 var(--chip-base),0 12px 20px rgb(5 43 66 / .12); }
 .theme-two .experience-chips > a:active > span { transform:translateY(3px); box-shadow:0 calc(var(--chip-depth) - 3px) 0 var(--chip-base),0 5px 10px rgb(5 43 66 / .08); }
}
.theme-two .experience-chips > a:focus-visible { outline:3px solid var(--turquoise-dark); outline-offset:3px; }
.theme-two .tropical-decor--coast,.theme-two .tropical-decor--properties { -webkit-mask-image:url('../assets/decor/palm-phosphor.svg'); mask-image:url('../assets/decor/palm-phosphor.svg'); }
.theme-two .tropical-decor--coast { width:190px; height:220px; top:-40px; right:-45px; color:var(--turquoise); background:currentColor; opacity:.16; transform:rotate(12deg); }
.theme-two .tropical-decor--properties { width:210px; height:250px; top:42px; right:-105px; background:var(--turquoise); opacity:.16; transform:rotate(-12deg); }
.theme-two .coast-story { background:#e4f9fc; color:var(--ink); border:1px solid #c6eff5; box-shadow:0 18px 50px rgb(7 149 176 / .08); }
.theme-two .coast-story::before,.theme-two .coast-story::after { display:none; }
.theme-two .coast-story h2 { color:var(--ink); }
.theme-two .coast-story .section-kicker { color:#00748b; }
.theme-two .coast-story__content > p { color:var(--ink-soft); }
.theme-two .coast-story__moments > span { background:#fff; border-color:#c6eff5; box-shadow:none; }
.theme-two .coast-story__moments i { width:42px; height:42px; border-radius:14px; color:var(--ink); background:var(--yellow); }
.theme-two .coast-story__moments i .beach-icon { width:28px; height:28px; }
.theme-two .coast-story__sun { color:#efb600; animation:none; }
.theme-two .coast-story__sun .beach-icon { width:68px; height:68px; }
.theme-two .coast-story__wave .beach-icon { width:90px; height:48px; }
.theme-two .coast-story__photo { box-shadow:0 16px 30px rgb(7 50 74 / .13); }
.theme-two .brand-story { background:var(--yellow); color:var(--ink); border:0; }
.theme-two .brand-story__photo { margin:20px 0 20px 20px; min-height:440px; border-radius:24px; background:url('../assets/brand-beach-v1.webp') 65% center / cover no-repeat; }
.theme-two .brand-story h2,.theme-two .brand-story h2 mark,.theme-two .brand-story .section-kicker { color:var(--ink); }
.theme-two .brand-story h2 mark::after { border-color:var(--turquoise-dark); }
.theme-two .brand-story__content > p,.theme-two .brand-story__checks small { color:var(--ink); }
.theme-two .brand-story__checks { border-color:rgb(7 50 74 / .18); }
.theme-two .brand-story .button--light { color:white; background:var(--ink); border-color:var(--ink); box-shadow:0 5px 0 rgb(7 50 74 / .18); }
.theme-two .brand-story__scribble { color:var(--ink); right:22px; bottom:16px; opacity:.16; }
.theme-two .brand-story__scribble .beach-icon { width:100px; height:100px; }
.theme-two .brand-story::after { display:none; }
.theme-two .long-stay { background:#14bbd1; color:var(--ink); border:0; }
.theme-two .long-stay .section-kicker,.theme-two .long-stay__content > p { color:var(--ink); }
.theme-two .long-stay__blob { display:none; }
.theme-two .long-stay::after { content:''; position:absolute; pointer-events:none; z-index:-1; right:-48px; top:-48px; width:300px; height:330px; background:#fff; opacity:.16; -webkit-mask:url('../assets/decor/palm-phosphor.svg') center / contain no-repeat; mask:url('../assets/decor/palm-phosphor.svg') center / contain no-repeat; transform:rotate(12deg); }
.theme-two .long-stay__benefits article { background:white; box-shadow:0 6px 0 rgb(7 50 74 / .06); }
.theme-two .long-stay__benefits i { background:var(--yellow); color:var(--ink); }
.theme-two .long-stay__benefits article:hover { transform:none; }
.theme-two .site-footer__photo-credit { grid-column:1 / -1; margin:0; font-size:.72rem; line-height:1.6; color:#c6eaf0; }
.theme-two .site-footer__photo-credit a { display:inline; color:inherit; text-decoration:underline; }
.title-write-ink { display:block; }
#hero-title .title-write-ink { letter-spacing:inherit; }
.theme-two .detail-title h1 { overflow-wrap:anywhere; }
.theme-two .property-card h3,.theme-two .similar-card strong { font-weight:900; -webkit-text-stroke:.15px currentColor; }
.theme-two .property-card__footer strong,.theme-two .similar-card b,
.theme-two .booking-card__price b,.theme-two .mobile-booking-bar b,.theme-two .mobile-reserve-sheet__price b { font-weight:900; -webkit-text-stroke:.2px currentColor; }
.theme-two .detail-title h1 { font-weight:900; -webkit-text-stroke:.006em currentColor; }
.theme-two .detail-title h1::after { transform:rotate(-1deg) scaleX(var(--write-progress,1)); transform-origin:left; }
.theme-two .long-stay .button--primary { background:var(--yellow); border-color:var(--yellow); color:var(--ink); box-shadow:0 5px 0 #dba900; }
@media(max-width:860px) {
 .theme-two .hero__wash { background:linear-gradient(90deg,rgba(3,36,53,.48),rgba(3,36,53,.24) 58%,rgba(3,36,53,.05)); }
 .theme-two .brand-story__photo { min-height:300px; margin:16px; }
}
@media(max-width:620px) {
 .theme-two .hero__media { background-image:url('../assets/hero-fotohappyplace-mobile-v1.webp'); background-position:center center; }
 .theme-two .hero__wash { background:linear-gradient(180deg,rgba(3,36,53,.22),rgba(3,36,53,.36) 44%,transparent 72%); }
 .theme-two.home-page .hero-fold .hero__content > p { background:rgba(3,36,53,.38); border-color:transparent; text-shadow:none; }
 .theme-two .experience-chips > a { --chip-depth:4px; }
 .theme-two.home-page .hero-fold .experience-chips > a > span { width:40px; height:40px; border:0; }
 .theme-two .experience-chips .beach-icon { width:25px; height:25px; }
 .theme-two .tropical-decor--properties { width:125px; height:150px; right:-45px; top:0; opacity:.12; }
 .theme-two .tropical-decor--coast { width:100px; height:140px; right:-28px; top:-28px; }
 .theme-two .coast-story__sun .beach-icon { width:44px; height:44px; }
 .theme-two .coast-story__wave .beach-icon { width:65px; height:35px; }
 .theme-two .brand-story__photo { min-height:240px; margin:14px 14px 0; background-image:url('../assets/brand-beach-mobile-v1.webp'); }
 .theme-two .brand-story__content { padding:28px 24px 40px; }
 .theme-two .brand-story__scribble .beach-icon { width:70px; height:70px; }
}
@media(prefers-reduced-motion:reduce) {
 .theme-two .experience-chips > a[data-experience] > span { transition:none; transform:none; }
}

/* Destination cards lift without rotating or exposing a dark rounded rim. */
.theme-two .destination-grid--server .destination-card { background:transparent; box-shadow:0 18px 45px rgb(5 43 66 / .12); }
.theme-two .destination-grid--server .destination-card:hover { transform:translateY(-6px); box-shadow:0 18px 45px rgb(5 43 66 / .12); }
.theme-two .destination-grid--server .destination-card::after { border-radius:inherit; }
@media(prefers-reduced-motion:reduce) { .theme-two .destination-grid--server .destination-card:hover { transform:none; } }
