/* ==========================================================================
   DGTL Creator & Brand Intake — join.dgtlinfluence.com
   Layer 1: verbatim copy of engine/dgtl-brand-kit/assets/dgtl-tokens.css
            (copied 2026-08-03 — re-sync manually; apps/ must not reference
            engine/ or journal/_shared/ at runtime).
   Layer 2: the intake form system the kit doesn't define.
   ========================================================================== */
:root{
  /* surfaces */
  --bg:#000000; --surface-1:#0a0a0a; --surface-2:#111111;
  --surface-card:rgba(0,0,0,0.45);
  /* text */
  --text:#F0F0F0; --text-muted:#D0D0D0; --text-dim:#8a8a8a;
  --text-ghost:#5a5a56; --gold-tan:#b3a06a; --placeholder:#6a6a6a;
  /* accent */
  --gold:#F0CF50; --gold-tint:rgba(240,207,80,0.08);
  --gold-ring:rgba(240,207,80,0.15);
  /* borders */
  --border:#2a2a2a; --border-subtle:rgba(255,255,255,0.08);
  --border-strong:rgba(255,255,255,0.4);
  /* functional */
  --success:#7BC47F; --success-tint:rgba(123,196,127,0.10);
  --warning:#E8A33D; --warning-tint:rgba(232,163,61,0.10);
  --error:#E5484D;   --error-tint:rgba(229,72,77,0.10);
  --info:#6E9FDB;    --info-tint:rgba(110,159,219,0.10);
  /* charts (series order) */
  --chart-1:#F0CF50; --chart-2:#b3a06a; --chart-3:#F0F0F0;
  --chart-4:#6E9FDB; --chart-5:#7BC47F; --chart-6:#8a8a8a;
  --chart-grid:#1c1c1c;
  /* geometry */
  --r-control:7px; --r-card:16px; --r-pill:9999px;
  /* effects */
  --shadow-card:0 6px 6px rgba(0,0,0,.3), 0 0 20px rgba(0,0,0,.15);
  --glass-bg:rgba(0,0,0,0.45);
  --font:'Manrope',ui-sans-serif,system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg)}
body{font-family:var(--font);font-size:16px;line-height:1.5;color:var(--text);
     background:var(--bg);-webkit-font-smoothing:antialiased}
