/* Covalent Bond — Investor Registration
   Tier A · Brand System v2.1 tokens (ADR-BRAND-01). No raw hex outside :root. */

:root{
  --cb-ink:#0A0B0F;
  --cb-ink-deep:#08090C;
  --cb-surface:#13141B;
  --cb-surface-raised:#181A22;
  --cb-gold:#C9A961;
  --cb-gold-tint:#E4D2A4;
  --cb-gold-soft:#B8924A;
  --cb-ivory:#E8E6DF;
  --cb-muted:#A6A49E;
  --cb-dim:#74726C;
  --cb-faint:#5C5A55;
  --cb-disabled:#4E4D48;
  --cb-line:#252833;
  --cb-line-gold:rgba(201,169,97,.18);
  --cb-line-gold-hover:rgba(201,169,97,.45);
  --cb-success:#3FA66B;
  --cb-critical:#D9534F;

  --f-display:'Cormorant Garamond',Georgia,serif;
  --f-body:'Inter Tight',sans-serif;
  --f-mono:'JetBrains Mono',monospace;
  --f-arabic:'IBM Plex Sans Arabic',sans-serif;

  --s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:96px;--s7:160px;
  --r-card:12px;--r-input:10px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--cb-ink);color:var(--cb-ivory);-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{font-family:var(--f-body);font-size:15px;line-height:1.65;min-height:100vh}
html[dir=rtl] body{font-family:var(--f-arabic);line-height:1.95;font-size:16px}
html[dir=rtl] *{letter-spacing:0}
[hidden]{display:none!important}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}

/* ---------- loading rule ---------- */
.cb-progress-rule{position:fixed;top:0;inset-inline-start:0;height:1px;width:0;background:var(--cb-gold);z-index:50;transition:width 240ms ease-out}

/* ---------- header ---------- */
.cb-header{position:sticky;top:0;z-index:40;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--s4);background:var(--cb-ink);border-bottom:1px solid var(--cb-line-gold);transition:height 160ms ease-out}
.cb-header.is-compact{height:60px}
.cb-lockup{display:flex;align-items:center;gap:14px;text-decoration:none}
.cb-lockup svg{width:36px;height:36px;color:var(--cb-gold);flex:none}
.cb-wordmark{font-family:var(--f-display);font-weight:400;font-size:18px;letter-spacing:.13em;text-transform:uppercase;line-height:1;direction:ltr}
.cb-wordmark small{display:block;font-family:var(--f-body);font-size:9px;letter-spacing:.28em;color:var(--cb-muted);margin-top:6px;font-weight:400}
.cb-header-right{display:flex;align-items:center;gap:var(--s3)}
.cb-lang{display:flex;gap:2px;font-family:var(--f-body);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.cb-lang a{padding:8px 10px;text-decoration:none;color:var(--cb-muted);transition:color 160ms ease-out}
.cb-lang a:hover{color:var(--cb-ivory)}
.cb-lang a[aria-current]{color:var(--cb-gold)}
.cb-header .cb-btn-ghost{display:none}
@media(min-width:768px){.cb-header .cb-btn-ghost{display:inline-flex}}

/* ---------- page grid ---------- */
.cb-page{max-width:1280px;margin:0 auto;padding:var(--s5) var(--s4) var(--s7)}
.cb-grid{display:grid;grid-template-columns:1fr;gap:var(--s5)}
@media(min-width:1024px){.cb-grid{grid-template-columns:4fr 8fr;column-gap:var(--s6)}}

/* ---------- rail (signature element) ---------- */
.cb-rail{position:relative}
@media(min-width:1024px){.cb-rail-inner{position:sticky;top:104px}}
.cb-eyebrow{font-family:var(--f-body);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--cb-gold);font-weight:400;line-height:1.4}
html[dir=rtl] .cb-eyebrow{font-family:var(--f-arabic);font-size:12px}
.cb-title{font-family:var(--f-display);font-weight:300;font-size:clamp(40px,5vw,56px);line-height:1.05;letter-spacing:-.005em;margin:var(--s2) 0 var(--s3);max-width:12ch}
html[dir=rtl] .cb-title{font-family:var(--f-arabic);font-weight:300;line-height:1.35;font-size:clamp(34px,4.6vw,48px)}
.cb-title em{font-style:italic;color:var(--cb-gold)}
html[dir=rtl] .cb-title em{font-style:normal}
.cb-lede{color:var(--cb-muted);max-width:42ch;font-size:15px}
html[dir=rtl] .cb-lede{font-size:16px}

