
:root{--studio-black:#0A0A0A;--charcoal:#282828;--slate:#787870;--linen:#C8C3BE;--stone:#D2D2C8;--warm-cream:#F0EEE8;--white:#FFF;
--sans:'termina',system-ui,sans-serif;--body:'General Sans',system-ui,sans-serif;--serif:'Cormorant Garamond',serif;--mono:ui-monospace,'SF Mono',Menlo,monospace;--rule:0.5px solid var(--stone)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--warm-cream);color:var(--charcoal);font-family:var(--body);font-size:13px;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;letter-spacing:inherit}
a{color:inherit;text-decoration:none}a:hover{color:var(--studio-black)}
input{font:inherit;color:inherit}
.wordmark{font-family:var(--sans);font-weight:900;letter-spacing:0.02em;color:var(--studio-black)}
.wordmark em{font-style:normal;color:var(--slate);font-weight:300}
.wordmark .tag{display:block;margin-top:5px;font-family:var(--sans);font-size:7.5px;letter-spacing:0.3em;text-transform:uppercase;color:var(--slate);font-weight:400}
.eyebrow{font-family:var(--sans);font-weight:400;font-size:9px;letter-spacing:0.32em;text-transform:uppercase;color:var(--slate)}
.stage{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:56px 24px 72px;background:#0A0A0A}
.stage .bg{position:absolute;inset:0;overflow:hidden}
.stage .bg image-slot{position:absolute;inset:0;width:100%;height:100%;opacity:0.55;filter:grayscale(20%)}
.stage .bg::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(10,10,10,0.55),rgba(10,10,10,0.25) 45%,rgba(10,10,10,0.75)),radial-gradient(ellipse at center,rgba(10,10,10,0) 30%,rgba(10,10,10,0.5))}
.stage .plate{position:absolute;left:40px;bottom:36px;z-index:2;pointer-events:none;color:var(--warm-cream)}
.stage .plate .cap{font-family:var(--sans);font-size:8px;letter-spacing:0.32em;text-transform:uppercase;font-weight:400}
.card{position:relative;z-index:3;width:100%;max-width:420px;background:var(--warm-cream);padding:44px 48px 40px;box-shadow:0 40px 100px rgba(0,0,0,0.5)}
.card__head{display:flex;justify-content:center;margin-bottom:36px;text-align:center}
.card__head .wordmark{font-size:15px}
.card__head .wordmark .tag{letter-spacing:0.3em}
.card__foot{margin-top:40px;padding-top:18px;border-top:var(--rule);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.card__foot span,.card__foot a{font-family:var(--sans);font-size:7.5px;letter-spacing:0.24em;text-transform:uppercase;color:var(--slate);font-weight:400}
.client-id{display:flex;align-items:center;gap:14px;margin-bottom:36px}
.client-id .eyebrow{font-size:8.5px;letter-spacing:0.3em;color:var(--charcoal);font-weight:500}
.client-id .rule{flex:1;height:0.5px;background:var(--stone)}
.client-id .portal{font-family:var(--sans);font-size:8.5px;letter-spacing:0.3em;text-transform:uppercase;color:var(--slate);font-weight:400}
h1{font-family:var(--serif);font-weight:300;font-size:38px;line-height:1.02;color:var(--studio-black);letter-spacing:0.005em}
.lede{margin-top:14px;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--slate);font-weight:400;font-family:var(--sans);font-size:9px;line-height:1.9}
form{margin-top:36px;display:flex;flex-direction:column;gap:26px}
.field{display:flex;flex-direction:column;gap:9px}
.field label{font-family:var(--sans);font-size:8px;letter-spacing:0.32em;text-transform:uppercase;color:var(--slate);font-weight:400}
.field input{border:0;outline:0;background:transparent;border-bottom:0.5px solid var(--charcoal);padding:9px 0 11px;font-family:var(--sans);font-weight:300;font-size:15px;color:var(--studio-black);letter-spacing:0.02em;border-radius:0;transition:border-color .2s}
.field input::placeholder{color:var(--linen)}
.field input:focus{border-bottom-color:var(--studio-black)}
.field.is-err input{border-bottom-color:#8A3B30}
.err{display:none;align-items:baseline;gap:10px;font-size:11.5px;color:#8A3B30;letter-spacing:0.02em;line-height:1.5}
.err.is-on{display:flex}
.err::before{content:"";width:5px;height:5px;border-radius:50%;background:#8A3B30;flex-shrink:0;transform:translateY(-1px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:16px 22px;background:var(--studio-black);color:var(--warm-cream);border:0.5px solid var(--studio-black);font-family:var(--sans);font-size:10px;letter-spacing:0.3em;text-transform:uppercase;font-weight:500;transition:background .2s,gap .2s}
.btn:hover{background:var(--charcoal);gap:20px}
.btn:disabled{opacity:0.5;cursor:default;pointer-events:none;gap:14px}
.btn .arrow{width:14px;height:1px;background:currentColor;position:relative}
.btn .arrow::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:0.75px solid currentColor;border-right:0.75px solid currentColor;transform:rotate(45deg)}
.help{margin-top:26px;display:flex;flex-direction:column;gap:10px}
.help a,.help span{font-size:11.5px;color:var(--slate);letter-spacing:0.02em}
.help a{border-bottom:0.5px solid var(--stone);align-self:flex-start;padding-bottom:2px;transition:border-color .2s,color .2s}
.help a:hover{border-color:var(--studio-black)}
.panel__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.panel__foot span,.panel__foot a{font-family:var(--sans);font-size:8px;letter-spacing:0.26em;text-transform:uppercase;color:var(--slate);font-weight:400}
/* sent / reset state */
.state{display:none}
.state.is-on{display:block}
/* dark */
body.dark .card{background:#141412}
body.dark{--studio-black:#F0EEE8;--charcoal:#C8C3BE;--slate:#8A8A80;--linen:#5C5C52;--stone:#33332B;--warm-cream:#0A0A0A;--white:#141412}
body.dark .btn{color:#0A0A0A}
body.dark .field.is-err input{border-bottom-color:#C96B54}
body.dark .err{color:#C96B54}body.dark .err::before{background:#C96B54}
/* hc */
body.hc{--slate:#3E3E38;--stone:#9A968C;--linen:#8A867C;--charcoal:#1A1A16}
body.dark.hc{--slate:#CFCFC4;--stone:#5C5C50;--linen:#8A8A80;--charcoal:#E4E0DA}
/* tweaks */
.tweaks{position:fixed;bottom:24px;right:24px;width:240px;background:#0A0A0A;color:#F0EEE8;z-index:300;box-shadow:0 30px 80px rgba(0,0,0,0.45)}
.tweaks[hidden]{display:none}
.tweaks__head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:0.5px solid #282828}
.tweaks__head span{font-family:var(--sans);font-size:9px;letter-spacing:0.32em;text-transform:uppercase;color:#C8C3BE}
.tweaks__close{font-size:18px;color:#C8C3BE;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-weight:300}
.tweaks__body{padding:16px;display:flex;flex-direction:column;gap:16px}
.tweak{display:flex;flex-direction:column;gap:8px}
.tweak__label{font-family:var(--sans);font-size:8px;letter-spacing:0.32em;text-transform:uppercase;color:#8A8A80}
.tweak__seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:0.5px solid #282828}
.tweak__seg button{padding:8px 0;font-family:var(--sans);font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:#C8C3BE;border-left:0.5px solid #282828;font-weight:400}
.tweak__seg button:first-child{border-left:0}
.tweak__seg button.is-on{background:#F0EEE8;color:#0A0A0A;font-weight:600}
@media (max-width:920px){
.stage{padding:32px 16px 56px}
.card{padding:36px 28px 32px;max-width:440px}
h1{font-size:32px}
.stage .plate{left:24px;bottom:20px}
}
.stage .bg-photo{position:absolute;inset:0;width:100%;height:100%;opacity:.55;filter:grayscale(20%);background-position:center;background-size:cover;background-image:linear-gradient(135deg,#5b554b,#111)}
.btn:active{transform:scale(.98)}
.tweaks{display:none!important}
