:root{--font-display: "Fraunces", Georgia, serif;--font-sans: "Archivo", system-ui, -apple-system, sans-serif;--font-mono: "Space Mono", ui-monospace, "SFMono-Regular", monospace;--color-bone: #f7f2ea;--color-bone-deep: #efe4d3;--color-white: #fffdf9;--color-ink: #241f1a;--color-ink-soft: #6b5f52;--color-ink-faint: #a89a89;--color-accent: #6f7a52;--color-accent-dark: #525c3a;--color-line: rgba(36, 31, 26, .14);--color-line-strong: rgba(36, 31, 26, .28);--max-width: 1200px;--spacing-2xs: .375rem;--spacing-xs: .75rem;--spacing-sm: 1.25rem;--spacing-md: 2rem;--spacing-lg: 3.5rem;--spacing-xl: 6rem;--label-tracking: .12em}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--color-ink);background-color:var(--color-bone);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}body:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.eyebrow,.label-mono{font-family:var(--font-mono);font-size:.75rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-ink-soft)}.display-cut{font-family:var(--font-display);font-weight:400;font-variation-settings:"opsz" 144;letter-spacing:-.02em;line-height:1.02}.ornament{color:var(--color-accent);font-family:var(--font-display);line-height:1}.leader-row{display:flex;align-items:baseline;gap:.6rem;padding:.5rem 0}.leader-row-fill{flex:1 1 auto;min-width:1.5rem;border-bottom:1px dotted var(--color-ink-faint);transform:translateY(-.28em)}.leader-row-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-ink-faint);white-space:nowrap}.leader-row-value{font-family:var(--font-mono);font-size:.8rem;color:var(--color-ink);white-space:nowrap}.arch{position:relative;overflow:hidden;border-radius:999px 999px 0 0;background:var(--color-bone-deep)}.arch img{width:100%;height:100%;object-fit:cover}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.75rem;border:1px solid var(--color-ink);border-radius:0;font-family:var(--font-mono);font-size:.8rem;letter-spacing:var(--label-tracking);text-transform:uppercase;font-weight:700;background:transparent;color:var(--color-ink);transition:background-color .2s ease,color .2s ease,border-color .2s ease}.btn-primary{background:var(--color-accent);color:var(--color-bone);border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-ink);border-color:var(--color-ink)}.btn-secondary{background:transparent;color:var(--color-ink);border-color:var(--color-ink)}.btn-secondary:hover{background:var(--color-ink);color:var(--color-bone)}.btn-large{padding:1.1rem 2.25rem;font-size:.85rem}.section-container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}@media (max-width: 768px){.section-container{padding:var(--spacing-lg) var(--spacing-md)}}.modal-backdrop{position:fixed;inset:0;background:#241f1a8c;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:2000}.modal-content{position:relative;background:var(--color-bone);border:1px solid var(--color-line-strong);border-radius:0;padding:var(--spacing-lg);max-width:480px;width:100%;max-height:90vh;overflow-y:auto}.modal-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:transparent;border:none;padding:.4rem;color:var(--color-ink-soft);cursor:pointer;border-radius:0;transition:color .2s ease;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--color-accent)}.modal-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal-title{font-family:var(--font-display);font-weight:400;font-size:1.75rem;color:var(--color-ink);margin-bottom:var(--spacing-2xs)}.modal-subtitle{color:var(--color-ink-soft);margin-bottom:var(--spacing-lg);font-size:.95rem;line-height:1.6}.modal-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-ink-soft)}.form-group input,.form-group select,.form-group textarea{padding:.8rem .9rem;border:1px solid var(--color-line-strong);border-radius:0;font-size:1rem;font-family:inherit;background:var(--color-white);color:var(--color-ink);transition:border-color .2s ease}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-ink-faint)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b5f52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.1rem;padding-right:2.5rem}.form-group textarea{resize:vertical;min-height:100px}.modal-submit{margin-top:.5rem;padding:.9rem 1.75rem;background:var(--color-ink);color:var(--color-bone);border:1px solid var(--color-ink);border-radius:0;font-family:var(--font-mono);font-size:.8rem;letter-spacing:var(--label-tracking);text-transform:uppercase;font-weight:700;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.modal-submit:hover{background:var(--color-accent);border-color:var(--color-accent)}.modal-submit:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-md) 0}.success-icon{width:64px;height:64px;border:1px solid var(--color-accent);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);color:var(--color-accent)}.modal-success .modal-title{margin-bottom:var(--spacing-xs)}.modal-success .modal-subtitle{margin-bottom:var(--spacing-md)}.modal-success .modal-submit{min-width:150px}@media (max-width: 480px){.modal-content{padding:var(--spacing-md) var(--spacing-sm)}.modal-title{font-size:1.5rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;font-size:16px}}.nav{position:fixed;top:0;left:0;right:0;background:var(--color-bone);border-bottom:1px solid var(--color-line);z-index:1000;padding-top:env(safe-area-inset-top)}.nav-container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-sm) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.nav-logo{font-family:var(--font-display);font-size:1.375rem;font-weight:500;color:var(--color-ink);display:inline-flex;align-items:baseline;gap:.35rem}.nav-logo-mark{font-size:.85rem}.nav-links{display:flex;gap:var(--spacing-lg);align-items:center}.nav-links a,.nav-link-ghost{font-family:var(--font-mono);font-size:.75rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-ink-soft);position:relative;transition:color .2s ease}.nav-links a:after,.nav-link-ghost:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--color-accent);transition:width .2s ease}.nav-links a:hover,.nav-link-ghost:hover{color:var(--color-ink)}.nav-links a:hover:after,.nav-link-ghost:hover:after{width:100%}.nav-link-ghost{background:none;border:none;padding:0}.nav-cta-primary{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-bone)!important;padding:.5rem 1.1rem;font-weight:700;transition:background-color .2s ease,color .2s ease}.nav-cta-primary:after{display:none}.nav-cta-primary:hover{background:var(--color-ink);color:var(--color-bone)!important}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;padding:10px;margin:-10px;cursor:pointer}.nav-toggle span{display:block;width:22px;height:1px;background:var(--color-ink);transition:transform .3s ease,opacity .3s ease}@media (max-width: 767px){.nav-toggle{display:flex}.nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--color-bone);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);padding:var(--spacing-xs) 0}.nav-links.open{display:flex}.nav-links a:after,.nav-link-ghost:after{display:none}.nav-links a,.nav-link-ghost{padding:.875rem var(--spacing-lg);font-size:.8rem;text-align:left;border-bottom:1px solid var(--color-line)}.nav-cta-primary{margin:var(--spacing-xs) var(--spacing-lg) 0;text-align:center;border-bottom:1px solid var(--color-ink)!important}}.footer{background:var(--color-ink);color:var(--color-bone)}.footer-container{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.footer-content{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(247,242,234,.16)}.footer-brand h3{font-family:var(--font-display);font-size:1.5rem;font-weight:500;margin-bottom:var(--spacing-2xs)}.footer-brand p{font-family:var(--font-mono);font-size:.7rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:#f7f2ea8c}.footer-links{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.footer-links a,.footer-link-btn{font-family:var(--font-mono);font-size:.75rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:#f7f2eabf;background:none;border:none;padding:0;transition:color .2s ease}.footer-links a:hover,.footer-link-btn:hover{color:var(--color-accent)}.footer-copyright{font-family:var(--font-mono);text-align:left;color:#f7f2ea66;font-size:.7rem;letter-spacing:.04em;margin-top:var(--spacing-md);display:flex;align-items:center;gap:.55rem}@media (max-width: 600px){.footer-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}}.home{color:var(--color-ink);background-color:var(--color-bone);min-height:100vh;width:100%}.hero{padding:calc(var(--spacing-xl) + 60px) var(--spacing-lg) var(--spacing-xl);max-width:var(--max-width);margin:0 auto}.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--spacing-xl);align-items:end}.hero-title{font-size:clamp(3rem,8vw,6.5rem);margin-bottom:var(--spacing-lg);color:var(--color-ink)}.hero-line{display:block}.hero-title em{font-style:italic;color:var(--color-accent)}.hero-cta{display:flex;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap}.hero-link{font-family:var(--font-mono);font-size:.8rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-ink);border-bottom:1px solid var(--color-ink);padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.hero-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.hero-side-rule{display:block;height:1px;background:var(--color-line-strong);transform-origin:left center;margin-bottom:var(--spacing-md)}.hero-subtitle{font-size:1.05rem;color:var(--color-ink-soft);line-height:1.7;margin-bottom:var(--spacing-md)}.section-title{font-size:clamp(2rem,4vw,3rem);color:var(--color-ink);margin-bottom:var(--spacing-lg)}.services{background:var(--color-white);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.services-list{border-top:1px solid var(--color-line)}.service-row{display:grid;grid-template-columns:3rem 12rem 1fr 2rem;align-items:baseline;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-line);transition:padding-left .2s ease,color .2s ease}.service-row:hover{padding-left:var(--spacing-xs);color:var(--color-accent)}.service-row-index{font-family:var(--font-mono);font-size:.8rem;color:var(--color-accent)}.service-row-title{font-family:var(--font-display);font-size:1.5rem}.service-row-description{color:var(--color-ink-soft);font-size:.95rem;line-height:1.6}.service-row-arrow{font-family:var(--font-mono);text-align:right;color:var(--color-ink-faint);transition:transform .2s ease}.service-row:hover .service-row-arrow{color:var(--color-accent);transform:translate(4px)}.bio{background:var(--color-bone-deep)}.bio-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--spacing-xl);align-items:center}.bio-media{aspect-ratio:4 / 5;width:100%}.bio-text p{color:var(--color-ink-soft);line-height:1.8;margin-bottom:var(--spacing-md);max-width:46ch}.bio-text p:last-child{margin-bottom:0}.quote-section{background:var(--color-bone);border-top:1px solid var(--color-line)}.quote-inner{max-width:940px;padding-left:calc(var(--spacing-lg) + 2.5rem)}.pull-quote{position:relative;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.38;color:var(--color-ink);margin-bottom:var(--spacing-md)}.pull-quote:before{content:"“";position:absolute;left:-.58em;top:-.1em;font-size:3em;line-height:1;color:var(--color-accent)}.quote-attrib{font-family:var(--font-mono);font-size:.75rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-ink-soft);display:flex;align-items:center;gap:.6rem}.cta-section{position:relative;overflow:hidden;background:var(--color-ink)}.cta-main{position:relative;z-index:1;max-width:46ch}.cta-title{font-size:clamp(2.5rem,6vw,4.5rem);color:var(--color-bone);margin-bottom:var(--spacing-sm)}.cta-title em{font-style:italic}.cta-text{color:#f7f2eab3;font-size:1.05rem;margin-bottom:var(--spacing-lg);max-width:42ch}.cta-media{position:absolute;inset:0 0 0 auto;width:32%;overflow:hidden;border-left:1px solid rgba(247,242,234,.16)}.cta-media img{width:100%;height:100%;object-fit:cover}.cta-btn{border-color:var(--color-bone);color:var(--color-ink);background:var(--color-bone)}.cta-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bone)}@media (max-width: 900px){.hero-grid,.bio-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.bio-media{max-width:320px}.cta-section{display:flex;flex-direction:column}.cta-media{order:-1;position:static;width:100%;height:180px;border-left:none;border-bottom:1px solid rgba(247,242,234,.16)}.service-row{grid-template-columns:2.5rem 1fr;grid-template-areas:"index title" "description description"}.service-row-index{grid-area:index}.service-row-title{grid-area:title}.service-row-description{grid-area:description;margin-top:var(--spacing-2xs)}.service-row-arrow{display:none}}@media (max-width: 768px){.hero{padding-top:calc(var(--spacing-xl) + 40px)}.quote-inner{padding-left:var(--spacing-md)}.pull-quote{padding-top:2.2rem}.pull-quote:before{left:0;top:-.42em;font-size:2.6em}}@media (max-width: 480px){.hero-cta{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.hero-cta .btn{width:100%;max-width:280px;justify-content:center}}.menu{display:flex;flex-direction:column;gap:var(--spacing-xl)}.service-grid-state{text-align:center;padding:var(--spacing-lg) 0;color:var(--color-ink-soft)}.menu-category-header{max-width:640px;margin-bottom:var(--spacing-md)}.menu-category-index{display:block;font-family:var(--font-mono);font-size:.75rem;letter-spacing:var(--label-tracking);color:var(--color-accent);margin-bottom:var(--spacing-2xs)}.menu-category-title{font-size:clamp(1.75rem,4vw,2.25rem);color:var(--color-ink)}.menu-category-note{color:var(--color-ink-soft);margin-top:var(--spacing-xs);line-height:1.6}.menu-list{border-top:1px solid var(--color-line)}.menu-row{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-line)}.menu-row-line{display:flex;align-items:baseline;gap:.75rem}.menu-row-name{font-family:var(--font-display);font-weight:400;font-size:1.15rem;color:var(--color-ink);white-space:nowrap}.menu-row-fill{flex:1 1 auto;min-width:1.5rem;border-bottom:1px dotted var(--color-ink-faint);transform:translateY(-.3em)}.menu-row-duration,.menu-row-price{font-family:var(--font-mono);white-space:nowrap}.menu-row-duration{font-size:.78rem;color:var(--color-ink-faint)}.menu-row-price{font-size:.95rem;color:var(--color-accent);min-width:4.5rem;text-align:right}.menu-row-book{background:none;border:none;padding:0;margin-left:.75rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-accent);border-bottom:1px solid var(--color-accent);transition:color .2s ease,border-color .2s ease}.menu-row-book:hover{color:var(--color-ink);border-color:var(--color-ink)}.menu-row-book:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.menu-row-note{color:var(--color-ink-soft);font-size:.88rem;line-height:1.55;max-width:62ch;margin-top:.3rem}.menu-row-price-note{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent);margin-left:.5rem;white-space:nowrap}@media (max-width: 768px){.menu{gap:var(--spacing-lg)}}@media (max-width: 560px){.menu-row{padding:var(--spacing-sm) 0 var(--spacing-xs)}.menu-row-line{flex-wrap:wrap;gap:.4rem .6rem;align-items:center}.menu-row-name{white-space:normal;flex:1 1 100%}.menu-row-fill{display:none}.menu-row-price{min-width:0;text-align:left}.menu-row-book{margin-left:auto;padding:.5rem .9rem;border:1px solid var(--color-accent);color:var(--color-accent)}.menu-row-book:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.menu-row-note{margin-top:.4rem}}.services-page{color:var(--color-ink);background-color:var(--color-bone);min-height:100vh;width:100%}.services-hero{padding:calc(var(--spacing-xl) + 60px) var(--spacing-lg) var(--spacing-lg)}.services-hero-title{font-size:clamp(2.75rem,6vw,4.5rem);color:var(--color-ink);margin-bottom:var(--spacing-md)}.services-hero-title em{font-style:italic}.services-plate{height:clamp(180px,26vw,300px);overflow:hidden;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line)}.services-plate img{width:100%;height:100%;object-fit:cover}.services-hero-subtitle{font-size:1.05rem;color:var(--color-ink-soft);line-height:1.7;max-width:50ch}.services-main{padding:var(--spacing-xl) 0}.services-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg)}.services-cta{background:var(--color-ink);padding:var(--spacing-xl) 0}.services-cta-inner{max-width:640px}.services-cta-title{font-size:clamp(2rem,4.5vw,3rem);color:var(--color-bone);margin-bottom:var(--spacing-sm)}.services-cta-title em{font-style:italic}.services-cta-text{color:#f7f2eab3;font-size:1.05rem;margin-bottom:var(--spacing-lg);max-width:46ch}.services-cta .cta-btn{border-color:var(--color-bone);color:var(--color-ink);background:var(--color-bone)}.services-cta .cta-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bone)}@media (max-width: 768px){.services-hero{padding:calc(var(--spacing-xl) + 20px) var(--spacing-md) var(--spacing-md)}.services-main{padding:var(--spacing-sm) 0 var(--spacing-lg)}.services-container{padding:0 var(--spacing-md)}}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.calendar-month{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--color-ink)}.calendar-nav-btn{background:transparent;border:1px solid var(--color-line);width:32px;height:32px;border-radius:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-ink);transition:border-color .2s ease,color .2s ease}.calendar-nav-btn:hover{border-color:var(--color-ink);color:var(--color-accent)}.calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-2xs)}.calendar-day-name{text-align:center;font-family:var(--font-mono);font-size:.65rem;color:var(--color-ink-faint);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0}.calendar-cells{display:flex;flex-direction:column;gap:2px}.calendar-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;border-radius:0;font-family:var(--font-mono);font-size:.85rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease;color:var(--color-ink)}.calendar-cell:hover:not(.disabled):not(.selected){border-color:var(--color-ink)}.calendar-cell.other-month{color:var(--color-ink-faint)}.calendar-cell.today{border-color:var(--color-accent);color:var(--color-accent);font-weight:700}.calendar-cell.selected{background:var(--color-ink);color:var(--color-bone);font-weight:700}.calendar-cell.disabled{color:var(--color-ink-faint);opacity:.4;cursor:not-allowed}.calendar-cell.fully-booked{opacity:.55;text-decoration:line-through;text-decoration-thickness:1px}.time-slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs)}.time-slot{padding:.65rem .75rem;background:transparent;border:1px solid var(--color-line);border-radius:0;font-family:var(--font-mono);font-size:.8rem;color:var(--color-ink);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.time-slot:hover:not(.selected){border-color:var(--color-ink)}.time-slot.selected{background:var(--color-ink);color:var(--color-bone);border-color:var(--color-ink)}@media (max-width: 480px){.time-slots-grid{grid-template-columns:repeat(2,1fr)}}.book-page{color:var(--color-ink);background-color:var(--color-bone);min-height:100vh;width:100%}.book-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg)}.book-hero{padding:calc(var(--spacing-xl) + 60px) var(--spacing-lg) var(--spacing-lg)}.book-hero-content{max-width:640px}.book-hero-title{font-size:clamp(2.75rem,5vw,4rem);color:var(--color-ink);margin-bottom:var(--spacing-sm)}.book-hero-title em{font-style:italic}.book-hero-subtitle{font-size:1.05rem;color:var(--color-ink-soft);line-height:1.7;max-width:50ch}.book-widget-section{padding:var(--spacing-md) 0 var(--spacing-xl)}.book-widget-wrapper{border:1px solid var(--color-line);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.book-widget-placeholder{text-align:center}.widget-subtitle{color:var(--color-ink-soft);max-width:400px;margin:0 auto var(--spacing-md);line-height:1.6}.booking-form{max-width:420px;margin:0 auto;text-align:left}.booking-form .form-group{margin-bottom:var(--spacing-sm)}.booking-form label{display:block;font-family:var(--font-mono);font-size:.7rem;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:.5rem}.booking-form input,.booking-form select{width:100%;padding:.8rem .9rem;border:1px solid var(--color-line-strong);border-radius:0;font-size:1rem;font-family:inherit;background:var(--color-white);color:var(--color-ink);transition:border-color .2s ease}.booking-form input::placeholder{color:var(--color-ink-faint)}.booking-form input:focus,.booking-form select:focus{outline:none;border-color:var(--color-accent)}.booking-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b5f52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.1rem;padding-right:2.5rem}.booking-form .btn{width:100%;margin-top:.5rem;justify-content:center}.booking-success{padding:var(--spacing-sm) 0;text-align:center}.success-checkmark{width:56px;height:56px;margin:0 auto var(--spacing-md);border:1px solid var(--color-accent);display:flex;align-items:center;justify-content:center;color:var(--color-accent)}.booking-success h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--color-ink);margin-bottom:var(--spacing-xs)}.booking-success p{color:var(--color-ink-soft);max-width:350px;margin:0 auto var(--spacing-md);line-height:1.6}.widget-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);border:1px solid var(--color-line-strong);display:flex;align-items:center;justify-content:center;color:var(--color-ink-soft)}.book-widget-placeholder h3{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--color-ink);margin-bottom:var(--spacing-xs)}.book-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);border-top:1px solid var(--color-line-strong);padding-top:var(--spacing-md)}.book-info-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:var(--color-ink);margin-bottom:var(--spacing-xs)}.book-info-block .leader-row+.leader-row{border-top:1px solid var(--color-line)}.book-info-note,.book-info-address{color:var(--color-ink-soft);font-size:.9rem;line-height:1.6;font-style:normal;margin-top:var(--spacing-xs)}.book-policy{background:var(--color-bone-deep);padding:var(--spacing-lg) 0;border-top:1px solid var(--color-line)}.book-policy h3{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--color-ink);margin-bottom:var(--spacing-md)}.book-policy ul{max-width:600px;list-style:none;padding:0}.book-policy li{position:relative;padding-left:1.25rem;margin-bottom:.75rem;color:var(--color-ink-soft);line-height:1.6;font-size:.95rem}.book-policy li:before{content:"✳";position:absolute;left:0;top:0;font-family:var(--font-display);font-size:.75rem;line-height:1.9;color:var(--color-accent)}.booking-widget-state{padding:var(--spacing-sm) 0;text-align:center}.booking-widget-form{text-align:left}.booking-calendar-embed{border:1px solid var(--color-line);padding:var(--spacing-sm);background:var(--color-white);margin-bottom:var(--spacing-sm)}.booking-slots-embed{margin-top:var(--spacing-2xs)}.booking-summary{background:var(--color-bone-deep);border:1px solid var(--color-line);padding:var(--spacing-xs) var(--spacing-sm);font-size:.9rem}.booking-error{color:var(--color-accent-dark);font-size:.9rem}.turnstile-widget{margin:var(--spacing-2xs) 0}@media (max-width: 768px){.book-hero{padding:calc(var(--spacing-xl) + 20px) var(--spacing-md) var(--spacing-md)}.book-widget-section{padding:var(--spacing-sm) 0 var(--spacing-lg)}.book-widget-wrapper{padding:var(--spacing-md)}.book-info-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.book-policy{padding:var(--spacing-md) 0}}@media (max-width: 600px){.book-container{padding:0 var(--spacing-sm)}.book-widget-wrapper{padding:var(--spacing-sm) var(--spacing-xs)}.booking-form{max-width:none}.booking-calendar-embed{padding:var(--spacing-xs)}.booking-calendar-embed .calendar-day-name{font-size:.6rem;letter-spacing:0}}
