/* Shared Hotel Prince palette and text visibility fixes. */
:root{--teal:#044240;--teal-2:#044240;--ivory:#F9FDFE;--copper:#964A14;--ink:#000000;--white:#FFFFFF;--line:rgba(4,66,64,.18)}
body{background:var(--ivory);color:var(--ink)}
header{background:var(--ivory)}
h1,h2,h3{line-height:1.14;overflow-wrap:normal}
p,a,label,figcaption{overflow-wrap:anywhere}
.hero-grid>*,.split>*,.showcase>*,.residency-grid>*,.contact-grid>*,.intro>*,.section-head>*{min-width:0}
.topbar .wrap{height:auto;min-height:36px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px;gap:4px 18px}
.topbar a{font-size:.875rem;opacity:1}
.brand{flex-shrink:0}.brand-name{line-height:1.15}.brand-name small{font-size:.625rem;line-height:1.3}
.nav-links{font-size:.875rem;gap:16px;letter-spacing:.025em}
.eyebrow,.button,.inline-link{font-size:.875rem}
.button{padding:12px 22px;line-height:1.45;text-align:center;max-width:100%}
.hero .eyebrow,.hero h1 em,.page-hero .eyebrow,.residency .eyebrow{color:var(--ivory)}
.hero-copy p,.page-hero p,.residency p,.contact-strip p{color:var(--white)}
.hero .button.outline:hover{color:var(--teal)}
.button.primary:hover,.nav-book:hover,.booking-widget button:hover{background:var(--teal)!important;outline:1px solid var(--white)}
.hero-copy h1{font-size:clamp(2.75rem,5.2vw,4.7rem)}
.hero .booking-widget{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero .booking-widget label:first-child,.hero .booking-widget button{grid-column:1/-1}
.booking-widget label{font-size:.875rem;letter-spacing:.03em}
.booking-widget input,.booking-widget select{font-size:1rem!important;min-height:46px;padding:0 6px}
.booking-widget button{font-size:.875rem;min-height:46px;height:auto;padding:12px}
.properties,.hpr-gallery,.section.tint{background:var(--white)}
.notice,.selected-stay,.policy-note{background:var(--ivory)}
.section-head{max-width:none}
.properties .section-head>div{flex:1.3}.properties .section-head>p{flex:1}
.gallery .section-head,.hpr-gallery .section-head{display:block;max-width:760px}
.gallery .section-head p,.hpr-gallery .section-head p{max-width:680px;margin-top:18px}
.property .eyebrow,.property.secondary .eyebrow,.property .inline-link,.property .card-copy p{color:var(--white)}
.property .inline-link:hover{color:var(--white);text-decoration:underline;text-underline-offset:5px}
.property::after{background:linear-gradient(0deg,rgba(0,0,0,.95),rgba(0,0,0,.72) 48%,rgba(0,0,0,.08) 100%)}
.page-hero.with-image:after{background:linear-gradient(90deg,rgba(4,66,64,.97),rgba(4,66,64,.87) 60%,rgba(4,66,64,.60))}
.photo-gallery figure{aspect-ratio:1.3;min-height:0}
.gallery-grid figcaption,.photo-gallery figcaption,.hero-note{font-size:.875rem;letter-spacing:.05em;background:rgba(0,0,0,.82);padding:7px 10px;max-width:calc(100% - 28px);line-height:1.45}
.anniversary{left:14px;bottom:70px}
.contact-strip .button{flex-shrink:0}
.policy-content p,.policy-content li,.policy-meta{color:var(--ink)}
footer{background:var(--ink);color:var(--white)}
.footer-policies,.footer-grid,.signature-link,.signature-footer small{font-size:.875rem}
.signature-links{flex-wrap:wrap}.signature-footer .wrap{flex-wrap:wrap}
.footer-policies a:hover,.socials a:hover{color:var(--white);text-decoration:underline}
.socials .social-logo-link:hover{background:var(--copper)}
:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
.hero :focus-visible,.residency :focus-visible,footer :focus-visible,.contact-strip :focus-visible{outline-color:var(--white)}
[id]{scroll-margin-top:100px}
@media(min-width:851px) and (max-width:1050px){.nav{gap:12px}.nav-links{gap:10px;font-size:.75rem}.hero-copy{padding-right:24px}}
@media(max-width:850px){.hero-copy h1{font-size:clamp(2.75rem,8vw,4.7rem)}.page-hero.with-image:after{background:rgba(4,66,64,.88)}.anniversary{bottom:18px;left:18px}.hero-note{right:14px;bottom:16px;max-width:calc(100% - 160px)}.nav-links{max-height:calc(100dvh - 100px);overflow-y:auto}.contact-strip .wrap{align-items:flex-start}.contact-strip .button{flex-shrink:1}}
@media(max-width:520px){.topbar .wrap{gap:3px 12px}.topbar a{font-size:.75rem}.page-hero h1{font-size:clamp(2.3rem,10vw,3.1rem)}.hero-copy p{font-size:1rem}.photo-gallery{grid-template-columns:1fr}.photo-gallery figure{min-height:0}.gallery-grid figcaption{font-size:.75rem;left:7px;bottom:7px;padding:5px 7px;max-width:calc(100% - 14px)}.hero .booking-widget{padding:16px 12px}.property.secondary .card-copy{padding:23px}.contact-card{padding:22px 18px}.signature-link{letter-spacing:0}.milestone{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Allow long headings and enlarged text to reflow without clipping. */
h1,h2,h3{overflow-wrap:anywhere}
.page-hero .wrap,.property .card-copy{min-width:0;max-width:100%}
.property .card-copy{width:100%}
@media(max-width:850px){header{height:auto;min-height:82px}.nav{min-height:82px;padding-top:10px;padding-bottom:10px}.nav-links{top:100%}.brand{flex-shrink:1;min-width:0}.brand-name{min-width:0}.brand img{flex-shrink:0}.menu{flex-shrink:0}}
@media(max-width:520px){header,.nav{min-height:72px}.nav{gap:12px}}
@media(max-width:360px){.hero .booking-widget{grid-template-columns:minmax(0,1fr)}}
