:root{
  --intake-top:106px;
  --intake-edge:clamp(42px,5vw,92px);
  --intake-gold:#d8aa52;
  --intake-orange:#f26722;
  --intake-orange-hot:#ff9b36;
  --intake-ink:#050708;
  --intake-panel:rgba(10,13,13,.84);
}

*{
  box-sizing:border-box;
}

html{
  min-height:100%;
}

body{
  min-height:100svh;
  overflow-x:hidden;
  background:#050708;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    radial-gradient(circle at 76% 24%, rgba(242,103,34,.22), transparent 30%),
    radial-gradient(circle at 18% 84%, rgba(216,170,82,.12), transparent 34%),
    linear-gradient(180deg, #080b0c 0%, #050708 52%, #020303 100%);
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.7), transparent 76%);
  opacity:.22;
}

button,
a{
  font:inherit;
}

/* ================================================================
   HEADER
================================================================ */

.intake-top{
  position:fixed;
  inset:0 0 auto 0;
  z-index:30;
  height:var(--intake-top);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 var(--intake-edge);
  background:
    linear-gradient(180deg, rgba(5,7,8,.96), rgba(5,7,8,.72) 72%, rgba(5,7,8,0));
  backdrop-filter:blur(16px);
}

.intake-brand{
  justify-self:start;
  display:flex;
  align-items:center;
  gap:18px;
  color:var(--rf-text);
  text-decoration:none;
}

.intake-brand-mark{
  width:70px;
  height:70px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:1px solid rgba(242,103,34,.72);
  border-radius:20px;
  background:
    linear-gradient(180deg, rgba(242,103,34,.16), rgba(242,103,34,.06));
  color:var(--rf-accent-strong);
  font-size:24px;
  font-weight:950;
  font-style:italic;
  letter-spacing:-.14em;
  box-shadow:0 20px 42px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.10);
}

.intake-brand-word{
  font-size:20px;
  font-weight:950;
  letter-spacing:.34em;
  text-transform:uppercase;
}

.intake-label{
  justify-self:center;
  color:rgba(255,255,255,.72);
  font-size:15px;
  font-weight:950;
  letter-spacing:.36em;
  text-transform:uppercase;
}

.intake-status{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:10px;
}

.intake-status span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.70);
  font-size:13px;
  font-weight:850;
  letter-spacing:.02em;
}

/* ================================================================
   APP LAYOUT
================================================================ */

.intake-app-shell{
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:var(--intake-top) 0 54px;
}

.intake-app-grid{
  width:100%;
  min-height:calc(100svh - var(--intake-top));
  display:grid;
  grid-template-columns:minmax(560px,1fr) minmax(720px,.92fr);
  align-items:center;
  gap:clamp(58px,5.4vw,128px);
  padding:0 var(--intake-edge);
}

.intake-copy{
  width:100%;
  max-width:none;
  align-self:center;
}

.intake-kicker,
.rf-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 16px;
  border:1px solid rgba(216,170,82,.25);
  border-radius:999px;
  background:rgba(216,170,82,.08);
  color:var(--intake-gold);
  font-size:18px;
  font-weight:950;
  letter-spacing:.23em;
  text-transform:uppercase;
}

.intake-copy h1{
  max-width:1240px;
  margin:30px 0 34px;
  color:var(--rf-text);
  font-size:clamp(92px,8.4vw,164px);
  line-height:.82;
  letter-spacing:-.085em;
  text-transform:uppercase;
}

.intake-copy p{
  max-width:980px;
  margin:0 0 58px;
  color:rgba(255,255,255,.90);
  font-size:clamp(31px,2.25vw,40px);
  line-height:1.42;
  letter-spacing:-.04em;
}

/* ================================================================
   CTA
================================================================ */

.intake-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:26px;
}

