:root{--paper:#fbf7ef;--paper-dim:#f4eee2;--ink:#191512;--ink-soft:#4a423a;--gold:#b8893f;--gold-deep:#8f6524;--gold-light:#d8b878;--deep:#1d1a15;--deep-alt:#16130f;--muted-dark:#c9c3b8;--line:#1915121f;--line-dark:#ffffff26;--serif:Georgia, "Times New Roman", Times, serif;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-weight:400;line-height:1}h1 em,h2 em{color:var(--gold);font-style:italic}p{margin:0}.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 4.5vw}.eyebrow{text-transform:uppercase;letter-spacing:.25em;color:var(--gold);margin:0 0 24px;font-size:10px;font-weight:600}.on-dark .eyebrow,.dark .eyebrow{color:var(--gold-light)}.lead{font-family:var(--serif);color:var(--ink-soft);max-width:540px;font-size:clamp(16px,1.5vw,19px);line-height:1.75}.button{text-transform:uppercase;letter-spacing:.13em;color:#fff;cursor:pointer;font-size:11px;font-weight:600;font-family:var(--sans);background:0 0;border:1px solid #fff9;justify-content:center;align-items:center;gap:8px;padding:16px 24px;transition:transform .25s,background .25s,color .25s;display:inline-flex}.button:hover{color:var(--ink);background:#fff;transform:translateY(-2px)}.button.gold{background:var(--gold-deep);border-color:var(--gold-deep);color:#fff}.button.gold:hover{background:var(--gold);border-color:var(--gold);color:#fff}.button.ink{border-color:var(--ink);color:var(--ink)}.button.ink:hover{background:var(--ink);color:var(--paper)}.text-button{text-transform:uppercase;letter-spacing:.15em;cursor:pointer;font-size:10px;font-weight:600;font-family:var(--sans);color:inherit;background:0 0;border:0;border-bottom:1px solid;padding:6px 0;transition:opacity .25s;display:inline-block}.text-button:hover{opacity:.6}.site-header{z-index:40;justify-content:space-between;align-items:center;height:90px;padding:0 4.5vw;display:flex;position:absolute;top:0;left:0;right:0}.brand{color:#fff;flex-direction:column;line-height:1;display:flex}.brand strong{font-family:var(--serif);letter-spacing:-.02em;font-size:21px;font-weight:400}.brand span{text-transform:uppercase;letter-spacing:.28em;opacity:.8;margin-top:5px;font-size:9px}.site-nav{gap:34px;display:flex}.site-nav a{color:#fff;opacity:.9;font-size:12.5px;transition:opacity .2s}.site-nav a:hover{opacity:.6}.header-right{align-items:center;gap:18px;display:flex}.header-phone{color:#fff;opacity:.9;font-size:12.5px}.nav-toggle{cursor:pointer;background:0 0;border:0;padding:10px;display:none}.nav-toggle span{background:#fff;height:1px;margin:5px 0;transition:width .25s;display:block}.nav-toggle span:first-child{width:26px}.nav-toggle span:nth-child(2){width:18px}.mobile-panel{background:var(--deep);z-index:39;padding:26px 4.5vw 34px;display:none;position:absolute;top:90px;left:0;right:0}.mobile-panel.open{display:block}.mobile-panel a{font-family:var(--serif);color:#fff;border-bottom:1px solid var(--line-dark);padding:12px 0;font-size:22px;display:block}.hero{align-items:flex-end;height:100svh;min-height:640px;display:flex;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-media img{object-fit:cover;object-position:center 42%;width:100%;height:100%}body.ready .hero-media img{animation:20s ease-in-out infinite alternate kenburns}@keyframes kenburns{0%{transform:scale(1.02)}to{transform:scale(1.1)}}.hero-media:after{content:"";background:linear-gradient(#0a080680 0%,#0a080659 55%,#0a0806e0 100%),linear-gradient(90deg,#0a080699 0%,#0000 65%);position:absolute;inset:0}.hero-inner{z-index:2;color:#fff;padding-bottom:clamp(56px,8vh,104px);position:relative}.hero h1{max-width:15em;margin-bottom:26px;font-size:clamp(50px,7.8vw,112px);line-height:.88}.hero .lead{color:#e8e3d9;max-width:500px}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:36px;display:flex}.hero-meta{color:#d8d2c6;flex-wrap:wrap;gap:22px;margin-top:30px;font-size:12px;display:flex}.hero-meta strong{color:var(--gold-light);font-weight:600}.hero-badge{z-index:3;border:1px solid var(--line-dark);text-align:center;color:#fff;backdrop-filter:blur(6px);background:#0c0a0859;padding:20px 24px;position:absolute;bottom:clamp(56px,8vh,104px);right:4.5vw}.hero-badge b{font-family:var(--serif);color:var(--gold-light);font-size:34px;display:block}.hero-badge span{text-transform:uppercase;letter-spacing:.2em;opacity:.85;font-size:9.5px}section{position:relative}.section{padding:clamp(76px,11vh,150px) 0}.section.dark{background:var(--deep);color:#fff}.section.dark .lead{color:var(--muted-dark)}.section.dim{background:var(--paper-dim)}.section h2{font-size:clamp(38px,5vw,72px)}.split{grid-template-columns:1.05fr .95fr;align-items:end;gap:clamp(32px,6vw,90px);display:grid}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:58px;display:grid}.card{border:1px solid var(--line);background:#fff;flex-direction:column;display:flex}.card-media{height:340px;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.card:hover .card-media img{transform:scale(1.045)}.card-body{flex-direction:column;flex:1;padding:28px 28px 30px;display:flex}.card-body .tag{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:10px;font-weight:600}.card-body h3{margin:14px 0 12px;font-size:clamp(24px,2.3vw,31px)}.card-body p{color:var(--ink-soft);flex:1;font-size:14.5px;line-height:1.7}.card-body .text-button{color:var(--ink);align-self:flex-start;margin-top:22px}.mosaic{grid-template-columns:1.15fr .85fr;grid-auto-rows:470px;gap:18px;margin-top:58px;display:grid}.tile{position:relative;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.tile:hover img{transform:scale(1.04)}.tile:after{content:"";background:linear-gradient(#0000 38%,#0a0806d9);position:absolute;inset:0}.tile-copy{z-index:2;color:#fff;position:absolute;bottom:28px;left:30px;right:30px}.tile-copy .num{letter-spacing:.25em;color:var(--gold-light);font-size:10px;font-weight:600}.tile-copy h3{margin:10px 0 8px;font-size:clamp(26px,2.6vw,36px)}.tile-copy p{color:#ded8cd;font-size:13.5px}.reviews-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:26px;display:flex}.score-row{border-top:1px solid var(--line-dark);flex-wrap:wrap;gap:40px;margin-top:46px;padding-top:30px;display:flex}.score{min-width:120px}.score b{font-family:var(--serif);color:var(--gold-light);font-size:40px;line-height:1;display:block}.score span{text-transform:uppercase;letter-spacing:.2em;color:var(--muted-dark);font-size:10.5px}.quotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:52px;display:grid}.quote{border:1px solid var(--line-dark);flex-direction:column;padding:30px 28px;display:flex}.quote .stars{color:var(--gold-light);letter-spacing:.18em;font-size:13px}.quote p{font-family:var(--serif);color:#ece7dd;flex:1;margin:16px 0 22px;font-size:16.5px;line-height:1.75}.quote cite{text-transform:uppercase;letter-spacing:.16em;color:var(--muted-dark);font-size:11px;font-style:normal}.rows{border-top:1px solid var(--line);margin-top:40px}.row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:17px 0;display:grid}.row dt{font-family:var(--serif);font-size:18px}.row dd{color:var(--ink-soft);letter-spacing:.02em;margin:0;font-size:14px}.feature-list{flex-wrap:wrap;gap:10px;margin-top:34px;padding:0;list-style:none;display:flex}.feature-list li{text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--line);color:var(--ink-soft);padding:9px 15px;font-size:11.5px}.gallery{grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:14px;margin-top:52px;display:grid}.gallery-item{cursor:pointer;background:0 0;border:0;padding:0;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .7s}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:first-child{grid-area:span 2/span 2}.gallery-item:nth-child(4){grid-column:span 2}.lightbox-dialog{background:0 0;border:0;max-width:min(1100px,92vw);padding:0}.lightbox-dialog::backdrop{backdrop-filter:blur(8px);background:#080605e0}.lightbox-dialog img{width:100%;height:auto}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:50%;width:36px;height:36px;font-size:17px;position:absolute;top:-46px;right:0}.location-grid{grid-template-columns:.85fr 1.15fr;align-items:stretch;gap:clamp(30px,5vw,70px);display:grid}.address-block strong{font-family:var(--serif);margin-bottom:14px;font-size:25px;font-weight:400;display:block}.address-block p,.address-block a{color:var(--muted-dark);font-size:15px}.address-block .contact-line{color:#fff;margin-top:12px;display:block}.address-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.map-frame{border:1px solid var(--line-dark);min-height:440px;overflow:hidden}.map-frame iframe{filter:grayscale(.25)contrast(1.05);border:0;width:100%;height:100%;min-height:440px;display:block}.final-cta{text-align:center;background:var(--paper-dim)}.final-cta h2{max-width:16em;margin:0 auto 22px}.final-cta .lead{margin:0 auto 36px}.site-footer{background:var(--deep-alt);color:#fff;padding:52px 0}.footer-grid{grid-template-columns:repeat(3,1fr);align-items:center;gap:30px;display:grid}.footer-grid .brand{color:#fff}.footer-tag{text-align:center;font-family:var(--serif);color:var(--muted-dark);font-size:16px}.footer-right{text-align:right;color:var(--muted-dark);font-size:12.5px}.footer-right a{color:#fff;margin-bottom:6px;display:block}.fab{z-index:50;color:#fff;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;font-size:22px;display:flex;position:fixed;bottom:26px;right:26px;box-shadow:0 10px 30px #00000047}.mobile-bar{display:none}.book-dialog{background:var(--paper);border:0;width:min(720px,100% - 32px);padding:0}.book-dialog::backdrop{backdrop-filter:blur(6px);background:#080605b8}.book-inner{padding:clamp(28px,4vw,46px);position:relative}.book-close{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;width:34px;height:34px;font-size:16px;position:absolute;top:18px;right:18px}.book-inner h2{margin-bottom:14px;font-size:clamp(28px,3.4vw,42px)}.book-form{grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;display:grid}.book-form label{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);flex-direction:column;gap:7px;font-size:10.5px;font-weight:600;display:flex}.book-form input,.book-form select,.book-form textarea{font-family:var(--sans);border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:0;padding:13px 14px;font-size:15px}.book-form input:focus,.book-form select:focus,.book-form textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}.book-form .full{grid-column:1/-1}.book-form .consent{text-transform:none;letter-spacing:0;flex-direction:row;align-items:flex-start;gap:11px;font-size:12.5px;font-weight:400;line-height:1.6}.book-form .consent input{flex:none;width:17px;height:17px;margin-top:2px}.honeypot{position:absolute;left:-10000px}.book-note{color:var(--ink-soft);margin-top:16px;font-size:11.5px}.book-error{color:#8d2a25;background:#a8322c14;border:1px solid #a8322c;grid-column:1/-1;padding:12px 14px;font-size:13.5px;display:none}.book-success{background:var(--deep);color:#fff;padding:34px;display:none}.book-success h3{margin-bottom:12px;font-size:28px}.book-success p{color:var(--muted-dark);margin-bottom:22px;font-size:14.5px}.reveal{opacity:0;transition:opacity .75s,transform .75s;transform:translateY(26px)}.reveal.is-visible{opacity:1;transform:none}@media (width<=1020px){.cards,.quotes{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}.gallery-item:first-child,.gallery-item:nth-child(4){grid-column:span 2}.gallery-item:first-child{grid-row:span 1}.location-grid,.split{grid-template-columns:1fr}.mosaic{grid-template-columns:1fr;grid-auto-rows:420px}}@media (width<=760px){.site-nav,.header-phone{display:none}.nav-toggle{display:block}.hero{min-height:580px}.hero-badge{display:none}.cards,.quotes{grid-template-columns:1fr}.footer-grid{text-align:center;grid-template-columns:1fr;gap:22px}.footer-tag,.footer-right{text-align:center}.book-form{grid-template-columns:1fr}.fab{display:none}body{padding-bottom:64px}.mobile-bar{z-index:50;background:var(--deep);border-top:1px solid var(--line-dark);grid-template-columns:repeat(3,1fr);height:64px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bar a,.mobile-bar button{color:#fff;font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:9.5px;display:flex}.mobile-bar span.ic{font-size:17px;line-height:1}.mobile-bar>*+*{border-left:1px solid var(--line-dark)}}@media (prefers-reduced-motion:reduce){.hero-media img{animation:none}.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}
