:root{--ivory:#f7f3ea;--sand:#ebe3d2;--meadow:#e7eedc;--sage:#7e9a6b;--green:#4f6e45;--moss:var(--green);--gold:#b8893e;--ink:#2b2a22;--ink-2:#4f4e42;--muted:#6e6b52;--rule:#d9d0bc;--bg:var(--ivory);--surface:var(--sand);--accent:var(--green);--font-display:"Bodoni Moda", "Didot", "Bodoni 72", Georgia, "Times New Roman", serif;--font-body:"Jost", "Futura", "Avenir Next", "Century Gothic", "Helvetica Neue", sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--ivory);color:var(--ink);font-family:var(--font-body);-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:17px;font-weight:300;line-height:1.6}body{flex-direction:column;min-height:100svh;margin:0;display:flex}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:var(--green);text-decoration:none}a:hover{color:var(--ink)}:focus-visible{outline:2px solid var(--green);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;letter-spacing:.005em;margin:0 0 .5em;font-weight:400;line-height:1.05}h1{font-size:clamp(2.4rem,6vw,4.2rem)}h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}h3{font-size:1.35rem}p{margin:0 0 1em}.italic{font-style:italic}.eyebrow{font-family:var(--font-body);letter-spacing:.3em;text-transform:uppercase;color:var(--green);margin:0 0 1.2em;font-size:.72rem;font-weight:400}.muted{color:var(--muted)}.container{width:min(1120px,100% - 2*clamp(20px,5vw,56px));margin-inline:auto}.narrow{max-width:62ch}.center{text-align:center;margin-inline:auto}section{padding-block:clamp(56px,9vw,112px)}section+section{border-top:1px solid var(--rule)}.btn{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:var(--ivory);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:15px 30px;font-size:.8rem;font-weight:400;transition:background .15s,color .15s;display:inline-flex}.btn:hover{background:var(--green);border-color:var(--green);color:var(--ivory)}.btn.ghost{color:var(--ink);background:0 0}.btn.link{color:var(--green);border:0;border-bottom:1px solid var(--sage);background:0 0;border-radius:0;min-height:0;padding:0}.btn.link:hover{color:var(--ink);background:0 0}.btn[disabled]{opacity:.5;cursor:not-allowed}.actions{flex-wrap:wrap;align-items:center;gap:18px 28px;display:flex}.placeholder{background:var(--meadow);color:var(--green);font-family:var(--font-body);border-radius:3px;padding:2px 8px;font-size:.85em;font-weight:400}.site-header{z-index:2;position:relative}.site-header .bar{justify-content:space-between;align-items:center;gap:24px;padding-block:22px;display:flex}.brand{font-family:var(--font-display);color:var(--ink);font-size:1.45rem}.nav{letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;gap:8px 26px;font-size:.78rem;display:flex}.nav a{color:var(--ink);padding-block:6px}.nav a:hover,.nav a[aria-current=page]{color:var(--green)}.nav-toggle{display:none}@media (width<=760px){.site-header .bar{flex-wrap:wrap}.nav{flex-direction:column;gap:4px;width:100%;padding-block:8px}.nav[hidden]{display:none}.nav-toggle{border:1px solid var(--rule);font:inherit;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);cursor:pointer;background:0 0;border-radius:2px;min-height:44px;padding:9px 14px;font-size:.72rem;display:inline-flex}}.site-footer{border-top:1px solid var(--rule);background:var(--sand);color:var(--ink-2);padding-block:40px 32px;font-size:.9rem}.site-footer .cols{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px 40px;display:grid}.site-footer h3{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:.8em;font-size:.72rem;font-weight:400}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{margin-bottom:6px}.site-footer .legal{border-top:1px solid var(--rule);color:var(--muted);max-width:80ch;margin-top:28px;padding-top:18px;font-size:.8rem}.hero{text-align:center;padding-block:clamp(64px,11vw,140px) clamp(72px,10vw,120px);position:relative;overflow:hidden}.hero .halo{aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#b8893e29 0%,#b8893e00 62%);border-radius:50%;width:min(640px,120vw);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.hero .ring{aspect-ratio:1;pointer-events:none;border:1px solid #b8893eb3;border-radius:50%;width:min(520px,96vw);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.hero>.container{position:relative}.hero .lede{max-width:56ch;color:var(--ink-2);margin:0 auto 2em;font-size:clamp(1.05rem,1.6vw,1.2rem)}.doors{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.door{background:var(--ivory);border:1px solid var(--rule);color:var(--ink);border-radius:3px;flex-direction:column;gap:10px;padding:28px 26px 26px;transition:border-color .15s,transform .15s;display:flex}.door:hover{border-color:var(--sage);transform:translateY(-2px)}.door h3{margin:0}.door p{color:var(--ink-2);margin:0;font-size:.98rem}.door .go{letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin-top:auto;font-size:.75rem}.meadow{background:var(--meadow)}.sand{background:var(--sand)}.rows{margin:0;padding:0;list-style:none}.rows li{border-top:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0;display:flex}.rows li:last-child{border-bottom:1px solid var(--rule)}.rows .k{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.rows .v{font-family:var(--font-display);text-align:right;font-size:1.35rem}.faq details{border-top:1px solid var(--rule);padding:14px 0}.faq details:last-child{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;font-family:var(--font-display);justify-content:space-between;gap:16px;font-size:1.2rem;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--sage)}.faq details[open] summary:after{content:"−"}.quote{font-family:var(--font-display);margin:0;font-size:clamp(1.3rem,2.4vw,1.7rem);font-style:italic;line-height:1.35}.quote cite{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:14px;font-size:.75rem;font-style:normal;display:block}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:40px;display:grid}.photo{aspect-ratio:4/5;background:linear-gradient(180deg, var(--meadow), #b9c7a6);width:100%;color:var(--green);letter-spacing:.2em;text-transform:uppercase;text-align:center;border-radius:3px;place-items:center;padding:20px;font-size:.72rem;display:grid}img.photo{object-fit:cover;object-position:center 30%;background:0 0;padding:0;display:block}.field{letter-spacing:.06em;color:var(--ink-2);flex-direction:column;gap:6px;font-size:.8rem;display:flex}.field input,.field textarea,.field select{font:inherit;letter-spacing:0;color:var(--ink);border:1px solid var(--rule);background:#fff;border-radius:2px;width:100%;min-height:48px;padding:12px 14px;font-size:1rem}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field textarea:focus{border-color:var(--green);outline:none}.check{letter-spacing:0;align-items:flex-start;gap:12px;font-size:.95rem;display:flex}.check span{flex:1}.check a{text-underline-offset:2px;text-decoration:underline}.check input{width:20px;height:20px;accent-color:var(--green);flex:none;margin-top:3px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.notice{background:var(--meadow);color:var(--green);border-radius:3px;padding:14px 18px;font-size:.95rem}.notice.error{color:#8a3b2b;background:#f3e3de}.book-steps{gap:40px;display:grid}.services{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.service{text-align:left;background:var(--ivory);border:1px solid var(--rule);font:inherit;cursor:pointer;color:var(--ink);border-radius:3px;flex-direction:column;gap:6px;padding:20px 22px;display:flex}.service:hover,.service[aria-pressed=true]{border-color:var(--green);background:var(--meadow)}.service .name{font-family:var(--font-display);font-size:1.25rem}.service .meta{color:var(--muted);font-size:.85rem}.when{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start;gap:28px;display:grid}@media (width<=720px){.when{grid-template-columns:1fr}}.cal{border:1px solid var(--rule);background:var(--ivory);border-radius:3px;padding:18px 16px 12px}.cal-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.cal-title{font-family:var(--font-display);font-size:1.15rem}.cal-nav{border:1px solid var(--rule);width:40px;height:40px;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border-radius:999px;font-size:1.3rem;line-height:1}.cal-nav:hover:not([disabled]){border-color:var(--green);color:var(--green)}.cal-nav[disabled]{opacity:.3;cursor:default}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;transition:opacity .15s;display:grid}.cal-grid.loading{opacity:.4}.cal-wd{text-align:center;letter-spacing:.14em;color:var(--muted);padding:4px 0 6px;font-size:.68rem}.cal-day{aspect-ratio:1;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;font-size:.95rem;position:relative}.cal-day:not([disabled]){background:var(--meadow);color:var(--green);font-weight:500}.cal-day:not([disabled]):hover{border-color:var(--green)}.cal-day[aria-pressed=true]{background:var(--green);color:var(--ivory)}.cal-day[disabled]{color:var(--muted);opacity:.5;cursor:default}.cal-day.today:after{content:"";background:currentColor;border-radius:999px;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:5px;left:50%}.cal-hint{margin:12px 0 0;font-size:.8rem}.times-title{font-family:var(--font-display);min-height:1.4em;margin:6px 0 12px;font-size:1.15rem}.times{flex-wrap:wrap;gap:10px;display:flex}.times .muted{margin:0}.time{border:1px solid var(--rule);background:var(--ivory);font:inherit;cursor:pointer;color:var(--ink);border-radius:999px;min-height:44px;padding:11px 16px;font-size:.95rem}.time[aria-pressed=true]{border-color:var(--green);background:var(--green);color:var(--ivory)}.summary{background:var(--sand);border-radius:3px;padding:18px 22px;font-size:.98rem}.summary b{font-family:var(--font-display);font-size:1.15rem;font-weight:400}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.door,.btn{transition:none}}ol.steps{counter-reset:step;gap:0;margin:0;padding:0;list-style:none;display:grid}ol.steps li{counter-increment:step;border-top:1px solid var(--rule);grid-template-columns:2.4rem minmax(0,1fr);gap:0 10px;padding:14px 0;display:grid}ol.steps li:first-child{border-top:0;padding-top:0}ol.steps li:before{content:counter(step, decimal-leading-zero);letter-spacing:.16em;color:var(--green);padding-top:.3em;font-size:.75rem}.site-header{background:var(--meadow);border-bottom:1px solid #c9d3b8}.brand small{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--green);margin-top:2px;font-size:.62rem;display:block}.btn{background:var(--green);border-color:var(--green)}.btn:hover{background:var(--ink);border-color:var(--ink)}.btn.ghost{color:var(--green);border-color:var(--green)}.btn.ghost:hover{background:var(--green);color:var(--ivory)}.nav a.cta{color:var(--green);border-bottom:1px solid var(--sage)}.hero{background:var(--meadow);text-align:left;padding-block:clamp(48px,8vw,104px)}.hero .ring{border-color:#4f6e4573;top:50%;left:auto;right:clamp(-260px,-16vw,-120px);transform:translateY(-50%)}.hero .halo{background:radial-gradient(circle,#7e9a6b47 0%,#7e9a6b00 62%);top:50%;left:auto;right:clamp(-320px,-20vw,-160px);transform:translateY(-50%)}.hero h1{max-width:14ch;margin-inline:0}.hero .lede{margin-inline:0}.hero .actions{justify-content:flex-start}.menu{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.menu-item{background:var(--ivory);border:1px solid var(--rule);border-radius:3px;flex-direction:column;gap:10px;padding:26px 24px 22px;display:flex}.menu-item h3{margin:0}.menu-item p{color:var(--ink-2);margin:0;font-size:.98rem}.menu-item .prices{border-top:1px solid var(--rule);font-variant-numeric:tabular-nums;gap:4px;margin-top:auto;padding-top:14px;display:grid}.menu-item .prices div{justify-content:space-between;gap:12px;display:flex}.menu-item .prices b{font-family:var(--font-display);color:var(--green);font-size:1.2rem;font-weight:400}.hours{gap:0;max-width:26rem;display:grid}.hours div{border-top:1px solid var(--rule);font-variant-numeric:tabular-nums;justify-content:space-between;gap:16px;padding:9px 0;display:flex}.hours div:first-child{border-top:0}.hours .closed{color:var(--muted)}@media (width<=760px){.hero .ring{display:none}.hero .halo{opacity:.8;right:-55vw}}