.begin-submission{
  appearance:none;
  border:0;
  cursor:pointer;
  min-width:500px;
  height:108px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:0 46px;
  border-radius:28px;
  background:
    linear-gradient(180deg, #ffc26b 0%, #ff9c34 38%, #f26722 100%);
  color:#111;
  font-size:31px;
  font-weight:950;
  letter-spacing:-.035em;
  box-shadow:
    0 34px 120px rgba(242,103,34,.58),
    0 0 0 1px rgba(255,220,158,.72),
    inset 0 1px 0 rgba(255,255,255,.58);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.begin-submission strong{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:rgba(0,0,0,.16);
  font-size:28px;
  line-height:1;
}

.begin-submission:hover{
  transform:translateY(-4px) scale(1.025);
  filter:saturate(1.05);
  box-shadow:
    0 46px 150px rgba(242,103,34,.72),
    0 0 0 1px rgba(255,232,181,.88),
    inset 0 1px 0 rgba(255,255,255,.68);
}

.begin-submission:active{
  transform:translateY(-1px) scale(.99);
}

.begin-submission:focus-visible,
.intake-back-link:focus-visible{
  outline:3px solid rgba(255,194,107,.9);
  outline-offset:5px;
}

.intake-back-link{
  color:rgba(255,255,255,.72);
  font-size:20px;
  font-weight:850;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.25);
}

.intake-back-link:hover{
  color:#fff;
  border-color:rgba(242,103,34,.8);
}

.intake-trust{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:40px;
}

.intake-trust span{
  display:inline-flex;
  align-items:center;
  min-height:50px;
  padding:0 20px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.74);
  font-size:18px;
  font-weight:850;
}

/* ================================================================
   MINI PERMANENT RECORD
================================================================ */

.record-console{
  position:relative;
  width:100%;
  max-width:860px;
  justify-self:center;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

.record-console-glow{
  position:absolute;
  inset:4% -12% -8% -12%;
  z-index:-1;
  border-radius:46px;
  background:
    radial-gradient(circle at 50% 20%, rgba(242,103,34,.22), transparent 42%),
    radial-gradient(circle at 50% 80%, rgba(216,170,82,.14), transparent 50%);
  filter:blur(26px);
  opacity:1;
}

/* Priority 4 — the glow's -12% horizontal bleed is fine on desktop (ample
   surrounding space) but pushes real document width past the viewport on
   phones. Clip it at the card edge below the point that starts happening;
   purely decorative (z-index:-1), so clipping changes nothing functional. */
@media (max-width: 640px){
  .record-console{ overflow:hidden; }
}

.mini-record{
  overflow:hidden;
  border:1px solid rgba(216,170,82,.38);
  border-radius:42px;
  background:
    linear-gradient(180deg, rgba(17,22,21,.96), rgba(6,8,8,.99));
  box-shadow:
    0 54px 150px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.07);
}

.mini-record-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:24px 28px;
  border-bottom:1px solid rgba(216,170,82,.20);
}

.mini-record-top div{
  display:grid;
  gap:6px;
}

.mini-record-label{
  color:rgba(255,255,255,.60);
  font-size:13px;
  font-weight:950;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.mini-record-top strong{
  color:var(--intake-gold);
  font-size:24px;
  font-weight:950;
  letter-spacing:.06em;
}

.mini-record-live{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 15px;
  border:1px solid rgba(242,103,34,.40);
  border-radius:999px;
  background:rgba(242,103,34,.12);
  color:var(--rf-accent-strong);
  font-size:13px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.mini-record-hero{
  position:relative;
  height:450px;
  margin:0;
  overflow:hidden;
  background:#050708;
}

.mini-record-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, transparent 45%, rgba(5,7,8,.70) 100%),
    linear-gradient(90deg, rgba(5,7,8,.12), transparent 36%, rgba(5,7,8,.10));
  pointer-events:none;
}

.mini-record-hero img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 27%;
  filter:saturate(1.05) contrast(1.04) brightness(.88);
}

.mini-record-hero figcaption{
  position:absolute;
  left:24px;
  bottom:20px;
  z-index:2;
}

.mini-record-hero figcaption span{
  display:inline-flex;
  min-height:36px;
  align-items:center;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(5,7,8,.72);
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:900;
  backdrop-filter:blur(10px);
}

.mini-record-body{
  padding:30px;
}

