/* ZAI FILMS V18 — Booking / studio inquiries */
.header-book.active{color:#0a0908;background:var(--gold)}
.booking-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);min-height:680px;margin-top:84px;border-bottom:1px solid var(--line);overflow:hidden}
.booking-hero-copy{position:relative;z-index:1;padding:clamp(95px,8vw,150px) 20px 135px clamp(25px,7.6vw,140px);display:flex;flex-direction:column;align-items:start;justify-content:center;background:radial-gradient(ellipse at -35% 65%,rgba(245,130,22,.10),transparent 52%)}
.booking-eyebrow{font-size:11px;color:#d6a371;letter-spacing:.23em;font-weight:800;display:flex;align-items:center;gap:15px}
.booking-eyebrow span{width:26px;height:2px;background:var(--gold)}
.booking-hero h1{font-family:'DM Sans',Manrope,sans-serif;font-size:clamp(68px,8.6vw,153px);font-weight:800;line-height:.94;letter-spacing:-.085em;margin:42px 0 28px}
.booking-hero h1 em{color:var(--gold);font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em;font-style:italic}
.booking-hero-deck{font-size:clamp(14px,1.2vw,18px);line-height:1.85;color:#c4c0b9;max-width:570px;margin:0}
.booking-hero-actions{margin-top:35px;display:flex;gap:25px;align-items:center;flex-wrap:wrap}
.book-link{font-size:13px;font-weight:750;color:#ede8df;transition:color .2s}
.book-link span{color:var(--gold);padding-left:8px}.book-link:hover{color:var(--gold)}
.booking-hero-art{position:relative;overflow:hidden;background:radial-gradient(circle at 53% 49%,#392011 0%,#15100e 34%,#090a0b 75%);border-left:1px solid #ffffff12}
.booking-hero-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 61px,rgba(255,255,255,.032) 62px 63px),repeating-linear-gradient(90deg,transparent 0 61px,rgba(255,255,255,.03) 62px 63px);mask-image:linear-gradient(to bottom,transparent,#000 15%,#000 85%,transparent)}
.booking-art-circles{position:absolute;inset:50% auto auto 50%;width:clamp(260px,37vw,580px);height:clamp(260px,37vw,580px);border:1px solid rgba(245,130,22,.36);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 70px rgba(245,130,22,.035),0 0 0 140px rgba(245,130,22,.021),inset 0 0 100px #f582160d}
.booking-art-circles:before,.booking-art-circles:after{content:"";position:absolute;border:1px solid #f582163c;border-radius:50%;inset:18%}
.booking-art-circles:after{inset:34%;border-color:#f5821654}
.booking-art-word{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font-weight:800;font-family:'DM Sans',sans-serif;font-size:clamp(140px,24vw,380px);color:rgba(245,130,22,.18);letter-spacing:-.13em;padding-right:.13em}
.booking-art-line{position:absolute;top:19%;left:8%;width:76px;height:2px;background:var(--gold);box-shadow:0 0 25px #f58216}
.booking-art-caption{position:absolute;bottom:15%;left:12%;right:12%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.16em;font-weight:800;color:#cbbdb2;border-top:1px solid #ffffff45;padding-top:18px}
.booking-art-caption span{color:var(--gold)}
.booking-hero-bottom{position:absolute;bottom:35px;left:clamp(25px,7.6vw,140px);right:clamp(25px,7.6vw,140px);display:flex;justify-content:space-between;gap:20px;color:#898b8c;font-size:10px;font-weight:800;letter-spacing:.16em;z-index:2}
.booking-services{padding:112px clamp(24px,7.6vw,140px) 110px;max-width:1900px;margin:auto}
.booking-section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:42px}
.booking-section-heading h2,.booking-side h2,.booking-ending h2{font-size:clamp(38px,4.3vw,68px);line-height:1.08;letter-spacing:-.055em;margin:10px 0 0}
.booking-section-heading h2 em,.booking-side h2 em,.booking-ending h2 em{font-family:Georgia,serif;color:var(--gold);font-weight:400}
.booking-section-heading>p{max-width:370px;font-size:13px;line-height:1.85;color:#a4a4a4;margin:0}
.booking-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #ffffff35}
.booking-services-grid article{padding:33px 29px 20px 0;border-right:1px solid #ffffff16;min-height:205px}
.booking-services-grid article+article{padding-left:29px}.booking-services-grid article:last-child{border-right:0}
.service-number{font-size:11px;letter-spacing:.11em;font-weight:800;color:var(--gold)}
.booking-services-grid h3{font-size:16px;letter-spacing:-.025em;margin:27px 0 13px}
.booking-services-grid p{color:#a5a5a7;font-size:12px;line-height:1.9;margin:0}
.booking-contact{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);background:#121315;border-top:1px solid #ffffff16;border-bottom:1px solid #ffffff16;scroll-margin-top:85px}
.booking-side{padding:105px clamp(30px,5.5vw,100px) 90px clamp(24px,7.6vw,140px);position:relative;background:radial-gradient(ellipse at 95% 80%,rgba(245,130,22,.08),transparent 50%)}
.booking-side h2{font-size:clamp(47px,5.3vw,84px);margin-top:30px}
.booking-aside{font-size:15px;max-width:400px;line-height:1.95;color:#b8b4af;margin:24px 0 0}
.booking-direct{margin-top:65px;padding-top:25px;border-top:1px solid rgba(255,255,255,.2)}
.booking-direct>span{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--gold)}
.booking-direct>a{display:block;font-size:clamp(20px,2.1vw,29px);font-weight:800;letter-spacing:-.035em;margin-top:17px;overflow-wrap:anywhere}
.booking-direct>a span{color:var(--gold)}
.booking-direct>a:hover{color:var(--gold)}
.booking-direct p{color:#9d9995;max-width:320px;font-size:12px;line-height:1.85;margin-top:12px}
.booking-small-print{display:flex;align-items:center;gap:13px;margin-top:90px;color:#9b9a97;font-size:11px;letter-spacing:.07em;line-height:1.9}
.booking-small-print b{color:#e2dfda}.booking-spark{font-size:29px;color:var(--gold)}
.booking-panel{padding:clamp(32px,5vw,85px) clamp(26px,5.5vw,100px);background:#17181b;border-left:1px solid #ffffff12}
.booking-panel-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:31px;border-bottom:1px solid #ffffff23;padding-bottom:29px}
.booking-panel-kicker{color:var(--gold);font-weight:800;font-size:10px;letter-spacing:.21em}
.booking-panel-head h3{font-size:clamp(20px,2.4vw,32px);letter-spacing:-.045em;margin:13px 0 0}
.booking-panel-mark{color:var(--gold);font-size:34px;line-height:1}
#projectInquiry{display:flex;flex-direction:column;gap:22px}
.booking-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
#projectInquiry label{font-size:11px;letter-spacing:.03em;font-weight:750;color:#dad7d1;display:flex;flex-direction:column;gap:11px;min-width:0}
#projectInquiry label>span{color:var(--gold)}
#projectInquiry input,#projectInquiry select,#projectInquiry textarea{width:100%;border:1px solid rgba(255,255,255,.20);border-radius:0;background:#101113;color:#fff;padding:15px 16px;outline:none;font:500 13px Manrope,Arial,sans-serif;transition:border-color .2s,box-shadow .2s}
#projectInquiry select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23f58216' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center;padding-right:35px}
#projectInquiry select option{color:#111;background:#fff}
#projectInquiry textarea{resize:vertical;min-height:145px;line-height:1.7}
#projectInquiry input::placeholder,#projectInquiry textarea::placeholder{color:#747779}
#projectInquiry input:focus,#projectInquiry select:focus,#projectInquiry textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(245,130,22,.11)}
#projectInquiry [aria-invalid="true"]{border-color:#ef836a!important}
.booking-optional-note{display:flex;align-items:center;gap:9px;color:#a5a5a4;font-size:12px;line-height:1.6;padding:17px 4px 0}
.booking-optional-note span{color:var(--gold);font-size:22px}
.booking-form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}
.booking-copy-button{border:0;background:none;padding:12px 0;font-weight:750;font-size:12px;color:#e9e6e1;text-decoration:underline;text-decoration-color:#f58216;text-underline-offset:6px}
.booking-copy-button:hover{color:var(--gold)}
.booking-form-note{color:#8f9191;font-size:11px;line-height:1.8;margin:-7px 0 0}
.booking-feedback{font-size:12px;line-height:1.7;color:var(--gold);margin:0;min-height:0}
.booking-feedback:empty{display:none}
.booking-ending{text-align:center;padding:100px 20px 120px}
.booking-ending h2{margin:10px auto 32px}
.booking-ending .button{min-width:260px}
@media(max-width:1150px){.booking-hero{grid-template-columns:1.25fr .75fr}.booking-services-grid{grid-template-columns:repeat(2,1fr)}.booking-services-grid article:nth-child(2){border-right:0}.booking-services-grid article:nth-child(3){padding-left:0}.booking-services-grid article:nth-child(n+3){border-top:1px solid #ffffff16}.booking-contact{grid-template-columns:1fr 1.2fr}.booking-side{padding-left:clamp(30px,5vw,80px)}.booking-panel{padding:60px 35px}}
@media(max-width:800px){.booking-hero{margin-top:72px;grid-template-columns:1fr;min-height:675px}.booking-hero-art{position:absolute;inset:0;opacity:.4;border:0}.booking-hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070809 6%,#070809c2 60%,transparent)}.booking-hero-copy{padding:120px 35px 150px;min-height:675px}.booking-hero h1{font-size:clamp(66px,12vw,116px)}.booking-hero-bottom{left:35px;right:35px}.booking-contact{grid-template-columns:1fr}.booking-side{padding:76px 35px 35px}.booking-side h2{font-size:60px}.booking-small-print{margin-top:35px}.booking-panel{border-left:0;border-top:1px solid #ffffff16;padding:50px 35px 70px}.booking-services{padding:80px 35px}.booking-section-heading{align-items:start;flex-direction:column;gap:17px}}
@media(max-width:550px){.booking-hero,.booking-hero-copy{min-height:610px}.booking-hero-copy{padding:92px 24px 130px}.booking-hero h1{font-size:clamp(62px,16.5vw,93px);margin:35px 0 23px}.booking-hero-deck{font-size:14px}.booking-hero-actions{align-items:start;flex-direction:column;gap:22px}.booking-hero-bottom{left:24px;right:24px;font-size:8px}.booking-hero-bottom span:last-child{display:none}.booking-services{padding:65px 24px}.booking-services-grid{grid-template-columns:1fr}.booking-services-grid article,.booking-services-grid article+article,.booking-services-grid article:nth-child(3){padding:25px 0;border-right:0;border-top:1px solid #ffffff16;min-height:0}.booking-services-grid article:first-child{border-top:0}.booking-services-grid h3{margin-top:17px}.booking-side{padding:60px 24px 45px}.booking-side h2{font-size:54px}.booking-direct{margin-top:35px}.booking-panel{padding:38px 24px 65px}.booking-form-row{grid-template-columns:1fr;gap:22px}.booking-panel-head h3{font-size:24px}.booking-form-actions{align-items:stretch;flex-direction:column;gap:7px}.booking-form-actions .button{width:100%}.booking-ending{padding:75px 24px 90px}.booking-ending h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.booking-services-grid article,.booking-hero-art{animation:none!important}}

/* V19: real inquiry form, inline feedback and success state */
.booking-honeypot{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
#projectInquiry .booking-consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-size:12px;font-weight:500;line-height:1.7;letter-spacing:0;color:#b9bab9;cursor:pointer;margin-top:-1px}
#projectInquiry .booking-consent input[type=checkbox]{margin:3px 0 0;flex:none;appearance:auto;accent-color:#f58216;width:17px;height:17px;padding:0;box-shadow:none;cursor:pointer}
#projectInquiry .booking-consent>span{color:#b9bab9}
#projectInquiry .booking-consent>span a{color:#f9ab5c;text-decoration:underline;text-underline-offset:3px}
#projectInquiry .booking-consent[aria-invalid=true]>span{color:#f3a49a}
#projectInquiry .booking-submit{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:185px;position:relative}
#projectInquiry .booking-submit .booking-submit-arrow{display:inline-flex;align-items:center;justify-content:center}
#projectInquiry .booking-submit .booking-submit-arrow svg{display:block;width:16px!important;height:16px!important;flex:none!important;fill:none!important}
#projectInquiry .booking-submit[disabled]{opacity:.6;cursor:progress}
#projectInquiry .booking-submit[disabled] .booking-submit-arrow{opacity:.3}
.booking-feedback{max-width:650px}
.booking-feedback[data-state=error]{color:#f3a49a}
.booking-feedback[data-state=info]{color:#e8b16b}
.booking-feedback a{color:#f9ad66;text-decoration:underline;text-underline-offset:3px}
.booking-success{padding:48px 15px 48px 0;max-width:520px}
.booking-success[hidden]{display:none}
.booking-success-emblem{height:68px;width:68px;display:grid;place-items:center;border:1px solid #f58216;color:#f58216;border-radius:50%;font-size:30px;margin-bottom:30px}
.booking-success h3{font-size:clamp(30px,4vw,45px);font-weight:800;letter-spacing:-.05em;margin:12px 0 16px}
.booking-success>p:not(.booking-panel-kicker){font-size:14px;line-height:1.9;color:#c3c1bd;margin:0 0 30px}
.booking-panel.is-complete .booking-panel-head,.booking-panel.is-complete #projectInquiry{display:none}
@media(max-width:550px){.booking-success{padding:22px 0 32px}#projectInquiry .booking-submit{width:100%}}

/* V19.1 — inline required markers, level input rows, consistent field sizing */
#projectInquiry label > .booking-label-text {
  color:#dad7d1;
  display:inline-flex;
  flex-direction:row;
  align-items:baseline;
  gap:0;
  min-height:17px;
  line-height:17px;
  width:max-content;
  max-width:100%;
  white-space:normal;
}
#projectInquiry label > .booking-label-text > .booking-required {
  color:var(--gold);
  margin-left:1px;
  font-weight:800;
}
#projectInquiry .booking-form-row {align-items:start;}
#projectInquiry .booking-form-row > label {min-height:100%;}
#projectInquiry input:not([type="checkbox"]):not([type="hidden"]),
#projectInquiry select {min-height:62px;box-sizing:border-box;}
