/* The American Logo: Brand Reveal journey mockup. Shared base (same system as mockup 4). */
:root{
  --w:#FFFFFF; --p:#EEF1F3; --p2:#E2E7EA; --p3:#D3DADF;
  --ink:#001B27; --ink2:#1D3945; --ink3:#3E5763;
  --line:rgba(0,27,39,.14); --line2:rgba(0,27,39,.28);
  --red:#F54529; --amber:#F2A33A; --ok:#1F8A5B;
  --sg:"Space Grotesk",system-ui,sans-serif; --mono:"Space Mono",ui-monospace,monospace; --dot:"Doto","Space Mono",monospace;
  --jb:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --wrap:1320px; --gut:32px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--w);color:var(--ink);font:400 17px/1.55 var(--sg);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.dot{font-family:var(--dot);font-weight:800;letter-spacing:.02em}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* hardware primitives */
.hw{position:relative;border:1px solid var(--line2);background:var(--w)}
.hw.screws{background-image:
  radial-gradient(circle at 11px 11px,var(--ink3) 0 1px,var(--w) 1.4px 2.6px,var(--p3) 2.9px 4px,transparent 4.3px),
  radial-gradient(circle at calc(100% - 11px) 11px,var(--ink3) 0 1px,var(--w) 1.4px 2.6px,var(--p3) 2.9px 4px,transparent 4.3px),
  radial-gradient(circle at 11px calc(100% - 11px),var(--ink3) 0 1px,var(--w) 1.4px 2.6px,var(--p3) 2.9px 4px,transparent 4.3px),
  radial-gradient(circle at calc(100% - 11px) calc(100% - 11px),var(--ink3) 0 1px,var(--w) 1.4px 2.6px,var(--p3) 2.9px 4px,transparent 4.3px)}
.hw.grey{background-color:var(--p)}
.reg::before,.reg::after{content:"";position:absolute;width:13px;height:13px;pointer-events:none;
  background:linear-gradient(var(--ink),var(--ink)) center/1px 100% no-repeat,linear-gradient(var(--ink),var(--ink)) center/100% 1px no-repeat}
.reg::before{top:-7px;left:-7px}.reg::after{bottom:-7px;right:-7px}
.led{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--p3);box-shadow:inset 0 0 0 1px rgba(0,27,39,.18);flex:none}
.led.on{background:var(--red);box-shadow:0 0 0 3px rgba(245,69,41,.16)}
.led.ok{background:var(--ok);box-shadow:0 0 0 3px rgba(31,138,91,.16)}
.led.pulse{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 2px rgba(245,69,41,.14)}50%{box-shadow:0 0 0 6px rgba(245,69,41,.05)}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;height:52px;padding:0 22px;border-radius:3px;font:600 16px/1 var(--sg);letter-spacing:-.005em;
  border:1px solid var(--ink);background:var(--ink);color:var(--w);cursor:pointer;
  box-shadow:0 3px 0 var(--ink2);transition:transform .12s,box-shadow .12s,background .2s}
