:root{
  --bg:#EEF1F4;--bg-2:#E4E8ED;--bg-3:#DCE1E7;--paper:#F7F8FA;
  --ink:#0B1220;--ink-2:#1B2536;--ink-3:#38445A;
  --muted:#6B7689;--muted-2:#8A94A6;
  --line:#C9D0DA;--line-2:#D9DEE6;--line-soft:rgba(11,18,32,0.08);
  --blue:#2B6CB0;--blue-deep:#1E4E7E;--blue-soft:#DCE7F2;
  --gold:#B8862F;--gold-soft:#EFE3C5;--gold-deep:#8C6620;
  --positive:#3F7D5F;--alert:#B25842;
  --serif:"Newsreader",Georgia,serif;
  --sans:"Inter",-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;
  --display:"Playfair Display","Newsreader",Georgia,serif;
  --maxw:1240px;--gutter:clamp(20px,4vw,56px);
  --radius:4px;--radius-lg:10px;
  --shadow-sm:0 1px 2px rgba(11,18,32,0.04),0 1px 1px rgba(11,18,32,0.03);
  --shadow-md:0 6px 24px -8px rgba(11,18,32,0.12),0 2px 6px rgba(11,18,32,0.05);
  --shadow-lg:0 24px 60px -20px rgba(11,18,32,0.22),0 8px 24px -8px rgba(11,18,32,0.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11"}
button{font-family:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
.serif{font-family:var(--serif)}.mono{font-family:var(--mono)}.display{font-family:var(--display)}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:500}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-0.01em;color:var(--ink);margin:0}
h2{font-size:38px;line-height:1.1;letter-spacing:-0.02em}
h3{font-size:22px;line-height:1.25}
p{margin:0;color:var(--ink-2)}
.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
::selection{background:var(--blue-soft);color:var(--ink)}

/* ---- Animations ---- */
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes breathe{0%,100%{transform:scale(1);opacity:0.65}50%{transform:scale(1.18);opacity:1}}
@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes pulse-ring{0%{transform:scale(0.6);opacity:0.7}100%{transform:scale(1.4);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes scale-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
.rise{animation:rise .45s cubic-bezier(.2,.7,.2,1) both}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;font-size:14px;font-weight:500;letter-spacing:0.01em;border:1px solid transparent;transition:all .18s ease;white-space:nowrap;cursor:pointer}
.btn-primary{background:var(--ink);color:var(--paper)}
.btn-primary:hover{background:var(--ink-2);transform:translateY(-1px)}
.btn-primary:disabled{background:var(--muted-2);cursor:not-allowed;transform:none;opacity:.7}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:rgba(255,255,255,0.5)}

/* ---- Nav (minimal, focus mode) ---- */
.nav{position:sticky;top:0;z-index:40;background:rgba(238,241,244,0.92);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line-soft)}
.nav-row{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:17px;letter-spacing:-0.01em}
.brand-mark{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--ink);position:relative;background:radial-gradient(circle at 50% 50%,var(--gold) 0 3px,transparent 3.5px)}
.brand-mark::after{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid var(--blue);opacity:.7}
.nav-help{display:flex;align-items:center;gap:18px;font-size:13px;color:var(--ink-3)}
.nav-help a{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);transition:border-color .15s}
.nav-help a:hover{border-color:var(--ink)}
.nav-help .dot{width:6px;height:6px;border-radius:50%;background:var(--positive);box-shadow:0 0 0 3px rgba(63,125,95,.18);animation:breathe 3s ease-in-out infinite}

/* ---- Page header (the editorial intro above the form) ---- */
.page-head{padding:48px 0 40px;border-bottom:1px solid var(--line-soft)}
.page-head .meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase}
.page-head h1{font-family:var(--serif);font-size:46px;line-height:1.06;letter-spacing:-0.025em;margin-top:18px;max-width:760px}
.page-head h1 em{font-family:var(--display);font-style:italic;color:var(--blue-deep)}
.page-head p{margin-top:18px;font-size:16.5px;color:var(--ink-3);max-width:620px;line-height:1.6}

/* ---- Two-column form layout ---- */
.form-grid{display:grid;grid-template-columns:320px 1fr;gap:80px;align-items:start;padding:56px 0 140px}