.mini-record-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(216,170,82,.32);
  border-radius:999px;
  background:rgba(216,170,82,.09);
  color:var(--intake-gold);
  font-size:13px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.mini-record-identity h2{
  margin:18px 0 6px;
  color:var(--rf-text);
  font-size:66px;
  line-height:.88;
  letter-spacing:-.062em;
  text-transform:uppercase;
}

.mini-record-identity p{
  margin:0;
  color:rgba(255,255,255,.62);
  font-family:var(--rf-font-serif);
  font-size:30px;
  font-style:italic;
}

.mini-record-titles{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:24px 0;
}

.mini-record-titles span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:60px;
  min-height:42px;
  padding:0 13px;
  border:1px solid rgba(242,103,34,.28);
  border-radius:999px;
  background:rgba(242,103,34,.10);
  color:rgba(255,255,255,.86);
  font-size:17px;
  font-weight:950;
  letter-spacing:.08em;
}

.mini-record-core{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:12px;
  margin-bottom:16px;
}

.score-tile,
.data-tile{
  min-height:118px;
  padding:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(255,255,255,.045);
}

.score-tile{
  grid-row:span 2;
  display:grid;
  align-content:center;
  justify-items:start;
  background:
    radial-gradient(circle at 80% 20%, rgba(242,103,34,.18), transparent 42%),
    rgba(255,255,255,.05);
}

.score-tile span,
.data-tile span{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:14px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.score-tile strong{
  display:block;
  margin-top:10px;
  color:#fff;
  font-size:58px;
  line-height:.9;
  letter-spacing:-.07em;
}

.score-ring{
  width:142px;
  height:142px;
  margin-top:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(5,7,8,.96) 0 54%, transparent 55%),
    conic-gradient(from 210deg, #f2b45f 0 84%, rgba(255,255,255,.10) 84% 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 18px 46px rgba(216,170,82,.22);
}

.score-ring strong{
  margin:0;
  color:#fff;
  font-size:58px;
  line-height:1;
  letter-spacing:-.07em;
}

.data-tile strong{
  display:block;
  margin-top:10px;
  color:#fff;
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.035em;
}

.mini-record-nav{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.mini-record-nav a{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.86);
  font-size:20px;
  font-weight:900;
  text-decoration:none;
}

.mini-record-nav a:hover{
  border-color:rgba(242,103,34,.42);
  background:rgba(242,103,34,.08);
}

.mini-record-nav span{
  color:var(--rf-accent-strong);
}

.intake-docs{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:18px;
}

.intake-docs span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.68);
  font-size:14px;
  font-weight:850;
}

/* ================================================================
   FOOTER / TOAST
================================================================ */

.intake-foot{
  position:fixed;
  left:var(--intake-edge);
  right:var(--intake-edge);
  bottom:18px;
  z-index:8;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:rgba(255,255,255,.56);
  font-size:14px;
}

.intake-foot strong{
  color:rgba(255,255,255,.84);
  letter-spacing:.22em;
}

.toast{
  position:fixed;
  left:50%;
  bottom:28px;
  z-index:50;
  transform:translate(-50%,12px);
  padding:14px 22px;
  border:1px solid rgba(242,103,34,.36);
  border-radius:999px;
  background:rgba(5,7,8,.96);
  color:rgba(255,255,255,.84);
  font-size:15px;
  font-weight:850;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease;
}

.toast.show{
  opacity:1;
  transform:translate(-50%,0);
}


/* ================================================================
   INTAKE TRANSITION
================================================================ */

.intake-loader{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  background:rgba(3,5,5,.78);
  backdrop-filter:blur(18px);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}

.intake-loader.show{
  opacity:1;
  pointer-events:auto;
}

.loader-card{
  width:min(560px, calc(100% - 36px));
  padding:34px;
  border:1px solid rgba(216,170,82,.34);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(16,20,20,.98),rgba(5,7,8,.98));
  box-shadow:0 44px 120px rgba(0,0,0,.55);
}

.loader-card p{
  margin:0 0 22px;
  color:#fff;
  font-size:28px;
  font-weight:950;
  letter-spacing:-.04em;
}

.loader-card span{
  display:block;
  margin-top:12px;
  color:rgba(255,255,255,.82);
  font-size:18px;
  font-weight:850;
}

