:root{color-scheme:dark;--bg:#090909;--surface:#101010;--gold:#d1ad77;--gold-light:#e6c99e;--text:#f0ebe2;--muted:#aaa49b;--border:#343029;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1rem;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a,button,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px}::selection{background:var(--gold);color:#090909}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:1rem;z-index:20;padding:.7rem 1.2rem;background:var(--gold);color:#000}.skip-link:focus{top:1rem}.site-header{max-width:1600px;margin:auto;padding:1.4rem 5%;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--border);position:relative;z-index:5}.wordmark{font-family:var(--serif);font-size:1.2rem;letter-spacing:.13em;white-space:nowrap;line-height:1.4;color:var(--gold-light)}.wordmark span{display:block;font-family:var(--sans);font-size:.65em;letter-spacing:.32em;text-align:center;margin-top:.3rem}.menu-toggle{display:none;border:1px solid var(--border);color:var(--text);background:none;padding:.5rem .8rem;min-height:44px}nav{display:flex;align-items:center;gap:2.3rem;font-size:.875rem}nav a{padding:.5rem 0}nav a:hover,.text-link:hover{color:var(--gold)}.nav-cta{border:1px solid #65513a;padding:.6rem 1.1rem}.nav-cta span{margin-left:1.5rem}.hero{max-width:1600px;margin:auto;min-height:730px;position:relative;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;padding:3.5rem 5% 5rem;gap:1rem;overflow:hidden}.eyebrow{font-size:.75rem;font-weight:400;letter-spacing:.19em;color:var(--gold);line-height:1.8;margin:0 0 1.5rem}.gold-line{display:inline-block;width:30px;height:1px;background:var(--gold);margin-right:.8rem;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(3.8rem,6.6vw,6.6rem);line-height:.99;letter-spacing:-.045em;margin-bottom:1.8rem}em{font-weight:400;color:var(--gold-light)}.hero-description{font-size:1rem;color:var(--muted);line-height:1.85;margin-bottom:2rem}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:2.6rem;padding:.9rem 1.4rem;background:var(--gold);color:#111;border:1px solid var(--gold);font-size:.875rem;min-height:48px;transition:background .2s}.button:hover{background:var(--gold-light)}.text-link{display:inline-flex;align-items:center;gap:1.2rem;font-size:.875rem;border-bottom:1px solid #5d5040;padding:.6rem 0}.hero-est{font-size:.75rem;color:var(--muted);letter-spacing:.15em;margin:3rem 0 0}.hero-est span{margin:0 1rem;color:#5f5340}.hero-art{background:#000}.hero-art img{display:block;width:100%;height:auto;object-fit:contain}.scroll-note{position:absolute;bottom:1.8rem;right:5%;font-size:.75rem;color:var(--muted);letter-spacing:.13em;display:flex;gap:2rem}.brand-line{display:flex;align-items:center;justify-content:space-evenly;padding:1.5rem 5%;border-block:1px solid var(--border);color:var(--gold-light);font-family:var(--serif);letter-spacing:.3em;font-size:.95rem}.brand-line i{font-style:normal;color:var(--gold);font-size:.7rem}.section{max-width:1440px;margin:auto;padding:7rem 5%;scroll-margin-top:1rem}h2{font-size:clamp(2.7rem,4vw,4rem);line-height:1.15;letter-spacing:-.035em;margin-bottom:1.6rem}.about{display:grid;grid-template-columns:.9fr 1fr;gap:10%;align-items:center}.placeholder{background:linear-gradient(135deg,#171611,#0d0d0c 70%);border:1px solid var(--border);position:relative;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between}.portrait-placeholder{aspect-ratio:4/4.5}.placeholder-index{font-size:.75rem;letter-spacing:.15em;color:var(--muted)}.monogram{font-family:var(--serif);font-size:8rem;line-height:1;text-align:center;color:#68543a;letter-spacing:-.16em;padding-right:.16em}.placeholder-caption{font-family:var(--serif);font-size:1.4rem}.placeholder-caption small{font-family:var(--sans);font-size:.8rem;color:var(--muted);display:block;margin-top:.4rem}.section-copy>p:not(.eyebrow){max-width:480px;color:var(--muted)}.signature{font-family:var(--serif);font-size:1.2rem;color:var(--gold);letter-spacing:.08em;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.signature span{display:block;font-family:var(--sans);color:var(--muted);font-size:.7rem;letter-spacing:.15em;margin-top:.5rem}.portfolio{border-top:1px solid var(--border)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.5rem}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:.9rem;margin:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.gallery-card{aspect-ratio:4/5}.gallery-card:nth-child(2){background:linear-gradient(160deg,#111,#1a1712)}.gallery-number{font-family:var(--serif);font-size:5rem;line-height:1;text-align:center;color:#766041;font-style:italic}.styles{border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.styles>div>p:not(.eyebrow){max-width:410px;color:var(--muted)}.style-list>div{display:grid;grid-template-columns:2.5rem 1fr;column-gap:1rem;border-bottom:1px solid var(--border);padding:1.2rem 0}.style-list>div:first-child{padding-top:0}.style-list span{color:var(--gold);font-size:.75rem;padding-top:.5rem}.style-list h3{font-size:1.8rem;margin:0}.style-list p{grid-column:2;color:var(--muted);margin:.3rem 0}.booking{background:var(--surface);border-block:1px solid var(--border);display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.booking-intro>p:not(.eyebrow){color:var(--muted);max-width:350px}.form-notice{border-left:1px solid var(--gold);padding-left:1.2rem;margin-top:2.5rem;max-width:360px}.form-notice .eyebrow{font-size:.75rem}.form-notice p{font-size:.875rem;color:var(--muted);margin:.5rem 0}.form-guidance{font-size:.8rem;color:var(--muted)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.field{margin-bottom:1.25rem;min-width:0}.field label{display:block;font-size:.875rem;margin-bottom:.5rem}.field label span{color:var(--muted);font-size:.75rem}input,textarea{display:block;width:100%;border:1px solid #555045;border-radius:0;background:#0b0b0b;padding:.8rem 1rem;color:var(--text);font-size:1rem;min-height:48px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#8f8980}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#eeac96}.field-error{display:block;color:#ffc0ac;font-size:.8rem;margin-top:.35rem}.field-hint{display:block;color:var(--muted);font-size:.75rem;margin-top:.5rem}.form-status{font-size:.9rem;color:var(--gold-light);margin-top:1rem}.form-status:empty{display:none}.location{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:center}.location .muted{max-width:350px}.muted{color:var(--muted)}.location-panel{border:1px solid #5f4b31;min-height:330px;display:flex;flex-direction:column;justify-content:space-between;padding:2rem;background:#11100d}.location-panel .eyebrow{margin:0}.atl{font-family:var(--serif);font-size:clamp(5rem,10vw,9rem);letter-spacing:.08em;line-height:1.1;color:var(--gold-light)}.location-panel>div{font-size:.8rem;letter-spacing:.15em}.location-panel small{display:block;color:var(--muted);letter-spacing:0;font-size:.8rem;margin-top:.25rem}.faq{border-top:1px solid var(--border);display:grid;grid-template-columns:.8fr 1.2fr;gap:8%}.faq details{border-bottom:1px solid var(--border)}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;cursor:pointer;font-size:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:1.4rem;color:var(--gold)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{color:var(--muted);font-size:.9rem;margin-bottom:1.5rem;padding-right:2rem}.site-footer{border-top:1px solid var(--border);padding:3rem 5% 1.5rem;max-width:1600px;margin:auto}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer-top{padding-bottom:2.5rem}.footer-top p{font-family:var(--serif);color:var(--gold);font-size:.8rem;letter-spacing:.12em;margin:0}.footer-bottom{border-top:1px solid var(--border);padding-top:1.5rem;color:var(--muted);font-size:.75rem}.not-found{max-width:750px;margin:8rem auto;padding:2rem}.not-found h1{font-size:4rem}.not-found p{color:var(--muted)}
@media(min-width:1600px){.hero{min-height:800px}}@media(max-width:1000px){nav{gap:1.2rem}.hero{min-height:640px}h1{font-size:clamp(3.5rem,7vw,5.6rem)}.hero-actions{gap:.8rem}.hero-art{align-self:center}.section{padding-block:5rem}.about,.styles,.booking,.location,.faq{gap:6%}.gallery{gap:1rem}.placeholder{padding:1rem}.footer-top p{max-width:240px;text-align:center}}
@media(max-width:760px){html{scroll-padding-top:1rem}.site-header{padding:1.1rem 6%;gap:1rem;flex-wrap:wrap}.wordmark{font-size:1rem}.menu-toggle{display:block}.js nav{display:none}.js nav.is-open{display:flex}nav{width:100%;flex-direction:column;align-items:stretch;gap:.3rem;padding-top:1rem}nav a{padding:.6rem .5rem}.nav-cta{margin-top:.4rem}.hero{grid-template-columns:1fr;gap:1.5rem;padding:3rem 6% 4rem;min-height:auto}.hero-copy{position:relative;z-index:1}.hero .eyebrow{font-size:.7rem;letter-spacing:.14em}h1{font-size:clamp(3.7rem,12vw,5.6rem)}.hero-description{max-width:350px}.hero-est{margin-top:1.8rem}.hero-art{max-width:470px;width:100%;justify-self:center}.scroll-note{bottom:1.3rem;right:6%;font-size:.7rem}.brand-line{padding:1rem 5%;letter-spacing:.12em;font-size:.75rem}.brand-line i{font-size:.5rem}.section{padding:4rem 6%}.about,.styles,.booking,.location,.faq{grid-template-columns:1fr;gap:2.5rem}.portrait-placeholder{max-width:460px;width:100%;aspect-ratio:5/4}.section-copy{max-width:560px}.section-heading{display:block;margin-bottom:2rem}.section-heading>p{margin-top:1rem}.gallery{grid-template-columns:1fr}.gallery-card{aspect-ratio:5/4}.gallery-number{font-size:4rem}.styles .style-list{margin-top:0}.booking-intro>p:not(.eyebrow),.form-notice{max-width:none}.form-notice{margin-top:1.5rem}.location-panel{min-height:290px}.atl{font-size:6rem}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start;gap:1.2rem}.footer-top p{text-align:left;max-width:none}.footer-bottom{gap:.6rem}}@media(max-width:400px){.hero-actions{align-items:flex-start;flex-direction:column}.field-pair{grid-template-columns:1fr;gap:0}.brand-line{letter-spacing:0}.eyebrow{letter-spacing:.12em}h2{font-size:2.6rem}.wordmark{font-size:.9rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Google Calendar booking: native, keyboard-accessible modal; same brand tokens. */
.booking-card{border:1px solid var(--border);padding:2.5rem;background:#0b0b0b}.booking-card h3{font-size:2.6rem;line-height:1.2}.booking-card>p:not(.eyebrow){color:var(--muted)}.booking-card>.text-link{display:table;margin-top:1rem}.modal-open{overflow:hidden}dialog{width:min(760px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:2.5rem;border:1px solid #75603e;background:#10100e;color:var(--text);overflow-y:auto;overscroll-behavior:contain}dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(6px)}dialog h2{margin-bottom:.8rem;font-size:clamp(2.4rem,5vw,3.6rem)}.modal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal-top .eyebrow{padding-top:.7rem}.modal-close{background:none;border:1px solid var(--border);color:var(--gold);font-size:1.8rem;line-height:1;width:44px;height:44px;flex-shrink:0}.timezone-badge{color:var(--gold-light);font-size:.875rem;margin-bottom:1.5rem}.timezone-badge span{display:block;color:var(--muted);font-size:.75rem}.calendar-panel{background:#090909;border:1px solid var(--border);padding:1.5rem;margin-bottom:2rem}fieldset{border:0;margin:0;padding:0;min-width:0}select{width:100%;min-height:48px;padding:.8rem;color:var(--text);background:#0b0b0b;border:1px solid #555045;font:inherit;border-radius:0}select:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}.time-options legend{font-size:.875rem;margin-bottom:.6rem}.slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.slot{position:relative;cursor:pointer}.slot input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.slot span{display:block;border:1px solid #64543c;text-align:center;padding:.7rem .25rem;font-size:.875rem;color:var(--gold-light)}.slot input:checked+span{background:var(--gold);color:#090909}.slot input:focus-visible+span{outline:2px solid var(--gold-light);outline-offset:3px}.slot:hover span{border-color:var(--gold-light)}.slot input:disabled+span{opacity:.5;cursor:wait}#booking-feedback:not(:empty){padding:1rem;border-left:2px solid var(--gold);background:#1b1913;color:var(--gold-light);font-size:.9rem;overflow-wrap:anywhere}#booking-fallback{padding:1.5rem 0}#booking-fallback a{overflow-wrap:anywhere;max-width:100%}.upload-placeholder{border:1px dashed #5b503e;padding:1rem;margin-bottom:1.4rem}.upload-placeholder>span{font-size:.875rem}.upload-placeholder p{font-size:.8rem;color:var(--muted);margin:.4rem 0 0}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent{display:flex;align-items:flex-start;gap:.8rem;font-size:.875rem;margin-bottom:1rem}.consent input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin-top:.25rem;accent-color:var(--gold)}.consent a{text-decoration:underline;text-underline-offset:.2em}button:disabled{opacity:.55;cursor:not-allowed}.policy{max-width:850px;padding:4rem 6%;margin:auto}.policy h1{font-size:3.5rem}.policy h2{font-size:1.7rem;margin-top:2.5rem}.policy p{color:var(--muted)}.policy a{color:var(--gold-light);text-decoration:underline;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:550px){dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:1.25rem}.calendar-panel{padding:1rem}.slots{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-card{padding:1.5rem}dialog .field-pair{grid-template-columns:1fr;gap:0}.modal-top .eyebrow{font-size:.7rem;max-width:190px}.timezone-badge span{display:block}}

/* Apple-oriented responsive refinements: safe areas, text scaling and touch. */
:root{--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.site-header{padding-top:max(1.1rem,env(safe-area-inset-top,0px))}
.site-footer{padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px))}
.hero>*,.section>*,.gallery>*,.footer-top>*,.footer-bottom>*{min-width:0}
.wordmark{white-space:normal;overflow-wrap:anywhere}
.button{max-width:100%;min-height:48px;gap:1rem;text-align:left}
.text-link{min-height:44px;overflow-wrap:anywhere}
nav a,.footer-bottom a,.scroll-note{min-height:44px;display:inline-flex;align-items:center}
.field-hint,.form-guidance,.placeholder-caption small,.location-panel small,.upload-placeholder p{font-size:.875rem}
.field label span{font-size:.8125rem}
input,textarea,select{min-width:0;max-width:100%;font-size:1rem;scroll-margin-block:5rem 2rem}
input[type=date]{appearance:none;-webkit-appearance:none;min-height:48px}
input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
input[type=date]::-webkit-datetime-edit{padding:0}
input:not([type=checkbox]):not([type=radio]),textarea,select{border-color:#807361}
.modal-open{position:fixed;top:var(--page-scroll-offset,0);left:0;right:0;width:100%;overflow:hidden}
dialog{max-width:calc(100% - 1rem);max-height:calc(100vh - 2rem);max-height:calc(var(--booking-viewport-height,100dvh) - 2rem);scroll-padding-top:5rem;scroll-padding-bottom:2rem;border-radius:20px;padding-top:0}
.modal-top{position:sticky;top:0;z-index:2;align-items:center;background:#10100e;padding-block:1rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}
.modal-top .eyebrow{margin:0;padding:0;font-size:.75rem}
.modal-close{width:48px;height:48px;border-radius:50%}
.slot span{min-height:48px;display:flex;align-items:center;justify-content:center;gap:.35rem}
.slot input:checked+span::before{content:'✓';font-weight:bold}
.consent{min-height:48px;padding-block:.5rem;align-items:flex-start}
#confirm-booking{min-height:52px}
.policy,.not-found{overflow-wrap:anywhere}
@media(max-width:900px) and (min-width:761px){.site-header{gap:1rem;flex-wrap:wrap}nav{flex-wrap:wrap;gap:1rem}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.booking{grid-template-columns:1fr}.booking-card{margin-top:2rem}}
@media(max-width:760px){
  .site-header>.wordmark{max-width:calc(100% - 6.5rem)}
  .hero{padding-top:2.5rem}h1{font-size:clamp(3rem,12vw,5.6rem)}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%}.hero-actions .button{width:100%;font-size:1rem}.hero-actions .text-link{justify-self:start}
  .hero-description{font-size:1rem}.hero-est{margin-top:1.5rem}
  .hero .eyebrow{font-size:.75rem;letter-spacing:.1em}.gold-line{width:20px;margin-right:.5rem}
  .brand-line{gap:.4rem;flex-wrap:wrap;letter-spacing:.08em}
  .portrait-placeholder,.gallery-card{min-height:250px;aspect-ratio:auto;gap:1.5rem}
  .gallery-card{min-height:300px}.booking-card .button{width:100%}
  .footer-bottom{font-size:.8125rem}
}
@media(max-width:600px){
  dialog{width:calc(100% - 1rem);max-width:none;inset:var(--booking-viewport-top,0px) 0 auto;margin:.5rem auto;max-height:calc(var(--booking-viewport-height,100dvh) - 1rem);padding:0 1.25rem max(1.5rem,env(safe-area-inset-bottom,0px));border-radius:20px}
  .modal-top{padding-top:max(1rem,env(safe-area-inset-top,0px));margin-bottom:1.25rem}
  dialog h2{font-size:clamp(2rem,8vw,3rem)}
  #confirm-booking{width:100%;font-size:1rem}
  .slots{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr))}
  .calendar-panel{padding:1rem}
}
@media(max-width:360px){.site-header{padding-inline:1rem}.hero,.section{padding-inline:1rem}.hero .eyebrow{letter-spacing:.06em}.gold-line{display:none}.brand-line{font-size:.7rem}.booking-card{padding:1rem}.button{padding-inline:1rem}.policy h1,.not-found h1{font-size:2.5rem}}
@media(prefers-contrast:more){:root{--muted:#d6d0c6;--border:#807361}input,textarea,select,.slot span,.nav-cta{border-color:var(--gold-light)}}
@media(prefers-reduced-transparency:reduce){dialog::backdrop{backdrop-filter:none;background:#000}}

h1,h2,h3,.placeholder-caption{overflow-wrap:anywhere}