.cb-index{list-style:none;margin-top:var(--s4);border-top:1px solid var(--cb-line)}
.cb-index li{border-bottom:1px solid var(--cb-line)}
.cb-index a{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:var(--s2);padding:14px 0;text-decoration:none;color:var(--cb-dim);transition:color 160ms ease-out}
.cb-index a:hover{color:var(--cb-ivory)}
.cb-index .k{font-family:var(--f-mono);font-size:12px;font-weight:500;color:var(--cb-faint);direction:ltr}
.cb-index .n{font-size:14px}
.cb-index .c{font-family:var(--f-mono);font-size:11px;color:var(--cb-faint);direction:ltr;font-variant-numeric:tabular-nums}
.cb-index a.is-active{color:var(--cb-ivory)}
.cb-index a.is-active .k{color:var(--cb-gold)}
.cb-index a.is-done .k{color:var(--cb-gold)}
.cb-index a.is-done .c{color:var(--cb-gold)}
.cb-index a.is-done .c::after{content:" ✓"}

.cb-rail-note{margin-top:var(--s3);font-size:12px;line-height:1.6;color:var(--cb-dim)}
html[dir=rtl] .cb-rail-note{line-height:1.9;font-size:13px}
.cb-rail-note .cb-mono{color:var(--cb-muted)}

/* mobile progress strip */
.cb-mobile-progress{display:flex;justify-content:space-between;gap:var(--s2);margin-top:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--cb-line);border-bottom:1px solid var(--cb-line);font-family:var(--f-mono);font-size:11px;color:var(--cb-dim);direction:ltr}
.cb-mobile-progress span{padding:4px 0;border-bottom:1px solid transparent}
.cb-mobile-progress span.is-done{color:var(--cb-gold)}
.cb-mobile-progress span.is-active{color:var(--cb-ivory);border-bottom-color:var(--cb-gold)}
html[dir=rtl] .cb-mobile-progress{direction:rtl}
@media(min-width:1024px){.cb-mobile-progress{display:none}}
@media(max-width:1023px){.cb-index{display:none}}

/* ---------- sections ---------- */
.cb-form{display:flex;flex-direction:column;gap:var(--s5)}
.cb-section{scroll-margin-top:96px}
.cb-section-head{display:grid;grid-template-columns:auto 1fr;gap:var(--s2);align-items:baseline;padding-bottom:var(--s2);border-bottom:1px solid var(--cb-line-gold);margin-bottom:var(--s3)}
.cb-section-head .k{font-family:var(--f-mono);font-size:12px;font-weight:500;color:var(--cb-gold);direction:ltr}
.cb-section-head h2{font-family:var(--f-display);font-weight:400;font-size:32px;line-height:1.1}
html[dir=rtl] .cb-section-head h2{font-family:var(--f-arabic);font-weight:400;font-size:26px;line-height:1.5}
.cb-section-head p{grid-column:2;color:var(--cb-dim);font-size:14px;max-width:60ch}
html[dir=rtl] .cb-section-head p{font-size:15px}

.cb-row{display:grid;grid-template-columns:1fr;gap:var(--s3)}
@media(min-width:640px){.cb-row.two{grid-template-columns:1fr 1fr}}
.cb-field{display:flex;flex-direction:column;gap:var(--s1)}
.cb-field + .cb-field, .cb-row + .cb-row, .cb-row + .cb-field, .cb-field + .cb-row{margin-top:var(--s3)}
.cb-label{font-size:13px;color:var(--cb-muted);font-weight:500}
html[dir=rtl] .cb-label{font-size:14px}
.cb-label .req{color:var(--cb-gold);margin-inline-start:2px}
.cb-hint{font-size:12px;color:var(--cb-dim);line-height:1.5}
html[dir=rtl] .cb-hint{font-size:13px;line-height:1.8}
.cb-error{display:none;font-size:12px;color:var(--cb-critical)}
.cb-field.is-invalid .cb-error{display:block}
.cb-field.is-invalid .cb-input, .cb-field.is-invalid .cb-select, .cb-field.is-invalid .cb-textarea{border-color:var(--cb-critical)}
.cb-fieldset{border:0;padding:0;margin:0;min-width:0}
.cb-fieldset legend{padding:0;margin-bottom:var(--s1)}
.cb-fieldset.is-invalid .cb-error{display:block}