/* ================================================================
   RESPONSIVE
================================================================ */

@media(max-width:1420px){
  .intake-app-grid{
    grid-template-columns:minmax(520px,1fr) minmax(560px,.86fr);
    gap:clamp(44px,5vw,92px);
  }

  .intake-copy h1{
    font-size:clamp(78px,7.4vw,126px);
  }

  .intake-copy p{
    font-size:clamp(25px,2vw,32px);
  }

  .record-console{
    max-width:760px;
  }

  .mini-record-hero{
    height:390px;
  }

  .mini-record-identity h2{
    font-size:54px;
  }
}

@media(max-width:1100px){
  .intake-app-shell{
    align-items:start;
    padding-top:calc(var(--intake-top) + 42px);
  }

  .intake-app-grid{
    grid-template-columns:1fr;
    gap:44px;
    padding-inline:clamp(24px,5vw,56px);
  }

  .record-console{
    max-width:760px;
    justify-self:start;
  }

  .intake-foot{
    position:static;
    width:calc(100% - 56px);
    margin:34px auto 24px;
  }
}

@media(max-width:760px){
  :root{
    --intake-top:86px;
    --intake-edge:18px;
  }

  .intake-top{
    grid-template-columns:auto 1fr auto;
  }

  .intake-brand-word,
  .intake-status{
    display:none;
  }

  .intake-brand-mark{
    width:54px;
    height:54px;
    border-radius:16px;
    font-size:18px;
  }

  .intake-label{
    justify-self:center;
    font-size:11px;
  }

  .intake-app-grid{
    padding-inline:16px;
  }

  .intake-kicker{
    font-size:12px;
    letter-spacing:.16em;
  }

  .intake-copy h1{
    margin-top:20px;
    font-size:clamp(48px,14vw,72px);
    line-height:.86;
  }

  .intake-copy p{
    font-size:21px;
    line-height:1.45;
    margin-bottom:32px;
  }

  .intake-actions{
    display:grid;
    gap:16px;
  }

  .begin-submission{
    width:100%;
    min-width:0;
    height:82px;
    border-radius:24px;
    padding-inline:22px;
    font-size:23px;
  }

  .intake-back-link{
    justify-self:center;
    font-size:17px;
  }

  .intake-trust{
    display:grid;
    gap:10px;
  }

  .intake-trust span{
    min-height:44px;
    font-size:15px;
  }

  .mini-record{
    border-radius:28px;
  }

  .mini-record-top{
    padding:18px;
  }

  .mini-record-label{
    font-size:10px;
  }

  .mini-record-top strong{
    font-size:19px;
  }

  .mini-record-live{
    display:none;
  }

  .mini-record-hero{
    height:250px;
  }

  .mini-record-body{
    padding:22px;
  }

  .mini-record-identity h2{
    font-size:36px;
  }

  .mini-record-identity p{
    font-size:21px;
  }

  .mini-record-core{
    grid-template-columns:1fr;
  }

  .score-tile{
    grid-row:auto;
  }

  .score-tile strong{
    font-size:66px;
  }

  .mini-record-nav a{
    min-height:54px;
    font-size:16px;
  }

  .intake-docs{
    justify-content:flex-start;
  }

  .intake-foot{
    width:calc(100% - 32px);
    display:block;
  }

  .intake-foot span{
    display:block;
    margin-top:8px;
  }
}
.rf-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 35%, rgba(216, 170, 82, 0.16), transparent 36%),
    #050505;
  opacity: 0;
  pointer-events: none;
  transition: opacity 420ms ease;
}

.rf-loader.show {
  opacity: 1;
  pointer-events: auto;
}

.rf-loader-box {
  width: min(520px, calc(100% - 48px));
  padding: 34px;
  border-radius: 28px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 34px 120px rgba(0,0,0,.55);
}

.rf-loader-title {
  color: #f5efe4;
  font-size: 34px;
  line-height: 1;
  letter-spacing: -0.04em;
  font-weight: 850;
  margin-bottom: 26px;
}

.rf-loader-step {
  color: rgba(245,239,228,.72);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .05em;
  margin-top: 14px;
}

