*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mono-white,#fff);color:var(--mono-black,#111);font-family:var(--brand-font,Arial,sans-serif);line-height:1.75;word-break:keep-all}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover;filter:var(--mono-image-filter,grayscale(1))}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.055em}h1{font-size:clamp(44px,5.4vw,86px);font-weight:750}h2{font-size:clamp(30px,3.2vw,48px);font-weight:700}h3{font-size:25px}p{white-space:normal}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--mono-gray,#666);outline-offset:5px}.skip{position:absolute;top:-100px;left:20px;z-index:10;background:var(--mono-white,#fff);padding:10px}.skip:focus{top:10px}.demo-line{padding:10px 4vw;background:var(--mono-black,#111);color:var(--mono-white,#fff);font-size:12px;display:flex;gap:10px;justify-content:space-between}.demo-line a{text-decoration:underline;text-underline-offset:4px}.site-header{max-width:1500px;margin:auto;padding:24px 4vw;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--mono-light-gray,#e5e5e5)}.official-lockup{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.brand-caption{font-size:11px;letter-spacing:.12em;padding:3px 12px 0}.site-header nav{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:600}.nav-cta{padding:11px 17px;border:1px solid var(--mono-black,#111);border-radius:4px}.wrap{max-width:1440px;margin:auto;padding-left:5vw;padding-right:5vw}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.16em;line-height:1.6;margin-bottom:20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px;padding-top:64px;padding-bottom:64px;align-items:center;gap:5vw}.hero-copy>p:not(.eyebrow){max-width:450px;margin-top:28px;font-size:18px;color:var(--mono-gray,#666)}.hero-copy .button{margin-top:32px}.hero-copy .fine{font-size:12px;margin-top:20px}.hero-image{height:560px;position:relative;overflow:hidden;border-radius:160px 160px 8px 8px}.hero-image figcaption{position:absolute;bottom:18px;left:22px;right:20px;color:var(--mono-white,#fff);font-size:10px;letter-spacing:.08em;text-shadow:0 1px 8px var(--mono-black,#111)}.hero-image:after{position:absolute;content:"";inset:60% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.4));pointer-events:none}.hero-image figcaption{z-index:1}.button{display:inline-flex;gap:28px;justify-content:space-between;align-items:center;background:var(--mono-black,#111);color:var(--mono-white,#fff);border:1px solid var(--mono-black,#111);border-radius:4px;padding:16px 24px;font-size:14px;font-weight:650;text-align:left;line-height:1.5}.button.light{background:var(--mono-white,#fff);color:var(--mono-black,#111);border-color:var(--mono-white,#fff)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.button:hover{background:var(--mono-gray,#666);border-color:var(--mono-gray,#666);color:var(--mono-white,#fff)}.summary-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.section{padding-top:100px;padding-bottom:100px}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:40px}.section-head>p{max-width:390px;color:var(--mono-gray,#666);font-size:15px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.menu-card{border-top:1px solid var(--mono-black,#111);padding:28px 0 20px;display:flex;flex-direction:column;gap:18px}.menu-card>span{font-size:11px;letter-spacing:.12em}.menu-card p{color:var(--mono-gray,#666);font-size:15px;flex:1}.menu-card .price{font-size:20px;font-weight:650;color:var(--mono-black,#111)}.menu-card .meta{font-size:12px;color:var(--mono-gray,#666)}.menu-card a{align-self:flex-start;border-bottom:1px solid var(--mono-black,#111);font-size:13px;font-weight:650}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--mono-light-gray,#e5e5e5)}.story>div{padding:80px 6vw;align-self:center}.story>div p:not(.eyebrow){margin-top:25px;max-width:480px;font-size:16px}.story>figure{min-height:480px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding-top:35px}.principles article{border-top:1px solid #bbb;padding-top:20px}.principles h3{font-size:21px;margin-bottom:15px}.principles p{font-size:14px;color:var(--mono-gray,#666)}.booking-section{background:#f4f4f4}.booking-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:7vw;align-items:start}.booking-form{display:grid;gap:25px}.booking-form fieldset{border:0;padding:0;margin:0}.booking-form legend{font-size:18px;font-weight:700;margin-bottom:18px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:600}.field input,.field select{width:100%;min-width:0;background:var(--mono-white,#fff);border:1px solid #bbb;border-radius:3px;min-height:52px;padding:11px 13px;color:var(--mono-black,#111);font-size:15px}.field input:invalid:not(:placeholder-shown){box-shadow:none}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--mono-gray,#666)}.check input{width:19px;height:19px;margin-top:4px;accent-color:var(--mono-black,#111);flex:none}.booking-aside{position:sticky;top:24px;padding:35px;background:var(--mono-white,#fff);border-radius:6px}.booking-aside h3{font-size:29px;margin-bottom:24px}.specs{margin:0}.specs>div{display:flex;justify-content:space-between;gap:25px;padding:13px 0;border-bottom:1px solid var(--mono-light-gray,#e5e5e5);font-size:14px}.specs dt{color:var(--mono-gray,#666)}.specs dd{margin:0;text-align:right}.specs .total{font-size:22px;font-weight:700;border:0;padding-top:24px}.specs .total dt{color:var(--mono-black,#111)}.fine{font-size:12px;color:var(--mono-gray,#666);line-height:1.7}.booking-aside>.fine{margin-top:20px}.booking-form>.button{justify-content:center}.result{margin-top:40px;padding:40px;background:var(--mono-black,#111);color:var(--mono-white,#fff);border-radius:6px;scroll-margin-top:30px}.result[hidden]{display:none}.result h3{font-size:30px}.result .result-copy{margin:18px 0 25px;font-size:15px;color:#ddd}.result .specs dt{color:#ccc}.result .specs>div{border-color:#555}.result .specs .total dt{color:var(--mono-white,#fff)}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw}.faq details{border-top:1px solid #ccc;padding:20px 0}.faq summary{font-size:16px;font-weight:650;cursor:pointer}.faq details p{margin-top:15px;color:var(--mono-gray,#666);font-size:14px}.site-footer{background:var(--mono-black,#111);color:var(--mono-white,#fff);padding-top:60px;padding-bottom:35px}.footer-content{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.footer-content p{max-width:490px;font-size:13px;color:#ccc}.footer-bottom{margin-top:50px;padding-top:22px;border-top:1px solid #444;font-size:11px;color:#aaa;display:flex;justify-content:space-between;gap:20px}.site-footer .brand-caption{margin-top:8px}.form-error{font-size:13px;color:var(--mono-black,#111);font-weight:650}.process-strip{display:flex;gap:24px;justify-content:space-between;border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:22px 0;margin-top:40px;font-size:13px}.process-strip span{color:var(--mono-gray,#666);margin-right:15px}
.menu-grid:has(>article:last-child:nth-child(2)){grid-template-columns:repeat(2,1fr)}.story .fine{color:inherit;opacity:.7}body[data-demo="roastery"] .hero-image{border-radius:4px}body[data-demo="roastery"] .hero-copy h1{font-weight:800}body[data-demo="pt"] .hero{background:var(--mono-black,#111);color:var(--mono-white,#fff);max-width:none;padding-left:5vw;padding-right:5vw}body[data-demo="pt"] .hero-copy>p:not(.eyebrow){color:#ccc}body[data-demo="pt"] .hero-image{border-radius:4px;transform:none}body[data-demo="pt"] .hero .button{background:var(--mono-white,#fff);color:var(--mono-black,#111);border-color:var(--mono-white,#fff)}body[data-demo="floral"] .hero-image{border-radius:45% 45% 2px 2px}body[data-demo="floral"] h1{font-weight:600}body[data-demo="skincare"] .hero-image{border-radius:200px 200px 5px 5px}body[data-demo="skincare"] .hero{gap:7vw}body[data-demo="skincare"] .story{background:var(--mono-black,#111);color:var(--mono-white,#fff)}
@media(min-width:1550px){.hero{padding-left:72px;padding-right:72px}}@media(max-width:1000px){.site-header{align-items:flex-start}.site-header nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.site-header .brand-plate .brand-logo{width:200px}.hero{min-height:auto;gap:30px}.hero-image{height:480px}.booking-layout{gap:4vw}.booking-aside{padding:25px}.story>div{padding:60px 5vw}}
@media(max-width:700px){.demo-line{font-size:10px;display:block;text-align:center}.demo-line a{display:block;margin-top:3px}.site-header{padding:16px 5vw;flex-direction:column;gap:18px}.site-header .brand-plate .brand-logo{width:215px}.site-header nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}.nav-cta{padding:7px 11px}.wrap{padding-left:6vw;padding-right:6vw}.hero{grid-template-columns:1fr;padding-top:46px;padding-bottom:40px;gap:35px}.hero-copy>p:not(.eyebrow){font-size:16px;margin-top:22px}.hero-copy .button{margin-top:25px}.hero-image{height:450px}.eyebrow{font-size:10px;margin-bottom:15px}.section{padding-top:65px;padding-bottom:65px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:22px}.menu-grid{grid-template-columns:1fr;gap:15px}.menu-card{padding-top:22px;gap:13px}.menu-card p{max-width:520px}.story{grid-template-columns:1fr}.story>div{padding:50px 6vw}.story>figure{height:350px;min-height:0}.principles{grid-template-columns:1fr;gap:25px}.booking-layout{grid-template-columns:1fr;gap:30px}.booking-aside{position:static;padding:25px}.booking-form{gap:23px}.field-row{gap:12px}.field{font-size:13px}.field input,.field select{font-size:14px;padding:10px}.button{padding:15px 20px}.result{padding:26px}.result h3{font-size:26px}.result .summary-actions{display:grid}.faq{grid-template-columns:1fr;gap:30px}.footer-content{flex-direction:column;gap:25px}.footer-bottom{flex-direction:column;gap:8px}.process-strip{gap:14px;flex-wrap:wrap;justify-content:flex-start}.process-strip>div{flex:1 1 40%;font-size:12px}body[data-demo="pt"] .hero{padding-left:6vw;padding-right:6vw}}
@media(max-width:700px){.menu-grid:has(>article:last-child:nth-child(2)){grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