.btn:hover{background:#0B2A38}
.btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--ink2)}
.btn .led{background:var(--red);box-shadow:none}
.btn.ghost{background:var(--w);color:var(--ink);box-shadow:0 3px 0 var(--p3)}
.btn.ghost:hover{background:var(--p)}
.btn.ghost .led{background:var(--ink)}
.btn.red{background:var(--red);border-color:var(--red);box-shadow:0 3px 0 #B8321C}
.btn.red:hover{background:#E33B20}
.btn.red .led{background:#fff}
.btn[disabled]{opacity:.55;cursor:default}
.arrow{font-family:var(--mono);font-weight:700}

.key{display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 14px;border:1px solid var(--line2);border-radius:3px;background:var(--w);
  font:500 14px/1.1 var(--sg);cursor:pointer;box-shadow:0 2px 0 var(--p3);transition:transform .1s,box-shadow .1s,background .15s;text-align:left}
.key:hover{background:var(--p)}
.key[aria-pressed="true"]{transform:translateY(2px);box-shadow:0 0 0 var(--p3);background:var(--p)}
.key[aria-pressed="true"] .led{background:var(--red);box-shadow:0 0 0 3px rgba(245,69,41,.16)}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:20px;height:70px}
.brand{display:flex;align-items:center;gap:11px;flex:none}
.brand img{width:34px;height:34px;border-radius:8px}
.wordmark{font:700 17px/1 var(--sg);letter-spacing:.02em;white-space:nowrap}
.wordmark .r{color:var(--red)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{font:500 15px/1 var(--sg);white-space:nowrap;padding:10px 10px;border-radius:3px}
.nav a:hover{background:var(--p)}
.nav a[aria-current="page"]{background:var(--p);box-shadow:inset 0 -2px 0 var(--red)}
.hdr .btn{height:42px;padding:0 16px;font-size:15px;box-shadow:0 2px 0 var(--ink2)}
@media (max-width:1080px){.nav{display:none}.hdr .btn{margin-left:auto}}
@media (max-width:560px){.hdr .btn{display:none}.wordmark{font-size:15px}}

/* journey rail (demo chrome) */
.rail{background:var(--ink);color:#C3D0D7;font-family:var(--jb);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.rail .wrap{display:flex;align-items:center;gap:10px;min-height:42px;overflow-x:auto;scrollbar-width:none}
.rail .wrap::-webkit-scrollbar{display:none}
.rail .tag{color:var(--amber);white-space:nowrap;margin-right:6px}
.rail a{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(140,190,215,.2);white-space:nowrap;color:#C3D0D7}
.rail a:hover{border-color:rgba(140,190,215,.5);color:#fff}
.rail a b{font-weight:500;color:#fff}
.rail a .led{background:#2B4552;box-shadow:none}
.rail a.done .led{background:var(--ok)}
.rail a[aria-current="step"]{background:#fff;color:var(--ink);border-color:#fff}
.rail a[aria-current="step"] b{color:var(--ink)}
.rail a[aria-current="step"] .led{background:var(--red)}
.rail .sep{color:#5E7985}
.rail .rt{margin-left:auto;white-space:nowrap;color:#8FA6B1}

/* section heads */
.strip{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.strip .num{font:800 30px/1 var(--dot);color:var(--ink)}
.strip .rule{flex:1;height:1px;background:var(--line2)}
.strip .mono{color:var(--ink2)}
h1{font:700 clamp(34px,4vw,58px)/1.02 var(--sg);letter-spacing:-.04em}
h2{font:700 clamp(28px,3.1vw,44px)/1.04 var(--sg);letter-spacing:-.035em}
h3{font:700 21px/1.15 var(--sg);letter-spacing:-.02em}
.lead{font-size:18.5px;color:var(--ink2);max-width:62ch}

/* behind the scenes drawer (demo chrome) */
.bts-btn{position:fixed;right:18px;bottom:18px;z-index:80;display:flex;align-items:center;gap:10px;height:46px;padding:0 16px;border:1px solid #000;border-radius:3px;
  background:var(--ink);color:#fff;font:500 12px/1 var(--jb);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 3px 0 #000,0 14px 34px rgba(0,27,39,.28)}
.bts-btn .n{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;background:var(--red);border-radius:2px;font-weight:700}
.bts-btn.bump{animation:bump .5s ease}
@keyframes bump{30%{transform:translateY(-5px)}}
.bts{position:fixed;right:18px;bottom:74px;z-index:81;width:min(430px,calc(100vw - 36px));max-height:min(70vh,640px);display:flex;flex-direction:column;
  background:#01141E;color:#DCE6EB;border:1px solid #000;border-radius:3px;box-shadow:0 24px 60px rgba(0,27,39,.4)}
.bts[hidden]{display:none}
.bts-h{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid rgba(140,190,215,.18);font:500 11px/1.3 var(--jb);letter-spacing:.08em;text-transform:uppercase;color:#C3D0D7}
.bts-h b{color:#fff;font-weight:500}
.bts-h button{margin-left:auto;background:none;border:1px solid rgba(140,190,215,.3);color:#C3D0D7;font:500 10px/1 var(--jb);letter-spacing:.08em;text-transform:uppercase;padding:6px 8px}
.bts-h button:hover{color:#fff;border-color:#fff}
.bts-note{padding:10px 14px;font:400 13px/1.45 var(--sg);color:#AFC2CB;border-bottom:1px solid rgba(140,190,215,.12)}
.bts ol{list-style:none;overflow:auto;padding:6px 0}
.bts li{display:grid;grid-template-columns:52px 70px minmax(0,1fr);gap:8px;padding:9px 14px;border-bottom:1px solid rgba(140,190,215,.08);font:400 13.5px/1.4 var(--sg);color:#E6EEF2}
.bts li.new{animation:flashin 1.2s ease}
@keyframes flashin{0%{background:rgba(245,69,41,.28)}100%{background:transparent}}
.bts li time{font:400 11px/1.9 var(--jb);color:#8FA6B1}
.bts li .k{font:700 10px/1 var(--jb);letter-spacing:.06em;text-transform:uppercase;align-self:start;margin-top:3px;padding:4px 5px;border:1px solid currentColor;text-align:center}
.bts li .k.email{color:#7CC4F0}.bts li .k.alert{color:#FF8A73}.bts li .k.timer{color:var(--amber)}.bts li .k.data{color:#8FD6A8}.bts li .k.stop{color:#B8C6CD}
.bts li small{display:block;color:#AFC2CB;font-size:12.5px}
.bts .empty{padding:18px 14px;color:#8FA6B1;font-size:14px}
@media (max-width:560px){.bts-btn{right:12px;bottom:12px}.bts{right:12px;bottom:66px;width:calc(100vw - 24px)}}

/* footer */
.foot{border-top:1px solid var(--line);padding:26px 0 90px;font-size:14px;color:var(--ink2)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}
.foot .rt{margin-left:auto}
.foot b{color:var(--ink)}

@media (max-width:720px){:root{--gut:16px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
