/* deckhaus — premium overlays. Dossier sheet: ink brief panel + paper form, one lime gesture. */
.ovl{background:rgba(10,10,11,.62);backdrop-filter:blur(14px) saturate(1.04);-webkit-backdrop-filter:blur(14px) saturate(1.04);align-items:center;padding:clamp(12px,4vh,56px) clamp(12px,3vw,40px)}
.ovl.on{animation:ovl-fade .24s ease both}
@keyframes ovl-fade{from{opacity:0}to{opacity:1}}
.sheet--pro{width:min(1040px,100%);margin:auto;padding:0;overflow:hidden;border-radius:18px;border:1px solid var(--border-subtle);background:var(--sand-050);box-shadow:0 70px 130px -50px rgba(0,0,0,.7);animation:pro-sheet .52s cubic-bezier(.16,1,.3,1) both}
@keyframes pro-sheet{from{opacity:0;transform:translateY(22px) scale(.986)}to{opacity:1;transform:none}}
.sheet--pro .x{top:clamp(14px,1.4vw,20px);right:clamp(14px,1.4vw,20px);z-index:6;background:var(--sand-050)}
.pro{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);min-height:min(78vh,640px)}
/* ink brief side */
.pro-side{position:relative;background:var(--ink-900);color:var(--paper);padding:clamp(26px,3vw,46px);display:flex;flex-direction:column;overflow:hidden}
.pro-side>*{position:relative}
.pro-side .tex{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(244,244,239,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(244,244,239,.05) 1px,transparent 1px);background-size:54px 54px}
.pro-side .mk{position:absolute;right:-14%;bottom:-10%;width:64%;opacity:.055;pointer-events:none}
.pro-k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--lime-500);display:flex;align-items:center;gap:10px}
.pro-k::before{content:"";width:22px;height:1px;background:var(--lime-500);flex:none}
.pro-h{font-family:var(--font-display);font-weight:400;letter-spacing:0;font-size:clamp(26px,2.5vw,38px);line-height:1.1;margin:clamp(18px,2vw,26px) 0 0;color:var(--paper);max-width:18ch;text-wrap:balance}
.pro-sub{font-size:15.5px;line-height:1.6;color:#9A9AA4;margin:15px 0 0;max-width:32ch;text-wrap:pretty}
.pro-steps{list-style:none;margin:auto 0 0;padding:clamp(22px,2.6vw,36px) 0 0;display:grid;gap:0}
.pro-steps li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid rgba(244,244,239,.14)}
.pro-steps b{font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.14em;color:var(--lime-500)}
.pro-steps span{font-size:14.5px;line-height:1.45;color:#C2C2CB}
.pro-note{margin-top:clamp(18px,2.2vw,28px);padding-top:15px;border-top:1px solid rgba(244,244,239,.14);font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7C7C86;line-height:1.8}
/* paper form side */
.pro-main{position:relative;padding:clamp(26px,3vw,46px);display:flex;flex-direction:column}
.pro-bar{position:absolute;left:0;top:0;right:0;height:2px;background:var(--border-subtle)}
.pro-bar i{display:block;height:100%;width:0;background:var(--lime-500);transition:width .5s cubic-bezier(.16,1,.3,1)}
.pro-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.pro-title{font-family:var(--font-display);font-weight:400;letter-spacing:0;font-size:clamp(21px,2vw,29px);line-height:1.14;margin:0;color:var(--ink-900)}
.pro-main .fgrid{gap:clamp(15px,1.7vw,21px);margin-top:clamp(18px,2vw,26px)}
.pro-main .f2{gap:clamp(15px,1.7vw,21px)}
.pro-main label{display:block}
.pro-main .lbl{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:5px}
.pro-main input[type=text],.pro-main input[type=email],.pro-main input[type=url],.pro-main textarea{width:100%;box-sizing:border-box;background:transparent;border:0;border-bottom:1px solid var(--border-default);border-radius:0;padding:9px 0;font-family:var(--font-sans);font-size:16px;color:var(--ink-900);transition:border-color .2s ease,box-shadow .2s ease}
.pro-main textarea{min-height:74px;resize:vertical;line-height:1.5}
.pro-main input::placeholder,.pro-main textarea::placeholder{color:color-mix(in srgb,var(--ink-900) 30%,transparent)}
.pro-main input:focus,.pro-main textarea:focus{outline:none;border-bottom-color:var(--lime-500);box-shadow:0 1px 0 0 var(--lime-500)}
.pro-main .upl{border:1px dashed var(--border-strong);border-radius:8px;padding:clamp(13px,1.5vw,18px);gap:14px;align-items:center}
.pro-main .upl:hover{border-color:color-mix(in srgb,var(--lime-500) 60%,var(--border-strong))}
.pro-main .upl.drag{border-color:var(--lime-500);background:var(--lime-tint)}
.pro-main .upl .ic{width:34px;height:34px;border-radius:8px;border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:14px;color:var(--text-secondary);flex:none;transition:border-color .2s,color .2s}
.pro-main .upl.has .ic{border-color:var(--lime-500);color:var(--text-accent)}
.pro-main .upl .ut{display:block;font-size:15px;color:var(--ink-900)}
.pro-submit{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:clamp(18px,2.2vw,28px);border-top:1px solid var(--border-subtle)}
/* staged entrance */
.ovl.on .pro-side,.ovl.on .pro-main>*{animation:pro-in .55s cubic-bezier(.16,1,.3,1) both}
.ovl.on .pro-side{animation-delay:.04s}
.ovl.on .pro-main>.pro-bar{animation:none}
.ovl.on .pro-main>*:nth-child(2){animation-delay:.1s}
.ovl.on .pro-main>*:nth-child(3){animation-delay:.15s}
.ovl.on .pro-main>*:nth-child(4){animation-delay:.2s}
.ovl.on .pro-main>*:nth-child(5){animation-delay:.25s}
@keyframes pro-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* success — the sheet turns to ink */
.sheet--pro.sent{background:var(--ink-900);border-color:rgba(244,244,239,.14)}
.sheet--pro.sent .pro{grid-template-columns:1fr;min-height:min(56vh,440px)}
.sheet--pro.sent .pro-side,.sheet--pro.sent .pro-hide,.sheet--pro.sent .pro-bar{display:none}
.sheet--pro.sent .pro-main{background:var(--ink-900);justify-content:center;padding:clamp(32px,4.4vw,72px)}
.sheet--pro.sent .x{background:transparent;border-color:rgba(244,244,239,.28);color:var(--paper)}
.sheet--pro.sent .x:hover{border-color:var(--lime-500);color:var(--lime-500)}
.sheet--pro .ok{padding:0}
.sheet--pro .ok h4{font-family:var(--font-display);font-weight:400;letter-spacing:0;font-size:clamp(26px,3vw,44px);line-height:1.1;color:var(--paper);margin:clamp(16px,2vw,24px) 0 0;max-width:20ch;text-wrap:balance}
.sheet--pro .ok>p{font-size:16px;line-height:1.62;color:#9A9AA4;margin:16px 0 0;max-width:46ch;text-wrap:pretty}
.pro-ok-k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--lime-500);display:flex;align-items:center;gap:10px}
.pro-ok-k::before{content:"";width:26px;height:1px;background:var(--lime-500);flex:none}
.pro-next{margin:clamp(22px,2.6vw,34px) 0 0;border-top:1px solid rgba(244,244,239,.14)}
.pro-next div{display:grid;grid-template-columns:30px 1fr auto;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(244,244,239,.14)}
.pro-next b{font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.14em;color:var(--lime-500)}
.pro-next span{font-size:15px;color:#C2C2CB}
.pro-next em{font-style:normal;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#7C7C86}
.sheet--pro .ok .btn-ghost{border-color:rgba(244,244,239,.28);color:var(--paper);margin-top:clamp(22px,2.6vw,32px)}
.sheet--pro .ok .btn-ghost:hover{background:rgba(244,244,239,.06);color:var(--paper)}
@media(max-width:860px){.pro{grid-template-columns:1fr;min-height:0}.pro-side{padding-bottom:clamp(22px,4vw,30px)}.pro-steps{margin-top:22px}.sheet--pro{width:min(560px,100%)}}
@media (prefers-reduced-motion:reduce){.ovl.on,.sheet--pro,.ovl.on .pro-side,.ovl.on .pro-main>*{animation:none}.pro-bar i{transition:none}}