.cb-input,.cb-select,.cb-textarea{width:100%;background:var(--cb-ink);border:1px solid var(--cb-line);border-radius:var(--r-input);padding:13px 16px;color:var(--cb-ivory);outline:0;transition:border-color 160ms ease-out;appearance:none;-webkit-appearance:none}
.cb-input::placeholder,.cb-textarea::placeholder{color:var(--cb-faint)}
.cb-input:focus,.cb-select:focus,.cb-textarea:focus{border-color:var(--cb-gold)}
.cb-input.mono{font-family:var(--f-mono);font-size:14px;direction:ltr;text-align:start}
html[dir=rtl] .cb-input.mono{text-align:left}
.cb-textarea{min-height:140px;resize:vertical;line-height:1.6}
html[dir=rtl] .cb-textarea{line-height:1.9}
.cb-select-wrap{position:relative}
.cb-select-wrap::after{content:"";position:absolute;top:50%;inset-inline-end:16px;width:8px;height:8px;border-inline-end:1.5px solid var(--cb-muted);border-bottom:1.5px solid var(--cb-muted);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.cb-select{padding-inline-end:40px;cursor:pointer}
.cb-select option,.cb-select optgroup{background:var(--cb-surface);color:var(--cb-ivory)}

/* choice cards (radio / checkbox) */
.cb-choices{display:grid;grid-template-columns:1fr;gap:var(--s1)}
@media(min-width:640px){.cb-choices{grid-template-columns:1fr 1fr}.cb-choices.three{grid-template-columns:repeat(3,1fr)}}
.cb-choice{position:relative;display:flex;align-items:flex-start;gap:12px;padding:13px 16px;background:var(--cb-surface);border:1px solid var(--cb-line);border-radius:var(--r-input);cursor:pointer;transition:border-color 160ms ease-out,background 160ms ease-out;min-height:48px}
.cb-choice:hover{border-color:var(--cb-line-gold-hover)}
.cb-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.cb-choice .mark{flex:none;width:14px;height:14px;margin-top:5px;border:1px solid var(--cb-faint);border-radius:50%;transition:border-color 160ms ease-out,background 160ms ease-out}
html[dir=rtl] .cb-choice .mark{margin-top:7px}
.cb-choice.is-check .mark{border-radius:3px}
.cb-choice input:checked ~ .mark{border-color:var(--cb-gold);background:var(--cb-gold)}
.cb-choice input:checked ~ .txt{color:var(--cb-ivory)}
.cb-choice input:focus-visible ~ .mark{outline:1px solid var(--cb-gold);outline-offset:3px}
.cb-choice .txt{font-size:14px;color:var(--cb-muted);line-height:1.4;transition:color 160ms ease-out}
html[dir=rtl] .cb-choice .txt{font-size:15px;line-height:1.7}
.cb-choice .txt b{display:block;font-weight:500;color:var(--cb-ivory)}
.cb-choice .txt small{display:block;font-size:12px;color:var(--cb-dim);margin-top:2px}
.cb-choice .txt .cb-mono{font-size:13px}
.cb-choice:has(input:checked){border-color:var(--cb-gold);background:var(--cb-surface-raised)}

.cb-mono{font-family:var(--f-mono);font-weight:500;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}

/* consent */
.cb-consent{display:flex;gap:12px;align-items:flex-start;padding:var(--s3);background:var(--cb-surface);border:1px solid var(--cb-line-gold);border-radius:var(--r-card)}
.cb-consent input{flex:none;appearance:none;width:16px;height:16px;margin-top:3px;border:1px solid var(--cb-faint);border-radius:3px;background:var(--cb-ink);cursor:pointer;transition:border-color 160ms ease-out,background 160ms ease-out}
.cb-consent input:checked{background:var(--cb-gold);border-color:var(--cb-gold)}
.cb-consent input:focus-visible{outline:1px solid var(--cb-gold);outline-offset:3px}
.cb-consent label{font-size:13px;color:var(--cb-muted);line-height:1.6;cursor:pointer}
html[dir=rtl] .cb-consent label{font-size:14px;line-height:1.9}
.cb-consent a{color:var(--cb-ivory);text-decoration:none;border-bottom:1px solid var(--cb-gold)}
.cb-consent.is-invalid{border-color:var(--cb-critical)}

/* ---------- buttons ---------- */
.cb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--r-input);padding:13px 24px;font-family:var(--f-body);font-size:13px;font-weight:500;letter-spacing:.02em;text-decoration:none;transition:background 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out;white-space:nowrap}
html[dir=rtl] .cb-btn{font-family:var(--f-arabic);font-size:14px}
.cb-btn .arrow{width:14px;height:14px;flex:none}
html[dir=rtl] .cb-btn .arrow{transform:scaleX(-1)}
.cb-btn-primary{background:var(--cb-gold);color:var(--cb-ink);border:1px solid var(--cb-gold)}
.cb-btn-primary:hover{background:var(--cb-gold-tint);border-color:var(--cb-gold-tint)}
.cb-btn-primary:active{background:var(--cb-gold-soft);border-color:var(--cb-gold-soft)}
.cb-btn-primary[disabled]{background:var(--cb-surface-raised);border-color:var(--cb-line);color:var(--cb-disabled);cursor:not-allowed}
.cb-btn-ghost{background:transparent;color:var(--cb-ivory);border:1px solid var(--cb-line-gold)}
.cb-btn-ghost:hover{border-color:var(--cb-line-gold-hover)}
.cb-btn-ghost .arrow{color:var(--cb-gold)}
.cb-btn-text{background:transparent;color:var(--cb-ivory);border:0;border-bottom:1px solid var(--cb-gold);border-radius:0;padding:8px 0}

