/* Same studio identity, fewer steps. */
.quick-hero{grid-template-areas:"intro photo" "services photo";grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:26px 48px;min-height:0;padding-top:24px;padding-bottom:48px;align-items:start}
.hero-intro{grid-area:intro;min-width:0;padding-top:12px}.hero-intro>p{color:var(--muted);font-size:1rem}.quick-hero h1{font-size:clamp(4.5rem,7.5vw,7rem);margin:20px 0 18px;white-space:normal}.quick-hero .hero-photo{grid-area:photo;height:100%;min-height:570px;width:100%;margin:0}.hero-services{grid-area:services;min-width:0;scroll-margin-top:24px}.service-prompt{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.service-prompt h2{font-size:2rem;letter-spacing:0}.service-prompt>span{font-size:.875rem;color:var(--muted)}.quick-services{border-top:1px solid var(--line)}.quick-service{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;background:transparent;text-align:left;padding:13px 4px;border-bottom:1px solid var(--line);transition:background .15s,padding .15s}.quick-service:hover,.quick-service:focus-visible{background:#29261f;padding-left:12px;padding-right:12px}.quick-service strong{font-size:1rem;font-weight:500;display:block}.quick-service small{color:var(--muted);font-size:.875rem;display:block;margin-top:1px}.quick-service b{font:600 2rem var(--heading);color:var(--gold)}.quick-hint{font-size:.875rem;color:var(--muted);margin-top:16px}.work{padding-top:48px}.welcome{grid-template-columns:170px 1fr;gap:40px;padding-top:42px;padding-bottom:42px}.welcome-mark{max-width:150px;font-size:5rem}.welcome-mark span{font-size:.6rem;letter-spacing:2px;margin-top:13px}.welcome-copy h2{font-size:2.8rem}.welcome-copy p{margin-top:16px}.welcome-copy .signature{font-size:1.3rem;margin-top:16px}.welcome-copy>.tiny-label{font-size:.75rem}.section-head p{font-size:1rem}.mobile-book{display:none}.header .btn{display:none}.hero-services .quick-service:last-child{border-bottom-color:#706247}
#booking .booking-progress{font-size:.875rem;margin-bottom:20px;padding-top:10px}#booking h2{margin-bottom:20px}#booking .booking-actions:has(#next[hidden]){position:static;justify-content:flex-start;padding-top:0}#booking .booking-actions:has(#back[hidden]):has(#next[hidden]){display:none}#booking [hidden]{display:none!important}.opening-day{border-top:1px solid var(--line);padding:4px 0 15px}.opening-day .selected-date{font-weight:500;font-size:1rem;margin:14px 0}.opening-day .time-grid{grid-template-columns:repeat(3,1fr);max-height:none;margin-bottom:8px}.time-slot{font-size:1rem;min-height:48px}.more-times summary,.confirmation-details summary,.optional-details summary{cursor:pointer;color:var(--gold);font-size:.875rem;padding:10px 0;list-style:revert}.more-times[open] summary{margin-bottom:8px}.more-times .time-grid{max-height:220px;overflow-y:auto}.another-day{margin:12px 0 0}.another-day input{width:100%}.booking-mini{margin-bottom:10px}.booking-mini>span,.slot-toolbar{font-size:.875rem}.booking-review{margin-bottom:18px}.confirmation-card{text-align:center;padding-bottom:14px}.confirmation-card h3{font-family:var(--heading);font-size:2rem;line-height:1.15;margin:0 0 10px}.confirmation-card>strong{font-size:1.2rem;color:var(--gold)}.confirmation-card p{margin:5px 0;font-size:1rem}.confirmation-card p:last-child{color:var(--muted);font-size:.875rem;margin:15px auto 0;max-width:280px}.confirmation-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 20px}.confirmation-actions .btn{padding:14px 8px;font-size:.875rem;display:flex;justify-content:center;align-items:center;text-align:center}.confirmation-details{border-top:1px solid var(--line);padding:4px 0}.confirmation-details p{font-size:.875rem;color:var(--muted);margin:8px 0}.confirmation-check{width:48px;height:48px;font-size:1.6rem;margin-bottom:16px}.booking-footnote{font-size:.875rem}#booking .field{font-size:1rem}#booking .payment-note{padding:12px;margin-top:12px}
.studio-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 18px}.studio-topline .eyebrow{font-size:.75rem;margin:0 0 8px}.studio-topline h1{font-size:3rem}.studio-topline .btn{font-size:.875rem;padding:10px 16px}.agenda-status{display:flex;justify-content:space-between;gap:16px;font-size:.875rem;color:var(--muted);margin-bottom:25px}.admin-toolbar input{min-width:0}.admin-toolbar .field{font-size:.875rem}.admin-toolbar .btn{font-size:.875rem}.agenda-nav{display:flex;gap:18px}.agenda-title{padding:20px 24px}.agenda-entry{border-top:1px solid var(--line);border-left:3px solid var(--gold)}.agenda-entry.blocked{border-left-color:#707a89;background:#1c1e21}.agenda-entry>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:100px 1fr 20px;align-items:center;gap:20px;padding:20px 24px}.agenda-entry>summary::-webkit-details-marker{display:none}.agenda-entry .agenda-info strong,.agenda-entry .agenda-info>span{display:block}.agenda-entry .agenda-info strong{font-size:1rem;font-weight:500}.agenda-entry .agenda-info>span{color:var(--muted);font-size:.875rem}.agenda-entry .agenda-time strong,.agenda-entry .agenda-time span{font-size:.875rem}.entry-toggle{font-size:1.4rem;color:var(--gold)}.agenda-entry[open] .entry-toggle{transform:rotate(45deg)}.entry-details{padding:0 24px 20px 144px}.entry-details>p{font-size:.875rem;color:var(--muted);margin:8px 0 16px}.entry-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.entry-actions .btn{font-size:.875rem;padding:10px 14px}.cancel-check{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:1rem}.cancel-check .btn{margin-top:12px;font-size:.875rem}.upcoming>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:1rem;padding:15px 0;border-top:1px solid var(--line);list-style:revert}.upcoming>summary span{color:var(--muted)}.duration-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}.duration-presets button{background:#252520;border:1px solid var(--line);border-radius:3px;font-size:.875rem;min-height:48px;padding:8px 4px}.duration-presets button.selected{border-color:var(--gold);background:#443922;color:var(--gold)}.optional-details{margin-bottom:20px}.optional-details[open] summary{margin-bottom:12px}.admin-modal .btn[type=submit]{width:100%}.admin-empty{padding:35px 20px}.admin-empty h3{margin:10px 0;font-size:1.2rem}.admin-footer{margin-top:30px}.connection-card h2{font-size:2rem}.connection-card p{font-size:.875rem}.connection-card .eyebrow{font-size:.75rem}.connections-grid{gap:18px}
@media(max-width:900px){.quick-hero{gap:24px}.quick-hero h1{font-size:7.8vw}.quick-hero .hero-photo{min-height:530px}.service-prompt{align-items:start;flex-direction:column;gap:4px}.service-prompt h2{font-size:1.8rem}.entry-details{padding-left:24px}}
@media(max-width:720px){.header{height:72px}.quick-hero{display:grid;grid-template-columns:1fr;grid-template-areas:"intro" "photo" "services";gap:18px;padding:0 6% 32px}.hero-intro{padding-top:8px}.hero-intro .eyebrow{font-size:.75rem;letter-spacing:1.6px}.quick-hero h1{font-size:clamp(3.2rem,13vw,5.2rem);margin:14px 0 10px;line-height:.91}.hero-intro>p{font-size:.875rem}.quick-hero .hero-photo{height:auto;min-height:0;aspect-ratio:16/10}.quick-hero .hero-photo>img{position:absolute;top:0;left:-20%;width:120%;max-width:none;height:100%;object-fit:cover;object-position:50% 22%}.quick-hero .photo-caption{left:15px;right:15px;bottom:12px}.quick-hero .photo-caption>span:first-child{font-size:1rem;max-width:none}.quick-hero .photo-caption>span:last-child{font-size:2.5rem}.service-prompt{flex-direction:row;align-items:center;gap:10px;margin-bottom:10px}.service-prompt h2{font-size:1.75rem}.service-prompt>span{font-size:.75rem}.quick-service{min-height:65px;padding:8px 2px}.quick-service b{font-size:1.8rem}.quick-hint{margin-top:10px;font-size:.875rem}.mobile-book.visible{display:flex}.work{padding-top:32px}.section-head h2{font-size:3rem}.welcome{grid-template-columns:90px 1fr;gap:22px;padding:32px 6%}.welcome-mark{font-size:3rem;max-width:90px;outline-offset:-6px}.welcome-mark span{font-size:.45rem;letter-spacing:1px;margin-top:8px}.welcome-copy h2{font-size:2rem}.welcome-copy .eyebrow{font-size:.75rem}.welcome-copy p{font-size:.875rem}.welcome-copy>.tiny-label{font-size:.75rem}.welcome .signature{font-size:1.1rem}.visit{padding-top:42px;padding-bottom:42px;gap:25px}.visit h2{font-size:3rem}.studio-topline{margin:24px 0 16px}.studio-topline h1{font-size:2.6rem}.studio-topline .btn{padding:10px 13px}.agenda-status{font-size:.875rem;margin-bottom:20px}.admin-toolbar{gap:16px}.admin-toolbar>div{gap:10px}.admin-toolbar .btn{min-height:48px}.agenda-title{padding:18px 15px}.agenda-title h2{font-size:1.8rem}.agenda-entry>summary{grid-template-columns:80px 1fr 14px;gap:10px;padding:18px 12px}.entry-details{padding:0 15px 18px}.entry-actions .btn{font-size:.875rem}.admin-header{height:72px}.admin-header-right .text-button{font-size:.875rem}.admin-shell .admin-footer{font-size:.875rem}.admin-shell .upcoming-item span{font-size:.875rem}.confirmation-actions{grid-template-columns:1fr}.confirmation-actions .btn{min-height:48px}.welcome-mark span{display:none}#booking h2{font-size:2.3rem}.booking-mini{gap:10px}.booking-mini>span{white-space:nowrap}.admin-modal h2{font-size:2rem}.admin-modal{max-height:calc(100dvh - 24px)}}
@media(prefers-reduced-motion:reduce){.quick-service{transition:none}}

/* Clear language choice and booking policy, in the studio palette. */
.language.language-switch,.language-switch{display:inline-flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--gold);border-radius:6px;background:#26231b;min-height:44px;flex-shrink:0;font-size:.875rem;line-height:1.2;white-space:nowrap}
.language-switch span,.language.language-switch span{padding:8px 10px;color:#e7ddc9;font-weight:500;border-radius:3px}.language-switch span.active,.language.language-switch span.active{background:var(--gold);color:#111;font-weight:700}
.policy-banner,.policy-notice{border:1px solid #74613c;border-left:3px solid var(--gold);background:#28241b;padding:12px 14px;border-radius:4px;font-size:.875rem;line-height:1.5}.policy-banner{margin-top:16px}.policy-banner strong,.policy-notice strong{display:block;color:#f1d69f;margin-bottom:5px}.policy-banner p,.policy-notice p{color:#f1ece2}.policy-banner small{display:block;color:#cbbfA9;font-size:.8125rem;margin-top:5px}.policy-notice{margin-bottom:16px}.policy-reminder{margin:16px 0;color:#e6d4b1;font-size:.875rem;line-height:1.55}.whatsapp-confirmation{width:100%;margin-top:14px;text-align:center}.whatsapp-explanation{font-size:.875rem;color:var(--muted);margin:8px 0 16px}.dialog-top{gap:8px}#booking .dialog-top>.eyebrow{font-size:.7rem;letter-spacing:1px}
@media(max-width:720px){.header{gap:12px}.header-actions{gap:0}.language.language-switch,.language-switch{font-size:.8125rem}.language-switch span,.language.language-switch span{padding:8px}.admin-header-right{gap:8px}.admin-header-right>.text-button{display:none}.admin-header .brand{font-size:1.8rem}.admin-header .brand span{font-size:.9rem}#booking .dialog-top>.eyebrow{max-width:55px;line-height:1.25}.policy-notice{padding:10px 12px}.policy-banner{margin-top:12px}}

.email-connection-notice{padding:14px 16px;border:1px solid #74613c;border-radius:4px;background:#28241b;font-size:.875rem;line-height:1.6;margin:0 0 20px}.email-connection-notice strong{color:#f1d69f}.email-connection-notice p{margin:4px 0 10px}.email-notice{padding:12px 0 16px;margin-bottom:14px;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.5}.email-notice p{margin:0 0 6px}.email-notice small{display:block;font-size:.8125rem;color:var(--muted);max-width:520px}.email-notice .text-button{min-height:44px;display:inline-flex;align-items:center}.connection-card strong{overflow-wrap:anywhere}

.site-footer{flex-wrap:wrap}.site-footer .developer-credit{width:100%;font-size:.75rem;color:var(--muted);text-underline-offset:4px}.site-footer .developer-credit:hover,.site-footer .developer-credit:focus-visible{color:var(--gold);text-decoration:underline}

/* Step headings receive focus for screen readers; interactive controls keep their focus rings. */
#booking-title[tabindex="-1"]:focus{outline:none}