/* Left rail */
.rail{position:sticky;top:88px;display:flex;flex-direction:column;gap:24px}
.rail-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}
.rail-eye{font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}
.rail-h{font-family:var(--serif);font-size:18px;letter-spacing:-0.01em;color:var(--ink);margin-top:10px}
.rail-steps{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:2px}
.rail-step{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:flex-start;padding:12px 10px;border-radius:var(--radius);position:relative;color:var(--muted);transition:all .25s}
.rail-step + .rail-step::before{content:"";position:absolute;left:25px;top:-6px;width:1px;height:14px;background:var(--line)}
.rail-step .rs-num{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:var(--muted-2);background:var(--paper);transition:all .25s;margin-top:1px}
.rail-step .rs-body{display:flex;flex-direction:column;gap:2px}
.rail-step .rs-title{font-size:13.5px;line-height:1.4}
.rail-step .rs-sub{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted-2)}
.rail-step.is-active{color:var(--ink)}
.rail-step.is-active .rs-num{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,18,32,0.06)}
.rail-step.is-active .rs-title{font-weight:500}
.rail-step.is-done{color:var(--ink-3)}
.rail-step.is-done .rs-num{background:var(--positive);border-color:var(--positive);color:var(--paper)}
.rail-step.is-done .rs-num svg{width:13px;height:13px}
.rail-eta{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-2);border:1px dashed var(--line);border-radius:var(--radius);margin-top:18px}
.rail-eta-icon{width:24px;height:24px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--blue-deep);flex-shrink:0}
.rail-eta-icon svg{width:14px;height:14px;animation:spin 8s linear infinite}
.rail-eta-text{font-size:12.5px;color:var(--ink-3);line-height:1.4}
.rail-eta-text strong{color:var(--ink);font-weight:500}
.rail-secure{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--gold-soft);border:1px solid rgba(184,134,47,0.25);border-radius:var(--radius-lg)}
.rail-secure-icon{width:30px;height:30px;color:var(--gold-deep);flex-shrink:0;position:relative}
.rail-secure-icon::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1px solid var(--gold);opacity:0;animation:pulse-ring 3.4s ease-out infinite}
.rail-secure-text{display:flex;flex-direction:column;gap:1px}
.rail-secure-text strong{font-family:var(--serif);font-size:14px;color:var(--ink);font-weight:500;letter-spacing:-0.005em}
.rail-secure-text span{font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;color:var(--gold-deep);text-transform:uppercase}

/* Right column */
.form-col{max-width:680px}

/* Sticky progress bar */
.progress{position:sticky;top:64px;z-index:20;background:var(--bg);padding:18px 0 14px;margin:-18px 0 32px;border-bottom:1px solid var(--line-soft)}
.progress-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.progress-label{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}
.progress-label strong{color:var(--ink);font-weight:500}
.progress-track{height:3px;background:var(--bg-3);border-radius:99px;overflow:hidden;position:relative}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-deep) 100%);border-radius:99px;transition:width .5s cubic-bezier(.2,.7,.2,1);position:relative}
.progress-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);background-size:200% 100%;animation:shimmer 2.4s linear infinite}

/* Step panel */
.step{display:none;animation:rise .35s cubic-bezier(.2,.7,.2,1) both}
.step.is-active{display:block}
.step-eye{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--blue);font-weight:500}
.step-h{font-family:var(--serif);font-size:34px;line-height:1.12;letter-spacing:-0.02em;color:var(--ink);margin-top:14px;max-width:560px}
.step-sub{font-size:15px;color:var(--ink-3);margin-top:14px;max-width:540px;line-height:1.6}

/* Form fields */
.fields{display:flex;flex-direction:column;gap:16px;margin-top:36px;max-width:480px}
.fields.wide{max-width:none}
.field{display:flex;flex-direction:column;gap:6px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field label{font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}
.field label .req{color:var(--alert);font-size:14px;line-height:0}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=number],.field select,.field textarea{font-family:var(--sans);font-size:14.5px;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);transition:border-color .15s,box-shadow .15s;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,18,32,0.06)}
.field input.is-err,.field select.is-err,.field textarea.is-err{border-color:var(--alert);box-shadow:0 0 0 3px rgba(178,88,66,.12)}
.field-err{font-size:12px;color:var(--alert);margin-top:2px;display:flex;align-items:center;gap:6px}
.field-help{font-size:12px;color:var(--muted);line-height:1.45}
.field textarea{min-height:96px;resize:vertical;font-family:var(--sans)}
.char-count{font-family:var(--mono);font-size:10.5px;color:var(--muted-2);text-align:right;margin-top:4px}

