:root{--ink:#15231f;--forest:#10342d;--cream:#f4f0e6;--paper:#fbfaf6;--gold:#c69a52;--rust:#a84d35;--line:#d9d3c5;--muted:#66706b;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);line-height:1.6}body.locked{overflow:hidden}a{color:inherit}button,input,select{font:inherit}.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:12px;z-index:100}.skip-link:focus{left:12px}.site-header{height:84px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(251,250,246,.96);position:relative;z-index:10}.brand{text-decoration:none;line-height:.85;letter-spacing:.12em;font-size:12px}.brand span{display:block}.brand strong{font-family:var(--serif);font-size:23px;letter-spacing:.02em}.site-header nav{display:flex;gap:30px;font-size:13px}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.menu-button{display:none}.hero{min-height:640px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--cream)}.hero-copy{padding:clamp(70px,9vw,140px) clamp(28px,7vw,105px)}.eyebrow{font-weight:700;font-size:11px;letter-spacing:.19em;color:var(--rust);margin:0 0 18px}.hero h1,.review-hero h1,.prose h1,.message-page h1{font:normal clamp(48px,7vw,92px)/.95 var(--serif);letter-spacing:-.045em;margin:0 0 30px}.hero h1 em{color:var(--rust);font-weight:normal}.hero-lede{max-width:630px;font:22px/1.55 var(--serif);color:#3f4a45}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;background:var(--forest);color:white;text-decoration:none;border:0;cursor:pointer;font-weight:bold;font-size:13px;letter-spacing:.03em}.button:hover{background:#1b4a40}.hero-art{position:relative;overflow:hidden;background:linear-gradient(160deg,#d8a86c 0 28%,#c9714b 29% 48%,#173d38 49%);min-height:480px}.hero-art .sun{position:absolute;width:250px;height:250px;border-radius:50%;background:#f2cd84;right:12%;top:13%;box-shadow:0 0 0 18px rgba(242,205,132,.13)}.building{position:absolute;bottom:0;background:#102b26;box-shadow:inset 0 0 0 1px #31534b}.building:after{content:"";position:absolute;inset:10%;background:repeating-linear-gradient(0deg,transparent 0 18px,#d8a964 19px 22px)}.building.one{height:52%;width:27%;left:8%}.building.two{height:72%;width:31%;left:34%;clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}.building.three{height:43%;width:29%;right:4%}.hero-art>span{position:absolute;right:25px;bottom:20px;color:#f5dfb2;font-size:10px;letter-spacing:.17em}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.principles p{margin:0;padding:30px clamp(20px,4vw,60px);border-right:1px solid var(--line)}.principles p:last-child{border:0}.principles strong,.principles span{display:block}.principles strong{font:20px var(--serif);margin-bottom:7px}.principles span{font-size:13px;color:var(--muted)}.review-section{padding:100px clamp(20px,6vw,90px)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading h2,.responsible-banner h2,.newsletter h2{font:normal clamp(38px,5vw,64px)/1 var(--serif);margin:0}.section-heading>p{max-width:470px;color:var(--muted)}.filters{display:grid;grid-template-columns:2fr 1fr 1fr;border:1px solid var(--line);background:white}.filters label{padding:14px 18px;border-right:1px solid var(--line)}.filters label:last-child{border:0}.filters span,.newsletter-form label span{display:block;font-size:10px;font-weight:bold;letter-spacing:.12em;color:var(--muted)}.filters input,.filters select{width:100%;border:0;background:transparent;outline:0;padding:4px 0}.result-count{font-size:12px;color:var(--muted);margin:18px 0}.hotel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px}.hotel-card{border-bottom:1px solid var(--line);padding-bottom:24px}.hotel-card[hidden]{display:none}.card-art{height:260px;position:relative;display:block;overflow:hidden}.card-art:before,.card-art:after{content:"";position:absolute}.card-art:before{width:60%;height:80%;right:6%;bottom:0;background:repeating-linear-gradient(90deg,#152d29 0 16px,#294a43 17px 30px);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}.card-art:after{width:43%;height:43%;border-radius:50%;right:-8%;top:-12%;background:#f0c479}.art-1{background:#b75d41}.art-2{background:#d6aa68}.art-3{background:#8ea69a}.art-4{background:#466c62}.card-art span,.card-art b{position:absolute;z-index:2;color:#fff}.card-art span{left:18px;bottom:16px;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.card-art b{right:15px;bottom:6px;font:60px var(--serif);opacity:.25}.card-body{padding-top:18px}.card-meta{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.card-meta strong{color:var(--rust);font-size:16px}.card-body h3{font:28px/1.1 var(--serif);margin:8px 0}.card-body h3 a{text-decoration:none}.card-body h3 a:hover{text-decoration:underline}.card-body p{font-size:14px;color:var(--muted)}.chips{display:flex;gap:7px;flex-wrap:wrap}.chips span{font-size:10px;padding:4px 8px;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em}.no-results{text-align:center;padding:50px}.responsible-banner{margin:0 clamp(20px,6vw,90px) 100px;padding:60px;display:grid;grid-template-columns:1fr 1fr;gap:50px;background:var(--forest);color:white}.responsible-banner .eyebrow{color:#dfb86f}.responsible-banner p{max-width:520px}.responsible-banner a{color:#f3cf89}.newsletter{background:#dcae68;padding:65px clamp(20px,8vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.newsletter .eyebrow{color:var(--forest)}.newsletter-form{display:flex;gap:10px;align-items:end}.newsletter-form label:not(.honey){background:white;padding:10px 15px;flex:1}.newsletter-form input{border:0;outline:0;width:100%}.newsletter-form button{padding:17px 20px;border:0;background:var(--forest);color:white;font-weight:bold;cursor:pointer}.honey{position:absolute!important;left:-10000px!important}footer{padding:55px clamp(20px,6vw,90px);background:#0b211d;color:#d8dfdc}.footer-brand strong{font:24px var(--serif)}footer nav{display:flex;gap:18px;flex-wrap:wrap;margin:30px 0;font-size:12px}.fine-print{font-size:11px;color:#9cacA6;max-width:950px}.age-gate{position:fixed;inset:0;background:rgba(6,20,17,.94);z-index:100;display:grid;place-items:center;padding:20px}.age-gate[hidden]{display:none}.age-card{width:min(540px,100%);padding:55px;background:var(--cream);text-align:center;box-shadow:0 30px 80px #000}.age-logo{font-size:12px;letter-spacing:.12em}.age-logo strong{display:block;font:32px var(--serif);letter-spacing:.02em}.age-card h2{font:42px var(--serif);margin:28px 0 12px}.age-actions{display:flex;justify-content:center;gap:10px;margin:25px 0}.age-actions button,.age-actions>a{padding:13px 18px;border:1px solid var(--forest);text-decoration:none}.age-actions button{background:var(--forest);color:#fff;cursor:pointer}.age-card small{font-size:11px}.review-hero{padding:90px clamp(20px,8vw,120px);background:var(--cream);display:flex;justify-content:space-between;gap:50px}.review-hero h1{max-width:800px}.review-hero>div>p:not(.eyebrow){font:22px var(--serif)}.score{min-width:180px;align-self:end;border-left:1px solid var(--line);padding-left:30px}.score strong{display:block;font:70px/1 var(--serif);color:var(--rust)}.score span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.review-layout{display:grid;grid-template-columns:minmax(0,760px) 320px;gap:100px;max-width:1240px;margin:80px auto;padding:0 25px}.review-main .standfirst,.prose .standfirst{font:26px/1.5 var(--serif)}.review-main h2,.prose h2{font:34px var(--serif);margin-top:45px}.review-main p,.prose p,.prose li{color:#46514c}.disclosure,.legal-note{margin-top:50px;padding:25px;border:1px solid var(--line);font-size:13px}.booking-box{align-self:start;position:sticky;top:30px;padding:30px;background:var(--cream)}.booking-box dl div{padding:12px 0;border-bottom:1px solid var(--line)}.booking-box dt{font-size:10px;text-transform:uppercase;color:var(--muted)}.booking-box dd{margin:2px 0;font-family:var(--serif)}.booking-box .button{display:flex;margin-top:10px}.booking-box .secondary{background:white;color:var(--forest);border:1px solid var(--forest)}.booking-box .text-link{display:block;margin:18px 0}.booking-box small{color:var(--muted)}.prose{max-width:820px;margin:90px auto;padding:0 25px}.prose h1{font-size:65px}.prose li{margin-bottom:10px}.help-box{background:var(--forest);color:white;padding:30px;margin:40px 0}.help-box h2{margin-top:0}.help-box p{color:#e0e7e4}.updated{font-size:12px}.message-page{text-align:center;min-height:55vh;padding:120px 20px}.message-page h1{font-size:58px;max-width:900px;margin-left:auto;margin-right:auto}
@media(max-width:850px){.site-header{height:70px}.menu-button{display:block;border:1px solid var(--line);background:transparent;padding:7px 10px}.site-header nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-art{min-height:420px}.principles{grid-template-columns:1fr}.principles p{border-right:0;border-bottom:1px solid var(--line)}.section-heading{display:block}.filters{grid-template-columns:1fr}.filters label{border-right:0;border-bottom:1px solid var(--line)}.hotel-grid{grid-template-columns:repeat(2,1fr)}.responsible-banner,.newsletter{grid-template-columns:1fr}.review-hero{display:block}.score{border:0;padding:30px 0 0}.review-layout{grid-template-columns:1fr;gap:40px}.booking-box{position:static}.newsletter-form{display:block}.newsletter-form button{width:100%;margin-top:10px}}
@media(max-width:560px){.hero-copy{padding:70px 24px}.hero h1{font-size:49px}.hotel-grid{grid-template-columns:1fr}.review-section{padding:70px 20px}.card-art{height:230px}.responsible-banner{margin:0 20px 70px;padding:35px 25px}.newsletter{padding:50px 24px}.review-hero{padding:60px 24px}.review-hero h1,.prose h1{font-size:47px}.age-card{padding:35px 22px}.age-actions{flex-direction:column}.principles p{padding:24px}.message-page h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
