@font-face{font-family:sans;src:url(/_next/static/media/bfe8c811ed1df969-s.p.woff2) format("woff2");font-display:swap}@font-face{font-family:sans Fallback;src:local("Arial");ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.00%;size-adjust:105.13%}.__className_0f6010{font-family:sans,sans Fallback}.__variable_0f6010{--font-sans:"sans","sans Fallback"}@font-face{font-family:"serif";src:url(/_next/static/media/e149ed1307c6abe9-s.p.woff2) format("woff2");font-display:swap;font-style:normal}@font-face{font-family:"serif";src:url(/_next/static/media/546e7577bc4972bf-s.p.woff2) format("woff2");font-display:swap;font-style:italic}@font-face{font-family:"serif Fallback";src:local("Arial");ascent-override:105.47%;descent-override:32.76%;line-gap-override:0.00%;size-adjust:87.60%}.__className_49e99e{font-family:"serif","serif Fallback"}.__variable_49e99e{--font-serif:"serif","serif Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:root{--ink:#1b1613;--ink-soft:#2a221d;--ink-deep:#120e0c;--cream:#f4efe6;--paper:#fdfaf4;--stone:#ebe4d8;--line:#e2dacc;--line-strong:#cdc2b0;--line-dark:#f7f0e429;--muted:#6d635a;--muted-dark:#b3aaa0;--muted-light:#d6cec4;--brass:#9a7b4f;--brass-deep:#856a44;--champagne:#c9b089;--danger:#8f3b36;--danger-tint:#f3e4e1;--sand:#efe6d4;--sand-ink:#7a5f2f;--shell-max:1200px;--gutter:24px;--header-h:74px;--section-y:clamp(64px,7vw,104px);--radius:2px;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--cream);color:var(--ink);font-family:var(--font-sans),"Helvetica Neue",Arial,sans-serif;font-feature-settings:"kern" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%}:focus-visible{outline:1.5px solid var(--brass);outline-offset:3px}::selection{background:#9a7b4f38}.serif{font-family:var(--font-serif),"Iowan Old Style",Georgia,serif;font-variant-numeric:lining-nums}.shell{width:100%;max-width:var(--shell-max);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{color:var(--brass);letter-spacing:.2em;text-transform:uppercase;font-size:.69rem;font-weight:600;line-height:1;display:block}.display,.section-title{font-family:var(--font-serif),"Iowan Old Style",Georgia,serif;font-variant-numeric:lining-nums;text-wrap:balance;font-weight:420}.display{letter-spacing:-.022em;margin:0;font-size:clamp(2.5rem,4.4vw,3.9rem);line-height:1.04}.section-title{letter-spacing:-.016em;margin:0;font-size:clamp(1.85rem,2.9vw,2.6rem);line-height:1.08}.muted{color:var(--muted)}.gold{color:var(--brass)}.lining{font-variant-numeric:lining-nums tabular-nums}.brand{flex-shrink:0;align-items:center;display:inline-flex}.brand img{width:auto;max-width:none;height:34px;display:block}.brand.brand-sm img{height:24px}.brand.brand-lg img{height:46px}.site-header{background:var(--ink);color:#f7f1e8;z-index:30;position:relative}.header-inner{height:var(--header-h);justify-content:space-between}.header-inner,.site-nav{align-items:center;display:flex}.site-nav{gap:34px}.site-nav a:not(.nav-cta){color:#e8e0d4;letter-spacing:.04em;transition:color .25s var(--ease);padding-block:4px;font-size:.78rem;position:relative}.site-nav a:not(.nav-cta):after{background:var(--champagne);content:"";transform-origin:0;height:1px;transition:transform .3s var(--ease);width:100%;position:absolute;bottom:0;left:0;transform:scaleX(0)}.site-nav a:not(.nav-cta):hover{color:#fff}.site-nav a:not(.nav-cta):hover:after{transform:scaleX(1)}.nav-cta{color:var(--champagne);letter-spacing:.12em;text-transform:uppercase;height:40px;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);background:0 0;border:1px solid #c9b08980;justify-content:center;align-items:center;padding:0 20px;font-size:.72rem;font-weight:600;display:inline-flex}.nav-cta:hover{border-color:var(--champagne);color:#f3e6d2;background:#c9b08921}.mobile-menu{display:none}.button{background:var(--ink);border:1px solid var(--ink);color:#f9f4ec;cursor:pointer;letter-spacing:.05em;text-align:center;min-height:48px;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),opacity .2s ease;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:.78rem;font-weight:600;display:inline-flex}.button svg{transition:transform .3s var(--ease)}.button:hover{background:var(--ink-soft);border-color:var(--ink-soft)}.button:hover svg:last-child{transform:translate(3px)}.button:disabled{color:#a89c8d;cursor:not-allowed}.button:disabled,.button:disabled:hover{background:var(--stone);border-color:var(--line)}.button.secondary:disabled{color:#a89c8d;background:0 0}.button.secondary{border-color:var(--line-strong);color:var(--ink);background:0 0}.button.secondary:hover{border-color:var(--ink);background:#1b16130b}.button.brass{background:var(--brass);border-color:var(--brass);color:#fffaf2}.button.brass:hover{background:var(--brass-deep);border-color:var(--brass-deep)}.button.danger{color:var(--danger);background:0 0;border-color:#8f3b3661}.button.danger:hover{background:var(--danger-tint);border-color:var(--danger)}.button.dark{background:var(--ink);border-color:var(--ink)}.text-link{color:var(--brass);letter-spacing:.06em;transition:color .25s var(--ease);align-items:center;gap:8px;padding-bottom:5px;font-size:.74rem;font-weight:600;display:inline-flex;position:relative}.text-link:after{content:"";opacity:.5;height:1px;transition:opacity .3s var(--ease);background:currentColor;width:100%;position:absolute;bottom:0;left:0}.text-link:hover:after{opacity:1}.text-link:hover{color:var(--brass-deep)}.text-link svg{transition:transform .3s var(--ease)}.text-link:hover svg{transform:translate(3px)}.back-link{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;transition:color .25s var(--ease);align-items:center;gap:9px;margin-bottom:28px;font-size:.74rem;font-weight:600;display:inline-flex}.back-link svg{transition:transform .3s var(--ease)}.back-link:hover{color:var(--ink)}.back-link:hover svg{transform:translate(-3px)}.hero{color:#fff;min-height:min(620px,calc(100svh - var(--header-h)));align-items:flex-end;display:flex;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(94deg,#140e0aed,#140e0ac7 26%,#140e0a80 52%,#140e0a57 78%,#140e0a6b),linear-gradient(#140e0a4d,#140e0a14 54%,#140e0a99);position:absolute;inset:0}.hero-image{object-fit:cover;object-position:center 55%}.hero-content{z-index:2;padding-block:clamp(64px,9vw,104px);position:relative}.hero-content .eyebrow{color:var(--champagne)}.hero-content h1{text-shadow:0 1px 34px #0c080666;max-width:13ch;margin:22px 0 0}.hero-content .tagline{color:#f0e7da;font-family:var(--font-serif),Georgia,serif;letter-spacing:.01em;margin:16px 0 0;font-size:clamp(1.15rem,1.5vw,1.38rem);font-style:italic}.hero-rule{background:linear-gradient(90deg,#c9b089d9,#c9b08900);border:0;width:92px;height:1px;margin:26px 0 22px}.hero-content p:last-of-type{color:#ded5c9;max-width:46ch;margin:0;font-size:.92rem;line-height:1.75}.amenities-section{background:var(--cream);padding-block:var(--section-y)}.section-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px;display:flex}.section-heading h2{margin-top:14px}.amenity-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.amenity-card{background:var(--paper);border:1px solid var(--line);transition:border-color .3s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);flex-direction:column;display:flex;overflow:hidden}.amenity-card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 18px 40px -22px #21181057}.amenity-card-media{aspect-ratio:3/2;background:linear-gradient(140deg,#2f2721,#17110e);position:relative;overflow:hidden}.amenity-card-media img{object-fit:cover;transition:transform .8s var(--ease)}.amenity-card:hover .amenity-card-media img{transform:scale(1.035)}.amenity-fallback{color:#ffffffd9;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.amenity-fallback span:first-child{font-family:var(--font-serif);font-size:3rem;font-style:italic}.amenity-fallback span:last-child{color:var(--champagne);letter-spacing:.24em;text-transform:uppercase;font-size:.58rem}.amenity-card-body{flex-direction:column;flex:1;padding:26px 26px 22px;display:flex}.amenity-card-meta{color:var(--brass);letter-spacing:.17em;text-transform:uppercase;font-size:.66rem;font-weight:600}.amenity-card h3{font-family:var(--font-serif),Georgia,serif;font-variant-numeric:lining-nums;letter-spacing:-.008em;margin:12px 0 10px;font-size:1.62rem;font-weight:460;line-height:1.12}.amenity-card p{color:var(--muted);max-width:36ch;margin:0 0 24px;font-size:.845rem;line-height:1.65}.card-action{border-top:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin-top:auto;padding-top:18px;font-size:.72rem;font-weight:600}.card-action,.round-arrow{color:var(--ink);align-items:center;display:flex}.round-arrow{border:1px solid var(--line-strong);height:36px;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);border-radius:50%;justify-content:center;width:36px}.round-arrow svg{transition:transform .3s var(--ease)}.amenity-card:hover .round-arrow,.policy-card:hover .round-arrow{background:var(--ink);border-color:var(--ink);color:var(--paper)}.amenity-card:hover .round-arrow svg,.policy-card:hover .round-arrow svg{transform:translate(2px)}.policy-card{background:var(--stone);border:1px solid var(--line);color:var(--ink);text-align:center;transition:border-color .3s var(--ease),background .3s var(--ease);flex-direction:column;justify-content:center;align-items:center;padding:44px 36px;display:flex}.policy-card:hover{border-color:var(--line-strong);background:#e6ddcd}.policy-card>svg{color:var(--brass)}.policy-card h3{font-family:var(--font-serif),Georgia,serif;margin:22px 0 10px;font-size:1.5rem;font-weight:460}.policy-card p{color:var(--muted);max-width:30ch;margin:0 0 26px;font-size:.845rem;line-height:1.65}.editorial{background:var(--paper);grid-template-columns:1.05fr .95fr;display:grid}.editorial-image{min-height:520px;position:relative}.editorial-image img{object-fit:cover;object-position:center 58%}.editorial-copy{padding:clamp(56px,6vw,92px) calc(var(--gutter) + max(0px, (100vw - var(--shell-max)) / 2)) clamp(56px,6vw,92px) clamp(32px,5vw,76px);flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.editorial-copy h2{max-width:16ch;margin:20px 0 24px}.editorial-copy p{color:var(--muted);max-width:46ch;margin:0 0 32px;font-size:.92rem;line-height:1.8}.info-strip{background:var(--ink);color:#f5efe5;padding-block:clamp(60px,6.5vw,92px)}.info-grid{grid-template-columns:1.15fr .95fr .9fr;gap:clamp(36px,5vw,72px);display:grid}.info-grid .eyebrow{color:var(--champagne)}.info-grid h3{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.005em;margin:16px 0 24px;font-size:1.5rem;font-weight:460}.hours-list{border-top:1px solid var(--line-dark)}.hours-row{border-bottom:1px solid var(--line-dark);justify-content:space-between;gap:16px;padding:14px 0;font-size:.82rem;display:flex}.hours-row span:first-child{color:var(--muted-light)}.hours-row span:last-child{color:#f2ece2;font-variant-numeric:lining-nums tabular-nums}.contact-line{color:var(--muted-light);transition:color .25s var(--ease);width:fit-content;font-size:.86rem;line-height:1.9;display:block}.contact-line:hover{color:#fff}.notice{color:#e3dacd;font-family:var(--font-serif),Georgia,serif;border-left:1px solid #c9b0898c;margin:16px 0 0;padding-left:24px;font-size:1.08rem;font-style:italic;line-height:1.7}.site-footer{background:var(--ink-deep);color:#948b81;padding-block:34px;font-size:.72rem}.footer-inner{justify-content:space-between;align-items:center;gap:24px;display:flex}.footer-meta{letter-spacing:.04em;flex-wrap:wrap;justify-content:flex-end;gap:8px 26px;display:flex}.site-footer .brand{opacity:.85;transition:opacity .25s var(--ease)}.site-footer .brand:hover{opacity:1}.page-hero{background:var(--ink);color:#f5efe5;padding-block:clamp(56px,6vw,84px)}.page-hero .eyebrow{color:var(--champagne)}.page-hero h1{margin:20px 0 14px}.page-hero p{color:var(--muted-light);max-width:54ch;margin:0;font-size:.92rem;line-height:1.75}.content-section{padding-block:clamp(44px,5vw,68px) clamp(72px,8vw,110px)}.detail-layout{grid-template-columns:minmax(0,1.42fr) minmax(360px,.92fr);align-items:start;gap:clamp(32px,4vw,56px);display:grid}.detail-main{min-width:0}.detail-gallery{aspect-ratio:16/10;background:#201914;position:relative;overflow:hidden}.detail-gallery img{object-fit:cover}.detail-info{margin-top:34px}.detail-info h1{margin:0;font-size:clamp(2.1rem,3.1vw,2.9rem)}.category-label{color:var(--brass);letter-spacing:.18em;text-transform:uppercase;margin-top:14px;font-size:.68rem;font-weight:600;display:block}.detail-info>p{color:var(--muted);max-width:58ch;margin:22px 0 0;font-size:.95rem;line-height:1.8}.fact-row{border-block:1px solid var(--line);grid-template-columns:auto auto minmax(0,1fr);gap:24px;margin:34px 0;padding:26px 0;display:grid}.fact{color:var(--brass);align-items:flex-start;gap:11px;display:flex}.fact>svg{margin-top:2px}.fact span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px;font-size:.63rem;font-weight:600;display:block}.fact strong{color:var(--ink);font-variant-numeric:lining-nums;letter-spacing:.005em;font-size:.89rem;font-weight:550;line-height:1.35;display:block}.fact-hours strong+strong{margin-top:6px}.rules-list{max-width:60ch;margin:20px 0 0;padding:0;list-style:none}.rules-list li{color:var(--muted);margin-bottom:12px;padding-left:22px;font-size:.865rem;line-height:1.65;position:relative}.rules-list li:before{background:var(--brass);content:"";opacity:.75;width:10px;height:1px;position:absolute;top:.72em;left:0}.detail-info .text-link{margin-top:22px}.booking-panel{background:var(--paper);border:1px solid var(--line);padding:clamp(26px,2.6vw,34px);position:sticky;top:24px;box-shadow:0 24px 54px -40px #261b1280}.detail-layout>.booking-panel.step-wide{grid-column:1/-1;width:100%;max-width:880px;margin-inline:auto;padding:clamp(28px,3.4vw,48px);position:static}.detail-layout:has(.booking-panel.step-wide){grid-template-columns:minmax(0,1fr)}.detail-layout:has(.booking-panel.step-wide) .detail-main{display:none}.step-panel{max-width:760px;margin-inline:auto}.reserve-heading{letter-spacing:-.008em;margin:0 0 24px;font-size:1.5rem;font-weight:460}.booking-panel h2,.reserve-heading{font-family:var(--font-serif),Georgia,serif}.booking-panel h2{font-variant-numeric:lining-nums;letter-spacing:-.012em;margin:0 0 8px;font-size:clamp(1.5rem,2.2vw,1.85rem);font-weight:460}.booking-panel>.step-panel>h2:first-child{margin-top:4px}.panel-intro{color:var(--muted);max-width:52ch;margin:0 0 26px;font-size:.86rem;line-height:1.6}.stepper{grid-template-columns:repeat(3,1fr);margin:0 0 34px;display:grid}.step{color:var(--muted);letter-spacing:.09em;text-align:center;text-transform:uppercase;flex-direction:column;align-items:center;gap:11px;padding-inline:4px;font-size:.6rem;font-weight:600;line-height:1.3;display:flex;position:relative}.step:before{background:var(--line-strong);content:"";z-index:0;width:100%;height:1px;position:absolute;top:11px;left:-50%}.step:first-child:before{display:none}.step.active:before,.step.complete:before{background:var(--brass)}.step.active,.step.complete{color:var(--ink)}.step-index{background:var(--paper);border:1px solid var(--line-strong);color:var(--muted);font-variant-numeric:lining-nums;letter-spacing:0;height:23px;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:23px;font-size:.68rem;display:inline-flex;position:relative}.step-wide .step{letter-spacing:.12em;font-size:.66rem}.step.active .step-index{background:var(--ink);border-color:var(--ink);color:var(--paper)}.step.complete .step-index{background:var(--brass);border-color:var(--brass);color:#fffaf2}.booking-context{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.02em;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 28px;padding-bottom:18px;font-size:.78rem;display:flex}.booking-context strong{color:var(--ink);font-family:var(--font-serif),Georgia,serif;font-variant-numeric:lining-nums;font-size:1.05rem;font-weight:520}.calendar-card{border:1px solid var(--line);background:#fff;margin:0 0 20px;padding:18px 18px 14px}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-nav strong{font-variant-numeric:lining-nums;letter-spacing:.09em;text-transform:uppercase;font-size:.86rem;font-weight:600}.calendar-nav button{color:var(--ink);cursor:pointer;height:30px;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:30px;display:inline-flex}.calendar-nav button:hover:not(:disabled){border-color:var(--line);background:var(--stone)}.calendar-nav button:disabled{color:var(--line-strong);cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,1fr);row-gap:2px;display:grid}.calendar-weekday{color:var(--muted);letter-spacing:.12em;text-align:center;text-transform:uppercase;padding-bottom:10px;font-size:.6rem;font-weight:600}.calendar-day{aspect-ratio:1;color:var(--ink);cursor:pointer;font-variant-numeric:lining-nums tabular-nums;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);background:0 0;border:1px solid #0000;border-radius:50%;justify-content:center;justify-self:center;align-items:center;width:100%;font-size:.8rem;display:inline-flex}.calendar-day:hover:not(:disabled):not(.selected){background:var(--stone)}.calendar-day:disabled{color:#cec5b9;cursor:not-allowed}.calendar-day.today:not(.selected){border-color:var(--line-strong)}.calendar-day.selected{background:var(--ink);color:var(--paper)}.calendar-day.empty{visibility:hidden}.calendar-caption{color:var(--muted);letter-spacing:.01em;margin:0 0 26px;font-size:.76rem}.field-legend{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px;font-size:.68rem;font-weight:600;display:block}.slot-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 28px;display:grid}.date-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 26px;display:grid}.choice{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:center;min-height:46px;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);background:#fff;padding:8px 10px}.choice span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.66rem;display:block}.choice strong{font-variant-numeric:lining-nums;letter-spacing:.02em;font-size:.82rem;font-weight:550}.choice:hover:not(.selected){background:var(--stone);border-color:var(--line-strong)}.choice.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}.choice.selected span{color:#cdc3b6}.loading-line{color:var(--muted);align-items:center;gap:10px;margin:0 0 24px;font-size:.84rem;display:flex}.loading-line svg{animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.field-grid{grid-template-columns:repeat(2,1fr);gap:20px 18px;display:grid}.field{flex-direction:column;gap:9px;display:flex}.field.full{grid-column:1/-1}.field>.button{align-self:flex-start}.field label{color:var(--ink);letter-spacing:.1em;text-transform:uppercase;font-size:.71rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line-strong);color:var(--ink);min-height:48px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);background:#fff;border-radius:0;width:100%;padding:12px 14px;font-size:.9rem}.field textarea{min-height:96px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:#a79c90}.field input:hover,.field select:hover,.field textarea:hover{border-color:#b8ab96}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--brass);outline:none;box-shadow:0 0 0 3px #9a7b4f24}.field input[readonly],.field textarea[readonly]{color:var(--muted);background:#faf6ef}.field-error{color:var(--danger);font-size:.72rem}.name-row{grid-template-columns:repeat(2,1fr);gap:20px 18px;display:grid}.checkbox-row{background:var(--stone);border:1px solid var(--line);flex-direction:column;gap:12px;margin:28px 0 0;padding:24px;display:flex}.checkbox-row h3{font-family:var(--font-serif),Georgia,serif;margin:0;font-size:1.15rem;font-weight:500}.checkbox-row .checkbox-line{align-items:flex-start;gap:13px;display:flex}.checkbox-row input{accent-color:var(--ink);cursor:pointer;flex-shrink:0;width:17px;height:17px;margin-top:2px}.checkbox-row label{color:var(--ink);cursor:pointer;font-size:.82rem;line-height:1.6}.form-actions{justify-content:flex-end;gap:12px;margin-top:32px;display:flex}.form-actions.stack{margin-top:4px}.form-actions.stack .button{width:100%}.alert{background:var(--danger-tint);border-left:2px solid var(--danger);color:#6f2c28;margin:0 0 22px;padding:15px 18px;font-size:.82rem;line-height:1.6}.alert.neutral{background:var(--stone);border-left-color:var(--brass);color:var(--ink)}.review-card{background:var(--stone);border:1px solid var(--line);align-items:stretch;gap:26px;margin:4px 0 0;padding:22px;display:flex}.review-card-media{background:#201914;flex-shrink:0;align-self:stretch;width:200px;min-height:150px;position:relative;overflow:hidden}.review-card-media img{object-fit:cover}.review-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.review-card-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.review-card-body h3{font-family:var(--font-serif),Georgia,serif;font-variant-numeric:lining-nums;letter-spacing:-.01em;margin:0;font-size:1.4rem;font-weight:480}.review-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin-top:20px;display:grid}.review-lines div span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px;font-size:.62rem;font-weight:600;display:block}.review-lines div strong{color:var(--ink);font-variant-numeric:lining-nums;letter-spacing:.005em;font-size:.87rem;font-weight:550}.edit-link{border:none;border-bottom:1px solid var(--line-strong);color:var(--muted);cursor:pointer;letter-spacing:.12em;text-transform:uppercase;transition:color .25s var(--ease),border-color .25s var(--ease);white-space:nowrap;background:0 0;padding:0 0 3px;font-size:.68rem;font-weight:600}.edit-link:hover{border-color:var(--ink);color:var(--ink)}.booking-panel .hours-list{border-top-color:var(--line);margin-top:20px}.booking-panel .hours-row{border-bottom-color:var(--line)}.booking-panel .hours-row span:first-child{color:var(--muted)}.booking-panel .hours-row span:last-child{color:var(--ink);font-weight:550}.booking-panel .contact-line{color:var(--ink);font-size:.88rem}.booking-panel .contact-line:hover{color:var(--brass)}.admin-main .booking-panel{max-width:900px;margin-top:20px;position:static}.admin-main .booking-panel .step-panel{margin-inline:0}.manage-shell{max-width:880px}.manage-shell .booking-panel{position:static}.success-panel{background:var(--ink);color:#f5efe5;text-align:center;padding:clamp(32px,6vw,68px)}.success-panel h2{font-family:var(--font-serif),Georgia,serif;margin:18px 0 8px;font-size:2.8rem;font-weight:430}.success-details{background:var(--ink);color:#f5efe5;grid-template-columns:repeat(3,1fr);gap:26px 32px;margin:26px 0 0;padding:30px;display:grid}.success-details span{color:var(--muted-dark);letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px;font-size:.62rem;font-weight:600;display:block}.success-details strong{font-variant-numeric:lining-nums;letter-spacing:.01em;font-size:.9rem;font-weight:550;line-height:1.45}.confirmation-overlay{background:var(--ink);color:#f5efe5;z-index:100;position:fixed;inset:0;overflow-y:auto}.confirmation-grid{grid-template-columns:1.12fr .88fr;min-height:100svh;display:grid}.confirmation-content{z-index:2;flex-direction:column;justify-content:center;padding:clamp(40px,5vw,76px) clamp(24px,4.5vw,72px);display:flex;position:relative}.confirmation-content .brand{margin-bottom:clamp(30px,5vh,56px)}.confirmation-check{color:var(--champagne);border:1px solid #c9b08999;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.confirmation-content h2{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.018em;margin:22px 0 0;font-size:clamp(2.1rem,3.2vw,2.9rem);font-weight:420;line-height:1.06}.confirmation-content>p{color:var(--muted-light);max-width:46ch;margin:14px 0 0;font-size:.9rem;line-height:1.7}.confirmation-card{border-top:1px solid var(--line-dark);gap:22px;max-width:560px;margin:30px 0 0;padding-top:24px;display:flex}.confirmation-card-media{aspect-ratio:4/3;background:#2b231d;flex-shrink:0;align-self:flex-start;width:124px;position:relative;overflow:hidden}.confirmation-card-media img{object-fit:cover}.confirmation-card-body{min-width:0}.confirmation-card-body strong.name{color:#fff;font-family:var(--font-serif),Georgia,serif;font-variant-numeric:lining-nums;letter-spacing:-.008em;margin-bottom:10px;font-size:1.28rem;font-weight:470;display:block}.confirmation-card-body p{color:var(--muted-light);font-variant-numeric:lining-nums;margin:0;font-size:.84rem;line-height:1.65}.confirmation-code{border-top:1px solid var(--line-dark);color:var(--champagne);letter-spacing:.16em;text-transform:uppercase;margin-top:14px;padding-top:13px;font-size:.73rem;font-weight:600;display:block}.confirmation-actions{flex-wrap:wrap;gap:10px;max-width:560px;margin:28px 0 0;display:flex}.confirmation-actions a,.confirmation-actions button{color:#f2ebe0;cursor:pointer;letter-spacing:.05em;min-height:46px;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);background:0 0;border:1px solid #f7f0e442;justify-content:center;align-items:center;gap:9px;padding:0 17px;font-size:.73rem;font-weight:600;display:inline-flex}.confirmation-actions a:hover,.confirmation-actions button:hover{background:#f7f0e41a;border-color:#f7f0e480}.confirmation-actions .primary{color:var(--ink);background:#f6efe4;border-color:#f6efe4}.confirmation-actions .primary:hover{color:var(--ink);background:#fff;border-color:#fff}.confirmation-note{border-top:1px solid var(--line-dark);color:#a09488;max-width:560px;margin:30px 0 0;padding-top:22px;font-size:.78rem;line-height:1.8}.confirmation-image{position:relative}.confirmation-image-inner{height:100svh;position:sticky;top:0;overflow:hidden}.confirmation-image img{object-fit:cover;object-position:48% 62%}.confirmation-image:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#1b1613eb,#1b161357 22%,#1b161300 55%);position:absolute;inset:0}.admin-shell{background:#ece5d9;grid-template-columns:236px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--ink);color:#f2ebe0;padding:30px 16px 24px}.admin-brand,.admin-sidebar{flex-direction:column;display:flex}.admin-brand{border-bottom:1px solid var(--line-dark);gap:9px;padding:0 10px 22px}.admin-brand small{color:var(--champagne);letter-spacing:.26em;font-size:.56rem;font-weight:600}.admin-nav{flex-direction:column;flex:1;gap:2px;margin-top:24px;display:flex}.admin-nav a{color:#c2b9ad;letter-spacing:.02em;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);border-left:2px solid #0000;align-items:center;gap:13px;padding:12px;font-size:.78rem;display:flex}.admin-nav a:hover{color:#fff;background:#f7f0e40f}.admin-nav a:first-child{border-left-color:var(--champagne);color:#fff;background:#f7f0e414}.admin-staff{border-top:1px solid var(--line-dark);align-items:center;gap:12px;margin-top:20px;padding:18px 10px 0;display:flex}.admin-staff-avatar{color:var(--champagne);font-family:var(--font-serif),Georgia,serif;letter-spacing:.04em;background:#c9b0892e;border:1px solid #c9b08973;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.82rem;display:flex}.admin-staff strong{color:#fff;font-size:.79rem;font-weight:600;display:block}.admin-staff small{color:#a09488;font-size:.68rem}.button.secondary.admin-logout{color:#ddd5c9;border-color:#f7f0e43d;width:100%;min-height:42px}.button.secondary.admin-logout:hover{color:#fff;background:#f7f0e414;border-color:#f7f0e473}.admin-logout-form{margin-top:16px}.admin-main{padding:clamp(28px,3vw,44px)}.admin-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.admin-heading h1{font-family:var(--font-serif),Georgia,serif;font-variant-numeric:lining-nums;letter-spacing:-.015em;margin:12px 0 0;font-size:2.15rem;font-weight:450}.admin-heading .muted{font-size:.84rem}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{background:var(--paper);border:1px solid var(--line);padding:24px}.stat-card span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.63rem;font-weight:600}.stat-card strong{font-family:var(--font-serif),Georgia,serif;font-variant-numeric:lining-nums;letter-spacing:-.01em;margin-top:12px;font-size:2.2rem;font-weight:460;line-height:1.1;display:block}.stat-card em{color:var(--muted);margin-top:8px;font-size:.72rem;font-style:normal;display:block}.admin-card{background:var(--paper);border:1px solid var(--line);margin-top:20px;padding:26px}a.stat-card{color:inherit;transition:border-color .2s var(--ease),background .2s var(--ease);text-decoration:none;display:block}a.stat-card:hover{border-color:var(--line-strong);background:#fffdf8}a.stat-card:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.attention-band{background:var(--sand);border:1px solid #ddcfae;margin-top:20px;padding:22px 26px}.attention-band h2{color:var(--sand-ink);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.63rem;font-weight:600}.attention-band ul{margin:14px 0 0;padding:0;list-style:none}.attention-band li{border-top:1px solid #7a5f2f2e;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;padding:12px 0 0;display:flex}.attention-band li:first-child{border-top:0;padding-top:0}.attention-band li span{font-size:.84rem}.attention-band.is-quiet{border-color:var(--line);background:0 0}.attention-band.is-quiet h2{color:var(--muted)}.attention-group{border-top:1px solid #7a5f2f2e;margin-top:14px;padding-top:14px}.attention-group:first-of-type{border-top:0;margin-top:12px;padding-top:0}.attention-group h3{color:var(--sand-ink);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:.63rem;font-weight:600}.attention-conflicts{margin:0;padding:0;list-style:none}.attention-conflicts li{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 20px;padding:7px 0;display:flex}.attention-conflict-when{font-size:.84rem}.attention-conflict-when strong{font-weight:600}.attention-conflict-parties{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.attention-conflict-parties em{color:var(--sand-ink);letter-spacing:.08em;text-transform:uppercase;margin-right:8px;font-size:.68rem;font-style:normal}.attention-conflict-parties button{border:0;border-bottom:1px solid var(--line-strong);color:var(--ink);cursor:pointer;font:inherit;transition:border-color .2s var(--ease),color .2s var(--ease);background:0 0;padding:0 0 2px;font-size:.84rem}.attention-conflict-parties button:hover{border-bottom-color:var(--brass);color:var(--brass-deep)}.attention-conflict-parties button:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.attention-conflict-parties small{color:var(--muted);font-size:.72rem}.dash-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.dash-columns .admin-card{margin-top:20px}.dash-panel{flex-direction:column;display:flex}.dash-panel-head{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px;display:flex}.dash-panel-head h2{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.015em;margin:0;font-size:1.5rem;font-weight:450}.dash-list{margin:0;padding:0;list-style:none}.dash-list li{border-top:1px solid var(--line);grid-template-columns:72px 1fr;gap:16px;padding:13px 0;display:grid}.dash-list li:first-child{border-top:0;padding-top:0}.dash-list li.is-past{opacity:.5}.dash-list time{color:var(--muted);font-variant-numeric:lining-nums;letter-spacing:.04em;padding-top:1px;font-size:.74rem;font-weight:600}.dash-list strong{font-size:.83rem;font-weight:550;display:block}.dash-list small{color:var(--muted);margin-top:3px;font-size:.74rem;display:block}.dash-load{margin:0;padding:0;list-style:none}.dash-load li{grid-template-columns:minmax(96px,150px) 1fr 32px;align-items:center;gap:14px;padding:9px 0;display:grid}.dash-load li span:first-child{font-size:.8rem}.dash-load b{font-family:var(--font-serif),Georgia,serif;font-variant-numeric:lining-nums;text-align:right;font-size:1.05rem;font-weight:500}.dash-load-bar{background:var(--stone);height:8px;display:block}.dash-load-bar i{background:var(--brass);min-width:3px;height:100%;display:block}.dash-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.dash-actions .button{flex:none}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{border-bottom:1px solid var(--line-strong);color:var(--muted);letter-spacing:.14em;text-align:left;text-transform:uppercase;padding:0 14px 13px;font-size:.62rem;font-weight:600}td{border-top:1px solid var(--line);font-variant-numeric:lining-nums;padding:15px 14px;font-size:.8rem}tbody tr{transition:background .2s var(--ease)}tbody tr:hover{background:#ebe4d880}.status-badge{background:var(--sand);color:var(--sand-ink);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;font-size:.63rem;font-weight:600;display:inline-block}.status-badge.cancelled{background:var(--danger-tint);color:var(--danger)}.status-badge.completed{color:#5b5349;background:#e9e3d9}.status-badge.no-show{color:#8a6238;background:#efe3d6}.sr-only{white-space:nowrap;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reservation-filters{border-bottom:1px solid var(--line);grid-template-columns:minmax(260px,1fr) 210px 170px;align-items:center;gap:10px;margin:-4px 0 22px;padding-bottom:18px;display:grid}.reservation-filters input,.reservation-filters select,.schedule-controls select{background:var(--paper);border:1px solid var(--line-strong);border-radius:0;width:100%;height:42px;padding:0 12px;font-size:.76rem}.reservation-search{align-items:center;display:flex;position:relative}.reservation-search svg{color:var(--muted);position:absolute;left:13px}.reservation-search input{padding-left:38px}.reservation-row{cursor:pointer;outline:none}.reservation-row:focus-visible,.reservation-row:hover{background:#ebe4d8a6}.reservation-row:focus-visible{box-shadow:inset 2px 0 var(--brass)}.reservation-drawer-layer{z-index:120;position:fixed;inset:0}.reservation-drawer-backdrop{cursor:default;background:#120e0c7a;border:0;width:100%;padding:0;position:absolute;inset:0}.reservation-drawer{background:var(--paper);border-left:1px solid var(--line-strong);flex-direction:column;width:min(560px,94vw);max-width:560px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-18px 0 50px #120e0c2b}.reservation-drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:30px 32px 25px;display:flex}.reservation-drawer-header h2{font-family:var(--font-serif),Georgia,serif;letter-spacing:-.015em;margin:10px 0 0;font-size:1.85rem;font-weight:450}.drawer-close{border:1px solid var(--line);cursor:pointer;height:38px;transition:background .2s var(--ease),border-color .2s var(--ease);background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:38px;padding:0;display:flex}.drawer-close:hover{background:var(--stone);border-color:var(--line-strong)}.reservation-drawer-body{flex:1;padding:28px 32px 36px;overflow-y:auto}.reservation-drawer-footer{background:var(--paper);border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:20px 32px;display:flex}.reservation-drawer-footer .button{min-height:44px;padding-inline:18px}.drawer-summary{background:var(--ink);color:#f5efe5;grid-template-columns:1fr 1fr;gap:22px 24px;padding:24px;display:grid}.drawer-summary>div>span{color:var(--muted-dark);letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px;font-size:.59rem;font-weight:600;display:block}.drawer-summary strong{font-variant-numeric:lining-nums;font-size:.84rem;font-weight:550;line-height:1.45}.drawer-detail-section{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.drawer-detail-section h3{font-family:var(--font-serif),Georgia,serif;margin:0 0 6px;font-size:1.22rem;font-weight:500}.drawer-detail-list{margin:0}.drawer-detail-list div{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;align-items:baseline;gap:20px;padding:11px 0;display:grid}.drawer-detail-list dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:600}.drawer-detail-list dd{overflow-wrap:anywhere;text-align:right;margin:0;font-size:.82rem;line-height:1.5}.drawer-detail-list a{border-bottom:1px solid var(--line-strong)}.drawer-action-panel>.eyebrow{margin-top:26px}.drawer-action-panel h3{font-family:var(--font-serif),Georgia,serif;margin:12px 0 8px;font-size:1.8rem;font-weight:450}.drawer-action-panel>p{color:var(--muted);margin:0 0 24px;font-size:.84rem;line-height:1.65}.drawer-back{color:var(--muted);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:.7rem;font-weight:600;display:inline-flex}.drawer-date-field{margin-bottom:24px}.drawer-date-field>span{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:.62rem;font-weight:600;display:block}.drawer-slots{margin-bottom:10px}.drawer-cancel-panel{padding-top:18px}.drawer-cancel-panel>svg{color:var(--danger);margin-bottom:22px}.schedule-card{padding:0;overflow:hidden}.schedule-toolbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:20px 22px;display:grid}.schedule-toolbar h2{font-family:var(--font-serif),Georgia,serif;text-align:center;margin:0;font-size:1.38rem;font-weight:480}.schedule-controls,.schedule-navigation{align-items:center;gap:8px;display:flex}.schedule-navigation .button{min-height:40px;padding-inline:16px}.schedule-icon-button{border:1px solid var(--line-strong);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.schedule-icon-button:hover{background:var(--stone);border-color:var(--ink)}.schedule-controls{justify-content:flex-end}.schedule-controls label{width:190px}.schedule-view-switch{border:1px solid var(--line-strong);display:flex}.schedule-view-switch button{border:0;border-right:1px solid var(--line-strong);cursor:pointer;letter-spacing:.09em;text-transform:uppercase;background:0 0;height:40px;padding:0 13px;font-size:.65rem;font-weight:600}.schedule-view-switch button:last-child{border-right:0}.schedule-view-switch button.active{background:var(--ink);color:var(--paper)}.schedule-timezone{color:var(--muted);letter-spacing:.08em;text-align:right;text-transform:uppercase;padding:11px 22px;font-size:.66rem}.schedule-loading{color:var(--muted);text-align:center;padding:54px;font-size:.82rem}.schedule-time-calendar{border-top:1px solid var(--line)}.schedule-time-header{background:var(--paper);z-index:6;display:grid;position:sticky;top:0}.schedule-time-calendar.is-day .schedule-time-header{grid-template-columns:58px 1fr}.schedule-time-calendar.is-week .schedule-time-header{grid-template-columns:58px repeat(7,1fr)}.schedule-time-header>div{border-left:1px solid var(--line);text-align:center;padding:11px 6px}.schedule-time-header span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.59rem;font-weight:600;display:block}.schedule-time-header strong{font-family:var(--font-serif),Georgia,serif;margin-top:3px;font-size:.9rem;font-weight:500;display:block}.schedule-time-header .today strong{color:var(--brass-deep)}.schedule-time-scroll{min-height:520px;max-height:calc(100vh - 330px);overflow-y:auto}.schedule-time-body{grid-template-columns:58px 1fr;min-height:1080px;display:grid}.schedule-time-rail{position:relative}.schedule-time-rail span{color:var(--muted);font-size:.6rem;position:absolute;right:9px;transform:translateY(-50%)}.schedule-day-columns{display:grid}.is-day .schedule-day-columns{grid-template-columns:1fr}.is-week .schedule-day-columns{grid-template-columns:repeat(7,1fr)}.schedule-day-column{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(5.555% - 1px),var(--line) calc(5.555% - 1px),var(--line) 5.555%);border-left:1px solid var(--line);min-width:0;position:relative}.schedule-blackout,.schedule-event{text-align:left;z-index:3;position:absolute;left:4px;right:4px;overflow:hidden}.schedule-event{border:1px solid #856a4447;border-left:3px solid var(--brass);cursor:pointer;flex-direction:column;padding:7px 8px;transition:filter .18s,transform .18s;display:flex}.schedule-event:hover{filter:brightness(.97);z-index:5;transform:translateY(-1px)}.schedule-event strong{font-variant-numeric:lining-nums;font-size:.65rem}.schedule-event span{font-size:.72rem;font-weight:600}.schedule-event small,.schedule-event span{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.schedule-event small{font-size:.59rem;line-height:1.35}.month-event.amenity-0,.schedule-event.amenity-0{background:#e9dfcf;border-left-color:#927448}.month-event.amenity-1,.schedule-event.amenity-1{background:#eee8dd;border-left-color:#796b58}.month-event.amenity-2,.schedule-event.amenity-2{background:#e5ddd2;border-left-color:#8a6952}.month-event.amenity-3,.schedule-event.amenity-3{background:#f1e7d8;border-left-color:#9a7b4f}.month-event.amenity-4,.schedule-event.amenity-4{background:#e8e3d9;border-left-color:#6f675c}.schedule-blackout{color:#5d554d;z-index:2;background:repeating-linear-gradient(135deg,#6d635a14,#6d635a14 6px,#6d635a26 6px 12px);border:1px dashed #8c8175;padding:7px}.schedule-blackout small,.schedule-blackout span,.schedule-blackout strong{font-size:.59rem;line-height:1.35;display:block}.schedule-month{border-top:1px solid var(--line)}.schedule-month-grid,.schedule-month-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.schedule-month-weekdays span{color:var(--muted);letter-spacing:.1em;text-align:center;text-transform:uppercase;padding:10px;font-size:.6rem;font-weight:600}.schedule-month-day{border-left:1px solid var(--line);border-top:1px solid var(--line);min-height:138px;padding:7px;overflow:hidden}.schedule-month-day:nth-child(7n+1){border-left:0}.schedule-month-day time{justify-content:center;align-items:center;width:23px;height:23px;margin:0 0 5px auto;font-size:.68rem;font-weight:600;display:flex}.schedule-month-day.today time{background:var(--ink);color:var(--paper);border-radius:50%}.schedule-month-day.outside{color:#9e958a;background:#ebe4d847}.month-event{border:0;border-left:2px solid var(--brass);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%;margin:3px 0;padding:5px 6px;font-size:.62rem;display:block;overflow:hidden}.month-event strong{font-variant-numeric:lining-nums}.month-event span{margin-top:2px;font-size:.55rem;display:block}.month-blackout,.month-event span{text-overflow:ellipsis;overflow:hidden}.month-blackout{color:#625950;white-space:nowrap;background:repeating-linear-gradient(135deg,#eee9e1,#eee9e1 5px,#e2dbd1 5px 10px);border:1px dashed #9b9186;margin:3px 0;padding:4px 5px;font-size:.57rem}.admin-tabs{border-bottom:1px solid var(--line);gap:28px;margin-bottom:26px;display:flex}.admin-tabs button{color:var(--muted);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;transition:color .2s var(--ease),border-color .2s var(--ease);background:0 0;border:none;border-bottom:1px solid #0000;margin-bottom:-1px;padding:4px 2px 13px;font-size:.76rem;font-weight:600}.admin-tabs button:hover{color:var(--ink)}.admin-tabs button.active{border-color:var(--brass);color:var(--ink)}.login-page{background:linear-gradient(#140f0cd6,#140f0cd6),url(/images/99-hudson-exterior.jpg) 50% 60%/cover;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--paper);width:100%;max-width:440px;padding:clamp(32px,5vw,48px)}@media (max-width:1080px){.detail-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr)}}@media (max-width:940px){:root{--header-h:66px}.amenity-grid{grid-template-columns:repeat(2,1fr)}.editorial{grid-template-columns:1fr}.editorial-image{min-height:380px}.editorial-copy{padding:clamp(48px,7vw,68px) var(--gutter)}.editorial-copy h2,.editorial-copy p{max-width:34ch}.info-grid{grid-template-columns:1fr 1fr}.info-grid>div:last-child{grid-column:1/-1}.notice{max-width:60ch}.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-layout>.booking-panel{position:static}.confirmation-grid{grid-template-columns:1fr}.confirmation-image{order:-1;min-height:320px}.confirmation-image-inner{height:42svh;min-height:280px;position:relative}.confirmation-image img{object-position:48% 74%}.confirmation-image:after{background:linear-gradient(#1b16131a,#1b161333 45%,#1b1613f2)}.confirmation-content{padding-top:clamp(28px,4vw,40px)}.admin-shell{grid-template-columns:74px 1fr}.admin-brand{align-items:center;padding-inline:0}.admin-brand .brand img{height:15px}.admin-brand small,.admin-nav a span{display:none}.admin-nav a{padding-inline:0}.admin-nav a,.admin-staff{justify-content:center}.admin-staff>span{display:none}.stat-grid{grid-template-columns:repeat(2,1fr)}.dash-columns{grid-template-columns:1fr;gap:0}.schedule-toolbar{grid-template-columns:1fr 1fr}.schedule-toolbar h2{grid-area:1/1/auto/-1}.schedule-navigation{grid-area:2/1}.schedule-controls{grid-area:2/2}.schedule-event{padding-inline:5px}.schedule-event small{display:none}}@media (max-width:680px){:root{--gutter:20px;--header-h:60px}.header-inner{height:var(--header-h)}.site-nav{display:none}.brand img{height:27px}.mobile-menu{display:block;position:static}.mobile-menu summary{color:#f2ebe0;cursor:pointer;justify-content:flex-end;align-items:center;width:44px;height:44px;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{background:var(--ink);border-top:1px solid var(--line-dark);max-height:calc(100svh - var(--header-h));padding:8px var(--gutter) 22px;z-index:40;flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.mobile-menu nav a{border-bottom:1px solid var(--line-dark);color:#e8e0d4;letter-spacing:.03em;padding:16px 0;font-size:.88rem}.mobile-menu nav a:last-child{color:var(--champagne);border-bottom:none;font-weight:600}.hero{min-height:560px}.hero:after{background:linear-gradient(#120d0a47,#120d0a8c 48%,#120d0aeb 92%)}.hero-content{padding-block:72px 56px}.brand.brand-lg img{height:34px}.hero-content h1{max-width:11ch}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.amenity-grid{grid-template-columns:1fr;gap:20px}.amenity-card-media{aspect-ratio:16/10}.amenity-card-body{padding:22px 22px 20px}.amenity-card p{max-width:none}.policy-card{padding:38px 24px}.editorial-image{min-height:300px}.info-grid{grid-template-columns:1fr;gap:42px}.info-grid>div:last-child{grid-column:auto}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.footer-meta{justify-content:flex-start}.detail-gallery{aspect-ratio:4/3}.detail-info{margin-top:26px}.fact-row{grid-template-columns:1fr 1fr;gap:22px}.fact-row .fact:last-child{grid-column:1/-1}.booking-panel{margin-inline:calc(var(--gutter) * -1);padding:26px var(--gutter) 30px;border-inline:none}.step{letter-spacing:.06em;gap:9px;font-size:.58rem}.step-index{width:21px;height:21px}.calendar-card{padding:14px 10px 10px}.calendar-day{font-size:.78rem}.date-grid,.slot-grid{grid-template-columns:repeat(2,1fr)}.field-grid{grid-template-columns:1fr;gap:18px}.field.full{grid-column:auto}.name-row{grid-template-columns:1fr}.checkbox-row{padding:20px}.form-actions{flex-direction:column-reverse}.form-actions .button{width:100%}.review-card{flex-direction:column;gap:20px;padding:18px}.review-card-media{aspect-ratio:16/10;width:100%;min-height:0}.review-lines{gap:16px 18px}.success-details{grid-template-columns:1fr 1fr;padding:24px}.confirmation-content{padding:34px var(--gutter) 46px}.confirmation-card{flex-direction:row;gap:16px;max-width:none}.confirmation-card-media{width:92px}.confirmation-actions{flex-direction:column;max-width:none}.confirmation-actions a,.confirmation-actions button{width:100%}.confirmation-note{max-width:none}.admin-shell{display:block}.admin-sidebar{padding:12px var(--gutter);flex-flow:wrap;align-items:center;gap:12px}.admin-brand{border-bottom:0;flex:1;align-items:flex-start;padding:0}.admin-brand .brand img{height:20px}.admin-nav{margin:2px calc(var(--gutter) * -1) 0;overscroll-behavior-x:contain;padding-inline:var(--gutter);flex-direction:row;flex:1 0 100%;order:2;gap:2px;overflow-x:auto}.admin-nav a{border-bottom:2px solid #0000;border-left:0;flex-shrink:0;justify-content:flex-start;padding:10px 12px}.admin-nav a span{display:inline}.admin-nav a:first-child{border-bottom-color:var(--champagne);border-left-color:#0000}.admin-staff{border-top:0;margin-top:0;padding:0}.admin-logout-form{margin-top:0}.button.secondary.admin-logout{width:auto;min-height:40px;padding-inline:16px}.admin-main{padding:26px var(--gutter)}.admin-heading{flex-direction:column;align-items:flex-start;gap:16px}.stat-grid{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:18px}.stat-card strong{font-size:1.85rem}.admin-card{padding:20px 16px}.attention-band{padding:18px 16px}.dash-columns{grid-template-columns:1fr;gap:0}.dash-actions .button{flex:1 0 100%}.reservation-filters{grid-template-columns:1fr}.reservation-drawer{border-left:0;width:100%;max-width:none}.reservation-drawer-header{padding:24px 20px 20px}.reservation-drawer-body{padding:22px 20px 28px}.reservation-drawer-footer{padding:16px 20px}.reservation-drawer-footer .button{flex:1}.drawer-summary{gap:18px;padding:20px}.drawer-detail-list div{grid-template-columns:88px 1fr}.schedule-card{margin-inline:-2px;padding:0}.schedule-toolbar{flex-direction:column;padding:16px;display:flex}.schedule-toolbar h2{order:-1;font-size:1.2rem}.schedule-controls,.schedule-navigation{justify-content:center;width:100%}.schedule-controls{flex-direction:column;align-items:stretch}.schedule-controls label{width:100%}.schedule-view-switch{grid-template-columns:repeat(3,1fr);display:grid}.schedule-view-switch button{width:100%}.schedule-timezone{text-align:center;padding-inline:16px}.schedule-time-scroll{min-height:480px;max-height:72vh}.schedule-time-body{min-height:900px}.schedule-time-calendar.is-week .schedule-time-header{display:none}.schedule-time-calendar.is-week .schedule-time-scroll{max-height:none;overflow:visible}.schedule-time-calendar.is-week .schedule-time-body{min-height:0;display:block}.schedule-time-calendar.is-week .schedule-time-rail{display:none}.schedule-time-calendar.is-week .schedule-day-columns{display:block}.schedule-time-calendar.is-week .schedule-day-column{height:760px;margin-top:44px}.schedule-time-calendar.is-week .schedule-day-column:before{color:var(--ink);content:attr(data-day-label);font-family:var(--font-serif),Georgia,serif;font-size:1rem;position:absolute;top:-30px;left:10px}.schedule-month-day{min-height:82px;padding:3px}.schedule-month-weekdays span{padding-inline:2px;font-size:.53rem}.month-event{border-left-width:3px;height:8px;padding:0;font-size:0}.month-event span,.month-event strong{display:none}.month-blackout{height:8px;padding:0;font-size:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.arrival-intro{--arrival-camera:cubic-bezier(.37,0,.63,1);--arrival-fade:cubic-bezier(.39,.58,.57,1);background:var(--ink-deep);pointer-events:none;z-index:900;height:100lvh;display:none;position:fixed;inset:0;overflow:hidden}.arrival-intro[data-intro=play]{animation:arrival-exit .65s var(--arrival-camera) 2.05s both;display:block}.arrival-intro-image{object-fit:cover;object-position:50% 100%;transform-origin:50% 98%;will-change:transform;transform:scale(1.55)}.arrival-intro[data-intro=play] .arrival-intro-image{animation:arrival-pullback 1.7s var(--arrival-camera) .35s both}.arrival-intro-veil{background:linear-gradient(#120e0c94,#120e0c75 54%,#120e0cb8);position:absolute;inset:0}.arrival-intro-mark{opacity:0;flex-direction:column;align-items:center;gap:18px;width:min(236px,52vw);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arrival-intro-mark img{width:100%;height:auto}.arrival-intro[data-intro=play] .arrival-intro-mark{animation:arrival-mark-in .7s var(--arrival-fade) .45s both}.arrival-intro-rule{background:var(--champagne);opacity:.72;width:72px;height:1px;display:block;transform:scaleX(0)}.arrival-intro[data-intro=play] .arrival-intro-rule{animation:arrival-rule-in .6s var(--ease) .95s both}@keyframes arrival-pullback{0%{transform:scale(1.55)}to{transform:scale(1.02)}}@keyframes arrival-mark-in{0%{opacity:0}to{opacity:1}}@keyframes arrival-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes arrival-exit{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@media (max-width:680px){.arrival-intro-mark{gap:15px;width:min(188px,56vw)}.arrival-intro-rule{width:58px}}@media (prefers-reduced-motion:reduce){.arrival-intro,.arrival-intro[data-intro=play]{display:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}