/* Radios + checkboxes */
.radio-row{display:flex;gap:8px;flex-wrap:wrap}
.radio-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:13.5px;color:var(--ink-3);cursor:pointer;transition:all .18s}
.radio-pill input{position:absolute;opacity:0;pointer-events:none}
.radio-pill .dot{width:8px;height:8px;border-radius:50%;background:transparent;border:1px solid var(--muted-2);transition:all .15s}
.radio-pill:hover{border-color:var(--ink-2);color:var(--ink)}
.radio-pill.is-on{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.radio-pill.is-on .dot{background:var(--gold);border-color:var(--gold)}

.check-row{display:flex;flex-direction:column;gap:14px}
.check{display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:flex-start;cursor:pointer;padding:4px 0}
.check input{position:absolute;opacity:0;pointer-events:none}
.check .box{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center;transition:all .15s;margin-top:1px}
.check .box svg{width:13px;height:13px;color:var(--paper);opacity:0;transition:opacity .15s}
.check input:checked + .box{background:var(--ink);border-color:var(--ink)}
.check input:checked + .box svg{opacity:1}
.check .ctext{font-size:14px;color:var(--ink-2);line-height:1.5}
.check .ctext a{color:var(--blue-deep);border-bottom:1px solid var(--blue-soft)}
.check .ctext a:hover{border-color:var(--blue-deep)}
.check .ctext .req{color:var(--alert)}

/* Reassurance card (gold) */
.reassure{background:var(--gold-soft);border:1px solid rgba(184,134,47,0.25);border-radius:var(--radius-lg);padding:18px 20px;margin-top:24px;display:grid;grid-template-columns:24px 1fr;gap:14px;max-width:540px;align-items:flex-start}
.reassure-icon{width:24px;height:24px;color:var(--gold-deep);margin-top:2px}
.reassure p{font-size:13.5px;color:var(--ink-2);line-height:1.55}
.reassure p strong{font-family:var(--serif);font-style:italic;color:var(--ink);font-weight:500;letter-spacing:-0.005em}

/* ---- Step 3 — drop zone ---- */
.dropzone{margin-top:32px;border:2px dashed var(--line);border-radius:var(--radius-lg);background:var(--paper);padding:40px;text-align:center;transition:all .2s;position:relative;cursor:pointer;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.dropzone:hover,.dropzone.is-drag{border-color:var(--gold);background:var(--gold-soft)}
.dropzone-icon{width:54px;height:54px;border:1.5px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink);background:var(--bg);position:relative}
.dropzone-icon::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--gold);opacity:0;animation:pulse-ring 3.4s ease-out infinite}
.dropzone-h{font-family:var(--serif);font-size:22px;letter-spacing:-0.01em;color:var(--ink)}
.dropzone-s{font-size:13.5px;color:var(--ink-3);max-width:380px;margin:0 auto;line-height:1.5}
.dropzone-cta{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-deep)}
.dropzone input[type=file]{display:none}

.file-list{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.file-row{display:grid;grid-template-columns:32px 1fr 90px 28px;gap:14px;align-items:center;padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);animation:rise .3s ease both}
.file-icon{width:32px;height:32px;border:1px solid var(--line);border-radius:4px;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--blue-deep)}
.file-meta{display:flex;flex-direction:column;gap:4px;min-width:0}
.file-name{font-size:13.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono)}
.file-prog{height:3px;background:var(--bg-3);border-radius:99px;overflow:hidden}
.file-prog-fill{height:100%;background:var(--gold);transition:width .15s linear;border-radius:99px}
.file-row.is-done .file-prog-fill{background:var(--positive)}
.file-size{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right;letter-spacing:0.06em}
.file-x{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .15s}
.file-x:hover{color:var(--alert);border-color:var(--alert)}
.file-row.is-done .file-x{color:var(--positive);border-color:var(--positive);pointer-events:none}

.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.upload-grid .ug-cell{padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.upload-grid .ug-h{font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-deep)}
.upload-grid .ug-b{font-size:13px;color:var(--ink-3);margin-top:8px;line-height:1.5}

/* ---- Step 4 — urgency cards ---- */
.urg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.urg-card{position:relative;padding:24px 22px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;gap:6px}
.urg-card:hover{border-color:var(--ink-2);transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.urg-card .urg-eye{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted)}
.urg-card .urg-name{font-family:var(--serif);font-size:22px;letter-spacing:-0.015em;color:var(--ink);margin-top:4px}
.urg-card .urg-price{font-family:var(--mono);font-size:13px;letter-spacing:0.04em;color:var(--gold-deep);margin-top:6px}
.urg-card .urg-meta{font-size:13px;color:var(--ink-3);margin-top:6px;line-height:1.5}
.urg-card.is-on{border:1.5px solid var(--ink);box-shadow:var(--shadow-md)}
.urg-card .urg-check{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;background:var(--gold);display:none;align-items:center;justify-content:center;color:var(--ink)}
.urg-card.is-on .urg-check{display:flex;animation:scale-in .3s ease both}
.urg-card .urg-check svg{width:14px;height:14px}

.lang-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.lang-pill{padding:12px 8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);text-align:center;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center}
.lang-pill:hover{border-color:var(--ink-2)}
.lang-pill.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.lang-pill .lang-flag{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;opacity:0.7}
.lang-pill .lang-name{font-family:var(--serif);font-size:15px;letter-spacing:-0.005em}

.channels{display:flex;gap:10px;flex-wrap:wrap}
.channel-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:13px;color:var(--ink-3);cursor:pointer;transition:all .15s}
.channel-pill svg{width:14px;height:14px;color:currentColor}
.channel-pill.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.physician-row{display:none;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;animation:rise .3s ease both}
.physician-row.is-shown{display:grid}

