:root{--ink:#172320;--muted:#53605c;--line:#d9dfdc;--paper:#fff;--soft:#f2f5f3;--accent:#c52c35;--yellow:#e4cb55;--radius:3px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--accent)}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #b91e32;outline-offset:5px}button:disabled{cursor:not-allowed}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500;line-height:1.08;letter-spacing:-.045em}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,6.2vw,6rem);line-height:1.04;font-weight:400;letter-spacing:-.055em;margin-bottom:30px}h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,3.6vw,3.7rem);font-weight:400;margin-bottom:25px}h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em}p{color:var(--muted);margin-bottom:22px}p:last-child{margin-bottom:0}small,.small{font-size:.875rem;line-height:1.6}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.section{padding:90px 0}.soft{background:var(--soft)}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--muted);margin-bottom:24px}.lead{font-size:1.125rem;line-height:1.75;max-width:690px}.preview-bar{background:var(--ink);color:#e1e8e3;text-align:center;font-size:.75rem;letter-spacing:.06em;padding:6px 16px}.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav-wrap{width:min(1360px,calc(100% - 64px));margin:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{text-decoration:none;display:inline-flex;flex-direction:column;color:var(--ink);line-height:1.15;flex-shrink:0}.wordmark>span{font-size:1.2rem;letter-spacing:.035em;font-weight:800}.wordmark small{font-size:.7rem;letter-spacing:.36em;margin-top:6px}.wordmark>span::after{content:'';display:inline-block;height:7px;width:7px;background:var(--accent);margin-left:8px}nav{display:flex;align-items:center;gap:28px}nav a{text-decoration:none;font-size:.875rem;padding:12px 0}nav a[aria-current]{box-shadow:0 2px var(--ink)}.nav-actions{display:flex;gap:23px;align-items:center}.language{font-size:.875rem;text-decoration:none;font-weight:700}.button{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:14px 24px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:white;text-decoration:none;font-size:.875rem;font-weight:600;line-height:1.4;transition:background .15s,color .15s}.button:hover{background:#30443c;border-color:#30443c;color:white}.button.outline{background:transparent;color:var(--ink);border-color:#9eaaa4}.button.outline:hover{background:var(--soft);color:var(--ink)}.button.light{background:white;color:var(--ink);border-color:white}.nav-cta{min-height:45px;padding:12px 20px}.menu-toggle{display:none}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px}.text-link{display:inline-block;margin:12px 22px 8px 0;text-decoration:underline;font-size:.9375rem;font-weight:600}.home-hero{padding:58px 0 0}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:65px;align-items:center;min-height:525px}.hero-copy{padding:15px 0 40px}.hero-copy .lead{max-width:500px}.brand-panel{align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:#edf1ee;position:relative;border-radius:2px;padding:50px 30px 20px;overflow:hidden;border:1px solid #e2e8e3}.brand-panel::before{content:'';height:2px;width:70px;background:var(--accent);position:absolute;top:35px;left:30px}.brand-frame{background:#fff;padding:35px 24px;box-shadow:0 16px 50px #21362b0a;transform:rotate(-3deg);margin-bottom:50px}.brand-frame img{display:block;width:100%}.brand-caption{display:flex;justify-content:space-between;font-size:.7rem;font-weight:700;letter-spacing:.15em;margin-top:auto;border-top:1px solid #cbd6ce;padding-top:18px}.brand-panel>p{font-size:.75rem;margin-top:16px;color:#44584d}.hero-facts{display:grid;grid-template-columns:1fr 1fr 1fr 1.6fr;border-bottom:1px solid var(--line);padding:34px 0;margin-top:25px;gap:24px;align-items:center;font-size:.875rem}.hero-facts b{font-weight:400;font-size:1.4rem;margin-right:8px}.hero-facts>span:last-child{text-align:right;color:var(--muted)}.section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end;margin-bottom:40px}.section-head>p,.section-head>div>p{max-width:500px}.section-head h2{margin-bottom:0}.unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.unit-grid article{min-width:0}.unit-visual{min-height:320px;display:flex;flex-direction:column;justify-content:space-between;padding:26px 28px;background:#ecebdc;border-top:3px solid var(--yellow);position:relative;overflow:hidden}.unit-visual.biaggi{background:#f0e5e3;border-top-color:#b84348}.visual-top,.visual-bottom{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;letter-spacing:.05em}.visual-top{text-transform:uppercase}.visual-bottom{color:#576057}.visual-name{font-family:Georgia,serif;font-size:clamp(4rem,6.5vw,6.6rem);letter-spacing:-.07em;font-style:italic;align-self:center;font-weight:400;color:#4c533b}.biaggi .visual-name{color:#6c3d3d}.unit-card-copy{padding:24px 0 8px}.row{display:flex;align-items:center;justify-content:space-between;gap:20px}.row h3{font-family:Georgia,serif;font-size:2.3rem;margin:0}.row>span{font-size:.875rem;color:var(--muted)}.unit-card-copy>p{margin-top:12px}.unit-card-copy>p:first-of-type{font-size:.875rem}.dot{padding:0 9px}.amenity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:35px;margin-top:45px}.amenity-grid article{border-top:1px solid #c7d2ca;padding-top:30px}.amenity-grid svg{margin-bottom:20px}.amenity-grid h3{font-size:1.125rem;font-weight:500;letter-spacing:-.025em}.amenity-grid p{font-size:.9375rem}.editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:42px}.editorial-grid article{border-top:1px solid var(--line);padding-top:24px}.index{font-size:.75rem;color:var(--muted);letter-spacing:.08em}.editorial-grid h3{margin:45px 0 18px}.editorial-grid a{text-decoration:none}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.time-grid>div{border-top:1px solid #b8c5bc;padding:20px 0}.time-grid span{display:block;font-size:.875rem;color:var(--muted)}.time-grid strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:3.7rem;line-height:1.2;letter-spacing:-.04em;margin-top:16px}.faq-list{margin:35px 0}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;gap:25px;font-size:1.125rem;font-weight:500}summary::-webkit-details-marker{display:none}summary>span{font-size:1.5rem;font-weight:400;line-height:1}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>div{max-width:900px;padding:0 35px 25px 0}.cta{background:var(--ink);color:white}.cta p{color:#ced8d1}.cta .eyebrow{color:#bac8be}.cta h2{max-width:640px}.cta-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;align-items:center}.cta-inner .small{margin-top:18px}.cta-inner>div:last-child{text-align:right}.page-heading{padding:70px 0 45px;background:var(--soft);border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(3rem,5.5vw,5rem);max-width:1000px}.page-heading+.section{padding-top:60px}.unit-visual.large{min-height:430px}.large .visual-name{font-size:clamp(6rem,13vw,11rem)}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:32px 0;border-bottom:1px solid var(--line);margin:0}.facts>div{padding-left:30px;border-left:1px solid var(--line)}.facts>div:first-child{padding-left:0;border-left:0}.facts dt{font-size:.875rem;color:var(--muted)}.facts dd{font-size:2.4rem;font-family:Georgia,serif;margin:8px 0 0;line-height:1.15}.facts small{font-family:Arial,sans-serif}.unit-detail{padding:60px 0}.booking-card{padding:32px;background:var(--soft);border:1px solid var(--line);border-radius:3px}.booking-card h2{font-size:2rem}.booking-card .button{width:100%}.booking-card .small{margin-top:16px}.gallery-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.gallery-slot{min-height:185px;padding:24px;background:var(--soft);display:flex;flex-direction:column;justify-content:space-between;gap:12px}.gallery-slot>b{font-weight:400}.gallery-slot>span:last-child{font-size:.75rem;color:var(--muted)}.address-panel{background:var(--soft);padding:45px;border:1px solid var(--line)}.address-panel h2{font-size:2.5rem}.address-panel .small{margin-top:20px}.filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:40px}.filters button{background:white;border:1px solid var(--line);padding:12px 20px;border-radius:3px;color:var(--ink);font-size:.875rem}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.destination-grid article{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:25px}.destination-grid h2{font-family:Arial,Helvetica,sans-serif;font-size:1.5rem;margin:35px 0 18px;letter-spacing:-.03em}.destination-number{display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:var(--muted)}.destination-grid article>.text-link{margin-top:auto}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.services-grid article{border-top:1px solid var(--line);padding-top:25px}.services-grid h3{font-size:1.25rem}.notice{border-left:3px solid var(--accent);padding:20px 24px;background:var(--soft);margin-top:30px}.rules-list{padding-left:24px;color:var(--muted)}.rules-list li{padding:6px 0}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;border-bottom:1px solid var(--line);padding-bottom:55px;margin-bottom:55px}.contact-grid span{font-size:.875rem;color:var(--muted)}.contact-grid h2{font-family:Arial,sans-serif;font-size:clamp(1.3rem,2.3vw,2rem);margin-top:15px;overflow-wrap:anywhere}.contact-grid a{text-decoration:none}.booking-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:80px}.field{margin-bottom:22px}.field label{font-size:.875rem;display:block;font-weight:600;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #9daaa3;background:white;color:var(--ink);min-height:52px;border-radius:3px;padding:12px 14px;font-size:16px}.field textarea{resize:vertical}.field [aria-invalid=true]{border:2px solid #b71e35}.error{font-size:.875rem;color:#ab1830;display:block;margin-top:6px}.error:empty{display:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}#form-status{color:#ab1830}.policy{margin-top:35px}.policy h2{font-family:Arial,sans-serif;font-size:1.3rem;letter-spacing:-.025em}.policy p{font-size:.9375rem}.review{padding:30px;border:1px solid var(--line);background:var(--soft);margin-top:30px}.review h2{font-size:2rem}.review pre{white-space:pre-wrap;font:inherit;font-size:.9375rem;overflow-wrap:anywhere;line-height:1.6}.text-button{background:transparent;border:0;padding:15px 0;text-decoration:underline;text-underline-offset:5px;color:var(--ink)}.legal-document{max-width:850px;margin:auto;overflow-wrap:anywhere}.legal-document h2{font-family:Arial,sans-serif;font-size:1.5rem;letter-spacing:-.025em;line-height:1.4;margin-top:40px}.legal-document p{line-height:1.8}.legal-document .notice{margin-top:0}.legal-document .notice a{font-size:.9375rem}footer{padding:70px 0 25px;background:#f5f7f5}footer p{font-size:.875rem}footer .wordmark{margin-bottom:24px}.footer-grid{display:grid;grid-template-columns:1.3fr .9fr 1.3fr .9fr;gap:40px}.footer-grid>div{min-width:0}.footer-grid h2{font-family:Arial,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:0;margin-bottom:24px}.footer-grid>div>a:not(.wordmark){display:block;font-size:.875rem;color:var(--muted);text-decoration:none;margin:9px 0;overflow-wrap:anywhere}.footer-grid>div>a:hover{color:var(--accent)}.footer-grid p{margin-top:20px}.footer-bottom{border-top:1px solid var(--line);margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:.75rem;color:var(--muted)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:0;left:0;transform:translateY(-200%);background:white;color:var(--ink);padding:16px;z-index:100}.skip-link:focus{transform:none}[hidden]{display:none!important}
@media(min-width:1600px){.hero-grid{min-height:560px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav-wrap{gap:20px;width:calc(100% - 48px)}nav{gap:18px}.nav-actions{gap:15px}.nav-cta{padding:12px 15px}.hero-grid{gap:36px}.hero-copy h1{font-size:4.8rem}.section-head{gap:45px}.split,.booking-layout{gap:45px}.footer-grid{grid-template-columns:1.2fr 1fr;gap:40px}.contact-grid{grid-template-columns:1fr 1fr}.brand-panel{padding:45px 20px 20px}.hero-facts{grid-template-columns:repeat(3,1fr)}.hero-facts>span:last-child{display:none}}
@media(max-width:850px){.nav-wrap{min-height:80px;gap:15px;position:relative}.wordmark>span{font-size:1rem}.wordmark small{font-size:.65rem}.menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;border:0;color:var(--ink);padding:10px;font-size:.875rem;margin-left:auto}.menu-toggle span{font-size:1.25rem}#main-nav{display:none;position:absolute;left:-24px;right:-24px;top:100%;background:white;border-bottom:1px solid var(--line);padding:20px 32px;box-shadow:0 20px 30px #17232012}#main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.nav-cta{display:none}.language{padding:10px}.hero-grid{grid-template-columns:1fr 1fr;gap:30px;min-height:440px}.hero-copy h1{font-size:4rem}.lead{font-size:1rem}.hero-copy .actions{flex-direction:column;align-items:flex-start}.brand-frame{padding:20px 12px}.section{padding:64px 0}.section-head{grid-template-columns:1fr;gap:20px}.section-head>p{max-width:700px}.amenity-grid{grid-template-columns:1fr 1fr}.editorial-grid{gap:24px}.editorial-grid h3{font-size:1.25rem}.split{gap:35px}.time-grid strong{font-size:2.8rem}.unit-visual{min-height:265px;padding:20px}.visual-bottom{font-size:.7rem;flex-direction:column;gap:3px}.visual-name{font-size:4rem}.cta-inner{gap:40px}.destination-grid,.services-grid{grid-template-columns:1fr 1fr}.gallery-slots{grid-template-columns:1fr 1fr}.booking-layout{grid-template-columns:1fr 1fr;gap:30px}.booking-card{padding:24px}.booking-card a{overflow-wrap:anywhere}.form-row{grid-template-columns:1fr;gap:0}.contact-grid{grid-template-columns:1fr}.contact-grid h2{font-size:1.7rem}.address-panel{padding:30px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.nav-wrap{width:calc(100% - 32px);min-height:76px}.preview-bar{font-size:.6875rem}h1{font-size:3.3rem}h2{font-size:2.5rem;line-height:1.12}.home-hero{padding:40px 0 0}.hero-grid{grid-template-columns:1fr;gap:25px}.hero-copy{padding:0}.hero-copy h1{font-size:4rem;line-height:1.04;margin-bottom:24px}.hero-copy .eyebrow{font-size:.6875rem}.hero-copy .actions{flex-direction:row;align-items:stretch;gap:10px;margin-top:26px}.hero-copy .button{font-size:.8125rem;padding:13px 15px}.brand-panel{min-height:255px;padding:35px 28px 14px}.brand-panel::before{top:20px;left:28px;width:40px}.brand-frame{max-width:265px;padding:18px 20px;margin:0 auto 24px}.brand-caption{padding-top:12px;font-size:.625rem}.brand-panel>p{font-size:.6875rem;margin-top:8px}.hero-facts{gap:10px;margin-top:10px;padding:25px 0}.hero-facts>span{font-size:.75rem}.hero-facts b{display:block;margin:0;font-size:1.5rem}.section{padding:54px 0}.home-hero{padding:40px 0 0}.section-head{margin-bottom:30px}.unit-grid{grid-template-columns:1fr;gap:35px}.unit-visual{min-height:280px;padding:22px}.visual-name{font-size:5rem}.visual-bottom{flex-direction:row;font-size:.7rem}.row h3{font-size:2.2rem}.unit-card-copy{padding-top:22px}.unit-card-copy p{font-size:.9375rem}.amenity-grid{gap:25px;margin-top:30px}.amenity-grid article{padding-top:22px}.amenity-grid h3{font-size:1rem}.amenity-grid p{font-size:.875rem}.editorial-grid{grid-template-columns:1fr;gap:24px;margin-top:28px}.editorial-grid h3{margin:20px 0 12px;font-size:1.4rem}.split{grid-template-columns:1fr;gap:35px}.time-grid strong{font-size:3.5rem}.time-grid{margin-bottom:16px}summary{font-size:1rem;padding:22px 0}.cta-inner{grid-template-columns:1fr;gap:25px}.cta-inner>div:last-child{text-align:left}.cta-inner .button{width:100%}.cta-inner .small{font-size:.8125rem}.page-heading{padding:45px 0 32px}.page-heading h1{font-size:3.2rem}.page-heading+.section{padding-top:35px}.unit-visual.large{min-height:295px}.large .visual-name{font-size:6rem}.facts{gap:15px;grid-template-columns:repeat(2,1fr);padding:25px 0}.facts>div{padding:8px 0;border:0}.facts dd{font-size:2.3rem}.unit-detail{padding:38px 0}.gallery-slots{gap:12px}.gallery-slot{padding:18px;min-height:165px;font-size:.875rem}.gallery-slot>span:last-child{font-size:.6875rem}.filters{gap:8px}.filters button{padding:10px 14px;font-size:.8125rem}.destination-grid,.services-grid{grid-template-columns:1fr;gap:25px}.destination-grid h2{margin-top:25px}.booking-layout{grid-template-columns:1fr;gap:35px}.booking-layout .time-grid strong{font-size:2.6rem}.form-row{grid-template-columns:1fr}.review{padding:23px}.review .actions>*{width:100%}.contact-grid{gap:30px;padding-bottom:35px;margin-bottom:35px}.contact-grid h2{font-size:1.4rem}.address-panel{padding:26px}.address-panel h2{font-size:2rem}.legal-document h2{font-size:1.25rem}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 22px}.footer-grid>div:first-child,.footer-grid>div:nth-child(3){grid-column:1/-1}.footer-grid>div:nth-child(2){grid-column:1;grid-row:3}.footer-grid>div:nth-child(4){grid-column:2;grid-row:3}footer{padding:50px 0 25px}.footer-bottom{flex-direction:column;gap:8px;margin-top:35px}.footer-grid a{line-height:1.8}.menu-toggle{font-size:.75rem;gap:8px;padding:10px 4px}.nav-actions{gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-header,.preview-bar,footer,.actions,.button{display:none}.section{padding:20px 0}.wrap{width:100%}body{font-size:12pt}.legal-document{max-width:none}}
.search-section{padding-top:36px;padding-bottom:0}.search-shell{margin:30px 0 0;border:1px solid var(--line);padding:28px;background:white;box-shadow:0 12px 45px #17232006;border-radius:4px}.search-intro{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-bottom:20px}.search-intro h2{font-family:Arial,sans-serif;font-size:1.25rem;letter-spacing:-.025em;margin:0}.search-intro span{font-size:.8125rem;color:var(--muted)}.stay-search{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr auto;gap:18px;align-items:end}.stay-search label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:6px}.stay-search input,.stay-search select{min-width:0;width:100%;height:48px;border:1px solid #aab6af;border-radius:3px;padding:10px;background:white;color:var(--ink);font-size:16px}.guest-picker{display:flex;border:1px solid #aab6af;border-radius:3px;align-items:center;height:48px}.guest-picker input{border:0;text-align:center;width:42px;flex:1;appearance:textfield;-moz-appearance:textfield;padding:0}.guest-picker input::-webkit-inner-spin-button{appearance:none}.guest-picker button{min-width:32px;height:40px;background:white;border:0;font-size:1.2rem;color:var(--ink)}.guest-picker button:disabled{color:#a5aaa7}.stay-search>.button{height:48px}.stay-search>#search-error{grid-column:1/-1;margin:0;color:#ab1830;font-size:.875rem}.stay-search>#search-error:empty{display:none}[data-search-results]{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}[data-search-results] h3{font-size:1.2rem}.search-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px}.search-comparison article{padding:22px;background:var(--soft)}.search-comparison h4{font-family:Georgia,serif;font-size:1.8rem;font-weight:400;margin:0 0 12px}.search-comparison p{font-size:.875rem}.unit-policy{border-top:1px solid var(--line);margin-top:25px}.unit-policy summary{font-size:1rem}.unit-policy p{font-size:.9375rem}
@media(max-width:1100px){.stay-search{grid-template-columns:1fr 1fr 1fr}.stay-search>.button{grid-column:2/4}.search-intro{flex-direction:column;gap:10px}}
@media(max-width:600px){.search-shell{padding:22px 18px;margin-top:20px}.search-section{padding-top:15px;padding-bottom:0}.stay-search{grid-template-columns:1fr 1fr;gap:18px 12px}.stay-search>div:first-child{grid-column:1/-1}.stay-search>div:nth-child(4){grid-column:1/-1}.stay-search>.button{grid-column:1/-1}.guest-picker{max-width:170px}.search-comparison{grid-template-columns:1fr}.search-intro span{font-size:.8125rem}.stay-search input[type=date]{font-size:.875rem;padding:8px;min-width:0}}
h1,h2,h3{overflow-wrap:anywhere}.section-head>*,.split>*,.hero-grid>*,.booking-layout>*{min-width:0}@media(max-width:600px){.nav-wrap{gap:8px}.nav-wrap .wordmark>span{font-size:16px}.nav-wrap .wordmark small{font-size:10.4px}.nav-wrap .menu-toggle{font-size:12px}.nav-wrap .language{font-size:14px}}
.stay-search{grid-template-columns:1.1fr 1fr 1fr 1fr auto}.stay-search>*,.time-grid>*{min-width:0}@media(max-width:1100px){.stay-search{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.stay-search{grid-template-columns:repeat(2,minmax(0,1fr))}.time-grid strong{font-size:clamp(2rem,11vw,3.5rem)}}@media(max-width:380px){.stay-search{grid-template-columns:minmax(0,1fr)}.stay-search>div,.stay-search>.button{grid-column:1}.visual-bottom{flex-direction:column}.hero-copy .actions{flex-direction:column}.hero-copy .actions .button{width:100%}}

.public-quote>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.public-quote dd{margin:0;text-align:right}.public-quote .total{font-weight:700}.availability-state{font-weight:700}[data-book][aria-disabled=true]{opacity:.65;cursor:not-allowed}.search-comparison .button{white-space:normal;text-align:center;max-width:100%}


/* Official BCA visual authority, captured 2026-10-05. Scoped home styles. */
.official-home{
  --red: #ed1c24;
  --ink: #0b0b0b;
  --paper: #f5f1e9;
  --paper-2: #fbf8f2;
  --muted: #706c65;
  --line: #d7d0c5;
}
@font-face {
  font-family: "Geist";
  src: url("/brand/geist.woff2") format("woff2");
  font-display: swap;
  font-weight: 100 900;
}
.official-home *{ box-sizing: border-box; }
.official-home{
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Geist", Arial, sans-serif;
  line-height: 1.5;
}
.official-home img{ display: block; max-width: 100%; }
.official-home a{ color: inherit; text-decoration: none; }
.official-home button,.official-home a{ -webkit-tap-highlight-color: transparent; }
.official-home .button{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  min-width: 215px;
  padding: 19px 25px;
  color: white;
  background: var(--red);
  font-size: 14px;
  font-weight: 850;
  border: 1px solid var(--red);
  transition: transform .2s, background .2s;
}
.official-home .button:hover{ transform: translateY(-2px); background: #cb1119; }
.official-home .button.outline{ color: var(--ink); background: transparent; border-color: #999187; }
.official-home .button.light{ color: var(--ink); background: white; border-color: white; }
.official-home .hero{ position: relative; display: grid; grid-template-columns: 54% 46%; min-height: 650px; overflow: hidden; background: #e8dfd1; }
.official-home .hero-copy{ z-index: 2; padding: 88px 5vw 180px; background: linear-gradient(90deg, #f4eee4 0 84%, transparent); }
.official-home .hero h1,.official-home h2,.official-home .display{
  margin: 18px 0 24px;
  text-transform: uppercase;
  letter-spacing: -.045em;
  font-family: Impact, "Arial Narrow", sans-serif;
  font-weight: 500;
  line-height: .9;
}
.official-home .hero h1{ font-size: clamp(68px, 8vw, 126px); }
.official-home .hero .lead{ max-width: 630px; font-size: 19px; line-height: 1.6; }
.official-home .eyebrow{ margin: 0; color: var(--muted); text-transform: uppercase; letter-spacing: .24em; font-size: 11px; font-weight: 850; }
.official-home .eyebrow::before{ content: ""; display: inline-block; width: 33px; height: 2px; margin: 0 12px 3px 0; background: var(--red); }
.official-home .eyebrow.red{ color: var(--red); }
.official-home .actions{ display: flex; flex-wrap: wrap; gap: 15px; margin-top: 32px; }
.official-home .hero-image{ position: relative; min-height: 650px; background: #4d463e url("/brand/official-hero.webp") center/cover no-repeat; }
.official-home .hero-image::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(244,238,228,.2), transparent 24%); }
.official-home .image-note{ position: absolute; z-index: 2; top: 22px; right: 22px; padding: 9px 12px; background: rgba(248,245,238,.9); text-transform: uppercase; letter-spacing: .15em; font-size: 9px; }
.official-home .quick-facts{ display: grid; grid-template-columns: repeat(4, 1fr); background: var(--paper-2); border-bottom: 1px solid var(--line); }
.official-home .quick-facts div{ min-height: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-right: 1px solid var(--line); }
.official-home .quick-facts div:last-child{ border: 0; }
.official-home .quick-facts strong{ color: var(--red); font-size: 25px; }
.official-home .quick-facts span{ margin-top: 8px; font-size: 12px; }
.official-home .section{ padding: 100px 7vw; }
.official-home .section-head{ display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 55px; }
.official-home .section-head h2,.official-home .location h2,.official-home .stay-flow h2,.official-home .faq h2,.official-home .cta h2{ font-size: clamp(48px, 6vw, 84px); }
.official-home .section-head > p{ max-width: 440px; margin: 0; color: var(--muted); line-height: 1.75; }
.official-home .apartment-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.official-home .apartment{ min-height: 650px; display: flex; flex-direction: column; padding: 34px; background: #fff; border-top: 7px solid var(--red); box-shadow: 0 18px 55px rgba(0,0,0,.06); }
.official-home .apartment.inverse{ color: white; background: #111; }
.official-home .apartment-top{ display: flex; justify-content: space-between; align-items: start; }
.official-home .apartment-top span{ color: #999; font-size: 12px; letter-spacing: .16em; }
.official-home .apartment-top b{ font-family: Impact, "Arial Narrow", sans-serif; font-size: clamp(48px, 5vw, 72px); font-weight: 500; line-height: 1; }
.official-home .apartment-visual{ position: relative; overflow: hidden; min-height: 175px; margin: 26px -34px 30px; padding: 25px 34px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(125deg,#ded2c3,#f3ece2 62%,#c4aa8d); border-block: 1px solid #d4cabc; }
.official-home .apartment-visual::before{ content: ""; position: absolute; width: 230px; height: 230px; right: -58px; top: -98px; border: 34px solid rgba(237,28,36,.16); border-radius: 50%; }
.official-home .apartment-visual::after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--red); }
.official-home .inverse .apartment-visual{ background: linear-gradient(125deg,#1d1d1d,#36312c 62%,#8a6547); border-color: #3d3d3d; }
.official-home .apartment-visual span,.official-home .apartment-visual small{ position: relative; z-index: 1; text-transform: uppercase; letter-spacing: .13em; font-size: 10px; font-weight: 800; }
.official-home .apartment-visual span{ margin-bottom: auto; color: #6f675e; }
.official-home .inverse .apartment-visual span{ color: #b9b0a8; }
.official-home .apartment-visual strong{ position: relative; z-index: 1; font-family: Impact, "Arial Narrow", sans-serif; font-size: 58px; font-weight: 500; line-height: 1; }
.official-home .apartment-visual small{ margin-top: 7px; color: #6f675e; }
.official-home .inverse .apartment-visual small{ color: #bbb; }
.official-home .apartment-copy{ margin-top: 0; }
.official-home .apartment-copy > p:first-child{ margin-top: 0; }
.official-home .apartment-copy h3{ margin: 0; text-transform: uppercase; font-size: 31px; }
.official-home .apartment-copy > p{ max-width: 520px; color: #777; line-height: 1.65; }
.official-home .inverse .apartment-copy > p{ color: #aaa; }
.official-home .stats{ display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 26px 0; padding: 0; list-style: none; text-transform: uppercase; font-size: 12px; font-weight: 800; }
.official-home .feature-list{ display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 0 0 30px; padding: 0; list-style: none; }
.official-home .feature-list li{ padding: 10px 12px; border: 1px solid var(--line); font-size: 11px; font-weight: 750; }
.official-home .inverse .feature-list li{ color: #ddd; border-color: #404040; }
.official-home .text-link{ display: inline-block; color: var(--red); text-transform: uppercase; letter-spacing: .08em; font-size: 11px; font-weight: 850; }
.official-home .suitable{ padding-top: 0; }
.official-home .use-grid{ display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.official-home .use-grid article{ min-height: 225px; display: flex; flex-direction: column; padding: 28px; border-right: 1px solid var(--line); }
.official-home .use-grid article:last-child{ border: 0; }
.official-home .use-grid span{ color: var(--red); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.official-home .use-grid h3{ margin-top: auto; margin-bottom: 8px; text-transform: uppercase; font-family: Impact, "Arial Narrow", sans-serif; font-size: 26px; font-weight: 500; }
.official-home .use-grid p{ margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.official-home .location{ color: white; background: #101010; }
.official-home .location h2 span{ color: var(--red); }
.official-home .location-grid{ display: grid; grid-template-columns: .9fr 1.1fr; gap: 8vw; margin-top: 52px; }
.official-home .location-intro{ color: #aaa; font-size: 18px; line-height: 1.75; }
.official-home .distance-list{ display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-left: 3px solid var(--red); }
.official-home .distance-list div{ padding: 14px 28px; border-bottom: 1px solid #333; }
.official-home .distance-list b{ display: block; text-transform: uppercase; font-size: 13px; }
.official-home .distance-list span{ color: #999; font-size: 13px; }
.official-home .map-button{ margin-top: 28px; }
.official-home .explore{ background: #eee7dc; }
.official-home .host-tip{ display: grid; grid-template-columns: .42fr 1.58fr; gap: 35px; align-items: center; margin: -12px 0 34px; padding: 24px 28px; color: white; background: var(--red); }
.official-home .host-tip span{ text-transform: uppercase; letter-spacing: .13em; font-size: 11px; font-weight: 900; }
.official-home .host-tip p{ margin: 0; line-height: 1.65; }
.official-home .explore-grid,.official-home .service-grid{ display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.official-home .explore-grid article,.official-home .service-grid article{ min-height: 270px; display: flex; flex-direction: column; padding: 27px 24px; background: var(--paper-2); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.official-home .explore-grid article > span,.official-home .service-grid article > span{ color: var(--red); text-transform: uppercase; letter-spacing: .12em; font-size: 10px; font-weight: 900; }
.official-home .explore-grid h3,.official-home .service-grid h3{ margin: auto 0 9px; text-transform: uppercase; font-family: Impact, "Arial Narrow", sans-serif; font-size: 25px; font-weight: 500; line-height: 1.05; }
.official-home .explore-grid p,.official-home .service-grid p{ margin: 0 0 19px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.official-home .explore-grid a,.official-home .service-grid a{ color: var(--red); text-transform: uppercase; letter-spacing: .06em; font-size: 10px; font-weight: 900; }
.official-home .explore-grid a:hover,.official-home .service-grid a:hover{ text-decoration: underline; text-underline-offset: 4px; }
.official-home .card-links{ display: flex; flex-wrap: wrap; gap: 10px 18px; }
.official-home .nearby{ background: #f7f3eb; }
.official-home .service-grid article{ min-height: 245px; background: white; }
.official-home .service-grid .emergency-card{ color: white; background: #171717; }
.official-home .service-grid .emergency-card p{ color: #bbb; }
.official-home .service-grid .emergency-card b{ color: white; }
.official-home .amenities{ background: var(--paper-2); }
.official-home .amenity-grid{ display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.official-home .amenity-grid article{ min-height: 220px; display: flex; flex-direction: column; padding: 28px 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.official-home .amenity-grid article:nth-child(4n){ border-right: 0; }
.official-home .amenity-grid article:nth-last-child(-n/**/+4){ border-bottom: 0; }
.official-home .amenity-grid span{ color: var(--red); font-size: 11px; font-weight: 900; }
.official-home .amenity-grid h3{ margin-top: auto; margin-bottom: 8px; text-transform: uppercase; font-family: Impact, "Arial Narrow", sans-serif; font-size: 24px; font-weight: 500; }
.official-home .amenity-grid p{ margin: 0; color: var(--muted); font-size: 13px; }
.official-home .stay-flow{ display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; color: white; background: #111; }
.official-home .flow-intro > p:last-child{ max-width: 500px; color: #aaa; line-height: 1.75; }
.official-home .stay-flow ol{ margin: 0; padding: 0; list-style: none; border-top: 1px solid #3d3d3d; }
.official-home .stay-flow li{ display: grid; grid-template-columns: 55px 1fr; gap: 16px; padding: 22px 0; border-bottom: 1px solid #3d3d3d; }
.official-home .stay-flow li > span{ color: var(--red); font-size: 11px; font-weight: 900; }
.official-home .stay-flow li b{ text-transform: uppercase; font-size: 14px; }
.official-home .stay-flow li p{ margin: 7px 0 0; color: #aaa; line-height: 1.55; }
.official-home .gallery-note{ display: grid; grid-template-columns: 1.2fr .8fr; min-height: 390px; background: #ded4c5; }
.official-home .gallery-visual{ position: relative; background: url("/brand/official-hero.webp") center/cover; }
.official-home .gallery-visual::after{ content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.12); }
.official-home .gallery-copy{ display: flex; flex-direction: column; justify-content: center; padding: 50px; background: var(--paper-2); }
.official-home .gallery-copy h2{ font-size: clamp(42px, 5vw, 70px); }
.official-home .gallery-copy p{ color: var(--muted); line-height: 1.7; }
.official-home .faq{ display: grid; grid-template-columns: .7fr 1.3fr; gap: 9vw; }
.official-home .faq-list{ border-top: 1px solid #aaa; }
.official-home .faq details{ padding: 21px 0; border-bottom: 1px solid #aaa; }
.official-home .faq summary{ display: flex; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; text-transform: uppercase; font-size: 13px; font-weight: 850; }
.official-home .faq summary::-webkit-details-marker{ display: none; }
.official-home .faq summary::after{ content: "+"; color: var(--red); font-size: 20px; }
.official-home .faq details[open] summary::after{ content: "−"; }
.official-home .faq details p{ max-width: 720px; margin-bottom: 0; color: var(--muted); line-height: 1.7; }
.official-home .cta{ padding: 95px 7vw; text-align: center; color: white; background: var(--red); }
.official-home .cta img{ width: min(470px, 90%); height: 125px; margin: 0 auto; object-fit: contain; }
.official-home .cta p{ max-width: 650px; margin: 0 auto 30px; line-height: 1.65; }
.official-home .cta small{ display: block; margin-top: 16px; opacity: .86; }
.official-home .map-link{ color: white; text-decoration: underline; text-decoration-color: var(--red); text-underline-offset: 4px; }
.official-home :focus-visible{ outline: 3px solid #ff6b70; outline-offset: 4px; }
@media  (max-width: 1100px) {.official-home .hero{ grid-template-columns: 60% 40%; }
.official-home .hero-copy{ padding-left: 4vw; }
.official-home .use-grid,.official-home .amenity-grid,.official-home .explore-grid,.official-home .service-grid{ grid-template-columns: 1fr 1fr; }
.official-home .use-grid article:nth-child(2){ border-right: 0; }
.official-home .use-grid article:nth-child(-n/**/+2){ border-bottom: 1px solid var(--line); }
.official-home .amenity-grid article:nth-child(2n){ border-right: 0; }
.official-home .amenity-grid article:nth-last-child(-n/**/+4){ border-bottom: 1px solid var(--line); }
.official-home .amenity-grid article:nth-last-child(-n/**/+2){ border-bottom: 0; }}
@media  (max-width: 760px) {.official-home .hero{ display: block; min-height: 0; }
.official-home .hero-copy{ padding: 58px 22px 45px; }
.official-home .hero h1{ font-size: clamp(48px, 14vw, 56px); letter-spacing: -.055em; }
.official-home .hero .lead{ font-size: 16px; }
.official-home .actions{ flex-direction: column; }
.official-home .button{ width: 100%; min-width: 0; }
.official-home .hero-image{ min-height: 310px; }
.official-home .quick-facts{ grid-template-columns: 1fr 1fr; }
.official-home .quick-facts div:nth-child(2){ border-right: 0; }
.official-home .quick-facts div:nth-child(-n/**/+2){ border-bottom: 1px solid var(--line); }
.official-home .section{ padding: 72px 22px; }
.official-home .section-head,.official-home .location-grid,.official-home .stay-flow,.official-home .faq,.official-home .gallery-note{ display: block; }
.official-home .section-head > p{ margin-top: 28px; }
.official-home .apartment-grid{ grid-template-columns: 1fr; }
.official-home .apartment{ min-height: 0; padding: 28px 24px; }
.official-home .apartment-visual{ min-height: 155px; margin-inline: -24px; padding-inline: 24px; }
.official-home .feature-list{ grid-template-columns: 1fr; }
.official-home .use-grid,.official-home .amenity-grid,.official-home .explore-grid,.official-home .service-grid{ grid-template-columns: 1fr; }
.official-home .use-grid article,.official-home .use-grid article:nth-child(n),.official-home .amenity-grid article,.official-home .amenity-grid article:nth-child(n){ min-height: 185px; border-right: 0; border-bottom: 1px solid var(--line); }
.official-home .use-grid article:last-child,.official-home .amenity-grid article:last-child{ border-bottom: 0; }
.official-home .host-tip{ grid-template-columns: 1fr; gap: 10px; margin-top: -5px; padding: 22px; }
.official-home .explore-grid article,.official-home .service-grid article{ min-height: 225px; }
.official-home .distance-list{ grid-template-columns: 1fr; margin-top: 35px; }
.official-home .stay-flow ol{ margin-top: 45px; }
.official-home .gallery-visual{ min-height: 280px; }
.official-home .gallery-copy{ padding: 45px 24px; }
.official-home .faq-list{ margin-top: 40px; }}/* Shared BCA pages inherit the official public identity. */
:root{--ink:#0b0b0b;--muted:#625e58;--line:#d7d0c5;--paper:#f5f1e9;--soft:#fbf8f2;--accent:#d9151d;--radius:0}
body{font-family:Geist,Arial,sans-serif;line-height:1.5}
h1,h2,h3,.visual-name{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:500;letter-spacing:-.045em}
h1{font-size:clamp(3rem,6vw,6.5rem)}
.button{border-radius:0;background:var(--accent);border-color:var(--accent);font-weight:800;text-decoration:none}
.button:hover{background:#bd1018;color:white}.button.outline{background:transparent;color:var(--ink);border-color:#999187}
.preview-bar{background:#111;color:#fff;padding:5px 16px;font-size:11px;letter-spacing:.06em}
.site-header{background:rgba(249,246,239,.98);border-color:var(--line)}
.nav-wrap{width:93%;min-height:88px;gap:24px}
.wordmark img{display:block;width:235px;height:68px;object-fit:contain}
.nav-wrap nav{gap:24px}.nav-wrap nav a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.nav-actions{gap:18px}.nav-cta{font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:15px 20px}
.unit-visual{border-top:7px solid #ed1c24;background:linear-gradient(125deg,#ded2c3,#f3ece2 62%,#c4aa8d);color:#0b0b0b}
.unit-visual.biaggi{background:linear-gradient(125deg,#1d1d1d,#36312c 62%,#8a6547);color:#fff}
.unit-visual::after{display:none}.visual-name{font-size:clamp(4rem,8vw,7rem)}
.unit-card-copy{background:#fff}.cta{background:#d9151d}.cta p,.cta .eyebrow{color:#fff}
footer{background:#050505;color:#ccc}footer p,footer a,footer h2{color:inherit}footer .wordmark img{width:230px}
.official-home{--red:#d9151d;--muted:#625e58;line-height:1.5}
.official-home p{margin-top:0}.official-home .hero-copy{min-width:0}
.official-home h1{overflow-wrap:normal}.official-home .hero h1{font-size:clamp(68px,8vw,126px)}
.official-home .hero .lead{color:#0b0b0b}.official-home .hero-image{border:0}
.official-home .button{border-radius:0}.official-home .section-head{max-width:none}
.official-home .section-head h2{max-width:none}.official-home .section-head p{font-size:16px}
.official-home .location h2,.official-home .stay-flow h2,.official-home .cta h2{color:white}
.official-home .host-tip p{color:white}.official-home .apartment-copy>p{color:#625e58}
.official-home .inverse .apartment-copy>p{color:#bcbcbc}.official-home .apartment-top span{color:#666}
.official-home .inverse .apartment-top span{color:#bcbcbc}
.official-home .amenity-grid{gap:0}.official-home .amenity-grid article{background:transparent}
.official-home .faq-list{max-width:none}.official-home .faq summary{font-family:Geist,Arial,sans-serif}
.official-home .faq details{margin:0}.official-home .unit-details{display:block;margin-top:20px}
.calendar-insert{padding:35px 0 70px;scroll-margin-top:100px}.calendar-insert .search-shell{margin:0;background:#fbf8f2}
.official-home .search-intro h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.1;margin:0}
.official-home .search-shell .button{min-width:0;gap:12px;white-space:normal}
.official-home .search-shell h3{font-size:1.4rem}.official-home .search-shell p{color:var(--muted)}
.official-home .cta>p{color:white}.official-home .cta .button.light{color:#0b0b0b}
@media(max-width:1100px){.nav-wrap{gap:15px}.wordmark img{width:185px}.nav-wrap nav{gap:14px}.nav-actions{gap:10px}}
@media(max-width:850px){.nav-wrap{flex-wrap:wrap;min-height:76px;gap:10px}.wordmark{margin-right:auto}.wordmark img{width:165px;height:60px}.menu-toggle{display:flex}.nav-wrap nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fbf8f2;padding:22px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-wrap nav.open{display:flex}.nav-actions{gap:10px}.nav-cta{padding:12px 10px}}
@media(max-width:760px){.official-home .hero h1{font-size:clamp(44px,14vw,56px);overflow-wrap:anywhere}.official-home .hero-copy{padding:58px 22px 45px}.official-home .section-head{margin-bottom:35px}.official-home .hero-image{min-height:310px}.official-home .section-head h2{font-size:clamp(40px,11vw,60px)}.official-home .section-head>p{max-width:100%}.official-home .amenity-grid article{min-width:0}.official-home .section{padding:72px 22px}.official-home .location h2,.official-home .stay-flow h2,.official-home .faq h2,.official-home .cta h2{font-size:clamp(40px,11vw,60px)}.official-home .faq-list{margin-top:40px}.calendar-insert .wrap{width:calc(100% - 32px)}.official-home .search-shell .actions{flex-direction:column}.official-home .cta{padding:72px 22px}}
@media(max-width:480px){.nav-wrap{width:calc(100% - 24px);gap:8px}.wordmark img{width:135px;height:58px}.nav-wrap .menu-toggle{font-size:11px;padding:8px 4px}.nav-actions .language{font-size:12px}.nav-actions{gap:8px}.nav-cta{font-size:9px;padding:12px 8px}.official-home .hero h1{max-width:100%}.official-home .quick-facts div{min-width:0}.official-home .apartment-visual{margin-left:-24px;margin-right:-24px}.official-home .section-head,.official-home .location-grid,.official-home .stay-flow,.official-home .faq{min-width:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.official-home .button{transition:none;transform:none}}
/* BCA v1: availability calendar, gallery and enquiry states */
.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;margin-top:22px}.avail-cal h3{margin:0 0 10px;font-size:1.4rem}.avail-cal p{color:var(--muted)}.availability-action{margin:22px 0 0}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.cal-head strong{text-transform:capitalize}.cal-nav{width:44px;height:44px;border:1px solid var(--line);background:#fff;font-size:1.25rem;cursor:pointer;color:var(--ink)}.cal-nav:disabled{opacity:.35;cursor:default}
.cal-grid{width:100%;border-collapse:collapse;table-layout:fixed}.cal-grid th{font-size:.75rem;font-weight:700;padding:4px 0;color:var(--muted)}.cal-grid td{padding:1px}
.cal-day{width:100%;min-height:42px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font:inherit;font-size:.9rem}.cal-day:disabled{cursor:default;background:transparent;color:#6f7a76;border-color:transparent}
.cal-day.is-booked{background:#3a3f3d;color:#fff;border-color:#3a3f3d}.cal-day.is-booked:disabled{background:#3a3f3d;color:#fff;text-decoration:line-through}.cal-day.is-range{background:#f6d9da}/* A departure may fall on a booked night's morning: it shows as chosen, not as booked. */
.cal-day.is-selected,.cal-day.is-selected:disabled{background:#b3141b;color:#fff;border-color:#b3141b;text-decoration:none}.cal-day:focus-visible,.cal-nav:focus-visible{outline:3px solid #0b0b0b;outline-offset:1px}
.cal-status{margin:12px 0 4px;min-height:1.5em}.cal-status .text-link{display:inline-block;margin-top:4px}
.cal-note{display:block;font-size:.8125rem;color:var(--muted);margin-top:4px}.cal-legend{font-size:.8125rem;margin:6px 0 0}.cal-key{display:inline-block;width:12px;height:12px;border:1px solid var(--line);margin-right:5px;vertical-align:-1px;background:#fff}.cal-key.is-booked{background:#3a3f3d;border-color:#3a3f3d}
.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-sent{padding:14px 16px;background:#eef6f0;border-left:4px solid #1f7a45;color:#123d24}
.photo-gallery{--gallery-row:230px;list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:14px 12px}.photo-gallery::after{content:"";flex:1000 1 0}.photo-gallery li{min-width:0;margin:0}.photo-gallery figure{margin:0}.photo-gallery a{display:block}.photo-gallery a:focus-visible{outline:3px solid #ed1c24;outline-offset:2px}.photo-gallery picture,.photo-gallery img{display:block;width:100%;height:auto}.photo-gallery figcaption{margin-top:6px;font-size:.8125rem;line-height:1.35;color:var(--muted)}
.official-home .home-gallery .photo-gallery{margin-top:0}.official-home .home-gallery .photo-gallery::after{display:none}.official-home .home-gallery{background:#fff}
.unit-hero picture{display:block}.unit-hero img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover}
.unit-card-photo{aspect-ratio:16/10;overflow:hidden;border-top:7px solid #ed1c24;background:#d9d9d9}.unit-card-photo picture{display:block;height:100%}.unit-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.official-home .apartment-visual:has(.unit-photo){aspect-ratio:16/10;min-height:0;padding:0;background:#d9d9d9}.official-home .apartment-visual:has(.unit-photo)::before{display:none}.official-home .apartment-visual:has(.unit-photo)::after{z-index:1}
.unit-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.apartment-visual:has(.unit-photo)>span,.apartment-visual:has(.unit-photo)>strong,.apartment-visual:has(.unit-photo)>small{display:none}
.official-home .hero-photo{background:#d9d9d9;padding:0;overflow:hidden}.hero-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.airbnb-link,.official-home .airbnb-link{display:block;margin-top:14px}.cal-book{margin:14px 0 0}.cal-book .airbnb-link{margin-top:6px}.airbnb-button{display:flex;justify-content:center;margin-top:10px;width:100%}
html:has(.lightbox[open]){overflow:hidden}
.lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:transparent;color:#fff;overflow:hidden}.lightbox[open]{display:grid;grid-template-rows:56px minmax(0,1fr) auto}.lightbox::backdrop{background:rgba(0,0,0,.97)}
.lightbox-stage{grid-row:2;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 64px;touch-action:pan-y pinch-zoom}.lightbox-stage picture{display:contents}.lightbox-stage img{display:block;width:100%;height:100%;object-fit:contain}
.lightbox-counter{grid-row:1;margin:0;align-self:center;padding-left:20px;font-size:.875rem;color:#fff}.lightbox-caption{grid-row:3;margin:0;padding:10px 20px 16px;min-height:48px;text-align:center;font-size:.9375rem;line-height:1.35;color:#fff}
.lightbox-control{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(0,0,0,.6);color:#fff;font-size:28px;line-height:1;cursor:pointer;padding:0}.lightbox-control:hover{background:#ed1c24;border-color:#ed1c24}.lightbox-control:focus-visible{outline:3px solid #fff;outline-offset:2px}
.lightbox-close{top:4px;right:12px}.lightbox-prev{left:10px;top:calc(50% - 24px)}.lightbox-next{right:10px;top:calc(50% - 24px)}
@media(max-width:760px){.photo-gallery{--gallery-row:150px;gap:12px 8px}.photo-gallery figcaption{font-size:.75rem}.lightbox-stage{padding:0}.lightbox-prev,.lightbox-next{top:auto;bottom:6px}.lightbox-caption{padding:12px 66px 14px}}
.official-home .inverse .text-link{color:#ff9a9e}
/* WCAG AA contrast on dark and red surfaces */
footer,footer a,footer span,footer p,footer h2,.footer-bottom,.footer-bottom span{color:#ccc}
.official-home .location>.eyebrow,.official-home .flow-intro .eyebrow{color:#c9c4bd}.official-home .stay-flow ol li>span{color:#ff8a8f}
.official-home .cta>small{color:#fff}
footer .footer-grid a,footer .footer-grid p,footer .footer-bottom span{color:#ccc!important}
.official-home .eyebrow.red{color:#ad1219}.official-home .emergency-card>span,.official-home .emergency-card a{color:#ff8a8f}.official-home .cta small{color:#fff!important}
.official-home .cta small{opacity:1}.official-home .service-grid .emergency-card>span{color:#ff8a8f!important;opacity:1}
/* Touch targets on phones */
@media(max-width:850px){.nav-actions .language{display:inline-flex;align-items:center;min-height:44px;padding-inline:6px}.text-link,.booking-card p a,#enquiry-form .small a{display:inline-block;padding-block:5px}}
@media(max-width:850px){.official-home .explore-grid a,.official-home .service-grid a,.official-home .card-links a{display:inline-block;padding-block:5px}}
.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px rgba(0,0,0,.18);padding:20px}.consent-banner[hidden]{display:none}.consent-banner h2{font-size:1.125rem;line-height:1.3;margin:0 0 8px}.consent-banner p{margin:0 0 14px;font-size:.9375rem}.consent-actions{display:flex;flex-wrap:wrap;gap:10px}.consent-actions button{flex:1 1 180px;min-height:44px;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:var(--radius);font-weight:600}.consent-actions button:hover{background:var(--soft)}
.consent-actions button[hidden]{display:none}
.consent-panel{border:0;margin:0 0 14px;padding:0;display:grid;gap:10px}
.consent-panel[hidden]{display:none}
.consent-option{display:flex;gap:10px;align-items:flex-start}
.consent-option input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:#b3141b}
.consent-option label{display:grid;gap:2px;font-size:.875rem}
.consent-option span{color:var(--muted)}
@media(max-width:480px){.consent-banner{left:8px;right:8px;bottom:8px;padding:16px;max-height:calc(100vh - 16px);overflow:auto}}
@media(min-width:851px){.facts{grid-template-columns:repeat(5,minmax(0,1fr))}.facts>div{min-width:0}}
