*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f3ef;color:#171717;font-family:"DM Sans",Arial,sans-serif;line-height:1.55}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#f5f3ef;border-bottom:1px solid #dedbd5;position:sticky;top:0;z-index:20}.brand{display:flex;flex-direction:column;line-height:.9}.brand-name{font-family:"Playfair Display",serif;font-size:23px;font-weight:600}.brand-sub{font-size:10px;letter-spacing:.28em;font-weight:600;margin-top:7px}.nav{display:flex;gap:34px;font-size:13px;font-weight:500}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:#171717;transition:.25s}.nav a:hover:after{width:100%}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:23px;height:1px;background:#171717;margin:5px}.hero{height:calc(100vh - 82px);min-height:650px;position:relative;overflow:hidden;color:white}.hero-media,.hero-media img{height:100%;object-fit:cover}.hero-media img{object-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.56),rgba(0,0,0,.12) 65%,rgba(0,0,0,.18))}.hero-content{position:absolute;left:8vw;bottom:10vh;max-width:650px}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;margin:0 0 18px}.eyebrow.dark{color:#68645e}.hero h1{font-family:"Playfair Display",serif;font-size:clamp(54px,7vw,100px);line-height:.96;font-weight:500;margin:0 0 28px;letter-spacing:-.03em}.hero h1 em,.section-heading h2 em,.intro h2 em,.about h2 em,.visit h2 em{font-style:italic;font-weight:500}.hero-copy{font-size:17px;max-width:430px;margin:0 0 30px;color:#eee}.button{display:inline-flex;align-items:center;gap:24px;padding:14px 20px;border:1px solid currentColor;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.button span{font-size:16px}.button-light{color:white}.section{padding:120px 8vw}.intro{display:grid;grid-template-columns:1fr 2fr;gap:8vw;align-items:start}.intro-kicker{font-size:11px;letter-spacing:.22em;font-weight:600;color:#77736d}.intro h2,.section-heading h2,.about h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(40px,5vw,70px);line-height:1.03;letter-spacing:-.025em;margin:0 0 28px}.intro p{font-size:17px;color:#67635e;max-width:580px}.collection{background:#e9e6df}.section-heading{margin-bottom:58px}.section-heading h2{margin:0}.category-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.category{position:relative;height:430px;overflow:hidden;background:#ddd;grid-column:span 4}.category.large{grid-column:span 6}.category img{height:100%;object-fit:cover;transition:transform .6s ease}.category:hover img{transform:scale(1.035)}.category:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 50%)}.category div{position:absolute;z-index:2;left:28px;right:28px;bottom:25px;color:white;display:flex;align-items:end;justify-content:space-between}.category span{font-size:10px;letter-spacing:.15em}.category h3{font-family:"Playfair Display",serif;font-size:28px;font-weight:500;margin:0}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:center}.about-image{overflow:hidden}.about-image img{height:650px;object-fit:cover;object-position:center}.about-content p{color:#68645e;max-width:520px;font-size:16px}.text-link{display:inline-flex;gap:16px;border-bottom:1px solid #171717;padding-bottom:5px;margin-top:15px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:600}.gallery{padding-top:80px}.gallery-grid{display:grid;grid-template-columns:1fr 1.45fr 1fr;grid-template-rows:360px 360px;gap:16px}.gallery-grid figure{margin:0;overflow:hidden}.gallery-grid figure img{height:100%;object-fit:cover;transition:transform .6s ease}.gallery-grid figure:hover img{transform:scale(1.025)}.gallery-grid .wide{grid-column:span 1;grid-row:span 2}.visit{background:#171717;color:white;display:grid;grid-template-columns:1.15fr 1fr;gap:8vw}.visit h2{font-family:"Playfair Display",serif;font-weight:500;font-size:clamp(55px,6vw,88px);line-height:.98;margin:0 0 28px}.visit-copy{max-width:450px;color:#bdb9b2;margin-bottom:34px}.visit-details{border-top:1px solid #555;align-self:start}.detail{padding:22px 0;border-bottom:1px solid #555;display:flex;justify-content:space-between;gap:30px}.detail span{color:#92908b;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.detail strong,.detail a{font-size:14px;text-align:right;font-weight:500}.social div{display:flex;gap:20px}.social a{text-decoration:underline;text-underline-offset:5px}.footer{background:#111;color:#b9b6af;padding:28px 8vw;display:flex;align-items:center;justify-content:space-between;font-size:11px}.footer-brand{color:white}.footer p{margin:0}.footer>a{text-decoration:underline}.footer .brand-name{font-size:19px}.footer .brand-sub{font-size:8px}.footer p{letter-spacing:.05em}@media(max-width:900px){.site-header{height:72px}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f5f3ef;padding:22px 8vw;flex-direction:column;gap:18px;border-bottom:1px solid #ddd}.nav.open{display:flex}.menu-toggle{display:block}.hero{height:calc(100vh - 72px);min-height:600px}.hero-content{left:7vw;right:7vw;bottom:9vh}.hero h1{font-size:clamp(49px,13vw,78px)}.intro,.about,.visit{grid-template-columns:1fr;gap:45px}.section{padding:85px 7vw}.category-grid{grid-template-columns:1fr 1fr}.category,.category.large{grid-column:span 1;height:360px}.category.large{grid-column:span 2}.about-image img{height:500px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 300px 300px}.gallery-grid .wide{grid-column:span 2;grid-row:span 1}.footer{padding:25px 7vw;flex-wrap:wrap;gap:16px}}@media(max-width:600px){.hero-media img{object-position:58% center}.category-grid{grid-template-columns:1fr}.category,.category.large{grid-column:span 1;height:380px}.category.large{height:430px}.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.gallery-grid figure,.gallery-grid .wide{grid-column:auto;grid-row:auto;height:310px}.about-image img{height:auto}.detail{flex-direction:column;gap:8px}.detail strong,.detail a{text-align:left}.social div{gap:15px}.footer{display:grid;grid-template-columns:1fr}.footer p{order:3}.footer>a{order:2}.intro h2,.section-heading h2,.about h2{font-size:45px}}
