:root {
  --bg: #09070c;
  --panel: #17111d;
  --text: #fff9fc;
  --muted: rgba(255, 249, 252, .58);
  --border: rgba(255,255,255,.11);
  --pink: #ec4899;
  --pink-light: #f9a8d4;
  --violet: #a78bfa;
  --radius: 1.6rem;
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { background: #08060b; }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); }
body, button, input, textarea, select { font: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { border-radius: .75rem; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #f472b6; outline-offset: 3px; }
::selection { background: rgba(236,72,153,.42); color: #fff; }
.site-header { position: relative; z-index: 20; height: 84px; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.92); }
.header-inner { width: min(1500px, calc(100% - 40px)); height: 100%; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand-logo { width: auto; height: 54px; max-width: 250px; object-fit: contain; }
.main-nav { display: flex; gap: .35rem; }
.main-nav a { padding: .65rem 1rem; border-radius: 999px; color: rgba(255,255,255,.68); font-weight: 700; font-size: .9rem; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color: white; background: rgba(255,255,255,.08); }
.grid-bg { background-image: radial-gradient(circle at 13% 18%, rgba(168,85,247,.19), transparent 29%), radial-gradient(circle at 84% 76%, rgba(236,72,153,.16), transparent 31%), linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: auto, auto, 54px 54px, 54px 54px; }
.home-shell { min-height: calc(100svh - 84px); padding: 2rem 3rem 3rem; }
.home-card { min-height: calc(100svh - 132px); max-width: 1500px; margin: auto; display: grid; grid-template-columns: .92fr 1.08fr; overflow: hidden; border: 1px solid var(--border); border-radius: 2rem; background: #09070c; box-shadow: 0 40px 120px rgba(0,0,0,.55); }
.home-copy { padding: 4rem; display: flex; flex-direction: column; justify-content: space-between; position: relative; z-index: 2; }
.eyebrow { margin: 0; color: #f472b6; text-transform: uppercase; letter-spacing: .24em; font-weight: 900; font-size: .82rem; }
.pill { display: inline-flex; align-items: center; gap: .55rem; padding: .7rem 1rem; border: 1px solid rgba(232,121,249,.3); border-radius: 999px; background: rgba(232,121,249,.09); color: #fae8ff; letter-spacing: .06em; text-transform: none; }
.hero-title, .page-title, .studio-heading h1 { font-family: "Arial Black", Impact, sans-serif; text-transform: uppercase; letter-spacing: -.07em; }
.hero-title { margin: 2.6rem 0 0; font-size: clamp(4rem, 8vw, 8.9rem); line-height: .78; }
.hero-title span { display: block; }
.gradient-text { padding-right: .25em; color: transparent; background: linear-gradient(90deg,#c084fc,#e879f9,#f472b6); background-clip: text; -webkit-background-clip: text; }
.hero-copy { max-width: 33rem; margin: 2rem 0 0; color: rgba(255,255,255,.66); font-size: 1.2rem; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: .75rem 1.45rem; border: 0; border-radius: 999px; color: white; font-weight: 900; cursor: pointer; }
.button.primary { background: var(--pink); box-shadow: 0 0 36px rgba(236,72,153,.26); }
.button.primary:hover { background: #f472b6; }
.button.secondary { border: 1px solid rgba(244,114,182,.38); background: rgba(244,114,182,.09); }
.button.secondary.violet { border-color: rgba(167,139,250,.38); background: rgba(167,139,250,.09); }
.button.disabled { background: rgba(255,255,255,.08); color: rgba(255,255,255,.4); cursor: not-allowed; }
.button.full { width: 100%; }
.text-link { color: rgba(255,255,255,.78); font-weight: 800; }
.text-link:hover { color: white; }
.home-signoff { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.home-signoff p { max-width: 19rem; margin: 0; color: rgba(255,255,255,.48); font-size: .88rem; line-height: 1.6; }
.home-signoff strong { font-family: "Arial Black", Impact, sans-serif; font-size: 4.5rem; color: rgba(255,255,255,.12); }
.home-art { position: relative; min-height: 52svh; overflow: hidden; }
.home-art > img { width: 100%; height: 100%; object-fit: cover; }
.home-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#09070c 0,transparent 45%); }
.art-logo { position: absolute; z-index: 2; top: 2rem; right: 2rem; padding: .6rem 1rem; border: 1px solid rgba(255,255,255,.15); border-radius: 1rem; background: rgba(0,0,0,.35); backdrop-filter: blur(12px); }
.art-logo img { height: 38px; width: auto; max-width: 180px; }
.home-art p { position: absolute; z-index: 2; right: 2rem; bottom: 2rem; max-width: 190px; margin: 0; color: rgba(255,255,255,.7); text-align: right; text-transform: uppercase; letter-spacing: .24em; font-weight: 800; font-size: .72rem; }
.page-main { min-height: calc(100svh - 84px); padding: 4rem 3rem 6rem; }
.content-wrap { width: min(1400px, 100%); margin: auto; }
.page-title { max-width: 70rem; margin: 1.2rem 0 0; font-size: clamp(3.7rem, 8vw, 8rem); line-height: .82; }
.page-title span { display: block; }
.violet-text { color: var(--violet); }
.schedule-layout { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 4rem; }
.schedule-intro { max-width: 44rem; margin: 1.5rem 0 0; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.service-list { display: grid; gap: 1rem; margin-top: 3.5rem; }
.service-card { width: 100%; display: grid; grid-template-columns: 64px minmax(0,1fr) auto auto; align-items: center; gap: 1.25rem; padding: 1.8rem 2rem; border: 1px solid var(--border); border-radius: var(--radius); background: rgba(255,255,255,.045); color: white; text-align: left; cursor: pointer; }
.service-card:hover, .service-card.selected { border-color: rgba(232,121,249,.5); background: rgba(232,121,249,.09); }
.service-card.selected { box-shadow: 0 0 0 1px rgba(236,72,153,.35), 0 18px 55px rgba(236,72,153,.08); }
.service-copy > strong { display: block; margin: 0; font-size: 1.4rem; }
.service-copy > small { display: block; margin: .45rem 0 0; color: var(--muted); font-size: .95rem; line-height: 1.6; }
.service-price { color: var(--pink-light); font-size: 1.12rem; font-weight: 900; }
.service-select { min-width: 76px; padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.72); text-align: center; font-size: .78rem; font-weight: 900; }
.service-card.selected .service-select { border-color: var(--pink); background: var(--pink); color: white; }
.service-number { font-family: "Arial Black",Impact,sans-serif; color: rgba(255,255,255,.14); font-size: 2.3rem; }
.empty-card { padding: 3rem; border: 1px dashed rgba(244,114,182,.3); border-radius: var(--radius); background: rgba(244,114,182,.05); }
.empty-card > span { color: var(--pink); font-size: 2rem; }
.empty-card h2 { margin: 1rem 0 .5rem; font-size: 1.6rem; }
.empty-card p { margin: 0; color: var(--muted); line-height: 1.7; }
.booking-card { position: sticky; top: 2rem; height: fit-content; padding: 2.1rem; border: 1px solid var(--border); border-radius: 2rem; background: rgba(0,0,0,.48); box-shadow: 0 24px 80px rgba(0,0,0,.35); backdrop-filter: blur(18px); }
.booking-card h2 { margin: .7rem 0 0; font-size: 2rem; }
.booking-help { margin: .55rem 0 1.4rem; color: var(--muted); line-height: 1.55; }
.booking-form { display: grid; gap: 1rem; }
.booking-form label > span, .slot-fieldset legend { display: block; margin-bottom: .45rem; font-size: .88rem; font-weight: 800; }
.booking-form label small { color: rgba(255,255,255,.42); font-size: .75rem; }
.selected-service { padding: .9rem 1rem; border: 1px solid rgba(167,139,250,.3); border-radius: 1rem; background: rgba(167,139,250,.08); color: #ddd6fe; font-weight: 900; }
.slot-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.slot-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .55rem; }
.slot-grid p { grid-column: 1/-1; margin: 0; padding: .9rem; border: 1px dashed var(--border); border-radius: .8rem; color: var(--muted); font-size: .85rem; line-height: 1.45; }
.slot-button { min-height: 42px; border: 1px solid var(--border); background: rgba(255,255,255,.045); color: white; cursor: pointer; font-size: .8rem; font-weight: 850; }
.slot-button:hover, .slot-button.selected { border-color: var(--pink); background: rgba(236,72,153,.18); }
.client-fields { display: grid; gap: .9rem; }
.consent { display: grid !important; grid-template-columns: 20px 1fr; gap: .7rem; align-items: start; color: rgba(255,255,255,.62); font-size: .78rem; line-height: 1.45; }
.consent input { width: 18px; height: 18px; margin: .1rem 0 0; accent-color: var(--pink); }
.honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.booking-response { display: grid; gap: .35rem; border-radius: .9rem; font-size: .85rem; line-height: 1.5; }
.booking-response.success, .booking-response.error { padding: .9rem 1rem; border: 1px solid; }
.booking-response.success { border-color: rgba(74,222,128,.3); background: rgba(74,222,128,.1); color: #bbf7d0; }
.booking-response.error { border-color: rgba(248,113,113,.3); background: rgba(248,113,113,.1); color: #fecaca; }
.booking-details { display: grid; gap: 1.5rem; margin: 1.8rem 0; padding: 1.5rem 0; border-block: 1px solid var(--border); }
.booking-details strong { display: block; }
.booking-details p { margin: .35rem 0 0; color: var(--muted); font-size: .9rem; line-height: 1.5; }
.booking-details a { text-decoration: underline; text-underline-offset: 4px; }
.consent-callout { display: grid; gap: .65rem; margin-top: 1rem; padding: 1.1rem; border: 1px solid rgba(167,139,250,.28); border-radius: 1rem; background: rgba(167,139,250,.08); }
.consent-callout strong { color: #ddd6fe; }
.consent-callout p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.consent-page { padding-top: 3rem; }
.consent-shell { width: min(980px,100%); }
.consent-heading > p:not(.eyebrow) { max-width: 730px; margin: 1.5rem 0 0; color: var(--muted); font-size: 1.05rem; line-height: 1.75; }
.privacy-note { display: flex; align-items: flex-start; gap: .85rem; margin-top: 1.5rem; padding: 1rem 1.15rem; border: 1px solid rgba(167,139,250,.26); border-radius: 1rem; background: rgba(167,139,250,.08); }
.privacy-note strong { flex: 0 0 auto; color: #ddd6fe; }
.privacy-note span { color: rgba(255,255,255,.62); line-height: 1.55; }
.consent-form { display: grid; gap: 1.25rem; margin-top: 3rem; }
.form-section { padding: 2rem; border: 1px solid var(--border); border-radius: 1.6rem; background: rgba(10,7,13,.88); box-shadow: 0 24px 70px rgba(0,0,0,.2); }
.form-section-heading { display: flex; align-items: flex-start; gap: 1rem; margin-bottom: 1.7rem; }
.form-section-heading > span { display: grid; flex: 0 0 42px; height: 42px; place-items: center; border-radius: 50%; background: linear-gradient(135deg,var(--violet),var(--pink)); font-weight: 900; }
.form-section-heading h2 { margin: 0; font-size: 1.55rem; }
.form-section-heading p { margin: .35rem 0 0; color: var(--muted); line-height: 1.55; }
.consent-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.15rem; }
.consent-grid .wide { grid-column: 1/-1; }
.consent-grid label > span, .other-conditions > span, .question-details > span { display: block; margin-bottom: .45rem; font-size: .9rem; font-weight: 850; }
.consent-grid label > small { display: block; margin: -.2rem 0 .45rem; color: rgba(255,255,255,.42); font-size: .76rem; }
.question-list { display: grid; gap: .8rem; }
.screening-question { min-width: 0; margin: 0; padding: 1.2rem; border: 1px solid var(--border); border-radius: 1rem; background: rgba(255,255,255,.025); }
.screening-question legend { width: 100%; padding: 0; color: rgba(255,255,255,.9); font-weight: 800; line-height: 1.55; }
.yes-no { display: flex; gap: .65rem; margin-top: .9rem; }
.yes-no label { display: flex; align-items: center; gap: .45rem; min-width: 86px; padding: .65rem .85rem; border: 1px solid var(--border); border-radius: 999px; background: rgba(0,0,0,.2); cursor: pointer; }
.yes-no input, .agreement-check input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0; accent-color: var(--pink); }
.question-details { display: block; margin-top: .9rem; }
.question-details input:disabled { opacity: .45; }
.other-conditions { display: block; margin-top: .4rem; }
.agreement-copy { padding: 1.2rem 1.3rem; border-left: 3px solid var(--pink); border-radius: 0 1rem 1rem 0; background: rgba(236,72,153,.07); color: rgba(255,255,255,.72); line-height: 1.7; }
.agreement-copy p { margin: 0; }
.agreement-copy p + p { margin-top: 1rem; }
.agreement-check { display: flex; align-items: flex-start; gap: .75rem; margin: 1.2rem 0; color: rgba(255,255,255,.84); font-weight: 750; line-height: 1.55; }
.signature-wrap { margin-top: 1.4rem; }
.signature-label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .55rem; font-weight: 850; }
.signature-pad { display: block; width: 100%; height: 190px; border: 1px solid rgba(244,114,182,.35); border-radius: 1rem; background: rgba(255,255,255,.045); cursor: crosshair; touch-action: none; }
.signature-help { margin: .5rem 0 0; color: var(--muted); font-size: .8rem; }
.signature-meta { margin-top: 1.2rem; }
.signature-meta input[readonly] { color: rgba(255,255,255,.64); }
.consent-submit-bar { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: 1.2rem; border: 1px solid var(--border); border-radius: 1.2rem; background: rgba(9,7,12,.92); }
.consent-submit-bar p { max-width: 590px; margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.55; }
.consent-submit-bar .button { flex: 0 0 auto; }
.consent-response strong, .consent-response span { display: block; }
.about-layout { width: min(1400px,100%); margin: auto; display: grid; grid-template-columns: .92fr 1.08fr; gap: 4rem; }
.about-art { position: relative; min-height: 720px; overflow: hidden; border: 1px solid var(--border); border-radius: 2rem; }
.about-art img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.about-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.88),transparent 48%); }
.about-art p { position: absolute; z-index: 2; left: 2rem; bottom: 2rem; max-width: 270px; color: rgba(255,255,255,.7); text-transform: uppercase; letter-spacing: .18em; font-weight: 800; font-size: .8rem; }
.about-copy { align-self: center; padding: 2rem 0; }
.about-story { max-width: 48rem; margin: 2rem 0 0; color: rgba(255,255,255,.62); font-size: 1.15rem; line-height: 1.85; }
.principles { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; margin-top: 3rem; }
.principles article { padding: 1.35rem; border: 1px solid var(--border); border-radius: 1.1rem; background: rgba(255,255,255,.04); }
.principles span { color: var(--pink); font-size: .75rem; font-weight: 900; }
.principles h2 { margin: 2rem 0 .25rem; font-size: 1.05rem; }
.principles p { margin: 0; color: rgba(255,255,255,.5); font-size: .85rem; line-height: 1.5; }
.location-line { margin-top: 2rem; color: rgba(255,255,255,.55); }
.gallery-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.gallery-grid { margin-top: 3.5rem; columns: 3 280px; column-gap: 1.25rem; }
.gallery-grid figure { position: relative; margin: 0 0 1.25rem; break-inside: avoid; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius); background: rgba(255,255,255,.04); }
.gallery-grid img { width: 100%; min-height: 320px; object-fit: cover; }
.gallery-grid figcaption { position: absolute; inset: auto 0 0; padding: 4rem 1.5rem 1.25rem; background: linear-gradient(transparent,rgba(0,0,0,.9)); font-weight: 800; font-size: .9rem; }
.gallery-empty { position: relative; min-height: 420px; margin-top: 3.5rem; overflow: hidden; display: flex; align-items: end; padding: 3rem; border: 1px solid var(--border); border-radius: 2rem; background: #000; }
.gallery-empty > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .34; }
.gallery-empty::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.48); }
.gallery-empty > div { position: relative; z-index: 2; max-width: 700px; }
.gallery-empty span { color: var(--pink); font-size: 2.2rem; }
.gallery-empty h2 { margin: 1rem 0 .7rem; font-size: clamp(2rem,5vw,3.7rem); }
.gallery-empty p { margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.site-footer { border-top: 1px solid var(--border); background: #000; padding: 2rem 3rem; }
.footer-inner { width: min(1400px,100%); margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.footer-logo { height: 38px; width: auto; max-width: 180px; }
.footer-links { display: flex; gap: 1.3rem; color: rgba(255,255,255,.5); font-size: .85rem; }
.footer-links a:hover { color: white; }
.studio-body { background: #09070c; }
.login-shell { min-height: 100svh; display: grid; place-items: center; padding: 1.5rem; }
.login-card { width: min(440px,100%); padding: 2rem; border: 1px solid var(--border); border-radius: 2rem; background: rgba(10,7,13,.92); box-shadow: 0 30px 100px rgba(0,0,0,.6); }
.login-card > img { height: 66px; width: auto; max-width: 280px; margin-bottom: 2rem; }
.login-card h1 { margin: .8rem 0; font-size: 2rem; }
.login-card > p:not(.eyebrow):not(.alert) { color: var(--muted); line-height: 1.6; }
.login-card label, .password-card label, .editor-grid label, .repeat-card label { display: block; }
.login-card label > span, .password-card label > span, .editor-grid label > span, .repeat-card label > span { display: block; margin-bottom: .45rem; font-size: .88rem; font-weight: 800; }
input, textarea, select { width: 100%; border: 1px solid rgba(255,255,255,.14); border-radius: .75rem; background: rgba(0,0,0,.28); color: white; padding: .8rem .9rem; }
select option { background: #17111d; color: white; }
textarea { resize: vertical; line-height: 1.6; }
.login-card input { margin-bottom: 1rem; }
.login-card .text-link { display: block; margin-top: 1.2rem; text-align: center; font-size: .85rem; }
.studio-header { border-bottom: 1px solid var(--border); background: rgba(0,0,0,.72); padding: 1rem 2rem; }
.studio-header, .studio-header > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.studio-header img { height: 48px; width: auto; max-width: 220px; }
.studio-header span { color: var(--pink); text-transform: uppercase; letter-spacing: .15em; font-size: .75rem; font-weight: 900; }
.text-button { border: 0; background: transparent; color: rgba(255,255,255,.6); cursor: pointer; }
.studio-wrap { width: min(1280px,calc(100% - 40px)); margin: auto; padding: 3rem 0 5rem; }
.studio-heading h1 { margin: 1rem 0 .5rem; font-size: clamp(3rem,7vw,6rem); line-height: .9; }
.studio-heading h1 span { color: var(--pink); }
.studio-heading p { margin: 0; color: var(--muted); }
.tabs { margin-top: 2.5rem; }
.tab-list { display: inline-flex; flex-wrap: wrap; gap: .25rem; padding: .3rem; border-radius: 999px; background: rgba(255,255,255,.08); }
.tab-list button { padding: .7rem 1.1rem; border: 0; border-radius: 999px; background: transparent; color: rgba(255,255,255,.6); font-weight: 800; cursor: pointer; }
.tab-list button.active { background: var(--pink); color: white; }
.tab-panel { display: none; margin-top: 1.5rem; }
.tab-panel.active { display: block; }
.form-hidden { display: none; }
.editor-grid, .editor-section, .password-card { padding: 2rem; border: 1px solid var(--border); border-radius: var(--radius); background: rgba(255,255,255,.035); }
.editor-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.35rem; }
.editor-grid .wide { grid-column: 1/-1; }
.editor-grid small { display: block; min-height: 1.2rem; margin: -.2rem 0 .5rem; color: rgba(255,255,255,.35); font-size: .75rem; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.section-heading h2, .password-card h2 { margin: 0; font-size: 1.5rem; }
.section-heading p, .password-card p { margin: .35rem 0 0; color: rgba(255,255,255,.5); font-size: .86rem; }
.repeat-list { display: grid; gap: 1rem; margin-top: 1.5rem; }
.repeat-card { display: grid; grid-template-columns: 1fr 1.4fr 180px auto auto; align-items: end; gap: .9rem; padding: 1.1rem; border: 1px solid var(--border); border-radius: 1rem; background: rgba(0,0,0,.25); }
.repeat-card.gallery-row { grid-template-columns: 1.4fr 1fr 1fr auto auto; }
.repeat-card .check { display: flex; align-items: center; gap: .45rem; min-height: 45px; color: rgba(255,255,255,.65); font-size: .85rem; }
.repeat-card .check input { width: 18px; height: 18px; margin: 0; accent-color: var(--pink); }
.repeat-card .remove { min-height: 44px; border: 1px solid rgba(248,113,113,.28); background: rgba(248,113,113,.11); color: #fecaca; cursor: pointer; }
.save-bar { position: sticky; bottom: 0; z-index: 4; display: flex; justify-content: end; margin-top: 1.2rem; padding: 1rem; border: 1px solid var(--border); border-radius: 1rem; background: rgba(9,7,12,.88); backdrop-filter: blur(14px); }
.calendar-admin-stack { display: grid; gap: 1.25rem; }
.calendar-settings-form { display: grid; gap: 1.8rem; }
.weekly-hours { display: grid; gap: .65rem; }
.hours-row { display: grid; grid-template-columns: minmax(150px,1fr) 180px 180px; align-items: end; gap: .8rem; padding: .9rem 1rem; border: 1px solid var(--border); border-radius: 1rem; background: rgba(0,0,0,.22); }
.hours-row label > span, .compact-form label > span { display: block; margin-bottom: .4rem; font-size: .82rem; font-weight: 850; }
.hours-row .day-check { align-self: center; display: flex; align-items: center; gap: .65rem; }
.hours-row .day-check input { width: 20px; height: 20px; margin: 0; accent-color: var(--pink); }
.hours-row .day-check span { margin: 0; }
.calendar-rules { padding: 0; border: 0; background: transparent; }
.notification-settings { display: grid; gap: 1.2rem; padding-top: 1.6rem; border-top: 1px solid var(--border); }
.calendar-actions-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.compact-form { display: grid; align-content: start; gap: 1rem; }
.two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.compact-form .check, .notification-settings .check { display: flex; align-items: flex-start; gap: .65rem; color: rgba(255,255,255,.68); font-size: .85rem; line-height: 1.45; }
.compact-form .check input, .notification-settings .check input { flex: 0 0 auto; width: 18px; height: 18px; margin: .1rem 0 0; accent-color: var(--pink); }
.admin-list { display: grid; gap: .7rem; margin-top: 1.25rem; }
.admin-list article { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: 1rem; background: rgba(0,0,0,.22); }
.admin-list article > div { min-width: 0; display: grid; gap: .3rem; }
.admin-list article span { color: var(--muted); font-size: .84rem; line-height: 1.5; overflow-wrap: anywhere; }
.admin-list .remove { min-height: 40px; padding: .55rem .9rem; border: 1px solid rgba(248,113,113,.28); background: rgba(248,113,113,.11); color: #fecaca; cursor: pointer; }
.empty-note { margin: 1.2rem 0 0; color: var(--muted); }
.password-card { max-width: 680px; }
.password-card label { margin: 1.4rem 0 1rem; }
.alert { margin: 1.25rem 0; padding: .9rem 1rem; border-radius: .9rem; font-weight: 700; }
.alert.success { border: 1px solid rgba(74,222,128,.3); background: rgba(74,222,128,.1); color: #bbf7d0; }
.alert.error { border: 1px solid rgba(248,113,113,.3); background: rgba(248,113,113,.1); color: #fecaca; }
.forms-admin-grid { display: grid; gap: 1.2rem; }
.form-delivery-card { display: grid; gap: 1.2rem; }
.delivery-status { display: grid; gap: .35rem; padding: 1rem 1.1rem; border: 1px solid; border-radius: 1rem; }
.delivery-status.ready { border-color: rgba(74,222,128,.3); background: rgba(74,222,128,.08); }
.delivery-status.needs-setup { border-color: rgba(251,191,36,.3); background: rgba(251,191,36,.08); }
.delivery-status span { color: var(--muted); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.delivery-status strong { overflow-wrap: anywhere; }
.privacy-guidance { margin: 0; color: var(--muted); line-height: 1.65; }
.studio-form-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
@media (max-width: 1050px) {
  .home-card, .about-layout { grid-template-columns: 1fr; }
  .home-art { min-height: 580px; }
  .home-art::after { background: linear-gradient(0deg,#09070c,transparent 45%); }
  .schedule-layout { grid-template-columns: 1fr; gap: 3rem; }
  .booking-card { position: static; }
  .about-art { min-height: 520px; }
  .repeat-card, .repeat-card.gallery-row { grid-template-columns: 1fr 1fr; }
  .calendar-actions-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .site-header { height: auto; min-height: 78px; }
  .header-inner { width: min(100% - 24px,1500px); flex-wrap: wrap; padding: .7rem 0; }
  .brand-logo { height: 42px; max-width: 145px; }
  .main-nav { width: 100%; justify-content: space-between; }
  .main-nav a { padding: .55rem .4rem; font-size: .75rem; }
  .home-shell, .page-main { padding: 1rem .75rem 3rem; }
  .home-card { min-height: 0; }
  .home-copy { padding: 2rem 1.35rem; }
  .hero-title { font-size: clamp(3.6rem,19vw,6rem); }
  .hero-copy { font-size: 1rem; }
  .home-art { min-height: 480px; }
  .art-logo { top: 1rem; right: 1rem; }
  .home-art p { right: 1.2rem; bottom: 1.2rem; }
  .page-title { font-size: clamp(3.3rem,18vw,6rem); }
  .service-card { grid-template-columns: 48px 1fr auto; padding: 1.25rem; gap: .8rem; }
  .service-price { grid-column: 2; }
  .service-select { grid-column: 3; grid-row: 1/3; }
  .gallery-heading, .footer-inner, .section-heading { align-items: flex-start; flex-direction: column; }
  .about-layout { gap: 2rem; }
  .about-art { min-height: 430px; }
  .principles, .editor-grid, .repeat-card, .repeat-card.gallery-row { grid-template-columns: 1fr; }
  .editor-grid .wide { grid-column: auto; }
  .site-footer { padding: 2rem 1.25rem; }
  .footer-links { flex-wrap: wrap; }
  .studio-header { padding: .8rem 1rem; }
  .studio-header > div { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .studio-header img { height: 40px; max-width: 160px; }
  .studio-wrap { width: min(100% - 24px,1280px); padding-top: 2rem; }
  .editor-grid, .editor-section, .password-card { padding: 1.2rem; }
  .consent-grid { grid-template-columns: 1fr; }
  .consent-grid .wide { grid-column: auto; }
  .form-section { padding: 1.2rem; }
  .privacy-note, .consent-submit-bar { align-items: stretch; flex-direction: column; }
  .consent-submit-bar .button { width: 100%; }
  .signature-pad { height: 160px; }
  .hours-row { grid-template-columns: 1fr 1fr; }
  .hours-row .day-check { grid-column: 1/-1; }
  .admin-list article { align-items: flex-start; flex-direction: column; }
  .admin-list article form, .admin-list article button { width: 100%; }
  .save-bar .button { width: 100%; }
}
