@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap');
:root{--soft:#e9dfd3;--display:'Cormorant Garamond';--bg:#f5efe5;--ink:#2a211d;--muted:#756b64;--line:#d9cdbf;--accent:#5b3044;--soft:#e9dfd3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;background:transparent}.progress i{display:block;height:100%;width:0;background:var(--accent)}.skip{position:fixed;left:12px;top:-60px;background:#fff;padding:12px;z-index:200}.skip:focus{top:12px}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;position:fixed;top:0;left:0;right:0;z-index:50;transition:.35s;background:rgba(245,239,229,.75);backdrop-filter:blur(12px);border-bottom:1px solid transparent}body.scrolled header{border-color:var(--line)}.logo{display:flex;gap:12px;align-items:center}.logo b,.foot-brand b{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--accent);font-family:'Cormorant Garamond';font-size:18px}.logo span,.foot-brand span{font-family:'Cormorant Garamond';font-size:25px;font-weight:600;line-height:.8}.logo small,.foot-brand small{display:block;font:10px 'DM Sans';letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:7px}nav{display:flex;gap:24px;align-items:center;font-size:12px;letter-spacing:.06em;text-transform:uppercase}nav a{opacity:.78}nav a:hover{opacity:1}.nav-cta,.primary{background:var(--accent);color:#fff;padding:13px 19px;border-radius:2px}.menu-toggle{display:none;border:0;background:none;font-size:23px}.mobile-panel{display:none}.hero{min-height:100vh;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;background:linear-gradient(135deg,#7a6257,#2f2024)}.hero-image img{width:100%;height:100%;object-fit:cover;opacity:.72}.hero-image img.bad{display:none}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,19,17,.7),rgba(28,19,17,.1) 70%)}.hero-content{position:absolute;left:9vw;bottom:12vh;color:#fff;max-width:760px}.hero-content small,.eyebrow,.label{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.hero h1{font:600 clamp(70px,10vw,155px)/.78 'Cormorant Garamond';margin:25px 0}.hero h1 em{font-weight:400}.hero-content p{max-width:570px;font-size:16px;line-height:1.7;color:#eee}.hero-content>div{display:flex;gap:10px;margin-top:28px}.ghost{padding:13px 19px;border:1px solid currentColor}.hero-note{position:absolute;right:4vw;bottom:7vh;color:#fff;font-size:10px;letter-spacing:.18em;writing-mode:vertical-rl}.manifesto{padding:15vw 10vw 12vw;max-width:1100px}.manifesto h2,.split h2,.occasions h2,.gallery-section h2{font:500 clamp(52px,7vw,100px)/.9 'Cormorant Garamond';max-width:900px;margin:30px 0}.manifesto p{max-width:660px;font-size:17px;line-height:1.8;color:var(--muted);margin-left:auto}.split{display:grid;grid-template-columns:1.15fr .85fr;min-height:720px}.photo{background:#d9cdbf;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.photo img.bad{opacity:0}.copy{padding:10vw 8vw;display:flex;flex-direction:column;justify-content:center}.copy h2{font-size:72px}.copy p{line-height:1.8;color:var(--muted);max-width:470px}.copy a,.section-top a{margin-top:24px;color:var(--accent);font-weight:600}.occasions{padding:12vw 8vw;background:#e9dfd3}.occasion-list{border-top:1px solid var(--line);margin-top:60px}.occasion-list a{display:grid;grid-template-columns:80px 1fr 40px;padding:30px 0;border-bottom:1px solid var(--line);font:500 clamp(35px,4vw,60px) 'Cormorant Garamond';transition:.35s}.occasion-list a:hover{padding-left:20px;color:var(--accent)}.occasion-list span{font:12px 'DM Sans';color:var(--muted)}.occasion-list i{font-style:normal}.gallery-section{padding:12vw 6vw}.section-top{display:flex;justify-content:space-between;align-items:center}.gallery-strip{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:14px;margin-top:50px}.gallery-card{position:relative;border:0;padding:0;background:#c9b9aa;min-height:360px;overflow:hidden;text-align:left;cursor:pointer}.gallery-card:nth-child(2),.gallery-card:nth-child(3){min-height:260px}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.gallery-card img.bad{display:none}.gallery-card:hover img{transform:scale(1.04)}.gallery-card span{position:absolute;left:18px;bottom:16px;color:#fff;text-shadow:0 1px 8px #000;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.quote{padding:13vw 10vw;background:var(--accent);color:#fff}.quote blockquote{font:500 clamp(48px,7vw,105px)/.92 'Cormorant Garamond';max-width:1100px;margin:50px 0 25px}.visit{display:grid;grid-template-columns:.8fr 1.2fr;min-height:620px}.visit>div:first-child{padding:10vw 8vw}.visit h2{font:500 clamp(52px,6vw,85px)/.9 'Cormorant Garamond'}.visit p{color:var(--muted);line-height:1.8}.map{background:#d7cec4;min-height:420px}.map iframe{width:100%;height:100%;border:0;filter:saturate(.55) contrast(.95)}.enquire{padding:11vw 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:#2a211d;color:#fff}.enquire h2{font:500 clamp(50px,6vw,85px)/.9 'Cormorant Garamond';margin:20px 0}.enquire p{color:#cfc5bd;line-height:1.7;max-width:420px}.enquire form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.enquire label{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.enquire input,.enquire select,.enquire textarea{display:block;width:100%;margin-top:8px;background:transparent;border:1px solid #625952;color:#fff;padding:14px}.enquire textarea{min-height:120px}.enquire .wide{grid-column:1/-1}.enquire button{grid-column:1/-1;background:#fff;color:#2a211d;border:0;padding:16px;font-weight:600;cursor:pointer}.float-actions{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;gap:8px}.float-actions a{background:#fff;border:1px solid var(--line);padding:11px 14px;font-size:11px;box-shadow:0 8px 30px #0001}.float-actions a:first-child{background:#5b3044;color:#fff;border-color:#5b3044}footer{padding:70px 7vw 35px;background:#181310;color:#cfc5bd}.foot-brand{display:flex;gap:12px;align-items:center;color:#fff}.foot-links{display:flex;gap:20px;margin:40px 0 25px;font-size:12px}.foot-links a:hover{color:#fff}footer p{font-size:11px;color:#8e8279}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.in{opacity:1;transform:none}dialog{border:0;padding:0;width:min(94vw,1100px);height:min(90vh,800px);background:#111;color:#fff}dialog::backdrop{background:#000d}dialog>img{width:100%;height:100%;object-fit:contain}#lbclose{position:absolute;right:18px;top:10px;border:0;background:none;color:#fff;font-size:35px;z-index:2}.lbmeta{position:absolute;left:18px;top:18px;right:70px;display:flex;justify-content:space-between;z-index:2;font-size:11px;letter-spacing:.1em}.lbnav{position:absolute;top:50%;border:0;background:#fff2;color:#fff;width:45px;height:45px;font-size:30px}.lbnav.left{left:15px}.lbnav.right{right:15px}@media(max-width:800px){header{height:64px;padding:0 5vw}nav{display:none}.menu-toggle{display:block}.mobile-panel{display:flex;position:fixed;inset:64px 0 0;background:var(--bg);z-index:49;flex-direction:column;padding:10vh 8vw;gap:18px;transform:translateX(100%);transition:.45s}.mobile-panel.open{transform:none}.mobile-panel a{font:500 38px 'Cormorant Garamond';border-bottom:1px solid var(--line);padding-bottom:12px}.hero-content{left:7vw;right:7vw;bottom:10vh}.hero h1{font-size:65px}.hero-content p{font-size:14px}.hero-content>div{flex-wrap:wrap}.hero-note{display:none}.manifesto,.gallery-section,.enquire,.occasions{padding:22vw 7vw}.manifesto h2,.split h2,.occasions h2,.gallery-section h2{font-size:55px}.manifesto p{margin-top:30px}.split,.visit,.enquire{grid-template-columns:1fr}.split{min-height:0}.photo{height:70vh}.copy{padding:18vw 7vw}.gallery-strip{grid-template-columns:1fr 1fr}.gallery-card,.gallery-card:nth-child(2),.gallery-card:nth-child(3){min-height:250px}.gallery-card:first-child{grid-column:1/-1}.quote{padding:22vw 7vw}.quote blockquote{font-size:54px}.visit>div:first-child{padding:18vw 7vw}.map{height:55vh}.enquire form{grid-template-columns:1fr}.enquire .wide,.enquire button{grid-column:auto}.float-actions{right:12px;bottom:12px;flex-wrap:wrap;justify-content:flex-end}.float-actions a{padding:10px 12px}.foot-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-card img{transition:none}}

.subhero{padding:170px 8vw 90px;background:var(--soft,#e9dfd3);min-height:55vh;display:flex;align-items:flex-end}.subhero-inner{max-width:1000px}.subhero h1{font:500 clamp(58px,9vw,120px)/.88 var(--display,'Cormorant Garamond');margin:22px 0}.subhero p{max-width:650px;color:var(--muted);line-height:1.8;font-size:16px}.content{padding:10vw 8vw}.content h2{font:500 clamp(45px,6vw,80px)/.95 var(--display,'Cormorant Garamond');margin:20px 0}.content p{max-width:680px;color:var(--muted);line-height:1.8}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:50px}.info-card{background:var(--bg);padding:35px;min-height:220px}.info-card h3{font:500 30px var(--display,'Cormorant Garamond');margin:15px 0}.info-card p{font-size:13px}.sub-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:50px}.sub-gallery img{width:100%;height:420px;object-fit:cover;background:#b8aa9b}.sub-gallery img:nth-child(3){grid-column:1/-1;height:560px}.cta-band{padding:8vw;background:var(--accent,#5b3044);color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}.cta-band h2{font:500 clamp(42px,5vw,72px)/.95 var(--display,'Cormorant Garamond');margin:0}.cta-band a{background:#fff;color:#111;padding:14px 18px}.list{margin-top:40px;border-top:1px solid var(--line)}.list div{padding:25px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:80px 1fr;gap:20px}.list b{color:var(--accent,#5b3044)}@media(max-width:800px){.subhero{padding:130px 7vw 70px}.subhero h1{font-size:62px}.content{padding:18vw 7vw}.info-grid{grid-template-columns:1fr}.sub-gallery{grid-template-columns:1fr}.sub-gallery img,.sub-gallery img:nth-child(3){height:300px;grid-column:auto}.cta-band{padding:16vw 7vw;flex-direction:column;align-items:flex-start}}