.foot-mono{font-family:var(--mono);font-size:11px;letter-spacing:0.06em;color:var(--muted);margin-top:24px;line-height:1.6;display:flex;align-items:flex-start;gap:8px}
.foot-mono::before{content:"§";color:var(--gold-deep);font-size:14px;line-height:1}

/* ---- Step 5 — review + consent + OTP ---- */
.review-card{margin-top:32px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.review-h{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.review-h .rh-eye{font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3)}
.review-h .rh-edit{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--blue-deep);text-transform:uppercase;background:none;border:none;cursor:pointer}
.review-h .rh-edit:hover{text-decoration:underline}
.review-rows{display:grid;grid-template-columns:160px 1fr;column-gap:24px}
.review-rows > div{padding:12px 22px;border-bottom:1px solid var(--line-2);font-size:13.5px}
.review-rows > div:nth-last-child(-n+2){border-bottom:none}
.review-rows .rk{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted)}
.review-rows .rv{color:var(--ink);line-height:1.5}
.review-rows .rv em{color:var(--muted-2);font-style:normal}

.consent-block{margin-top:36px;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}
.consent-block .cb-h{font-family:var(--serif);font-size:18px;letter-spacing:-0.01em;color:var(--ink);margin-bottom:16px}

.otp-card{margin-top:24px;background:var(--gold-soft);border:1px solid rgba(184,134,47,0.25);border-radius:var(--radius-lg);padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.otp-left{display:flex;flex-direction:column;gap:14px}
.otp-eye{font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-deep)}
.otp-h{font-family:var(--serif);font-size:22px;letter-spacing:-0.01em;color:var(--ink);max-width:300px}
.otp-phone{font-family:var(--mono);font-size:14px;color:var(--ink-2);letter-spacing:0.04em}
.otp-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.otp-inputs{display:flex;gap:8px}
.otp-inputs input{width:46px;height:54px;text-align:center;font-family:var(--mono);font-size:22px;color:var(--ink);border:1.5px solid var(--line);border-radius:var(--radius);background:var(--paper);transition:all .15s}
.otp-inputs input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,18,32,0.06);outline:none}
.otp-inputs.is-ok input{border-color:var(--positive);background:rgba(63,125,95,.06)}
.otp-inputs.is-err input{border-color:var(--alert);animation:shake .35s ease}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}
.otp-meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:0.06em;display:flex;align-items:center;gap:10px}
.otp-meta .resend{color:var(--blue-deep);background:none;border:none;font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:uppercase;cursor:pointer;padding:0}
.otp-meta .resend:disabled{color:var(--muted-2);cursor:not-allowed}
.otp-send{align-self:flex-end}
.otp-ok{display:none;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--positive)}
.otp-ok.is-shown{display:flex;animation:scale-in .3s ease both}
.otp-ok-dot{width:18px;height:18px;border-radius:50%;background:var(--positive);color:var(--paper);display:flex;align-items:center;justify-content:center}
.otp-ok-dot svg{width:11px;height:11px}

/* ---- Step nav (back / next) ---- */
.step-nav{display:flex;align-items:center;justify-content:space-between;margin-top:48px;padding-top:32px;border-top:1px solid var(--line-soft)}
.step-nav .ghost-back{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted);background:none;border:none;cursor:pointer;padding:0}
.step-nav .ghost-back:hover{color:var(--ink)}
.step-nav .ghost-back.is-hidden{visibility:hidden}

.spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}

/* ---- Footer reassurance row (always visible) ---- */
.foot-bar{position:fixed;bottom:0;left:0;right:0;z-index:30;background:rgba(247,248,250,0.94);backdrop-filter:saturate(140%) blur(10px);border-top:1px solid var(--line);padding:12px 0}
.foot-bar-row{display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3)}
.foot-bar-row .grp{display:flex;align-items:center;gap:24px}
.foot-bar-row .item{display:inline-flex;align-items:center;gap:8px}
.foot-bar-row .item svg{width:13px;height:13px;color:var(--gold-deep)}
.foot-bar-row .priv{color:var(--muted)}

/* ---- Site footer ---- */
.footer{padding:64px 0 96px;border-top:1px solid var(--line);background:var(--bg-2);color:var(--ink-2);font-size:13.5px}
.footer-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
.footer h4{font-family:var(--sans);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 14px}
.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer a:hover{color:var(--blue)}
.footer-fine{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;color:var(--muted)}

/* intl-tel-input overrides */
.iti{width:100%}
.iti__country-list{font-family:var(--sans);font-size:13.5px}
.iti--separate-dial-code .iti__selected-flag{background:var(--bg-2);border-right:1px solid var(--line);border-radius:var(--radius) 0 0 var(--radius)}