::placeholder{color:var(--placeholder)}
:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring)}
::selection{background:var(--gold);color:#000}

/* --- buttons --- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);
     font-weight:700;font-size:16px;border-radius:var(--r-control);
     padding:15px 24px;border:1px solid transparent;cursor:pointer;
     text-decoration:none;transition:filter .15s,transform .15s;line-height:1}
.btn-primary{background:var(--gold);color:#000}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-secondary{background:transparent;border-color:var(--border-strong);color:#fff}
.btn-ghost{background:transparent;color:var(--text-muted);font-weight:500}
.btn-ghost:hover{color:#fff}
.btn-danger{background:transparent;border-color:rgba(229,72,77,.4);color:var(--error)}
.btn-sm{padding:10px 18px;font-size:14px}
.btn-icon{width:36px;height:36px;padding:0;justify-content:center;color:var(--text-dim)}
.btn-icon:hover{background:var(--surface-2);color:#fff}
/* focus ring must survive on a gold surface: double ring */
.btn-primary:focus-visible{box-shadow:0 0 0 3px #000,0 0 0 5px var(--gold)}

/* --- cards --- */
.card{background:var(--surface-card);border:1px solid var(--border);
      border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:24px}
.card-solid{background:var(--surface-1)}
.card-hover:hover{border-color:#3a3a3a;transform:translateY(-2px);transition:.2s}
.card-callout{border-left:3px solid var(--gold)}

/* --- pills & badges --- */
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-pill);
      font-size:11px;padding:2px 8px;background:var(--gold-tint);color:var(--gold)}
.badge-success{background:var(--success-tint);color:var(--success)}
.badge-warning{background:var(--warning-tint);color:var(--warning)}
.badge-error{background:var(--error-tint);color:var(--error)}
.badge-info{background:var(--info-tint);color:var(--info)}

/* --- forms (kit base) --- */
.label{display:block;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}
.input,.select,.textarea{width:100%;background:var(--surface-1);color:var(--text);
      border:1px solid var(--border);border-radius:var(--r-control);
      padding:12px 16px;font-family:var(--font);font-size:14px}
input[type=checkbox],input[type=radio]{accent-color:var(--gold)}

/* --- type helpers --- */
.h-display{font-size:clamp(40px,6vw,70px);font-weight:700;letter-spacing:-1.4px;
           line-height:1.1;color:#fff}
.h-section{font-size:40px;font-weight:700;color:#fff}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--gold-tan)}
.gold{color:var(--gold)}
.metric{font-weight:800;font-variant-numeric:tabular-nums}
.muted{color:var(--text-muted)} .dim{color:var(--text-dim)}

/* --- glassy bar (nav / app header) --- */
.glass-bar{background:var(--glass-bg);backdrop-filter:blur(8px) saturate(1.8);
           -webkit-backdrop-filter:blur(8px) saturate(1.8);
           border-bottom:1px solid var(--border-subtle)}

/* --- table --- */
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th{background:var(--surface-2);color:var(--text-dim);font-size:11px;
          text-transform:uppercase;letter-spacing:.1em;font-weight:600;
          text-align:left;padding:12px 16px}
.table td{padding:14px 16px;border-top:1px solid #1c1c1c;color:var(--text)}
.table td.num{text-align:right;font-variant-numeric:tabular-nums}
.table tbody tr:hover{background:#0f0f0f}
.table-wrap{border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ==========================================================================
   Layer 2 — intake components
   ========================================================================== */

/* layout */
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:760px;margin:0 auto;padding:0 24px}
.section{padding:72px 0}
a{color:var(--gold);text-decoration:none}
a:hover{text-decoration:underline}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:#000;
  padding:10px 18px;border-radius:0 0 var(--r-control) 0;font-weight:700;z-index:100}
.skip-link:focus{left:0}

/* nav */
.nav{position:sticky;top:0;z-index:50}
.nav-inner{display:flex;align-items:center;justify-content:space-between;
  max-width:1120px;margin:0 auto;padding:14px 24px}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-brand:hover{text-decoration:none}
.nav-brand .wordmark{height:26px;width:auto;display:block} /* kit rule: 26px in nav */
.nav-brand .kicker{font-size:10px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-tan);line-height:1.2;
  padding-left:12px;border-left:1px solid var(--border)}
.nav-actions{display:flex;align-items:center;gap:18px;font-size:14px}
.nav-actions a.plain{color:var(--text-muted)}

/* footer */
.foot{border-top:1px solid var(--border);padding:40px 0;margin-top:48px;
  font-size:13px;color:var(--text-dim)}
.foot .cols{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}

/* form fields */
.f-row{margin-bottom:22px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.f-grid .span-2{grid-column:1/-1}
@media (max-width:719px){.f-grid{grid-template-columns:1fr}}
.f-label{display:block;font-size:14px;font-weight:600;color:var(--text-muted);margin-bottom:7px}
.f-label .opt{color:var(--text-ghost);font-weight:500;font-size:12px}
.f-hint{font-size:13px;color:var(--text-dim);margin-top:6px}
.f-error{display:none;font-size:13px;color:var(--error);margin-top:6px;font-weight:600}
.f-row.invalid .f-error{display:block}
.f-row.invalid .input,.f-row.invalid .select,.f-row.invalid .textarea{border-color:var(--error)}
.input,.select,.textarea{padding:14px 16px;font-size:16px} /* 16px stops iOS zoom */
.textarea{min-height:120px;resize:vertical;line-height:1.5}
.select{appearance:none;-webkit-appearance:none;padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a8a' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center}
.char-count{font-size:12px;color:var(--text-ghost);text-align:right;margin-top:4px;
  font-variant-numeric:tabular-nums}
.char-count.over{color:var(--error)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* radio cards (applicant type, rights opt-ins) */
.radio-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;border:0;padding:0}
@media (max-width:639px){.radio-cards{grid-template-columns:1fr}}
.radio-cards legend{font-size:14px;font-weight:600;color:var(--text-muted);
  margin-bottom:10px;padding:0}
.radio-card{position:relative;display:block;cursor:pointer}
.radio-card input{position:absolute;opacity:0;width:1px;height:1px}
.radio-card .body{display:block;border:1px solid var(--border);border-radius:var(--r-card);
  background:var(--surface-1);padding:18px 20px;transition:border-color .15s}
.radio-card .t{display:block;font-weight:700;color:#fff;margin-bottom:4px}
.radio-card .d{display:block;font-size:13px;color:var(--text-dim);line-height:1.5}
.radio-card input:checked + .body{border-color:var(--gold);background:var(--gold-tint)}
.radio-card input:focus-visible + .body{box-shadow:0 0 0 3px var(--gold-ring)}

/* consent + checkbox rows */
.check-row{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;
  border:1px solid var(--border);border-radius:var(--r-control);background:var(--surface-1);
  margin-bottom:12px;cursor:pointer}
.check-row input{width:20px;height:20px;margin-top:1px;flex:none}
.check-row .t{font-size:15px;color:var(--text-muted);line-height:1.5}
.check-row .t strong{color:#fff}

/* step nav */
.step-nav{list-style:none;display:flex;align-items:center;gap:0;margin:32px 0 40px}
.step-nav li{display:flex;align-items:center;flex:1}
.step-nav li:last-child{flex:0}
.step-nav .dot{width:30px;height:30px;border-radius:50%;border:1px solid var(--border);
  background:var(--surface-2);color:var(--text-dim);display:inline-flex;align-items:center;
  justify-content:center;font-size:13px;font-weight:700;flex:none;position:relative}
.step-nav .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--text-dim);margin-left:8px;white-space:nowrap}
.step-nav .line{flex:1;height:1px;background:var(--border);margin:0 12px}
.step-nav li[aria-current="step"] .dot{background:var(--gold);border-color:var(--gold);color:#000}
.step-nav li[aria-current="step"] .lbl{color:#fff}
.step-nav li.done .dot{border-color:var(--gold);color:var(--gold)}
.step-nav button{all:unset;display:flex;align-items:center;cursor:pointer}
.step-nav button:focus-visible .dot{box-shadow:0 0 0 3px var(--gold-ring)}
.step-nav li.locked button{cursor:not-allowed}
.step-count{display:none;font-size:13px;color:var(--text-dim);margin:24px 0 28px}
@media (max-width:719px){
  .step-nav{display:none}
  .step-count{display:block}
}

/* step sections + error summary */
.step[hidden]{display:none}
.step h2{font-size:26px;font-weight:700;color:#fff;margin-bottom:6px}
.step .step-dek{color:var(--text-dim);font-size:15px;margin-bottom:28px}
.err-summary{display:none;border:1px solid rgba(229,72,77,.4);background:var(--error-tint);
  border-radius:var(--r-control);padding:14px 16px;margin-bottom:24px;font-size:14px;color:var(--error)}
.err-summary.active{display:block}
.err-summary a{color:var(--error);text-decoration:underline;font-weight:600}

/* repeatable rows */
.repeat-list{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.repeat-row{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);
  border-radius:var(--r-card);background:var(--surface-1);padding:14px}
.repeat-row .fields{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:639px){.repeat-row .fields{grid-template-columns:1fr}}
.repeat-row .fields .span-2{grid-column:1/-1}
.repeat-row .rm{flex:none;margin-top:2px}

/* uploads */
.dropzone{border:2px dashed var(--border);border-radius:var(--r-card);padding:36px 24px;
  text-align:center;color:var(--text-dim);cursor:pointer;transition:border-color .15s}
.dropzone.drag,.dropzone:hover{border-color:var(--gold);color:var(--text-muted)}
.dropzone:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-ring)}
.dropzone .big{font-size:15px;color:var(--text-muted);font-weight:600;margin-bottom:4px}
.file-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.file-row{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-1);
  padding:14px 16px}
.file-row .head{display:flex;align-items:center;gap:10px;font-size:14px}
.file-row .name{color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;flex:1}
.file-row .size{color:var(--text-ghost);flex:none;font-size:12px}
.file-row .bar{height:4px;border-radius:2px;background:var(--surface-2);margin-top:10px;overflow:hidden}
.file-row .bar i{display:block;height:100%;background:var(--gold);width:0;transition:width .2s}
.file-row.done .bar i{background:var(--success)}
.file-row.failed .bar i{background:var(--error)}
.file-row .meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media (max-width:639px){.file-row .meta{grid-template-columns:1fr}}

/* legal summary */
.legal-summary{border:1px solid var(--border);border-left:3px solid var(--gold);
  border-radius:var(--r-card);background:var(--surface-1);padding:20px 22px;margin-bottom:20px}
.legal-summary ul{list-style:none}
.legal-summary li{padding-left:22px;position:relative;color:var(--text-muted);
  font-size:15px;line-height:1.6;margin-bottom:8px}
.legal-summary li::before{content:"—";position:absolute;left:0;color:var(--gold)}
details.legal-full{border:1px solid var(--border);border-radius:var(--r-control);
  background:var(--surface-1);margin-bottom:24px}
details.legal-full summary{cursor:pointer;padding:14px 16px;font-size:14px;
  font-weight:600;color:var(--text-muted)}
details.legal-full summary:hover{color:#fff}
details.legal-full .body{padding:0 16px 16px;font-size:14px;color:var(--text-dim);line-height:1.7}
details.legal-full .body h4{color:var(--text-muted);margin:14px 0 6px;font-size:14px}

/* step actions */
.step-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;
  margin-top:36px;padding-top:24px;border-top:1px solid var(--border)}
.save-note{font-size:13px;color:var(--text-ghost)}
.save-note.saved{color:var(--success)}

/* landing page bits */
.hero{padding:96px 0 64px;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 80% 60% at 15% 0%, rgba(240,207,80,.045), transparent 60%)}
.hero .spark-bg{position:absolute;right:-100px;top:-60px;width:420px;height:auto;
  opacity:.05;transform:rotate(12deg);pointer-events:none;user-select:none}
.hero .wrap,.hero>*{position:relative}
.statband{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);
  border:1px solid var(--border);border-radius:var(--r-card);overflow:hidden;margin:48px 0}
.statband>div{background:var(--surface-1);padding:24px}
.statband .n{font-size:30px;font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums}
.statband .l{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-top:4px}
@media (max-width:719px){.statband{grid-template-columns:1fr 1fr}}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:899px){.grid-3{grid-template-columns:1fr}}
.marquee{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:28px 0;position:relative}
.marquee .track{display:flex;align-items:center;gap:64px;width:max-content;
  animation:marq 40s linear infinite}
.marquee img{height:30px;width:auto;opacity:.85;filter:grayscale(1)} /* kit: 28–34px, .85 */
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){.marquee .track{animation:none;flex-wrap:wrap;width:auto}}
.steps-3{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:899px){.steps-3{grid-template-columns:1fr}}
.steps-3 .card{counter-increment:s;position:relative;padding-top:56px}
.steps-3 .card::before{content:counter(s,decimal-leading-zero);position:absolute;top:20px;left:24px;
  font-size:13px;font-weight:800;color:var(--gold);letter-spacing:.1em}
.faq details{border-bottom:1px solid var(--border)}
.faq summary{cursor:pointer;padding:18px 0;font-weight:600;color:#fff;font-size:16px;list-style:none;
  display:flex;justify-content:space-between;align-items:center}
.faq summary::after{content:"+";color:var(--gold);font-size:20px;font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 0 18px;color:var(--text-dim);font-size:15px;line-height:1.7;max-width:640px}
.cta-band{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface-1);
  padding:48px;text-align:center;margin:72px 0}
