:root{--purple:#782986;--purple-dark:#4d1759;--pink:#d66384;--pink-soft:#f0a2b8;--red:#bf2136;--ink:#241c24;--paper:#f8f5f1;--white:#fff;--header-h:76px;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:clip}body{width:100%;max-width:100%;color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;overflow-x:clip}a{color:inherit}img{width:100%;max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em;font-family:Arial Black,Arial,sans-serif}.skip-link{z-index:100;background:#fff;padding:1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.4}.site-header{z-index:50;height:var(--header-h);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:0 max(3vw,24px);transition:background .25s,border-color .25s;display:flex;position:fixed;inset:0 0 auto}.site-header.is-scrolled{backdrop-filter:blur(16px);background:#f8f5f1ed;border-color:#241c2424}.site-logo{width:148px;line-height:0;text-decoration:none;display:block}nav{align-items:center;gap:clamp(.7rem,1.6vw,1.5rem);display:flex}nav a{letter-spacing:.07em;text-transform:uppercase;font-size:.68rem;font-weight:800;text-decoration:none;position:relative}nav a:after{content:"";background:var(--red);height:2px;transition:right .2s;position:absolute;bottom:-7px;left:0;right:100%}nav a:hover:after{right:0}nav .nav-cta{color:#fff;background:var(--red);border-radius:6px;padding:.6rem .75rem}nav .nav-cta:after{display:none}.menu-toggle{background:0 0;border:0;display:none}.lodging-hero{min-height:780px;padding:calc(var(--header-h) + 8vw) max(5vw, calc((100vw - 1320px) / 2)) 8vw;color:#fff;background:var(--purple);grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:end;gap:8vw;display:grid}.hero-copy,.hero-note{min-width:0}.back-link{letter-spacing:.1em;text-transform:uppercase;margin-bottom:5rem;font-size:.72rem;font-weight:900;text-decoration:none;display:inline-block}.lodging-hero h1{text-transform:uppercase;margin:1.5rem 0 2.5rem;font-size:clamp(4.2rem,9vw,9.5rem);line-height:.82}.lodging-hero h1 span{color:var(--pink-soft)}.hero-intro{max-width:850px;margin-bottom:0;font-size:clamp(1.2rem,2vw,1.75rem);line-height:1.45}.hero-note{color:var(--purple);background:var(--pink-soft);border-radius:var(--radius);padding:2rem}.hero-note b{letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.72rem;display:block}.hero-note p{margin:0;line-height:1.55}.lodgings{background:var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,2.5vw,2.5rem);padding:clamp(5rem,8vw,8rem) max(5vw,50vw - 660px);display:grid}.lodging-card{min-width:0;color:var(--ink);background:var(--white);border-radius:var(--radius);grid-template-rows:auto 1fr;display:grid;overflow:hidden}.lodging-card-combo{background:var(--paper)}.card-heading{color:#fff;background:var(--red);flex-direction:column;min-height:380px;padding:clamp(2rem,4vw,4rem);display:flex}.lodging-card-combo .card-heading{background:var(--purple)}.card-number{letter-spacing:.14em;margin-bottom:auto;font-size:.72rem;font-weight:900}.card-heading h2{text-transform:uppercase;margin:.7rem 0 0;font-size:clamp(3rem,5vw,5.8rem);line-height:.83}.card-body{padding:clamp(2rem,4vw,4rem)}.card-body>p:first-child{min-height:76px;font-size:1.05rem;line-height:1.6}.offer{color:#fff;background:var(--ink);grid-template-columns:1fr auto;align-items:end;gap:.3rem 2rem;margin:3rem 0 1px;padding:1.5rem;display:grid}.offer span,.promo>span{letter-spacing:.12em;text-transform:uppercase;font-size:.65rem;font-weight:900}.offer strong{letter-spacing:-.03em;grid-row:span 2;font-family:Arial Black,Arial,sans-serif;font-size:clamp(2.4rem,4vw,4rem);line-height:.9}.offer p{margin:0;font-size:.8rem}.promo{color:var(--purple);background:var(--pink-soft);grid-template-columns:1fr auto;gap:.65rem 1rem;padding:1.5rem;display:grid;position:relative}.promo>span{grid-column:1/-1}.promo code{overflow-wrap:anywhere;align-self:center;min-width:0;font-family:inherit;font-size:clamp(.9rem,1.5vw,1.15rem);font-weight:900}.promo button{color:inherit;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:.65rem .75rem;font-size:.65rem;font-weight:900}.booking-note{margin:2rem 0;font-size:.92rem;line-height:1.6}.button{color:#fff;background:var(--red);letter-spacing:.08em;text-transform:uppercase;border:2px solid;justify-content:space-between;align-items:center;gap:2rem;min-width:220px;padding:1rem 1.15rem;font-size:.74rem;font-weight:900;text-decoration:none;transition:transform .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-light{color:var(--purple);background:#fff;border-color:#fff}.text-link{letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid;align-self:flex-start;gap:1rem;margin-top:2rem;padding:.5rem 0;font-size:.75rem;font-weight:900;text-decoration:none;display:inline-flex}.lodging-card-hotel{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr)}.lodging-card-hotel .card-heading{background:var(--pink);min-height:100%}.lodging-card-hotel .card-heading h2{font-size:clamp(2.6rem,3.6vw,4.4rem)}.hotel-details{grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:clamp(2rem,5vw,5rem);padding:clamp(2rem,4vw,4rem);display:grid}.hotel-details h3{text-transform:uppercase;margin-bottom:1.5rem;font-size:1.2rem}.rate-table{border-top:2px solid var(--ink)}.rate-table>div{border-bottom:1px solid #241c2440;grid-template-columns:1fr auto;gap:.35rem 1.5rem;padding:1.1rem 0;display:grid}.rate-table b{font-size:1.2rem}.rate-table small{opacity:.7;grid-column:1/-1}.included{margin:2rem 0 0;font-size:.92rem;line-height:1.65}.hotel-info{border-left:1px solid #241c2440;padding-left:clamp(1.5rem,3vw,3rem)}.hotel-info>p{line-height:1.65}.time-grid{background:var(--ink);grid-template-columns:1fr 1fr;gap:1px;margin-bottom:2rem;display:grid}.time-grid p{background:var(--paper);margin:0;padding:1.2rem}.time-grid span,.time-grid b{display:block}.time-grid span{letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-size:.65rem;font-weight:900}.contact-actions{flex-wrap:wrap;gap:.8rem;display:flex}.contact-actions .button{color:#fff;background:var(--purple);border-color:var(--purple);min-width:0}details{grid-column:2;padding:0 clamp(2rem,4vw,4rem) clamp(2rem,4vw,4rem)}summary{letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-top:1px solid #241c244d;border-bottom:1px solid #241c244d;justify-content:space-between;padding:1.2rem 0;font-size:.72rem;font-weight:900;list-style:none;display:flex}summary::-webkit-details-marker{display:none}details[open] summary span{transform:rotate(45deg)}details>div{max-width:760px;padding-top:1.5rem;line-height:1.65}.page-cta{color:#fff;background:var(--purple);text-align:center;place-items:center;min-height:650px;padding:7vw 20px;display:grid}.page-cta h2{text-transform:uppercase;margin:1.5rem 0 3rem;font-size:clamp(3.8rem,9vw,9rem);line-height:.85}footer{color:#fff;background:var(--ink);grid-template-columns:auto minmax(220px,1fr) minmax(300px,auto);align-items:start;gap:3rem;padding:4rem max(5vw,50vw - 660px) 2rem;display:grid}.footer-brand{grid-row:span 2;width:190px}footer p{text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700;line-height:1.5}.footer-contact{justify-items:start;gap:.8rem;min-width:0;display:grid}.footer-contact b{color:var(--pink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}.footer-contact a{overflow-wrap:anywhere;max-width:100%;font-size:.75rem;font-weight:800;text-decoration:none}footer small{opacity:.65;border-top:1px solid #fff3;grid-column:2/4;padding-top:2rem;font-size:.65rem}@media (width<=980px){:root{--header-h:66px}.site-header{background:#f8f5f1f2;padding:0 20px}.menu-toggle{color:var(--ink);flex-direction:column;align-items:flex-end;gap:5px;padding:10px 0 10px 10px;display:flex}.menu-toggle span{letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:900}.menu-toggle i{background:currentColor;width:28px;height:2px;display:block}nav{background:var(--paper);border-bottom:1px solid var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:1rem 20px 2rem;display:none;position:absolute;top:100%;left:0;right:0}nav.is-open{display:flex}nav a{border-bottom:1px solid #241c2426;padding:1rem 0;font-size:1rem}nav a:after{display:none}.lodging-hero{min-height:auto;padding-top:calc(var(--header-h) + 5rem);grid-template-columns:1fr}.back-link{margin-bottom:4rem}.lodgings{grid-template-columns:1fr}.lodging-card-hotel{grid-column:auto;grid-template-columns:1fr}.hotel-details{grid-template-columns:1fr}.hotel-info{border-top:1px solid #241c2440;border-left:0;padding:2rem 0 0}details{grid-column:auto}}@media (width<=600px){.site-logo{width:148px}.lodging-hero{padding:calc(var(--header-h) + 3rem) 20px 4rem;gap:3rem}.back-link{margin-bottom:3rem}.lodging-hero h1{max-width:100%;font-size:clamp(1.8rem,9vw,3.4rem);line-height:.9}.hero-intro{font-size:1.05rem}.hero-note{padding:1.5rem}.lodgings{padding:4rem 20px}.card-heading{min-height:310px;padding:2rem 20px}.card-heading h2{overflow-wrap:anywhere;max-width:100%;font-size:clamp(2.2rem,11vw,4rem);line-height:.9}.lodging-card-hotel .card-heading h2{font-size:clamp(2rem,10vw,3rem)}.card-body,.hotel-details{padding:2rem 20px}.card-body>p:first-child{min-height:0}.offer{grid-template-columns:1fr}.offer strong{grid-row:auto}.promo{grid-template-columns:1fr}.promo button{justify-self:start}.button{width:100%;min-width:0}.rate-table>div{grid-template-columns:1fr auto}.contact-actions{flex-direction:column}details{padding:0 20px 2rem}.page-cta{min-height:560px}.page-cta h2{font-size:clamp(3rem,15vw,5.5rem)}footer{grid-template-columns:1fr;padding:3rem 20px}.footer-brand{grid-row:auto}footer small{grid-column:auto}}