.cb-actions{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;padding-top:var(--s2)}
.cb-actions .cb-btn{flex:1 1 220px}
@media(min-width:640px){.cb-actions .cb-btn{flex:0 0 auto}}
.cb-actions-note{width:100%;font-size:12px;color:var(--cb-dim);line-height:1.6;margin-top:var(--s1)}
html[dir=rtl] .cb-actions-note{font-size:13px;line-height:1.9}
.cb-submit-error{display:none;font-size:13px;color:var(--cb-critical);width:100%}
.cb-submit-error.is-visible{display:block}

/* ---------- success ---------- */
.cb-success{display:none}
.cb-success.is-visible{display:block}
.cb-success .cb-title{max-width:16ch}
.cb-steps{list-style:none;margin:var(--s4) 0;border-top:1px solid var(--cb-line)}
.cb-steps li{display:grid;grid-template-columns:48px 1fr;gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--cb-line)}
.cb-steps .k{font-family:var(--f-mono);font-size:12px;font-weight:500;color:var(--cb-gold);direction:ltr;padding-top:3px}
.cb-steps h3{font-size:16px;font-weight:600;line-height:1.35;margin-bottom:4px}
html[dir=rtl] .cb-steps h3{font-weight:500;font-size:17px}
.cb-steps p{font-size:14px;color:var(--cb-muted);max-width:60ch}
html[dir=rtl] .cb-steps p{font-size:15px}
.cb-ref{display:inline-block;margin-top:var(--s2);padding:8px 12px;border:1px solid var(--cb-line-gold);border-radius:var(--r-input);font-family:var(--f-mono);font-size:12px;color:var(--cb-muted);direction:ltr}
.cb-ref b{color:var(--cb-gold);font-weight:500}

/* ---------- footer ---------- */
.cb-footer{border-top:1px solid var(--cb-line-gold);padding:var(--s4);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2);font-size:12px;color:var(--cb-dim)}
html[dir=rtl] .cb-footer{font-size:13px}
.cb-footer .cb-mono{color:var(--cb-muted)}
.cb-footer a{text-decoration:none;color:var(--cb-muted);transition:color 160ms ease-out}
.cb-footer a:hover{color:var(--cb-ivory)}

/* ---------- reveal ---------- */
.cb-reveal{opacity:0;transform:translateY(16px);transition:opacity 600ms var(--ease),transform 600ms var(--ease)}
.cb-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .cb-reveal{opacity:1;transform:none;transition:none}
  *{transition:none!important;scroll-behavior:auto!important}
}

/* honeypot */
.cb-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

@media(max-width:767px){
  .cb-header{padding:0 20px}
  .cb-page{padding:var(--s4) 20px var(--s6)}
  .cb-footer{padding:var(--s3) 20px}
  .cb-section-head{grid-template-columns:auto 1fr;row-gap:var(--s1)}
  .cb-section-head p{grid-column:1/-1}
}