.cta-band h2{font-size:32px;font-weight:800;color:#fff;margin-bottom:10px}
.cta-band p{color:var(--text-dim);margin-bottom:28px}

/* thanks page timeline */
.timeline{list-style:none;margin:32px 0}
.timeline li{position:relative;padding:0 0 28px 34px}
.timeline li::before{content:"";position:absolute;left:8px;top:6px;width:10px;height:10px;
  border-radius:50%;background:var(--gold)}
.timeline li::after{content:"";position:absolute;left:12px;top:20px;bottom:-2px;width:1px;
  background:var(--border)}
.timeline li:last-child::after{display:none}
.timeline .t{font-weight:700;color:#fff}
.timeline .d{font-size:14px;color:var(--text-dim);margin-top:2px}

/* admin */
.admin-wrap{max-width:1240px;margin:0 auto;padding:24px}
.filter-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0}
.fpill{border:1px solid var(--border);border-radius:var(--r-pill);background:transparent;
  color:var(--text-muted);font-size:13px;font-weight:600;padding:7px 16px;cursor:pointer;
  text-decoration:none}
.fpill:hover{color:#fff;text-decoration:none}
.fpill.active{background:var(--gold);border-color:var(--gold);color:#000}
.status-pill{display:inline-flex;border-radius:var(--r-pill);font-size:11px;font-weight:700;
  padding:3px 10px;text-transform:uppercase;letter-spacing:.06em}
.st-draft{background:var(--surface-2);color:var(--text-dim)}
.st-submitted{background:var(--info-tint);color:var(--info)}
.st-in_review{background:var(--warning-tint);color:var(--warning)}
.st-approved{background:var(--success-tint);color:var(--success)}
.st-rejected{background:var(--error-tint);color:var(--error)}
.st-more_info{background:var(--gold-tint);color:var(--gold)}
.detail-grid{display:grid;grid-template-columns:220px 1fr;gap:8px 20px;font-size:14px}
.detail-grid dt{color:var(--text-dim)}
.detail-grid dd{color:var(--text);word-break:break-word}
@media (max-width:639px){.detail-grid{grid-template-columns:1fr}.detail-grid dt{margin-top:10px}}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.media-thumb{display:block;border:1px solid var(--border);border-radius:var(--r-control);
  background:var(--surface-2);padding:10px;font-size:12px;color:var(--text-muted);
  text-align:center;overflow-wrap:anywhere}
.media-thumb:hover{border-color:var(--gold);text-decoration:none}
.modal-back{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;
  justify-content:center;z-index:60;padding:24px}
.modal-back[hidden]{display:none}
