@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--bg:#111411;--panel:#1b2019;--text:#f4f1e9;--muted:#b4b8aa;--gold:#c8b17a;--line:#3d4436}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a,button{touch-action:manipulation}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.12}h1 em{color:var(--gold);font-weight:500}.site-header{max-width:1440px;margin:auto;min-height:116px;display:flex;justify-content:space-between;align-items:center;padding:25px 5%;gap:25px;border-bottom:1px solid var(--line)}.wordmark{font-size:27px;letter-spacing:4px;line-height:1.3;color:var(--gold);white-space:nowrap}.wordmark span{font-size:20px}.wordmark small{display:block;letter-spacing:1.8px;font-size:8px;margin-top:9px;color:var(--muted)}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.text-link:hover{color:var(--gold)}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);margin:0 0 26px}.welcome-hero{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;min-height:780px;align-items:stretch}.welcome-copy{padding:78px 7% 50px 9%}.welcome-copy h1{font-size:clamp(44px,4.6vw,68px);letter-spacing:-1.7px;margin-bottom:28px}.intro{color:var(--muted);font-size:15px;margin-bottom:38px}.welcome-actions{display:grid;gap:16px;max-width:540px}.choice{display:block;padding:21px 25px;border:1px solid var(--gold);transition:background .15s,transform .15s}.choice:hover{transform:translateY(-2px)}.choice-primary{background:var(--gold);color:#151912}.choice-primary:hover{background:#dbc795}.choice-secondary{background:transparent}.choice-secondary:hover{background:#242b20}.choice-number{display:block;font-size:9px;letter-spacing:1.8px;opacity:.75}.choice-title{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:23px;font-weight:500;margin:7px 0}.choice-title b{font-weight:400;font-size:27px}.choice-detail{display:block;font-size:12px;opacity:.8}.welcome-address{font-size:9px;letter-spacing:2px;color:var(--muted);margin:36px 0 0}.welcome-art{position:relative;min-width:0;overflow:hidden;background:#20251b}.welcome-art img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.welcome-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#111411d9,transparent 45%)}.art-note{position:absolute;z-index:1;bottom:45px;left:45px}.art-note span{display:block;letter-spacing:3px;font-size:9px;color:var(--gold)}.art-note strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:34px;font-weight:500;margin-top:10px}.visit-section{max-width:1296px;margin:0 auto;padding:80px 5%;display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid var(--line)}.visit-section h2{font-size:45px;margin-bottom:24px}.text-link{font-size:13px;color:var(--gold);text-decoration:underline;text-underline-offset:5px}.hours{padding-top:13px}.hours h3{font-size:18px;font-weight:500;margin-bottom:25px}.hours dl{margin:0}.hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid var(--line);font-size:14px}.hours dt{color:var(--muted)}.hours dd{margin:0;text-align:right}.hours p{font-size:12px;color:var(--muted);margin-top:22px}.hours a{color:var(--gold)}.site-footer{max-width:1296px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:35px 5%;gap:35px}.site-footer .wordmark{font-size:20px}.site-footer p{font-size:11px;color:var(--muted);margin:0}.admin-link{font-size:10px;color:var(--muted)}.skip-link{position:absolute;left:15px;top:-100px;padding:12px;background:var(--gold);color:#111;z-index:20}.skip-link:focus{top:10px}.booking-main{max-width:1200px;margin:auto;padding:32px 5% 80px}.back-link{font-size:11px;color:var(--muted)}.booking-intro{padding:42px 0 35px;display:grid;grid-template-columns:1.2fr 1fr;align-items:end;column-gap:45px}.booking-intro .eyebrow{grid-column:1/-1;margin-bottom:18px}.booking-intro h1{font-size:56px;letter-spacing:-1px;margin-bottom:0}.booking-intro>p:last-child{color:var(--muted);font-size:14px;margin-bottom:4px}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px}.calendar-panel,.booking-details{border:1px solid var(--line);padding:32px;background:var(--panel);border-radius:3px}.step-heading{display:flex;align-items:center;gap:14px;margin-bottom:26px}.step-heading>span{font-size:10px;letter-spacing:1px;color:var(--gold);border:1px solid #665b3e;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.step-heading h2{font:500 22px 'DM Sans',Arial;margin:0}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:23px}.calendar-navigation h3{font-size:17px;text-transform:capitalize;font-weight:500;margin:0}.calendar-navigation button{background:transparent;border:1px solid var(--line);color:var(--gold);width:39px;height:39px;border-radius:50%}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:7px}.calendar-week{font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:14px}.calendar-days button{width:100%;aspect-ratio:1;border:1px solid transparent;background:transparent;color:var(--text);border-radius:50%;font-size:14px;min-height:36px;padding:0}.calendar-days button:hover:not(:disabled){border-color:var(--gold)}.calendar-days button.today{border-color:#706442}.calendar-days button.selected{background:var(--gold);color:#111;border-color:var(--gold)}.calendar-days button:disabled{color:#a6aa9b;opacity:.3}.calendar-note{font-size:10px;color:var(--muted);margin:26px 0}.gold-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:7px}.booking-hours{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}.booking-hours strong{color:var(--text);font-weight:400}.booking-details label{display:block;font-size:12px;margin-bottom:8px}.booking-details input,.booking-details select{display:block;width:100%;padding:13px 12px;border:1px solid #48513c;border-radius:3px;background:#111711;color:var(--text);color-scheme:dark;min-height:49px}.booking-details input::placeholder{color:#8b9281}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:21px}.chosen-date{padding:20px 0;margin-top:10px;border-bottom:1px solid var(--line)}.chosen-date span{display:block;letter-spacing:1.5px;font-size:8px;color:var(--gold);margin-bottom:5px}.chosen-date strong{font-size:14px;font-weight:400}.booking-disclaimer{font-size:11px;line-height:1.9;color:var(--muted);margin:23px 0}.booking-disclaimer strong{color:var(--text);font-weight:400}.booking-submit{width:100%;display:flex;justify-content:space-between;gap:20px;background:var(--gold);border:1px solid var(--gold);color:#111411;padding:15px 18px;border-radius:3px;font-weight:500;font-size:15px}.booking-submit:hover{background:#dbc795}#booking-feedback{font-size:12px;color:var(--gold);line-height:1.7;margin:15px 0 0}.text-button{background:transparent;border:0;color:var(--gold);font-size:12px;text-decoration:underline;padding:10px 0}#booking-result{border:1px solid var(--line);padding:15px;margin-top:18px;font-size:12px}[hidden]{display:none!important}
@media(max-width:900px){.welcome-hero{min-height:700px;grid-template-columns:1.15fr 1fr}.welcome-copy{padding-top:60px}.choice-title{font-size:20px}.choice{padding:18px}.booking-layout{gap:20px}.calendar-panel,.booking-details{padding:24px}.booking-intro h1{font-size:48px}.site-header{min-height:100px}.wordmark{font-size:23px}nav{gap:20px;font-size:11px}}
@media(max-width:650px){.site-header{min-height:91px;padding:20px 6%;align-items:center}.wordmark{font-size:21px;letter-spacing:2px}.wordmark small{font-size:6px;letter-spacing:1px}nav{flex-direction:column;gap:8px;align-items:end;font-size:10px}.welcome-hero{display:flex;flex-direction:column}.welcome-copy{padding:43px 6% 35px}.welcome-copy h1{font-size:46px;letter-spacing:-1px}.welcome-copy .eyebrow{margin-bottom:22px;font-size:9px}.intro{font-size:13px;margin-bottom:28px}.choice-title{font-size:22px}.choice-detail{font-size:11px}.choice-number{font-size:8px}.choice{padding:18px 21px}.welcome-address{margin-top:26px;font-size:8px}.welcome-art{height:330px;min-height:330px}.welcome-art img{object-position:center 45%}.art-note{left:6%;bottom:27px}.art-note strong{font-size:29px}.visit-section{padding:45px 6%;grid-template-columns:1fr;gap:27px}.visit-section h2{font-size:37px}.visit-section .eyebrow{margin-bottom:20px}.hours h3{font-size:17px}.site-footer{padding:28px 6%;display:grid;grid-template-columns:1fr 1fr;gap:23px}.site-footer .wordmark{font-size:18px;grid-column:1/-1}.site-footer p{font-size:10px}.booking-main{padding:23px 5% 45px}.booking-intro{display:block;padding:30px 0}.booking-intro h1{font-size:44px;margin-bottom:23px}.booking-intro>p:last-child{font-size:13px}.booking-intro .eyebrow{font-size:9px}.booking-layout{grid-template-columns:1fr;gap:20px}.calendar-panel,.booking-details{padding:24px 20px}.step-heading h2{font-size:21px}.calendar-days{gap:8px}.calendar-days button{min-height:38px}.calendar-note{margin:21px 0}.booking-fields{gap:12px}.site-footer .admin-link{grid-column:1/-1}}
