:root{--black:#101010;--line:#dcdcdc;--paper:#f9f9f7;--muted:#727272}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--black);font-family:"DM Sans",Arial,sans-serif;font-size:14px}button,a{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}a{text-decoration:none}.announcement{text-align:center;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.09em;padding:10px;background:#111;color:#fff}.header{height:78px;display:flex;align-items:center;padding:0 3.5vw;border-bottom:1px solid var(--line);position:relative;background:var(--paper);z-index:10}.wordmark{font-family:"DM Mono",monospace;font-size:14px;letter-spacing:.09em;font-weight:500;white-space:nowrap}.nav{display:flex;gap:24px;margin:auto;font-size:11px;letter-spacing:.08em}.nav a,.nav button,.tools button{font-size:10px;letter-spacing:.08em}.nav-item>button span{font-size:14px;margin-left:3px}.tools{display:flex;align-items:center;gap:15px}.tools b{font-family:"DM Mono";font-weight:400;font-size:9px;border:1px solid #aaa;border-radius:50%;padding:1px 4px}.menu-toggle{display:none}.has-menu{position:static}.mega-menu{opacity:0;visibility:hidden;transition:.2s;position:absolute;top:77px;left:0;width:100%;padding:34px 11vw;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:160px 180px 1fr;gap:45px;box-shadow:0 15px 22px #0000000d}.has-menu:hover .mega-menu{opacity:1;visibility:visible}.mega-menu a{display:block;margin-top:12px;font-size:13px;letter-spacing:0}.menu-image{height:170px;position:relative;overflow:hidden}.menu-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.menu-image span{position:absolute;left:15px;bottom:13px;color:#fff;font-size:10px;letter-spacing:.08em}.eyebrow{font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.1em;margin:0 0 18px;color:#555}h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:.96;margin:0}h1{font-size:clamp(52px,7.7vw,124px);letter-spacing:-.055em}h2{font-size:clamp(40px,5vw,76px);letter-spacing:-.05em}h2 em{font-weight:500}.hero{height:min(780px,calc(100vh - 110px));min-height:570px;background:#151515;color:#fff;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0 0 0 37%;}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#151515 0%,transparent 27%)}.hero-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);opacity:.86}.hero-copy{position:absolute;z-index:2;left:9vw;top:21%;}.hero-copy .eyebrow{color:#c7c7c7}.text-link{border-bottom:1px solid #111;padding-bottom:7px;display:inline-flex;gap:30px;font-size:10px;letter-spacing:.1em;margin-top:38px}.text-link.inverse{border-color:#fff}.image-caption{font-family:"DM Mono";font-size:10px;letter-spacing:.05em;position:absolute;right:3vw;bottom:25px;z-index:1}.intro-section{padding:160px 15vw;text-align:center}.intro-section h2{font-size:clamp(42px,5.2vw,80px)}.intro-copy{max-width:390px;margin:35px auto 0;line-height:1.7;color:#555}.feature-grid{display:grid;grid-template-columns:1fr 1fr;background:#e7e7e4;min-height:620px}.feature-copy{padding:13vw 8vw}.feature-image{overflow:hidden;position:relative}.feature-image img,.category-card img,.visit-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}.feature-image span{position:absolute;bottom:23px;left:27px;color:#fff;font-family:"DM Mono";font-size:10px;letter-spacing:.1em}.catalogue-section{padding:130px 5vw 105px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.filter-button{letter-spacing:.1em;font-size:10px;border-bottom:1px solid;padding-bottom:8px}.filter-button span{font-size:13px;margin-left:20px}.filter-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:30px;padding:14px 0;margin-bottom:34px;overflow:auto}.filter-bar button{font-size:11px;white-space:nowrap;color:#777}.filter-bar button.active{color:#000}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{position:relative;cursor:pointer}.product-image{height:clamp(260px,30vw,470px);background:#eee;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .5s}.product-card:hover img{transform:scale(1.035)}.product-info{padding:15px 2px 24px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.02em}.product-info span{font-family:"DM Mono";font-size:9px;color:#777}.sold{position:absolute;left:10px;top:10px;background:#fff;padding:6px 7px;font-size:9px;letter-spacing:.1em}.outline-button{display:block;margin:40px auto 0;border:1px solid #111;padding:16px 24px;font-size:10px;letter-spacing:.1em}.category-section{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#fff}.category-card{height:52vw;max-height:650px;position:relative;overflow:hidden}.category-card img{transition:.5s}.category-card:hover img{transform:scale(1.03)}.category-card a{position:absolute;left:26px;bottom:26px;color:#fff;font-size:12px;letter-spacing:.1em;border-bottom:1px solid #fff;padding-bottom:7px;width:calc(100% - 52px);display:flex;justify-content:space-between}.about-section{padding:140px 10vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.about-copy{max-width:375px;line-height:1.75;color:#555;padding-top:30px}.appointment-banner{background:#111;color:#fff;padding:9vw 10vw;display:flex;justify-content:space-between;align-items:end}.appointment-banner .eyebrow{color:#bbb}.light-button,.black-button{padding:17px 20px;background:#fff;color:#111;font-size:10px;letter-spacing:.09em}.light-button span,.black-button span{margin-left:30px}.visit-section{display:grid;grid-template-columns:1.05fr 1fr}.visit-image{min-height:600px}.visit-info{padding:10vw 8vw}.visit-info h2{font-size:clamp(42px,4.4vw,67px)}.details{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.details span{font-family:"DM Mono";font-size:9px;letter-spacing:.1em}.details p{line-height:1.6;font-size:12px}.visit-actions{display:flex;gap:30px;flex-wrap:wrap}footer{display:flex;justify-content:space-between;align-items:center;padding:30px 3.5vw;border-top:1px solid var(--line);font-size:10px;color:#666}footer div{display:flex;gap:16px}.overlay{display:none;position:fixed;z-index:20;inset:0;background:#0008}.overlay.show{display:block}.selection-drawer{position:fixed;z-index:25;right:0;top:0;height:100vh;width:min(440px,100%);background:#fff;padding:36px;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column}.selection-drawer.open{transform:translateX(0)}.selection-drawer h2{font-size:42px}.drawer-close,.modal-close{font-size:28px;position:absolute;right:25px;top:20px}.selection-items{margin:32px 0;flex:1;overflow:auto}.empty{color:#777;line-height:1.7}.selected-row{display:flex;border-top:1px solid var(--line);padding:13px 0;gap:12px}.selected-row img{width:70px;height:70px;object-fit:cover;filter:grayscale(1)}.selected-row div{flex:1;font-size:12px}.selected-row button{font-size:17px}.black-button{background:#111;color:#fff;width:100%}.modal{border:0;padding:0;background:#fff;width:min(900px,94vw);max-height:90vh;overflow:auto}.modal::backdrop{background:#0008}.modal-close{z-index:2}.product-detail{display:grid;grid-template-columns:1.1fr 1fr}.product-detail img{width:100%;height:100%;min-height:570px;object-fit:cover;filter:grayscale(1)}.product-text{padding:70px 45px}.product-text h2{font-size:48px}.product-meta{font-family:"DM Mono";font-size:10px;letter-spacing:.08em;margin:25px 0}.product-description{line-height:1.7;color:#555}.product-specs{border-top:1px solid var(--line);margin-top:30px;padding-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.product-specs span{color:#777}.product-actions{margin-top:35px;display:flex;gap:10px}.product-actions button{border:1px solid #111;padding:14px;font-size:10px;letter-spacing:.08em}.booking-modal{width:min(660px,95vw);padding:55px 55px 45px}.booking-progress{display:flex;align-items:center;gap:8px;margin-bottom:45px}.booking-progress span{font-family:"DM Mono";display:grid;place-items:center;border:1px solid #aaa;width:24px;height:24px;border-radius:50%;font-size:9px}.booking-progress span.active{background:#111;color:#fff;border-color:#111}.booking-progress i{width:45px;height:1px;background:#ddd}.booking-modal h2{font-size:44px}.booking-options{display:grid;gap:10px;margin:28px 0}.booking-options button{border:1px solid var(--line);text-align:left;padding:16px;font-size:13px}.booking-options button.selected{border-color:#111;background:#111;color:#fff}.booking-form{display:grid;gap:15px;margin-top:28px}.booking-form input,.booking-form textarea,.booking-form select{width:100%;border:0;border-bottom:1px solid #aaa;padding:13px 0;background:transparent;outline:none}.booking-form textarea{resize:vertical;min-height:70px}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.slot-grid button{border:1px solid var(--line);padding:12px;font-size:11px}.slot-grid button.selected{background:#111;color:#fff;border-color:#111}.booking-next{background:#111;color:#fff;padding:16px 22px;letter-spacing:.08em;font-size:10px;margin-top:28px}.search-modal{width:min(700px,94vw);padding:55px}.search-modal input{width:100%;border:0;border-bottom:1px solid #111;padding:15px 0;font-size:20px;outline:0;background:transparent}.search-result{padding:13px 0;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;font-size:13px}
@media(max-width:900px){.header{height:64px;padding:0 20px;justify-content:space-between}.announcement{font-size:9px}.menu-toggle{display:block;font-size:18px}.nav{display:none}.tools button:not(.appointment-link){display:none}.tools .appointment-link{font-size:9px;border:1px solid #111;padding:9px}.hero{min-height:590px}.hero-image{inset:0;opacity:.78}.hero-image:after{background:linear-gradient(90deg,#111b,transparent)}.hero-copy{left:26px;top:26%}.intro-section{padding:100px 8vw}.feature-grid{grid-template-columns:1fr}.feature-copy{padding:85px 8vw}.feature-image{height:480px}.catalogue-section{padding:90px 20px}.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.product-image{height:54vw}.category-section{grid-template-columns:1fr}.category-card{height:115vw;max-height:none}.about-section{padding:90px 8vw;grid-template-columns:1fr;gap:20px}.about-copy{padding-top:0}.appointment-banner{padding:80px 8vw;display:block}.appointment-banner .light-button{margin-top:35px}.visit-section{grid-template-columns:1fr}.visit-image{min-height:460px}.visit-info{padding:80px 8vw}.details{grid-template-columns:1fr 1fr}.details div:last-child{grid-column:span 2}footer{padding:25px 20px;gap:17px;align-items:flex-start;flex-direction:column}.product-detail{grid-template-columns:1fr}.product-detail img{min-height:340px;height:54vh}.product-text{padding:43px 25px}.booking-modal{padding:50px 25px 30px}.search-modal{padding:50px 25px}.mega-menu{display:none}}
