/* optronix.co.uk/capacity: the capacity requirement form in the house document style (pages on grey). */
@font-face{font-family:'Google Sans';src:url(fonts/googlesans-latin.woff2) format('woff2');font-weight:400 700;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Google Sans';src:url(fonts/googlesans-symbols.woff2) format('woff2');font-weight:400 700;font-display:swap;
  unicode-range:U+2190-2193,U+2197-2198,U+2248,U+2260,U+2264-2265,U+221E,U+3A9}
@font-face{font-family:'JetBrains Mono';src:url(fonts/jbm-latin.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Signature';src:url(fonts/greatvibes-latin.woff2) format('woff2');font-weight:400;font-display:swap}

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --red:#8C52FF;--red2:#6E3BE6;--red3:#4E2AA8;--cyan:#5CE1E6;
  --grad:linear-gradient(90deg,#8C52FF 0%,#6FA8F0 52%,#5CE1E6 100%);
  --rt1:#F5F0FF;--ink:#0B0B12;--ink3:#1D1D2A;--body:#3C3D52;--mute:#6B6D84;--mute2:#9496AA;
  --line:#E6E6EE;--line2:#D5D5E0;--bad:#B42318;
  --font:'Google Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}
html,body{background:#5b5b6b}
body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;font-variant-ligatures:no-contextual;font-feature-settings:"calt" 0}
a{color:inherit}
.mono{font-family:var(--mono)}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.f-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* ---------- pages ---------- */
.page{width:1000px;max-width:calc(100vw - 32px);background:#fff;position:relative;overflow:hidden;margin:24px 0;box-shadow:0 10px 40px rgba(0,0,0,.35);padding-bottom:110px}
.band{position:relative;min-height:160px;padding:34px 50px 22px;color:#fff;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;overflow:hidden;
  background:radial-gradient(560px 300px at 104% -24%,rgba(140,82,255,.42),transparent 62%),radial-gradient(420px 220px at 70% 150%,rgba(92,225,230,.13),transparent 70%),linear-gradient(100deg,#08080D 0%,#0E0E15 58%,#17172A 100%)}
.band::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/40px 40px;
  -webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 30%,#000 100%)}
.band .bl{position:relative;max-width:700px}
.kick{display:flex;align-items:center;gap:11px;font-size:11.5px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--cyan);margin-bottom:11px}
.kick .no{font-family:var(--mono);font-weight:500;letter-spacing:.02em;color:#fff}
.slash{display:inline-block;width:22px;height:3px;background:var(--grad);transform:skewX(-28deg);flex:none}
.band h1,.band h2{font-size:32px;font-weight:500;letter-spacing:-.022em;line-height:1.12}
.band .sub{font-size:14.4px;line-height:1.5;color:#B9BACB;margin-top:8px;max-width:660px}
.band .brand{position:relative;flex:none}
.wm{display:block;height:40px;width:auto;margin-top:-6px}
.stripe{height:5px;background:var(--grad)}
.foot{position:absolute;left:0;right:0;bottom:0;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 50px;color:#fff;
  background:radial-gradient(400px 120px at 100% 100%,rgba(140,82,255,.30),transparent 70%),linear-gradient(90deg,#08080D,#14141F)}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad)}
.foot .tag{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#D9DAEA}
.foot .meta{display:flex;align-items:center;gap:14px;font-size:11.5px;letter-spacing:.03em;color:#B9BACB}
.foot .meta i{width:1px;height:14px;background:rgba(255,255,255,.22);display:block}
.foot .meta .pg{font-family:var(--mono);font-size:11px}
.pad{padding:34px 50px 0;position:relative}
.lbl{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red2);margin:30px 0 14px}
.lbl::after{content:"";flex:1;height:1px;background:var(--line)}
.lbl.first{margin-top:0}
.lbl .cnt{font-family:var(--mono);font-weight:500;letter-spacing:0;color:var(--mute2);text-transform:none;font-size:11px;order:3}
.body{font-size:15px;line-height:1.62;color:var(--body)}
.note{font-size:12.4px;line-height:1.6;color:var(--mute)}
.note a{color:var(--red2)}

/* ---------- cover ---------- */
.cover{height:1414px;max-height:none;padding-bottom:0;color:#fff;background:radial-gradient(820px 640px at 0% 0%,rgba(140,82,255,.34),transparent 62%),radial-gradient(900px 760px at 110% 104%,rgba(92,225,230,.20),transparent 60%),radial-gradient(700px 600px at 92% 30%,rgba(111,168,240,.12),transparent 62%),linear-gradient(150deg,#0E0E18 0%,#08080D 55%,#0A0D16 100%)}
.cover .weave{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/50px 50px,linear-gradient(0deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/50px 50px;
  -webkit-mask-image:radial-gradient(800px 700px at 70% 40%,#000,transparent 75%);mask-image:radial-gradient(800px 700px at 70% 40%,#000,transparent 75%)}
.cover .giant{position:absolute;right:-420px;top:40px;height:1120px;width:auto}
.fc-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:58px 60px 0}
.fc-top .wm{height:62px;margin:-10px 0 0 -4px}
.fc-top .doc{text-align:right;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.9;color:rgba(255,255,255,.86)}
.fc-top .doc .mono{font-weight:500;letter-spacing:.04em;font-size:12.5px;color:#fff;text-transform:none}
.fc-hero{position:relative;padding:190px 60px 0}
.cv-kick{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:22px}
.cv-kick .slash{width:26px}
.cover h1{font-size:74px;font-weight:500;line-height:1.02;letter-spacing:-.035em}
.cover h1 .gtx{font-weight:400;letter-spacing:-.03em}
.cv-sub{font-size:19.5px;line-height:1.55;color:#B9BACB;margin-top:26px;max-width:800px}
.fc-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin:84px 60px 0;border-top:1px solid rgba(255,255,255,.16)}
.fc-steps>div{padding:26px 28px 0 0}
.fc-steps>div+div{padding-left:28px;border-left:1px solid rgba(255,255,255,.16)}
.fc-steps .n{font-family:var(--mono);font-size:12px;color:var(--cyan);display:block;margin-bottom:12px}
.fc-steps b{font-size:19px;font-weight:600;letter-spacing:-.01em;display:block}
.fc-steps p{font-size:14px;line-height:1.55;color:#9A9CB4;margin-top:8px}
.fc-parties{position:absolute;bottom:100px;left:60px;right:60px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16);padding-top:30px}
.fc-parties .party{display:flex;flex-direction:column;min-height:220px;padding-right:40px}
.fc-parties .party+.party{padding:0 0 0 40px;border-left:1px solid rgba(255,255,255,.16)}
.plabel{font-family:var(--mono);font-size:10.6px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.pname{font-size:21px;font-weight:600;letter-spacing:-.01em}
.prole{font-size:14px;color:rgba(255,255,255,.88);margin-top:3px}
.pcontact{font-size:13.2px;line-height:1.7;color:#9A9CB4;margin-top:12px}
.plogo{margin-top:auto;padding-top:24px}
.plogo .wm{height:40px;margin-left:-3px}
.cv-ref{position:absolute;left:0;right:0;bottom:0;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 60px;background:rgba(0,0,0,.35);border-top:1px solid rgba(255,255,255,.10);font-size:10.8px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:#B9BACB}
.cv-ref .mono{font-weight:500;letter-spacing:.06em;font-size:11.5px;color:#fff;text-transform:none}
.cv-ref::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--grad)}

/* ---------- form layout ---------- */
.f-wrap{display:flex;justify-content:center;gap:26px;align-items:flex-start;padding:0 16px}
.f-stage{width:1000px;max-width:100%;flex:0 1 1000px;min-width:0}
.f-banner{margin:24px 0 0;background:#FEF3F2;border-left:3px solid var(--bad);padding:14px 18px;font-size:14px;line-height:1.5;color:#7A271A;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.f-rail{position:sticky;top:24px;margin-top:24px;width:230px;flex:none;background:#fff;padding:20px 18px 18px;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.f-rail .plabel{color:var(--red2);margin-bottom:10px}
.f-rail a{display:flex;gap:9px;align-items:center;font-size:13px;line-height:1.35;color:var(--body);padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none}
.f-rail a:hover{color:var(--red2)}
.f-rail a i{width:10px;height:10px;flex:none;box-shadow:inset 0 0 0 1.5px var(--line2);transform:skewX(-20deg)}
.f-rail a i.ok{background:var(--grad);box-shadow:none}
.f-reqbox{margin-top:16px}
.f-reqbox b{font-size:24px;font-weight:600;letter-spacing:-.02em}
.f-reqbox span{font-size:12.4px;color:var(--mute);margin-left:6px}
.f-bar{height:4px;background:var(--line);margin-top:8px}
.f-bar i{display:block;height:100%;width:0;background:var(--grad);transition:width .25s}
.f-keyn{font-size:12.4px;color:var(--mute);margin-top:10px}
.f-saved{font-family:var(--mono);font-size:11px;color:var(--mute2);margin-top:12px}
@media (max-width:1300px){.f-rail{display:none}}

.f-sec{margin-bottom:10px}
.f-sec .lbl{margin-top:30px}
.f-sec:first-child .lbl{margin-top:0}
.f-sub{font-size:13px;color:var(--mute);margin:-6px 0 12px}
.f-tbl{border-top:2px solid var(--ink)}
.f-row{display:grid;grid-template-columns:300px 1fr;border-bottom:1px solid var(--line);min-height:54px}
.f-l{background:#F6F6FA;padding:12px 18px 11px 16px;transition:box-shadow .15s}
.f-l label,.f-l b{display:block;font-size:13.8px;font-weight:700;color:var(--ink);letter-spacing:-.005em;line-height:1.35}
.f-l small{display:block;font-size:12px;line-height:1.4;color:var(--mute);margin-top:2px}
.f-req{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--red2);margin-left:6px;vertical-align:1px}
.f-a{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:7px 16px;min-width:0}
.f-row:focus-within .f-l{box-shadow:inset 3px 0 0 var(--red)}
.f-row:focus-within .f-a{background:linear-gradient(90deg,var(--rt1),#fff 80%)}
.f-row.miss .f-l{box-shadow:inset 3px 0 0 #E5484D}
.f-row.miss .f-l label,.f-row.miss .f-l b{color:var(--bad)}
.f-err{flex-basis:100%;font-size:12.4px;font-weight:600;color:var(--bad)}
.f-in{flex:1;min-width:0;border:0;border-bottom:1.5px solid transparent;background:transparent;font:inherit;font-size:15px;color:var(--ink);padding:7px 2px;outline:none;border-radius:0}
.f-in::placeholder{color:#B4B6C6}
.f-in:focus{border-bottom-color:var(--red)}
.f-short{flex:0 1 190px}
.f-u{font-size:13px;color:var(--mute);font-weight:500}
.f-money{flex:0 1 90px}
select.f-in{appearance:auto;cursor:pointer;flex:0 1 320px}
.f-month{display:flex;gap:10px;flex:0 1 300px}
.f-month select{flex:1}
.f-ta{resize:vertical;line-height:1.5;min-height:76px}
.f-chips{display:flex;flex-wrap:wrap;gap:6px;padding:3px 0}
.f-chip{position:relative;cursor:pointer;user-select:none}
.f-chip input{position:absolute;opacity:0;pointer-events:none}
.f-chip span{display:block;font-size:12.8px;font-weight:600;color:var(--body);border:1px solid var(--line2);padding:6px 11px;border-radius:2px;background:#fff;line-height:1.2}
.f-chip:hover span{border-color:var(--red)}
.f-chip input:checked+span{background:var(--red);border-color:var(--red);color:#fff}
.f-chip input:focus-visible+span{outline:2px solid var(--red3);outline-offset:2px}
.f-seg{display:inline-flex;border:1px solid var(--line2)}
.f-seg label{cursor:pointer;position:relative}
.f-seg input{position:absolute;opacity:0;pointer-events:none}
.f-seg span{display:block;font-family:var(--mono);font-size:12px;padding:5px 11px;color:var(--mute)}
.f-seg input:checked+span{background:var(--ink);color:#fff}
.f-seg input:focus-visible+span{outline:2px solid var(--red3)}
.f-calc{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--red2)}
.f-wk{font-size:11.5px;color:var(--mute2);font-style:italic}
.f-hint2{font-size:12px;color:#B54708;font-weight:600}
.f-row.calc .f-l{background:#F1ECFF}

.f-lead{margin:-2px 0 18px;max-width:820px}
.f-xs{border-top:2px solid var(--ink)}
.f-x{border-bottom:1px solid var(--line)}
.f-x>summary{cursor:pointer;display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:14px;padding:16px 0;list-style:none;user-select:none}
.f-x>summary::-webkit-details-marker{display:none}
.f-xl{font-family:var(--mono);font-size:12.5px;color:var(--red);font-weight:500}
.f-x>summary b{font-size:16px;font-weight:700;letter-spacing:-.01em}
.f-xn{font-size:12.4px;color:var(--mute2)}
.f-xb{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red2);box-shadow:inset 0 0 0 1.2px var(--red2);padding:4px 10px}
.f-xb::before{content:"Add"}
.f-x[open] .f-xb{background:var(--ink);color:#fff;box-shadow:none}
.f-x[open] .f-xb::before{content:"Hide"}
.f-x .f-tbl{margin:0 0 18px;border-top:1px solid var(--ink)}
.f-note{margin-top:28px;padding:4px 0 4px 18px;border-left:2px solid var(--red)}
.f-note .plabel{color:var(--red);margin-bottom:6px}
.f-note p{font-size:13.6px;line-height:1.6;color:var(--body)}

/* ---------- signature ---------- */
.g-wrap{border-top:2px solid var(--ink);padding-top:16px}
.g-intro{font-size:15px;line-height:1.6;color:var(--body);margin-bottom:10px}
.g-intro b{color:var(--ink)}
.g-cl{list-style:none;margin:0 0 18px}
.g-cl li{position:relative;padding:8px 0 8px 40px;border-bottom:1px solid var(--line);font-size:13.8px;line-height:1.55;color:var(--body)}
.g-cl li .n{position:absolute;left:0;top:9px;font-family:var(--mono);font-size:11.5px;color:var(--red)}
.g-cl li b{color:var(--ink)}
.g-mode{margin-top:10px}
.g-pad{padding:10px 16px 12px;display:block}
.g-typed,.g-draw{position:relative;height:150px;background:#FCFCFE;box-shadow:inset 0 0 0 1px var(--line2)}
.g-typed{display:flex;align-items:flex-end;padding:0 24px 30px 44px;overflow:hidden}
.g-script{font-family:'Signature','Snell Roundhand','Apple Chancery',cursive;font-size:52px;line-height:1;color:#1D1D6A;white-space:nowrap}
.g-ph{font-size:13px;color:var(--mute2);font-style:italic;padding-bottom:6px}
.g-draw{display:none}
.g-pad.draw .g-typed{display:none}
.g-pad.draw .g-draw{display:block}
.g-draw canvas{width:100%;height:150px;display:block;cursor:crosshair;touch-action:none}
.g-line{position:absolute;left:24px;right:24px;bottom:28px;height:1px;background:var(--line2);pointer-events:none}
.g-x{position:absolute;left:24px;bottom:30px;font-style:normal;font-size:18px;color:var(--mute2);pointer-events:none}
.g-clear{cursor:pointer;position:absolute;right:10px;top:8px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red2);background:none;border:0;font-family:inherit}
.f-tick{display:flex;gap:12px;align-items:flex-start;cursor:pointer;padding:6px 0}
.f-tick input{position:absolute;opacity:0;pointer-events:none}
.f-tick span{width:20px;height:20px;flex:none;box-shadow:inset 0 0 0 1.5px var(--line2);margin-top:1px;position:relative;background:#fff}
.f-tick input:checked+span{background:var(--red);box-shadow:none}
.f-tick input:checked+span::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.f-tick input:focus-visible+span{outline:2px solid var(--red3);outline-offset:2px}
.f-tick em{font-style:normal;font-size:13.8px;line-height:1.55;color:var(--body)}
.f-tick em b{color:var(--ink)}
.g-note{margin-top:14px}

.f-go{margin:30px 0 4px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.f-miss{font-size:13px;color:var(--mute);font-weight:600;min-height:18px}
.f-form.tried .f-miss{color:var(--bad)}
.f-miss.ok{color:#067647}
.f-submit{cursor:pointer;display:inline-flex;align-items:center;gap:12px;font:inherit;font-size:16px;font-weight:700;color:#fff;padding:16px 26px;border:0;border-radius:2px;background:linear-gradient(100deg,#08080D 0%,#17172A 100%);position:relative}
.f-submit::after{content:"\2192";font-weight:400}
.f-submit::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--grad)}
.f-submit[disabled]{opacity:.55;cursor:progress}
.f-next{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}
.f-next>div{padding:16px 22px 0 0}
.f-next>div+div{padding-left:22px;border-left:1px solid var(--line)}
.f-next .n{font-size:34px;font-weight:400;color:var(--red);letter-spacing:-.04em;line-height:1;display:block;margin-bottom:8px}
.f-next b{font-size:15px;font-weight:700}
.f-next p{font-size:13.4px;line-height:1.55;color:var(--body);margin-top:5px}

/* ---------- done page ---------- */
.d-wrap{display:flex;justify-content:center;padding:0 16px}
.facts{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;border-top:2px solid var(--ink);border-bottom:1px solid var(--line)}
.facts>div{padding:20px 18px 20px 0;min-width:0}
.facts>div+div{padding-left:20px;border-left:1px solid var(--line)}
.facts b{display:block;font-size:clamp(26px,3.4vw,38px);font-weight:500;letter-spacing:-.035em;line-height:1.1;white-space:nowrap}
.facts b.ref{font-family:var(--mono);font-size:24px;letter-spacing:-.01em;line-height:1.75}
.facts b.reg{font-size:24px;line-height:1.75;color:var(--red2);white-space:normal}
.facts span{display:block;font-size:12.6px;line-height:1.42;color:var(--mute);margin-top:8px}
.d-split{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:start;margin-top:6px}
.d-next{grid-template-columns:1fr;margin-bottom:20px}
.d-next>div,.d-next>div+div{padding:14px 0;border-left:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px 1fr;column-gap:8px}
.d-next .n{grid-row:span 2;font-size:28px;margin:0}
.d-next p{margin-top:2px}
.d-sig{border-top:2px solid var(--ink);padding-top:14px}
.d-sig .plabel{color:var(--red2)}
.d-sig .box{height:84px;border-bottom:1px solid var(--ink3);margin:4px 0 10px;display:flex;align-items:flex-end;padding:0 0 8px 6px;overflow:hidden}
.d-sig .box img{max-height:76px;max-width:100%}
.d-sig .g-script{font-size:42px}
.d-sig dl{display:grid;grid-template-columns:118px 1fr;gap:5px 10px;font-size:13px;margin-bottom:16px}
.d-sig dt{font-size:10.6px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute2);padding-top:2px}
.d-sig dd{color:var(--ink);font-weight:500}
.d-dl{font-size:14px;padding:13px 20px;text-decoration:none}

/* ---------- phones and narrow windows ---------- */
@media (max-width:760px){
  .f-wrap,.d-wrap{padding:0}
  .page{max-width:100vw;margin:0 0 10px;box-shadow:none;padding-bottom:70px}
  .cover{height:auto;padding-bottom:70px}
  .cover .giant{display:none}
  .fc-top{padding:28px 22px 0}
  .fc-top .wm{height:40px}
  .fc-top .doc{font-size:9.5px}
  .fc-hero{padding:56px 22px 0}
  .cover h1{font-size:38px}
  .cv-sub{font-size:15px}
  .fc-steps{grid-template-columns:1fr;margin:34px 22px 0}
  .fc-steps>div,.fc-steps>div+div{padding:16px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .fc-parties{position:relative;bottom:auto;left:auto;right:auto;margin:20px 22px 0;grid-template-columns:1fr}
  .fc-parties .party{min-height:0;padding:0 0 18px}
  .fc-parties .party+.party{border-left:0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.16)}
  .plogo{display:none}
  .cv-ref{flex-wrap:wrap;height:auto;padding:10px 22px;gap:4px 12px;font-size:9px}
  .band{min-height:0;padding:22px 22px 18px}
  .band h1,.band h2{font-size:23px}
  .band .sub{font-size:13px}
  .band .brand{display:none}
  .pad{padding:22px 16px 0}
  .lbl .cnt{display:none}
  .f-row{grid-template-columns:1fr}
  .f-l{padding:10px 12px 6px;background:#fff}
  .f-a{padding:0 12px 12px}
  .f-short,select.f-in,.f-month{flex:1 1 100%}
  .f-x>summary{grid-template-columns:28px 1fr auto;gap:10px}
  .f-xn{display:none}
  .f-next{grid-template-columns:1fr}
  .f-next>div,.f-next>div+div{padding:14px 0;border-left:0;border-bottom:1px solid var(--line)}
  .foot{padding:0 16px}
  .foot .tag,.foot .meta .opt{display:none}
  .f-submit{width:100%;justify-content:center;font-size:15px}
  .g-typed{padding-left:46px}
  .g-script{font-size:40px}
  .facts{grid-template-columns:1fr 1fr}
  .facts>div:nth-child(3){border-left:0;padding-left:0}
  .facts>div:nth-child(n+3){border-top:1px solid var(--line)}
  .facts b{font-size:28px}
  .d-split{grid-template-columns:1fr;gap:10px}
}

/* ---------- confirm & register (15 Oct 2026: a record, not a contract) ---------- */
.g-card{background:#F5F0FF;border-left:3px solid var(--red);padding:18px 22px 16px;margin-bottom:20px}
.g-card .plabel{color:var(--red2);margin-bottom:8px}
.g-card p{font-size:14.6px;line-height:1.55;color:var(--ink);font-weight:500;margin-bottom:8px}
.g-card ul{list-style:none}
.g-card li{position:relative;padding:4px 0 4px 20px;font-size:13.8px;line-height:1.5;color:var(--body)}
.g-card li::before{content:"";position:absolute;left:2px;top:11px;width:8px;height:8px;background:var(--red);transform:skewX(-20deg)}
.g-card a{color:var(--red2);font-weight:600}
.g-ways{display:flex;flex-direction:column;gap:8px;padding:6px 0;width:100%}
.g-way{position:relative;cursor:pointer;display:block}
.g-way input{position:absolute;opacity:0;pointer-events:none}
.g-way span{display:block;border:1px solid var(--line2);padding:11px 14px 11px 42px;background:#fff;position:relative}
.g-way span::before{content:"";position:absolute;left:14px;top:14px;width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line2);background:#fff}
.g-way input:checked+span{border-color:var(--red);background:#FBF9FF}
.g-way input:checked+span::before{box-shadow:inset 0 0 0 5px var(--red)}
.g-way input:focus-visible+span{outline:2px solid var(--red3);outline-offset:2px}
.g-way b{display:block;font-size:14px;color:var(--ink)}
.g-way small{display:block;font-size:12.4px;line-height:1.45;color:var(--mute);margin-top:2px}
.g-online{margin-top:14px}
.g-online.off{display:none}

/* required section first, everything else marked optional (15 Oct 2026) */
.f-sec--req{background:#FBF9FF;box-shadow:0 0 0 1px #E4DAFF;padding:16px 18px 6px;margin:0 -18px 14px}
.f-sec--req .lbl::after{background:#E4DAFF}
.lbl .cnt.req{color:#fff;background:var(--red);padding:2px 8px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.lbl .cnt{text-transform:none;letter-spacing:0}
@media (max-width:760px){.f-sec--req{margin:0 -8px 14px;padding:12px 8px 4px}.lbl .cnt.req{display:inline}}

/* N/A on optional questions (15 Oct 2026) */
.f-row.has-na .f-a{position:relative;padding-right:76px}
.f-na{position:absolute;right:16px;top:14px;cursor:pointer;user-select:none}
.f-na input{position:absolute;opacity:0;pointer-events:none}
.f-na span{display:block;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--mute2);border:1px dashed var(--line2);padding:4px 8px;border-radius:2px}
.f-na:hover span{color:var(--ink3);border-color:var(--ink3)}
.f-na input:checked+span{background:var(--ink3);border:1px solid var(--ink3);color:#fff}
.f-na input:focus-visible+span{outline:2px solid var(--red3);outline-offset:2px}
.f-row.na .f-a>*:not(.f-na):not(.f-err){opacity:.35;pointer-events:none}
.f-row.na .f-l b,.f-row.na .f-l label{color:var(--mute)}

/* submitting: ring, then a tick (15 Oct 2026) */
.f-wait{position:fixed;inset:0;z-index:50;background:rgba(11,11,18,.62);display:flex;align-items:center;justify-content:center;padding:16px}
.f-wait[hidden]{display:none}
.f-wait__card{background:#fff;padding:30px 34px 26px;min-width:300px;max-width:420px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.45);position:relative}
.f-wait__card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--grad)}
.f-wait__ring{width:64px;height:64px;display:block;margin:0 auto 16px}
.f-wait__ring circle{fill:none;stroke-width:4}
.f-wait__ring .trk{stroke:#ECE6FF}
.f-wait__ring .arc{stroke:var(--red);stroke-linecap:round;stroke-dasharray:60 200;transform-origin:32px 32px;animation:f-spin 1s linear infinite}
.f-wait__ring .tick{fill:none;stroke:#fff;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40}
.f-wait.done .f-wait__ring .trk{fill:var(--red);stroke:var(--red);transition:fill .25s,stroke .25s}
.f-wait.done .f-wait__ring .arc{animation:none;stroke-dasharray:0 200}
.f-wait.done .f-wait__ring .tick{stroke-dashoffset:0;transition:stroke-dashoffset .35s ease-out .1s}
.f-wait__card b{display:block;font-size:17px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.f-wait__card span{display:block;font-size:13.4px;color:var(--mute);margin-top:4px}
@keyframes f-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.f-wait__ring .arc{animation-duration:3s}.f-wait.done .f-wait__ring .tick{transition:none}}
@media (max-width:760px){.f-row.has-na{position:relative}.f-row.has-na .f-a{position:static;padding-right:12px}.f-row.has-na .f-l{padding-right:64px}.f-na{top:10px;right:12px}}

/* asked only when the space is for a client (15 Oct 2026) */
.when-off{display:none!important}
.f-row[data-when="client"] .f-l{background:#F1ECFF}
