/* ============================================================
   F · "Crafted" layer — sits on top of style.css.
   Adds depth (floating stack, perspective, foil), blueprint
   typography and a rate-band visualiser. No images, no blobs.
   ============================================================ */

/* ---------- shared craft tokens ---------- */
:root{
  --foil:linear-gradient(116deg,
          #0B1330 0%, #16235C 18%, #2B3A85 34%, #6E5CA6 43%,
          #C9A24A 50%, #F3E0A0 55%, #A47E3A 61%,
          #2A3781 72%, #101A48 86%, #080E22 100%);
  --gold-line:rgba(224,168,26,.34);
  --paper:#FCFBF7;
  --ink-deep:#080E22;
}

/* ---------- blueprint margin labels ---------- */
.sec-wrap{position:relative}
.blue-tag{position:absolute;left:-40px;top:6px;display:none;
  font:600 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#A9B0C4;
  transform:rotate(180deg);writing-mode:vertical-rl}
@media(min-width:1200px){ .blue-tag{display:block} }

.hairline{height:1px;background:linear-gradient(90deg,var(--gold-line),rgba(224,168,26,0) 46%);
  position:relative}
.hairline::before{content:"";position:absolute;left:0;top:-3px;width:1px;height:7px;background:var(--gold)}
.hairline::after{content:"";position:absolute;left:64px;top:-3px;width:1px;height:7px;background:rgba(224,168,26,.5)}

/* ---------- HERO (crafted) ---------- */
.hero--craft{padding:64px 0 0;overflow:hidden}
.hero--craft::before{opacity:.42;background-size:72px 72px}
.hero--craft::after{background:radial-gradient(closest-side,rgba(224,168,26,.14),transparent 70%);
  width:1080px;height:560px;top:-380px}
.hero--craft .hero-grid{grid-template-columns:1fr;gap:34px;align-items:start;
  grid-template-areas:"t" "d" "s"}
.hero--craft .hero-grid > div:first-child{grid-area:t}
.hero--craft .deck{grid-area:d}
.hero--craft .stats{grid-area:s}
.hero--craft h1{max-width:19ch}
.hero--craft .sub{max-width:46ch}
@media(min-width:980px){
  .hero--craft .hero-grid{grid-template-columns:1.02fr .98fr;gap:24px 40px;
    grid-template-areas:"t d" "s s";align-items:start}
  .hero--craft .stats{margin-top:26px;padding-top:2px}
  .hero--craft{padding-top:78px}
  .hero--craft .deck{align-self:center;margin-top:0}
}

/* layer stack */
.deck{position:relative;height:452px;perspective:1500px;transform-style:preserve-3d}
@media(max-width:979px){ .deck{height:340px;margin-top:6px} }
.deck > *{position:absolute;will-change:transform}
.deck::after{content:"";position:absolute;left:6%;right:8%;bottom:-22px;height:56px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent 72%);filter:blur(14px);z-index:-1}

/* 1 · back plane: the published band, drawn as a data plane */
.deck-plane{left:0;top:4%;width:76%;height:64%;border-radius:14px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,transparent 1px 44px);
  border:1px solid rgba(255,255,255,.14);
  transform:rotate(-3.2deg) translateZ(-40px);
  box-shadow:0 40px 70px -50px #000}
.deck-plane span{position:absolute;left:14px;top:12px;max-width:calc(100% - 30px);font:600 9px/1 var(--mono);
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.deck-plane i{position:absolute;right:14px;top:12px;width:7px;height:7px;border-radius:50%;
  background:var(--gold);box-shadow:0 0 0 3px rgba(224,168,26,.18)}
.deck-plane::after{content:"";position:absolute;left:14px;right:14px;bottom:26px;height:1px;
  background:rgba(255,255,255,.18)}
.deck-plane::before{content:"";position:absolute;left:14px;right:14px;bottom:22px;height:9px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.3) 0 1px,transparent 1px 26px)}

