
/* Persistent contact form: theme inherits the site's own typography and colours. */
body{padding-bottom:150px!important}.contact-dock{position:fixed;inset:auto 0 0;z-index:40;background:var(--bg);color:var(--ink);border-top:2px solid var(--accent);box-shadow:0 -8px 35px #00000018;padding:14px clamp(20px,3vw,48px) max(12px,env(safe-area-inset-bottom));isolation:isolate}.contact-dock-inner{max-width:1600px;margin:auto;display:grid;grid-template-columns:230px 1fr;gap:35px;align-items:center}.dock-phone{display:grid;gap:1px}.dock-phone-label{font-size:10px;line-height:1.5;opacity:.8}.dock-number{font-size:21px;font-weight:600;line-height:1.35;white-space:nowrap;letter-spacing:-.03em}.dock-phone small{font-size:9px;line-height:1.4;opacity:.8}.dock-form{display:grid;grid-template-columns:1fr 1.15fr auto;gap:12px;align-items:end}.dock-form label{font-size:11px;line-height:1.3;display:block}.dock-form input{display:block;min-width:0;width:100%;height:44px;min-height:44px;padding:10px 12px;margin:5px 0 0;border:1px solid var(--line);border-radius:var(--radius,0);background:var(--field);color:var(--ink);font:inherit;font-size:14px}.dock-form button{height:44px;min-height:44px;margin:0;padding:10px 22px;background:var(--accent);color:var(--button-ink);border:0;border-radius:var(--radius,0);font-size:13px;font-weight:600;white-space:nowrap}.dock-caption{grid-column:1/-1;font-size:10px;line-height:1.4;margin:0;opacity:.85}.dock-caption [data-dock-status]{font-weight:600}.contact-dock .dock-title{font-size:12px;font-weight:600;grid-column:1/-1;line-height:1.2;margin-bottom:-3px}.contact-dock input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-dock [data-dock-status]:empty{display:none}.pixel .contact-dock{background:#fff8ee}.workshop .contact-dock{background:#fff}.personal .contact-dock{background:#edddcf}.studio .contact-dock{background:#171b1b}.booking .contact-dock{background:#fffdfa}
@media(max-width:1000px){.contact-dock-inner{grid-template-columns:195px 1fr;gap:20px}.dock-form{grid-template-columns:1fr auto}.dock-form .dock-name{display:none}.dock-number{font-size:18px}}
@media(max-width:640px){body{padding-bottom:200px!important}.contact-dock{padding:11px 16px max(12px,env(safe-area-inset-bottom))}.contact-dock-inner{grid-template-columns:1fr;gap:9px}.dock-phone{grid-template-columns:1fr auto;gap:0 10px;align-items:center}.dock-phone-label{font-size:9px}.dock-number{font-size:17px;grid-column:2;grid-row:1/3}.dock-phone small{font-size:8px}.dock-form{gap:8px;grid-template-columns:minmax(0,1fr) auto}.contact-dock .dock-title{font-size:11px;margin:0}.dock-form label{font-size:10px}.dock-form input{font-size:14px}.dock-form button{padding:10px 12px;font-size:11px}.dock-caption{font-size:8px}.mobile-request{display:none!important}}
@media(max-height:450px) and (min-width:641px){body{padding-bottom:120px!important}.contact-dock{padding-top:8px;padding-bottom:8px}.contact-dock .dock-title{display:none}}

/* Fixed headers, a standalone request section, and a mobile-only bottom form. */
body{padding-bottom:0!important}html{scroll-padding-top:145px}header.pixel-header,header.personal-header,header.studio-header,header.booking-header,header.work-header{position:sticky;top:0;z-index:50;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 3px 15px #00000008;gap:20px}.header-contacts{display:flex;gap:22px;align-items:center;flex-shrink:0}.header-phone{display:grid;line-height:1.4}.header-phone>span{font-size:9px;opacity:.75}.header-phone>strong{font-size:18px;white-space:nowrap;font-weight:600;letter-spacing:-.03em}.header-request{display:block;background:var(--accent);color:var(--button-ink);padding:12px 20px;font-size:12px;font-weight:600;border-radius:var(--radius,0);min-height:44px;white-space:nowrap}.work-header{margin-left:240px;padding:18px 45px;display:flex;justify-content:space-between;align-items:center}.work-header>a{font-weight:600;font-size:12px}.work-header .header-contacts{margin-left:auto}.standalone-request{margin:55px 5% 80px;padding:50px;border:1px solid var(--line);background:var(--bg);color:var(--ink);display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.standalone-request h2{font-size:40px;margin-top:15px}.standalone-request .close-dialog{display:none}.workshop .standalone-request{margin-left:calc(240px + 45px);margin-right:45px}.studio .standalone-request{background:#212626}.studio .standalone-request h2{font-family:'Unbounded',sans-serif;font-size:30px}.standalone-request .form-shell{grid-column:2;grid-row:1/3}.contact-dock{display:none}.studio-header nav,.booking-header>span{flex-shrink:1}.pixel-header>a:last-child:not(.logo),.personal-header>.personal-contact{display:none}#request{scroll-margin-top:135px}
@media(max-width:1100px){.pixel-header .header-city,.personal-header nav,.studio-header nav,.booking-header nav{display:none}.header-contacts{gap:14px}.header-phone>strong{font-size:16px}.header-request{padding:12px 15px}.work-header{margin-left:190px;padding:18px 24px}.workshop .standalone-request{margin-left:214px;margin-right:24px}.standalone-request{gap:30px;padding:35px}.standalone-request h2{font-size:31px}}
@media(max-width:640px){body{padding-bottom:190px!important}html{scroll-padding-top:160px}header.pixel-header,header.personal-header,header.studio-header,header.booking-header{padding:13px 18px;display:flex;flex-wrap:wrap;gap:10px}.header-contacts{flex:1;justify-content:flex-end;gap:10px}.header-phone>span{font-size:8px}.header-phone>strong{font-size:14px}.header-request{font-size:10px;padding:10px 11px;min-height:40px}.pixel-header .logo{font-size:20px}.personal-brand{font-size:17px}.studio-brand{font-size:16px}.pusk-logo{font-size:22px}.header-phone{min-width:0}.work-header{margin:0;padding:13px 18px;flex-wrap:wrap;gap:8px}.work-header>a{font-size:18px}.work-header .header-contacts{gap:10px}.workshop .rail{display:none}.standalone-request,.workshop .standalone-request{margin:40px 24px;padding:25px;grid-template-columns:1fr;gap:20px}.standalone-request .form-shell{grid-column:auto;grid-row:auto}.standalone-request h2{font-size:29px}.studio .standalone-request h2{font-size:26px}.contact-dock{display:block;z-index:40}.header-contacts{flex-basis:100%;justify-content:space-between}.personal-header .header-contacts,.studio-header .header-contacts,.booking-header .header-contacts{flex-basis:100%}#request{scroll-margin-top:155px}}

html{scroll-behavior:auto;scroll-padding-top:150px}#request{scroll-margin-top:0!important}

/* Production contact controls, retaining each site's own palette. */
.business-phone{font:inherit;font-weight:600;white-space:nowrap;text-decoration:none;color:inherit}
.header-phone>.business-phone{font-size:18px;line-height:1.4}
.mobile-contact{display:none}
input,textarea,.input-pair>*{min-width:0;max-width:100%}textarea{resize:none}
.form-result[hidden],form[hidden],fieldset[hidden]{display:none!important}
.form-note{font-size:12px;line-height:1.6;margin-top:16px;color:var(--ink);opacity:.8}
.legal-contact{display:block;overflow-wrap:anywhere;font-size:11px;line-height:1.6}
.form-result{overflow-wrap:anywhere;max-width:100%;scroll-margin-top:160px}
.form-result h3{line-height:1.25}
@media(max-width:640px){
 body{padding-bottom:88px!important}
 .header-phone>.business-phone{font-size:15px}
 .mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:var(--bg);color:var(--ink);border-top:1px solid var(--line)}
 .mobile-contact>div{min-width:0;font-size:14px;font-weight:600}
 .mobile-contact a{text-decoration:none;color:inherit}
 .mobile-contact .mobile-contact-request{padding:12px 14px;min-height:44px;background:var(--accent);color:var(--button-ink);font-size:12px;font-weight:600;border-radius:var(--radius,0);white-space:nowrap}
 .standalone-request,.workshop .standalone-request{margin-left:18px;margin-right:18px;padding:22px;gap:20px}
 .standalone-request .form-shell{min-width:0}
 .form-result h3{font-size:24px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