/* ================================================================
   RETRIEVERFORGE COMING-SOON BRAND MATCH
   Exact nav lockup, Inter typography, cream/orange palette
================================================================ */

:root{
  --intake-top:92px;
  --intake-edge:clamp(24px,4.7vw,48px);
  --intake-gold:#f26722;
  --intake-orange:#f26722;
  --intake-orange-hot:#ff8a2a;
  --intake-ink:#0a0c0d;
  --intake-panel:rgba(10,12,13,.84);
  --rf-text:#f5efe8;
  --rf-muted:#d9d0c5;
  --rf-accent:#f26722;
  --rf-accent-strong:#ff8a2a;
  --rf-font-serif:'Inter',ui-sans-serif,system-ui,sans-serif;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:#0a0c0d;
  color:#f5efe8;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}

::selection{
  background:#f26722;
  color:#0a0c0d;
}

body::before{
  background:
    radial-gradient(circle at 76% 24%,rgba(242,103,34,.18),transparent 30%),
    radial-gradient(circle at 18% 84%,rgba(242,103,34,.07),transparent 34%),
    linear-gradient(180deg,#0a0c0d 0%,#080a0b 52%,#050607 100%);
}

/* Exact coming-soon navigation */
.rf-menu-checkbox{display:none;}
.rf-menu-btn{display:none;}
.rf-mobile-menu{display:none;}
#rf-menu-toggle:checked ~ .rf-mobile-menu{display:flex!important;}

.rf-nav{
  position:fixed!important;
  top:0;
  left:0;
  right:0;
  z-index:40;
  background:rgba(10,12,13,.82)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

.rf-wrap{
  width:calc(100% - 96px)!important;
  max-width:none!important;
  margin-inline:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:14px 0!important;
}

.rf-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:#f5efe8;
  text-decoration:none;
}

.rf-brand > img{
  flex:0 0 auto;
  height:63px!important;
  width:71px!important;
  display:block;
  object-fit:contain;
}

.rf-wordmark{
  display:inline-flex;
  align-items:baseline;
  white-space:nowrap;
  color:#f5efe8;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  font-size:clamp(15px,1.35vw,20px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.035em;
}

.rf-wordmark > span{color:#f26722;}

.rf-nav-links{
  display:flex!important;
  align-items:center!important;
  gap:30px!important;
  color:#d9d0c5!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}

.rf-nav-link,
.rf-admin-link{
  color:inherit;
  text-decoration:none;
}

.rf-btn-nav{
  display:inline-block;
  padding:12px 24px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#f26722,#ff8a2a)!important;
  color:#160b05!important;
  box-shadow:0 0 26px rgba(242,103,34,.28)!important;
  font-weight:800!important;
  text-decoration:none;
}

.rf-admin-link{
  opacity:.55;
  border-left:1px solid rgba(255,255,255,.16);
  padding-left:24px;
}

.rf-menu-btn{
  border-radius:10px;
  color:#f5efe8;
  cursor:pointer;
}

.rf-menu-btn:focus-visible,
.rf-brand:focus-visible,
a:focus-visible,
button:focus-visible{
  outline:2px solid #f26722;
  outline-offset:4px;
}

@media (hover:hover) and (pointer:fine){
  .rf-nav-link{transition:color .2s ease;}
  .rf-nav-link:hover{color:#ff8a2a;}
  .rf-admin-link{transition:opacity .2s ease;}
  .rf-admin-link:hover{opacity:.9;}
  .rf-btn-nav{transition:transform .25s ease,box-shadow .25s ease;}
  .rf-btn-nav:hover{
    transform:translateY(-2px) scale(1.04);
    box-shadow:0 6px 34px rgba(242,103,34,.5)!important;
  }
}

/* Match coming-soon typography and colors */
.intake-app-shell{
  padding-top:var(--intake-top);
}

.intake-kicker,
.rf-eyebrow{
  border-color:rgba(242,103,34,.28);
  background:rgba(242,103,34,.10);
  color:#ff8a2a;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  font-weight:800;
}

.intake-copy h1{
  color:#f5efe8;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  font-weight:900;
}

.intake-copy p{
  color:#d9d0c5;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  font-weight:500;
}

.begin-submission{
  background:linear-gradient(135deg,#f26722,#ff8a2a);
  color:#160b05;
  box-shadow:
    0 26px 70px rgba(242,103,34,.42),
    0 0 0 1px rgba(255,255,255,.10),
    inset 0 1px 0 rgba(255,255,255,.34);
}

.begin-submission:hover{
  box-shadow:
    0 34px 90px rgba(242,103,34,.55),
    0 0 0 1px rgba(255,255,255,.14),
    inset 0 1px 0 rgba(255,255,255,.42);
}

.intake-back-link{
  color:#d9d0c5;
}

.intake-back-link:hover{
  color:#f5efe8;
  border-color:#f26722;
}

.intake-trust span,
.intake-docs span{
  color:#d9d0c5;
}

.mini-record{
  border-color:rgba(242,103,34,.30);
  background:linear-gradient(180deg,rgba(17,20,20,.96),rgba(7,9,9,.99));
}

.mini-record-top{
  border-bottom-color:rgba(242,103,34,.18);
}

.mini-record-top strong,
.mini-record-badge{
  color:#ff8a2a;
}

.mini-record-badge{
  border-color:rgba(242,103,34,.30);
  background:rgba(242,103,34,.09);
}

.mini-record-label,
.score-tile span,
.data-tile span{
  color:#a9a198;
}

.mini-record-identity h2,
.score-ring strong,
.data-tile strong,
.loader-card p{
  color:#f5efe8;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
}

.mini-record-identity p{
  color:#d9d0c5;
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  font-style:normal;
}

.score-ring{
  background:
    radial-gradient(circle at 50% 50%,rgba(5,7,8,.96) 0 54%,transparent 55%),
    conic-gradient(from 210deg,#f26722 0 84%,rgba(255,255,255,.10) 84% 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.10),
    0 18px 46px rgba(242,103,34,.20);
}

.record-console-glow{
  background:
    radial-gradient(circle at 50% 20%,rgba(242,103,34,.22),transparent 42%),
    radial-gradient(circle at 50% 80%,rgba(242,103,34,.08),transparent 50%);
}

.loader-card{
  border-color:rgba(242,103,34,.32);
}

.loader-card span,
.toast{
  color:#d9d0c5;
}

/* Responsive nav mirrors coming-soon page */
@media(max-width:1100px){
  .rf-wrap{width:calc(100% - 56px)!important;}
  .rf-nav-links{gap:20px!important;}
}

@media(max-width:860px){
  :root{--intake-top:75px;}

  .rf-wrap{
    width:calc(100% - 32px)!important;
    padding:10px 0!important;
    gap:12px!important;
  }

  .rf-nav-links{display:none!important;}

  .rf-brand{gap:9px;}

  .rf-brand > img{
    width:54px!important;
    height:54px!important;
  }

  .rf-wordmark{font-size:17px;}

  .rf-menu-btn{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    background:none;
    font-size:24px;
  }

  .rf-mobile-menu{
    max-height:calc(100svh - 75px);
    overflow:auto;
    padding-bottom:max(8px,env(safe-area-inset-bottom));
  }

  .intake-app-shell{
    padding-top:calc(var(--intake-top) + 42px);
  }
}

@media(max-width:560px){
  .rf-brand > img{
    width:48px!important;
    height:48px!important;
  }

  .rf-wordmark{
    font-size:15px;
    letter-spacing:-.045em;
  }

  .rf-menu-btn{
    width:42px!important;
    height:42px!important;
    position:relative;
    font-size:0!important;
  }

  .rf-menu-btn::before{
    content:"";
    position:absolute;
    width:22px;
    height:14px;
    border-top:2px solid #f5efe8;
    border-bottom:2px solid #f5efe8;
  }

  .rf-menu-btn::after{
    content:"";
    position:absolute;
    width:22px;
    height:2px;
    background:#f5efe8;
  }
}

@media(max-width:380px){
  .rf-wrap{width:calc(100% - 24px)!important;}
  .rf-brand{gap:7px;}
  .rf-brand > img{
    width:44px!important;
    height:44px!important;
  }
  .rf-wordmark{font-size:13.5px;}
}