/* 2 · the card — real foil, real emboss */
.deck-card{left:0;top:12%;width:74%;max-width:320px;aspect-ratio:1.586;border-radius:16px;
  transform:rotate(-7.5deg) translateZ(30px);
  background:var(--foil);
  box-shadow:
    0 30px 54px -26px rgba(4,8,20,.9),
    0 2px 0 0 rgba(255,255,255,.14) inset,
    0 -18px 40px -28px rgba(0,0,0,.8) inset;
  overflow:hidden}
.deck-card::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(112deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,0) 34%,rgba(255,255,255,0) 66%,rgba(255,255,255,.22) 100%),
    radial-gradient(120% 90% at 78% 12%,rgba(255,255,255,.34),transparent 58%);
  mix-blend-mode:screen;opacity:.72}
.deck-card::before{content:"";position:absolute;inset:0;opacity:.3;mix-blend-mode:overlay;
  background:conic-gradient(from 240deg at 58% 40%,#7C6BC9,#E9CF7A,#3A4694,#C9A24A,#1B2A6E,#7C6BC9)}
.deck-card .top{position:absolute;left:16px;right:16px;top:14px;display:flex;justify-content:space-between;align-items:flex-start}
.deck-card .wm{font:700 11px/1.1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.94)}
.deck-card .chip{width:32px;height:24px;border-radius:4px;
  background:linear-gradient(145deg,#F6E7B0,#C79E63 52%,#F3D89A);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.5),0 1px 2px rgba(0,0,0,.4);position:relative}
.deck-card .chip::before,.deck-card .chip::after{content:"";position:absolute;background:rgba(120,90,40,.35)}
.deck-card .chip::before{left:6px;right:6px;top:11px;height:1px}
.deck-card .chip::after{left:15px;top:4px;bottom:4px;width:1px}
.deck-card .num{position:absolute;left:16px;bottom:44px;font:600 15px/1 var(--mono);
  letter-spacing:.14em;color:rgba(255,255,255,.96);text-shadow:0 1px 0 rgba(0,0,0,.35)}
.deck-card .foot{position:absolute;left:16px;right:16px;bottom:14px;display:flex;justify-content:space-between;
  font:600 9.5px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.deck-card .sheen{position:absolute;inset:-30% -60%;background:
  linear-gradient(72deg,transparent 38%,rgba(255,255,255,.4) 50%,transparent 62%);
  transform:translateX(-40%);animation:sheen 7.5s ease-in-out infinite}
@keyframes sheen{0%,70%{transform:translateX(-42%)}88%,100%{transform:translateX(42%)}}

/* 3 · statement card — flat white, sits in front */
.deck-stmt{left:32%;bottom:7%;width:min(64%,330px);border-radius:12px;background:#fff;color:var(--ink);
  transform:rotate(-1.6deg) translateZ(70px);
  box-shadow:0 34px 60px -30px rgba(4,8,20,.85),0 1px 0 rgba(255,255,255,.9) inset;
  border:1px solid rgba(12,22,51,.1);overflow:hidden}
.deck-stmt header{display:flex;align-items:center;gap:7px;padding:10px 13px;border-bottom:1px solid var(--border);
  background:var(--bg-soft)}
.deck-stmt header b{font:600 9.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.deck-stmt header i{width:6px;height:6px;border-radius:50%;background:#E4E8F1}
.deck-stmt header i:first-of-type{background:var(--success)}
.deck-stmt .row{display:flex;justify-content:space-between;gap:12px;padding:9px 13px 2px;
  font:700 12.5px/1.3 var(--mono);letter-spacing:.04em}
.deck-stmt .row span:last-child{color:var(--navy)}
.deck-stmt .meta{padding:0 13px 10px;font:400 11.5px/1.45 var(--font);color:var(--muted)}
.deck-stmt .ok{margin:0 13px 12px;display:inline-flex;align-items:center;gap:6px;border-radius:99px;
  background:rgba(11,122,69,.08);color:var(--success);padding:5px 9px;
  font:700 9.5px/1 var(--font);letter-spacing:.1em;text-transform:uppercase}
.deck-stmt .ok::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}

/* 4 · floating pill */
.deck-pill{right:2%;top:30%;display:inline-flex;align-items:center;gap:7px;border-radius:99px;
  padding:9px 13px;background:rgba(8,14,34,.82);border:1px solid rgba(224,168,26,.4);
  color:#F2F5FB;font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;
  backdrop-filter:blur(8px);transform:translateZ(90px);box-shadow:0 14px 30px -18px #000}
.deck-pill svg{width:12px;height:12px;color:var(--gold)}

/* bottom stats sit on a hairline with tick marks */
.hero--craft .stats{margin-top:34px;border-top:1px solid rgba(255,255,255,.18);
  background:transparent;gap:0}
.hero--craft .stats > div{background:transparent;border-left:1px solid rgba(255,255,255,.1);padding-left:16px}
.hero--craft .stats > div:first-child{border-left:0;padding-left:0}
.hero--craft .stats dd{font-size:22px;white-space:nowrap}

/* ---------- GIANT NUMERALS (section index) ---------- */
.sec-index{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}
.sec-index b{font:700 54px/0.8 var(--font);letter-spacing:-.05em;color:rgba(12,22,51,.1)}
.sec-index span{font:600 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--navy)}
@media(min-width:900px){ .sec-index b{font-size:76px} }

/* ---------- SYSTEM DIAGRAM ---------- */
.diagram{margin-top:30px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;
  box-shadow:var(--shadow-sm);padding:22px;position:relative;overflow:hidden}
.diagram::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(12,22,51,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(12,22,51,.045) 1px,transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(100% 80% at 50% 0%,#000 40%,transparent 88%);
  -webkit-mask-image:radial-gradient(100% 80% at 50% 0%,#000 40%,transparent 88%)}
.flow{position:relative;display:grid;gap:14px}
.node{position:relative;background:#fff;border:1px solid var(--border-strong);border-radius:10px;padding:13px 15px;
  box-shadow:0 10px 24px -18px rgba(9,22,51,.5)}
.node b{display:block;font:700 13.5px/1.3 var(--font);color:var(--ink)}
.node small{display:block;margin-top:4px;font:400 12px/1.45 var(--font);color:var(--muted)}
.node .tagline{position:absolute;right:-1px;top:-9px;background:var(--ink);color:var(--gold);
  font:700 9px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:4px 6px;border-radius:4px}
.node--you{border-color:rgba(224,168,26,.55);box-shadow:0 10px 24px -18px rgba(224,168,26,.7)}
.node--acq{background:var(--ink);color:#fff;border-color:var(--ink)}
.node--acq b{color:#fff}
.node--acq small{color:rgba(255,255,255,.7)}
.arrow{display:grid;place-items:center;color:var(--border-strong)}
.arrow svg{width:18px;height:18px}
.arrow em{font:600 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  font-style:normal;margin-top:4px}
@media(min-width:900px){
  .flow{grid-template-columns:1fr 44px 1fr 44px 1fr 44px 1fr;align-items:center}
  .arrow{grid-template-rows:auto auto}
}
@media(max-width:899px){ .arrow svg{transform:rotate(90deg)} }

/* ---------- RATE BAND VISUALISER ---------- */
.viz{margin-top:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;
  box-shadow:var(--shadow-sm);padding:22px}
.viz h3{font-size:15px}
.viz .scale{position:relative;height:74px;margin-top:18px}
.viz .track{position:absolute;left:0;right:0;bottom:26px;height:8px;border-radius:99px;
  background:linear-gradient(90deg,#E7E2FF 0%,#C9BFF6 18%,#7C6BC9 46%,#C9A24A 74%,#E9CF7A 100%)}
.viz .tick{position:absolute;bottom:22px;width:1px;height:12px;background:rgba(12,22,51,.25)}
.viz .tick span{position:absolute;left:50%;transform:translateX(-50%);top:16px;
  font:600 10px/1 var(--mono);color:var(--muted);white-space:nowrap}
.viz .marker{position:absolute;bottom:14px;width:2px;height:26px;background:var(--ink);border-radius:2px}
.viz .marker::before{content:"";position:absolute;left:50%;top:-6px;transform:translateX(-50%);
  width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 3px rgba(12,22,51,.12)}
.viz .marker b{position:absolute;left:50%;transform:translateX(-50%);bottom:22px;
  font:700 10px/1 var(--mono);color:var(--ink);white-space:nowrap;
  background:#fff;padding:4px 5px;border:1px solid var(--border);border-radius:4px}
.viz .legend{margin-top:34px;display:flex;flex-wrap:wrap;gap:8px 18px;font:400 12.5px/1.5 var(--font);color:var(--muted)}

/* ---------- FOOTER wordmark ---------- */
.foot-word{grid-column:1/-1;margin-top:6px;overflow:hidden}
.foot-word b{display:block;font:700 clamp(38px,9vw,104px)/0.86 var(--font);letter-spacing:-.05em;
  color:rgba(255,255,255,.07);white-space:nowrap}

/* ---------- mobile ---------- */
@media(max-width:639px){
  .deck{height:336px}
  .deck-card{left:0;top:1%;width:76%;max-width:none}
  .deck-stmt{left:10%;bottom:0;width:86%;max-width:none}
  .deck-plane{left:0;top:0;width:90%;height:54%}
  .deck-pill{display:none}
  .sec-index b{font-size:44px}
  .viz .legend,.node small,.viz .tick span,.viz .marker b,.deck-card .wm,.deck-card .num,.deck-card .foot,
  .deck-stmt .row,.deck-stmt .meta,.deck-stmt .ok,.deck-stmt header b,.node b,
  .deck-plane span,.sec-index span,.node .tagline,.arrow em{font-size:14px!important;letter-spacing:.02em}
  .node .tagline{padding:5px 7px}
  .viz .scale{height:88px}
  .viz .marker b{bottom:26px}
}
@media(prefers-reduced-motion:reduce){
  .deck-card .sheen{animation:none;opacity:0}
}

/* ============================================================
   SUBPAGE + DOCUMENT + FORM (build-time additions)
   ============================================================ */
.page-head{position:relative;background:var(--ink);color:#fff;padding:54px 0 46px;overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.1)}
.page-head::before{content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 80%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 30%,transparent 80%)}
.page-head .container{position:relative;z-index:2}
.page-head .crumbs{font:600 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.5);margin-bottom:16px}
.page-head .crumbs a{color:rgba(255,255,255,.82)}
.page-head .crumbs a:hover{color:#fff}
.page-head h1{color:#fff;font-size:clamp(28px,4.4vw,46px);max-width:26ch;margin-top:12px}
.page-head .kicker{color:var(--gold)}
.page-head p{margin-top:16px;color:rgba(255,255,255,.8);max-width:58ch;font-size:15.5px}
.page-head .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

.doc{max-width:74ch}
.doc h2{font-size:clamp(19px,2.4vw,23px);margin-top:36px}
.doc h2:first-of-type{margin-top:0}
.doc h3{font-size:16.5px;margin-top:26px}
.doc p{margin-top:10px;font-size:15px;line-height:1.72}
.doc ul{margin:12px 0 0;padding-left:20px;color:var(--body);font-size:15px;line-height:1.72}
.doc li{margin-bottom:7px}
.doc .updated{font:600 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:24px}
.doc strong{color:#26314F;font-weight:600}

.form{display:grid;gap:16px;max-width:560px}
.form .row{display:grid;gap:6px}
.form label{font:600 10.5px/1.3 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.form input,.form textarea,.form select{width:100%;min-height:46px;padding:0 12px;background:#fff;
  border:1px solid var(--border-strong);border-radius:8px;font:400 15px/1.5 var(--font);color:var(--ink)}
.form textarea{min-height:130px;padding:12px;resize:vertical}
.form .hint{font-size:12.5px;line-height:1.6;color:var(--muted)}
.form .row2{display:grid;gap:16px}
@media(min-width:640px){ .form .row2{grid-template-columns:1fr 1fr} }

.side-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.side-list li{display:grid;grid-template-columns:16px 1fr;gap:10px;font-size:14.5px;line-height:1.55;color:var(--body)}
.side-list svg{width:16px;height:16px;color:var(--success);margin-top:3px}
.split{display:grid;gap:28px}
@media(min-width:900px){ .split{grid-template-columns:1.15fr .85fr;gap:48px;align-items:start} }
.panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:22px;box-shadow:var(--shadow-sm)}
.panel h3{font-size:15px;margin-bottom:12px}
.panel p{font-size:14px;line-height:1.65}
@media(max-width:639px){
  .page-head .crumbs,.doc .updated,.form label,.form .hint,.panel p,.side-list li{
    font-size:14px!important;letter-spacing:.02em}
}

/* ============================================================
   APPLY — split screen, floating artifact stack, 3-step form
   ============================================================ */
.auth-shell{display:grid;grid-template-columns:1fr;min-height:100vh;background:var(--ink)}
.brand-panel{position:relative;overflow:hidden;background:#070B18;color:#fff;
  padding:34px 26px 30px;display:flex;flex-direction:column;gap:26px;isolation:isolate}
.brand-panel::before{content:"";position:absolute;inset:0;opacity:.55;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(120% 90% at 40% 0%,#000 32%,transparent 84%);
  -webkit-mask-image:radial-gradient(120% 90% at 40% 0%,#000 32%,transparent 84%)}
.brand-panel::after{content:"";position:absolute;left:-160px;top:-180px;width:620px;height:520px;
  background:radial-gradient(closest-side,rgba(224,168,26,.2),transparent 72%);pointer-events:none}
.wordmark-bg{position:absolute;left:-3%;right:-3%;top:44%;transform:rotate(-6deg);
  font:700 clamp(88px,17vw,190px)/0.8 var(--font);letter-spacing:-.05em;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);pointer-events:none;user-select:none;z-index:-1}
.brand-panel .logo-row{position:relative;display:flex;align-items:center;gap:10px}
.brand-panel .copy{position:relative;margin-top:auto;margin-bottom:auto;max-width:34ch}
.brand-panel .copy h1{color:#fff;font-size:clamp(24px,3.4vw,34px);letter-spacing:-.03em;max-width:22ch}
.brand-panel .copy h1 em{font-style:normal;color:var(--gold)}
.brand-panel .copy p{margin-top:12px;color:rgba(255,255,255,.62);font-size:14.5px;line-height:1.6;max-width:44ch}
.brand-panel .foot{position:relative;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;
  border-top:1px solid rgba(255,255,255,.12);padding-top:14px;
  font:600 10.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* floating artifacts */
.stack{position:relative;height:250px;margin:8px 0 4px;perspective:1300px}
.stack .art{position:absolute;left:0;right:0;border-radius:12px;will-change:transform}
.art--file{top:0;right:auto;width:min(78%,300px);background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.16);padding:12px 14px;transform:rotate(-2.4deg) translateZ(-30px);
  box-shadow:0 26px 50px -34px #000}
.art--file b{display:block;font:600 9.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.5)}
.art--file span{display:block;margin-top:8px;font:700 17px/1 var(--font);color:#fff}
.art--file small{display:block;margin-top:5px;font-size:11.5px;color:rgba(255,255,255,.5)}
.art--card{top:56px;left:26px;right:auto;width:min(70%,280px);aspect-ratio:1.586;
  background:var(--foil);transform:rotate(-6deg) translateZ(30px);
  box-shadow:0 34px 60px -30px #000,inset 0 1px 0 rgba(255,255,255,.28);overflow:hidden}
.art--card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(112deg,rgba(255,255,255,.42),transparent 38%,transparent 64%,rgba(255,255,255,.2));
  mix-blend-mode:screen;opacity:.6}
.art--card .wm{position:absolute;left:14px;top:13px;font:700 9.5px/1 var(--font);letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,255,255,.92)}
.art--card .band{position:absolute;left:14px;bottom:14px;font:700 20px/1 var(--mono);color:#fff;
  text-shadow:0 1px 0 rgba(0,0,0,.4)}
.art--card .chip{position:absolute;right:14px;top:12px;width:26px;height:20px;border-radius:3px;
  background:linear-gradient(145deg,#F6E7B0,#C79E63 55%,#F3D89A);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.art--letter{top:176px;right:0;width:min(66%,262px);background:#fff;color:var(--ink);padding:12px 14px;
  transform:rotate(1.6deg) translateZ(60px);box-shadow:0 26px 50px -28px rgba(0,0,0,.9)}
.art--letter b{display:block;font:600 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.art--letter p{margin-top:6px;font-size:12.5px;line-height:1.45;color:#2A3557}
.art--letter .ok{margin-top:8px;display:inline-flex;align-items:center;gap:6px;border-radius:99px;
  background:rgba(11,122,69,.09);color:var(--success);padding:4px 8px;
  font:700 9.5px/1 var(--font);letter-spacing:.08em;text-transform:uppercase}
.art--letter .ok::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}

/* right column */
.auth-col{background:var(--paper);display:flex;flex-direction:column;min-height:100vh}
.auth-col .inner{flex:1;display:flex;align-items:center;justify-content:center;padding:34px 22px 10px}
.form-panel{width:100%;max-width:452px}
.form-panel h2{font-size:clamp(24px,3vw,30px);letter-spacing:-.03em}
.form-panel .lead{margin-top:6px;color:var(--muted);font-size:14.5px}

/* stepper */
.steps{display:flex;align-items:center;gap:6px;margin:22px 0 4px}
.steps .s{display:flex;align-items:center;gap:8px;flex:none}
.steps .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  font:700 11px/1 var(--font);background:#E9ECF4;color:#6B7490;transition:.2s}
.steps .lbl{font:600 12px/1 var(--font);color:#6B7490}
.steps .s.is-active .n{background:var(--navy);color:#fff}
.steps .s.is-active .lbl{color:var(--ink)}
.steps .s.is-done .n{background:rgba(11,122,69,.12);color:var(--success)}
.steps .bar{flex:1;height:1px;background:var(--border-strong);min-width:10px}
.steps .bar.is-done{background:var(--success)}

/* panels */
.step-panel{display:none;margin-top:20px}
.step-panel.is-on{display:block}
.row2{display:grid;gap:14px}
@media(min-width:520px){ .row2{grid-template-columns:1fr 1fr} }
.fld{margin-top:14px}
.fld:first-child{margin-top:0}
.fld label{display:block;font:600 11px/1.3 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fld input,.fld select,.fld textarea{width:100%;min-height:46px;margin-top:7px;padding:0 12px;background:#fff;
  border:1px solid var(--border-strong);border-radius:8px;font:400 15px/1.5 var(--font);color:var(--ink)}
.fld textarea{min-height:96px;padding:12px;resize:vertical}
.fld .hint{margin-top:6px;font-size:12px;color:var(--muted)}
.fld.is-bad input,.fld.is-bad select{border-color:#B4243A;box-shadow:0 0 0 3px rgba(180,36,58,.1)}
.acts-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.acts-row .btn{flex:1 1 auto}
.btn-quiet{background:#fff;border:1px solid var(--border-strong);color:var(--navy)}
.btn-quiet:hover{border-color:var(--navy)}

/* verification block */
.verify{margin-top:18px;display:flex;align-items:center;gap:12px;border:1px solid var(--border);
  border-radius:10px;background:#FAFBFD;padding:12px 14px;min-height:62px}
.verify .sp{width:20px;height:20px;flex:0 0 20px;border-radius:50%;
  border:2px solid rgba(22,35,92,.18);border-top-color:var(--navy);animation:vspin 1s linear infinite}
@keyframes vspin{to{transform:rotate(360deg)}}
.verify .tick{width:20px;height:20px;flex:0 0 20px;border-radius:50%;background:var(--success);
  display:none;place-items:center;color:#fff}
.verify .tick svg{width:12px;height:12px}
.verify .txt{flex:1;min-width:0}
.verify .txt b{display:block;font:600 13.5px/1.35 var(--font);color:var(--ink)}
.verify .txt small{display:block;margin-top:2px;font:400 11.5px/1.4 var(--mono);color:var(--muted)}
.verify.is-ok .sp{display:none}
.verify.is-ok .tick{display:grid}
.verify.is-ok{background:rgba(11,122,69,.05);border-color:rgba(11,122,69,.28)}
.verify .ts-slot{flex:0 0 auto}
.verify-note{margin-top:8px;font-size:11.5px;line-height:1.5;color:var(--muted);max-width:52ch}

/* done state */
.done{display:none;margin-top:10px;border:1px solid rgba(11,122,69,.28);background:rgba(11,122,69,.05);
  border-radius:14px;padding:22px}
.done.is-on{display:block}
.done h3{font-size:19px;color:var(--ink)}
.done p{margin-top:8px;font-size:14px;color:var(--body)}
.done .btn{margin-top:16px}

@media(min-width:980px){
  .auth-shell{grid-template-columns:41% 59%}
  .brand-panel{padding:40px 40px 34px}
  .brand-panel .copy h1{font-size:34px}
  .stack{height:300px}
  .auth-col .inner{padding:40px 48px 20px}
}
@media(max-width:639px){
  .brand-panel{padding:22px 18px 24px;gap:18px}
  .stack{height:220px}
  .brand-panel .foot{font-size:14px;letter-spacing:.02em}
  .steps .lbl{font-size:14px}
  .fld label,.fld .hint,.verify .txt small,.verify-note,.form-panel .lead{font-size:14px;letter-spacing:.02em}
  .verify .txt b{font-size:14px}
}

/* /apply is a focused screen: no banner, no site header, no site footer */
body[data-page="apply"] .banner,
body[data-page="apply"] .site-header,
body[data-page="apply"] .site-footer{display:none}
body[data-page="apply"] main{padding:0}
body[data-page="apply"] .auth-shell{min-height:100vh;min-height:100dvh}
.auth-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;
  padding:14px 20px 26px;border-top:1px solid var(--border);background:var(--paper)}
.auth-foot a{display:inline-flex;align-items:center;min-height:44px;font:500 12.5px/1 var(--font);
  color:var(--muted)}
.auth-foot a:hover{color:var(--ink);text-decoration:underline}
@media(max-width:639px){ .auth-foot a{font-size:14px} }
/* stacked layout (<980px): no 100vh gap, no card pile fighting the headline */
@media(max-width:979.98px){
  body[data-page="apply"] .auth-shell,
  .auth-shell{min-height:0}
  .auth-col{min-height:0}
  .auth-col .inner{align-items:flex-start;padding:28px 20px 8px}
  .form-panel{max-width:none}
  .brand-panel{padding:24px 20px 22px;gap:16px}
}
@media(max-width:639.98px){
  .stack{display:none}
  .wordmark-bg{display:none}
  .brand-panel .copy{margin:0}
  .brand-panel .copy h1{font-size:24px;max-width:none}
  .brand-panel .foot{padding-top:12px;gap:4px 12px}
}
@media(max-width:639.98px){
  .steps .n{width:26px;height:26px;font-size:14px}
  .auth-foot a{font-size:14px}
  .brand-panel .logo-row{min-height:44px}
}
/* contact page: channel cards + inline card link */
.card--link{display:flex;flex-direction:column;align-items:flex-start}
.card--link p{flex:1;align-self:stretch}
.card--link .tag{align-self:flex-start}
.card-link{margin-top:16px;display:inline-flex;align-items:center;gap:7px;min-height:44px;
  font:600 13px/1 var(--font);color:var(--navy);text-decoration:none}
.card-link svg{width:14px;height:14px;flex:none;transition:transform .18s ease}
.card-link:hover svg{transform:translateX(3px)}
.card--link:hover .card-link{color:var(--gold-deep, #8A5E00)}
.feature-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:979.98px){ .feature-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:639.98px){ .feature-grid--3{grid-template-columns:minmax(0,1fr)} }