@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--cream:#f5efe6;--ink:#4d2c2e;--wine:#6d3b3b;--sand:#e4d0b8;--line:rgba(77,44,46,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:14px}button,a{font:inherit;color:inherit}a{text-decoration:none}button{border:0;background:none;cursor:pointer}.site-shell{max-width:1440px;margin:0 auto;background:var(--cream)}.site-header{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:absolute;top:0;left:0;width:100%;z-index:5}.wordmark,.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em}.wordmark{color:var(--ink)}.menu-button{width:34px;height:28px;display:grid;align-content:center;gap:6px}.menu-button span{height:1px;background:var(--ink);width:27px;display:block}.nav-drawer{position:fixed;inset:0 0 0 auto;width:min(100%,420px);background:var(--cream);padding:28px 22px;display:flex;flex-direction:column;gap:28px;transform:translateX(100%);transition:transform .5s cubic-bezier(.77,0,.18,1);z-index:20}.nav-drawer.open{transform:translateX(0)}.nav-drawer a{font-family:var(--serif);font-size:27px}.drawer-close{align-self:flex-end;font-size:30px;line-height:1}.drawer-book{margin-top:auto;background:var(--ink);color:var(--cream);padding:16px;text-align:center;border-radius:3px}.hero{height:760px;min-height:100svh;position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column}.hero-image{position:absolute;inset:0;background-image:url('https://www.figma.com/api/mcp/asset/b679f337-9407-435c-9fb5-a861219f8024.png');background-size:cover;background-position:center}.hero-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,20,18,.2),rgba(42,20,18,.12) 40%,rgba(42,20,18,.65))}.hero-mark{position:relative;margin:16px 22px;color:#fff}.hero-copy{position:relative;margin:auto 22px 0;max-width:600px}.hero h1{font-family:var(--serif);font-size:clamp(39px,10vw,72px);line-height:.94;font-weight:500;letter-spacing:-.045em;margin:0 0 20px}.hero h1 em,h2 em{font-weight:500}.hero-copy>p{max-width:340px;font-size:16px;line-height:1.45;margin:0;color:#fff}.hero-actions{position:relative;margin:34px 22px 42px;display:flex;flex-direction:column;align-items:center;gap:18px}.pill{display:inline-flex;justify-content:center;align-items:center;min-height:49px;padding:0 24px;border-radius:28px;letter-spacing:.1em;font-family:var(--mono);font-size:11px}.pill-light{background:rgba(235,219,193,.72);color:#fff}.pill-dark{background:var(--ink);color:var(--cream)}.text-link{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:#fff}.text-link span{font-size:18px;margin-left:6px}.section{padding:84px 22px}.section-heading{margin-bottom:30px}.section-heading .eyebrow{margin:0 0 16px}.section h2,.booking-panel h2,.contact-section h2{font-family:var(--serif);font-size:48px;line-height:.97;font-weight:500;letter-spacing:-.045em;margin:0}.filter-row{display:flex;gap:8px;margin-bottom:24px;overflow:auto}.filter{border:1px solid var(--line);border-radius:20px;padding:7px 16px;font-family:var(--mono);font-size:11px}.filter.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.service-list{display:grid;gap:12px}.service-card{display:grid;grid-template-columns:135px 1fr;min-height:107px;border:1px solid var(--line);background:rgba(255,255,255,.3);border-radius:2px;overflow:hidden}.service-image{background-size:cover;background-position:center}.image-one{background-image:url('https://www.figma.com/api/mcp/asset/b679f337-9407-435c-9fb5-a861219f8024.png')}.image-two{background-image:linear-gradient(140deg,#c99d81,#6f463d 45%,#1f1516)}.image-three{background-image:linear-gradient(140deg,#b68d69,#4a2b28 60%,#201718)}.image-four{background-image:linear-gradient(140deg,#e2bfa0,#80534a 55%,#2c1d1c)}.service-info{padding:9px 10px;display:flex;flex-direction:column}.service-info h3{font-family:var(--serif);font-size:20px;font-weight:500;margin:0 0 10px}.service-from{font-family:var(--mono);font-size:10px;margin:0;color:var(--wine)}.service-book{font-family:var(--mono);font-size:10px;letter-spacing:.04em;margin-top:auto;text-align:right}.service-book span{font-size:16px;margin-left:8px}.gallery-section{background:#e9dfd2}.gallery-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:7px}.gallery-tile{min-height:155px;background-size:cover;background-position:center}.gallery-tile.tall{grid-row:span 2;min-height:318px}.gallery-tile.wide{grid-column:span 2;min-height:150px}.policy-list details{border-top:1px solid var(--line);padding:18px 0}.policy-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.08em}summary::-webkit-details-marker{display:none}.policy-list details p{line-height:1.55;color:#6e5250;max-width:460px;margin:18px 0 0}.contact-section{background:var(--wine);color:var(--cream);display:flex;flex-direction:column;gap:60px}.contact-section .eyebrow,.contact-note{color:#dfc9b6}.contact-section h2{font-size:58px;margin-bottom:26px}.contact-copy>p:not(.eyebrow){max-width:320px;line-height:1.55;color:#ead9ca;margin-bottom:28px}.contact-note{font-family:var(--mono);font-size:11px;line-height:2;letter-spacing:.06em}.booking-panel{padding:68px 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.booking-panel h2{font-size:42px}.booking-panel .pill{white-space:nowrap}.booking-panel span{font-size:17px;margin-left:10px}footer{border-top:1px solid var(--line);padding:20px 22px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.1em}.modal-backdrop{position:fixed;inset:0;background:rgba(33,17,17,.58);z-index:30;display:none;align-items:flex-end}.modal-backdrop.open{display:flex}.booking-modal{background:var(--cream);width:100%;max-height:92svh;overflow:auto;padding:38px 22px 28px;position:relative;border-radius:18px 18px 0 0}.modal-close{position:absolute;right:20px;top:14px;font-size:28px}.modal-step{min-height:500px;display:flex;flex-direction:column}.modal-step .eyebrow{margin:0 0 18px}.modal-step h2{font-family:var(--serif);font-size:48px;line-height:.95;font-weight:500;margin:0 0 38px}.modal-options{display:grid;gap:10px}.modal-options button,.length-grid button{border:1px solid var(--line);text-align:left;padding:18px 16px;display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:20px}.modal-options span{font-family:var(--mono);font-size:10px}.length-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.length-grid button{display:block;text-align:center;font-family:var(--mono);font-size:12px}.length-grid small{display:block;font-family:var(--serif);font-size:18px;margin-top:6px}.modal-next{margin-top:auto;min-height:49px;background:var(--ink);color:var(--cream);font-family:var(--mono);font-size:11px;letter-spacing:.08em}.hidden{display:none!important}form{display:grid;gap:16px}label{font-family:var(--mono);font-size:10px;letter-spacing:.08em}input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:13px 0;font:16px var(--sans);color:var(--ink);outline:none}input:focus{border-color:var(--wine)}.review-card{border:1px solid var(--line);padding:18px}.review-card>p{font-family:var(--serif);font-size:23px;margin:0 0 8px}.review-line{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px}.review-note{font:12px/1.5 var(--sans)!important;color:#765e58;margin-top:22px!important}.success-mark{width:60px;height:60px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:28px;margin:42px 0 32px}.modal-success h2{font-family:var(--serif);font-size:52px;line-height:.95;font-weight:500;margin:16px 0}.modal-success>p:not(.eyebrow){line-height:1.5;color:#765e58;max-width:280px}@media (min-width:700px){.site-shell{box-shadow:0 0 60px rgba(76,45,39,.08)}.hero{min-height:780px}.section{padding:120px 8vw}.service-list{grid-template-columns:repeat(3,1fr)}.service-card{display:block}.service-image{height:260px}.service-info{height:140px}.gallery-grid{max-width:900px;margin:auto}.contact-section{flex-direction:row;justify-content:space-between;align-items:flex-end}.booking-panel{padding:80px 8vw}.nav-drawer{width:460px}.booking-modal{max-width:560px;margin:0 auto 24px;border-radius:18px}.modal-backdrop{align-items:center;justify-content:center}.modal-next{margin-top:32px}}
