/* ============================================================
   artemrum.dev — public landing page
   Self-contained premium styles. Light/dark themes via
   [data-theme] (light default), fonts via site-wide --display /
   --font variables (admin Typography console → localStorage).
   ============================================================ */

/* ── Fonts (self-hosted defaults = the "Flight Manual" preset) ── */
@font-face { font-family:'Archivo'; src:url('/assets/fonts/Archivo-var.woff2') format('woff2'); font-weight:100 900; font-stretch:62% 125%; font-display:swap; }
@font-face { font-family:'Inter'; src:url('/assets/fonts/InterVariable.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
@font-face { font-family:'JetBrains Mono'; src:url('/assets/fonts/JetBrainsMono-var.woff2') format('woff2'); font-weight:100 800; font-display:swap; }

/* ── Shared tokens + LIGHT palette (default) ── */
:root{
  --accent:#e8532a; --accent-2:#c9431f; --accent-3:#b34a1f;
  --glow:rgba(232,83,42,.28);
  --display:'Archivo','Inter',sans-serif;
  --font:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --maxw:1200px;
  --ease:cubic-bezier(.22,1,.36,1);

  --bg:#f4f5f8; --bg-2:#eceef3;
  --line:rgba(15,23,42,.09); --line-2:rgba(15,23,42,.18);
  --fg:#12161f; --fg-2:#3d4451; --fg-3:#6a7181; --fg-4:#9aa1b0;
  --head:#0f1420;
  --aur1:rgba(232,83,42,.19); --aur2:rgba(120,90,255,.10); --aur3:rgba(255,140,80,.12);
  --grain:.05;
  --nav-bg:rgba(255,255,255,.62); --nav-bg-2:rgba(255,255,255,.9);
  --nav-shadow:0 12px 40px -18px rgba(15,23,42,.25);
  --hover-bg:rgba(15,23,42,.05);
  --chip-bg:rgba(15,23,42,.035);
  --card-a:rgba(255,255,255,.92); --card-b:rgba(255,255,255,.55);
  --card-ha:#ffffff; --card-hb:rgba(255,255,255,.75);
  --card-shadow:0 18px 44px -26px rgba(15,23,42,.30);
  --strip-bg:rgba(15,23,42,.02);
  --input-bg:rgba(255,255,255,.85); --input-bg-f:#ffffff;
  --cta-tail:rgba(255,255,255,.55);
  --ok-fg:#14733f; --ok-bg:rgba(20,160,90,.09); --ok-line:rgba(20,160,90,.35);
  --err-fg:#b3441c; --err-bg:rgba(232,83,42,.08); --err-line:rgba(232,83,42,.38);
  --grid:rgba(15,23,42,.03); --green:#0f8a4c;
  --panel-hi:rgba(255,255,255,.65);
  --pl-hi:#ffd8c2; --pl-mid:#f0906c; --pl-lo:#d96a44;
  --pl-ring:rgba(15,23,42,.3); --pl-halo:rgba(15,23,42,.08);
  --pl-glow:rgba(232,83,42,.16); --pl-op:.55;
}

/* ── DARK palette ── */
[data-theme="dark"]{
  --accent:#ff6a3d; --accent-2:#e8532a; --accent-3:#ffb37a;
  --glow:rgba(255,106,61,.5);
  --bg:#06070b; --bg-2:#10131c;
  --line:rgba(230,236,248,.08); --line-2:rgba(230,236,248,.16);
  --fg:#f3f5f9; --fg-2:#aeb6c4; --fg-3:#727a89; --fg-4:#4c5464;
  --head:#ffffff;
  --aur1:rgba(255,106,61,.22); --aur2:rgba(120,90,255,.10); --aur3:rgba(255,140,80,.10);
  --grain:.035;
  --nav-bg:rgba(10,12,18,.5); --nav-bg-2:rgba(8,9,14,.82);
  --nav-shadow:0 12px 40px -18px rgba(0,0,0,.8);
  --hover-bg:rgba(255,255,255,.05);
  --chip-bg:rgba(255,255,255,.03);
  --card-a:rgba(255,255,255,.035); --card-b:rgba(255,255,255,.008);
  --card-ha:rgba(255,255,255,.055); --card-hb:rgba(255,255,255,.012);
  --card-shadow:none;
  --strip-bg:rgba(255,255,255,.012);
  --input-bg:rgba(255,255,255,.045); --input-bg-f:rgba(255,255,255,.06);
  --cta-tail:rgba(255,255,255,.02);
  --ok-fg:#7ce8ab; --ok-bg:rgba(61,220,132,.1); --ok-line:rgba(61,220,132,.35);
  --grid:rgba(230,236,248,.045); --green:#3ddc84;
  --panel-hi:rgba(255,255,255,.07);
  --pl-hi:#ff9a6a; --pl-mid:#e8532a; --pl-lo:#6e2610;
  --pl-ring:rgba(230,236,248,.35); --pl-halo:rgba(255,255,255,.08);
  --pl-glow:rgba(255,106,61,.35); --pl-op:1;
  --err-fg:#ffb37a; --err-bg:rgba(255,106,61,.1); --err-line:rgba(255,106,61,.4);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font); background:var(--bg); color:var(--fg-2);
  line-height:1.6; font-size:17px; letter-spacing:-.011em;
  overflow-x:hidden; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  position:relative; transition:background .3s, color .3s;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--accent);color:#1b0d06}

/* Ambient aurora background + fine grain */
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(60vw 60vw at 78% -8%, var(--aur1), transparent 60%),
    radial-gradient(48vw 48vw at 8% 12%, var(--aur2), transparent 62%),
    radial-gradient(50vw 60vw at 50% 108%, var(--aur3), transparent 60%),
    var(--bg);
  transition:background .3s;
}
body::after{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:var(--grain);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
body{counter-reset:mod}
.eyebrow{
  font-family:var(--mono); font-size:.72rem; font-weight:600; letter-spacing:.26em;
  text-transform:uppercase; color:var(--accent-3);
  display:inline-flex; align-items:center; gap:.6rem;
  counter-increment:mod;
}
.eyebrow::before{
  content:counter(mod,decimal-leading-zero);
  font-size:.82rem;font-weight:600;letter-spacing:.08em;color:var(--accent);
}
.eyebrow::after{content:"";width:26px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
.grad{
  background:linear-gradient(105deg,var(--accent-3) 0%,var(--accent) 42%,var(--accent-2) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
[data-theme="dark"] .grad{background:linear-gradient(105deg,#ffb37a 0%,#ff6a3d 42%,#ff8a5c 100%);-webkit-background-clip:text;background-clip:text}

/* ── HUD layer: blueprint grid + starfield ── */
.lp-hud{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    repeating-linear-gradient(0deg,transparent 0 63px,var(--grid) 63px 64px),
    repeating-linear-gradient(90deg,transparent 0 63px,var(--grid) 63px 64px);
  -webkit-mask-image:radial-gradient(120% 62% at 50% 0%,#000 22%,transparent 78%);
  mask-image:radial-gradient(120% 62% at 50% 0%,#000 22%,transparent 78%);
}
.lp-star{position:absolute;border-radius:50%;background:#fff;opacity:0;animation:lpTwinkle 5s ease-in-out infinite}
[data-theme="light"] .lp-star{display:none}
@keyframes lpTwinkle{0%,100%{opacity:0}50%{opacity:.8}}

/* ── Buttons ── */
.btn{
  --pad:1rem 1.7rem;
  display:inline-flex;align-items:center;gap:.6rem;padding:var(--pad);
  font-family:var(--font);font-weight:600;font-size:.95rem;letter-spacing:-.01em;
  border-radius:100px;cursor:pointer;border:1px solid transparent;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s,border-color .3s,color .3s;
  white-space:nowrap;
}
.btn svg{width:16px;height:16px}
.btn--primary{
  color:#1b0d06; background:linear-gradient(120deg,#ffb37a,#ff6a3d 55%,#e8532a);
  box-shadow:0 10px 30px -8px var(--glow),inset 0 1px 0 rgba(255,255,255,.35);
}
.btn--primary:hover{transform:translateY(-3px);box-shadow:0 20px 46px -10px var(--glow),inset 0 1px 0 rgba(255,255,255,.4)}
.btn--ghost{color:var(--fg);background:var(--chip-bg);border-color:var(--line-2);backdrop-filter:blur(8px)}
.btn--ghost:hover{transform:translateY(-3px);border-color:var(--accent);color:var(--head);background:rgba(232,83,42,.08)}
.btn--lg{--pad:1.15rem 2.1rem;font-size:1.02rem}

/* ── Nav ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;transition:all .4s var(--ease)}
.nav__in{
  max-width:var(--maxw);margin:1rem auto 0;padding:.7rem .7rem .7rem 1.3rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  border:1px solid var(--line);border-radius:100px;
  background:var(--nav-bg);backdrop-filter:blur(18px) saturate(140%);
  transition:all .4s var(--ease);
}
.nav.scrolled .nav__in{margin-top:.5rem;background:var(--nav-bg-2);border-color:var(--line-2);box-shadow:var(--nav-shadow)}
.nav__brand{display:flex;align-items:center;gap:.7rem;font-family:var(--display);font-weight:700;font-size:1.02rem;letter-spacing:-.02em;color:var(--head)}
.nav__mark{width:34px;height:34px;flex-shrink:0}
.nav__links{display:flex;align-items:center;gap:.4rem}
.nav__links a{padding:.5rem .9rem;font-size:.9rem;color:var(--fg-2);border-radius:100px;transition:color .2s,background .2s}
.nav__links a:hover{color:var(--head);background:var(--hover-bg)}
.nav__cta{display:flex;align-items:center;gap:.5rem}
.nav__portal{font-size:.82rem;color:var(--fg-3);padding:.5rem .8rem;border-radius:100px;transition:color .2s}
.nav__portal:hover{color:var(--accent)}
.nav__soc{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:100px;color:var(--fg-3);transition:color .2s,background .2s}
.nav__soc:hover{color:var(--head);background:var(--hover-bg)}
.nav__soc svg{width:17px;height:17px}
@media(max-width:940px){.nav__soc{display:none}}
.nav__theme{
  width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line-2);border-radius:100px;background:var(--chip-bg);
  color:var(--fg-2);cursor:pointer;transition:color .2s,border-color .2s,transform .3s var(--ease);
}
.nav__theme:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}

/* ── Hero ── */
.hero{position:relative;padding:11rem 0 5rem;text-align:center}
.hero .wrap{position:relative;z-index:1}
.lp-planet{
  position:absolute;top:clamp(7rem,12vh,9.5rem);right:clamp(2rem,9vw,9rem);
  width:clamp(120px,13vw,180px);height:auto;pointer-events:none;
  opacity:var(--pl-op);filter:drop-shadow(0 0 46px var(--pl-glow));
}
.lp-orbit{animation:lpOrbit 14s linear infinite}
.lp-moon{transform-origin:70px 70px;animation:lpMoon 40s linear infinite}
@keyframes lpOrbit{to{stroke-dashoffset:-90}}
@keyframes lpMoon{to{transform:rotate(360deg)}}
@media(max-width:1180px){.lp-planet{display:none}}
@media(prefers-reduced-motion:reduce){.lp-orbit,.lp-moon{animation:none}}
.hero__badge{
  display:inline-flex;align-items:center;gap:.55rem;margin-bottom:2rem;
  padding:.45rem .5rem .45rem .95rem;border:1px solid var(--line-2);border-radius:100px;
  background:var(--chip-bg);backdrop-filter:blur(8px);
  font-size:.8rem;color:var(--fg-2);
}
.hero__badge b{color:var(--head);font-weight:600}
.hero__badge .dot{width:7px;height:7px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 3px rgba(61,220,132,.18)}
.hero__pill{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-3);background:rgba(232,83,42,.1);padding:.28rem .6rem;border-radius:100px}
.hero h1{
  font-family:var(--display);font-weight:760;color:var(--head);
  font-size:clamp(2.6rem,7vw,5.4rem);line-height:.98;letter-spacing:-.035em;
  margin:0 auto 1.6rem;max-width:16ch;
}
.hero__sub{font-size:clamp(1.05rem,2vw,1.32rem);color:var(--fg-2);max-width:56ch;margin:0 auto 2.6rem;line-height:1.6}
.hero__cta{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}
/* ── Hero telemetry console (mirrors the /access console) ── */
.lp-console{margin:3.6rem auto 0;max-width:860px;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  padding:1.25rem 1.5rem;border:1px solid var(--line-2);border-radius:18px;
  background:linear-gradient(180deg,var(--card-a),var(--card-b));backdrop-filter:blur(12px);text-align:left;
  box-shadow:var(--card-shadow),inset 0 1px 0 var(--panel-hi)}
.lp-cell{position:relative;padding-left:.9rem}
.lp-cell::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:1px;background:var(--line-2)}
.lp-k{display:block;font-family:var(--mono);font-size:.55rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-4);margin-bottom:.3rem}
.lp-v{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);display:inline-flex;align-items:center;gap:.45rem}
.lp-v--ok{color:var(--green)}
.lp-okdot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(61,220,132,.15);animation:lpPulse 2.4s ease-in-out infinite}
@keyframes lpPulse{0%,100%{opacity:1}50%{opacity:.45}}
@media(max-width:760px){.lp-console{grid-template-columns:1fr 1fr;row-gap:1.1rem}}

/* ── Section scaffolding ── */
.section{padding:5.5rem 0;position:relative}
.section__head{max-width:640px;margin-bottom:3.2rem}
.section__head.center{margin-left:auto;margin-right:auto;text-align:center}
.section__title{font-family:var(--display);font-weight:720;color:var(--head);font-size:clamp(1.9rem,4vw,3rem);line-height:1.05;letter-spacing:-.03em;margin:1rem 0 1rem}
.section__lead{font-size:1.08rem;color:var(--fg-2);line-height:1.65}

/* ── Marquee (trust strip) ── */
.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.5rem 0;overflow:hidden;background:var(--strip-bg)}
.strip__row{display:flex;gap:3.4rem;align-items:center;width:max-content;animation:marq 34s linear infinite}
.strip:hover .strip__row{animation-play-state:paused}
.strip__item{font-family:var(--mono);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);display:inline-flex;align-items:center;gap:.7rem;white-space:nowrap}
.strip__item b{color:var(--fg);font-weight:500}
.strip__item::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.5}
@keyframes marq{to{transform:translateX(-50%)}}

/* ── Cards grid ── */
.grid{display:grid;gap:1.25rem}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}

.card{
  position:relative;padding:2rem 1.9rem;border:1px solid var(--line);border-radius:20px;
  background:linear-gradient(180deg,var(--card-a),var(--card-b));
  box-shadow:var(--card-shadow);
  overflow:hidden;transition:transform .5s var(--ease),border-color .4s,background .4s;
}
.card::before{
  content:"";position:absolute;inset:0;border-radius:20px;padding:1px;pointer-events:none;opacity:0;transition:opacity .4s;
  background:linear-gradient(130deg,var(--accent),transparent 45%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
}
.card:hover{transform:translateY(-6px);border-color:var(--line-2);background:linear-gradient(180deg,var(--card-ha),var(--card-hb))}
.card:hover::before{opacity:1}
.card__ico{
  width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;
  background:linear-gradient(140deg,rgba(232,83,42,.2),rgba(232,83,42,.05));border:1px solid rgba(232,83,42,.28);color:var(--accent);
}
.card__ico svg{width:23px;height:23px}
.card h3{font-family:var(--display);font-weight:640;color:var(--head);font-size:1.24rem;letter-spacing:-.02em;margin-bottom:.6rem}
.card p{font-size:.96rem;color:var(--fg-2);line-height:1.62}

/* number tag for numbered cards */
.card__n{font-family:var(--mono);font-size:.78rem;color:var(--accent);letter-spacing:.1em;margin-bottom:.9rem;display:block}

/* ── Capabilities chips ── */
.caps{display:flex;flex-wrap:wrap;gap:.7rem}
.cap{font-family:var(--mono);font-size:.82rem;letter-spacing:.02em;color:var(--fg-2);padding:.6rem 1.05rem;border:1px solid var(--line);border-radius:100px;background:var(--chip-bg);transition:all .3s var(--ease)}
.cap:hover{color:var(--head);border-color:var(--accent);transform:translateY(-2px);background:rgba(232,83,42,.08)}

/* ── Stats ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;text-align:center}
.stat{padding:2rem 1rem;border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,var(--card-a),transparent);box-shadow:var(--card-shadow)}
.stat__v{font-family:var(--display);font-weight:780;font-size:clamp(2.2rem,4vw,3.1rem);line-height:1;letter-spacing:-.03em;color:var(--head);margin-bottom:.5rem}
.stat__l{font-size:.86rem;color:var(--fg-3);letter-spacing:.02em}

/* ── CTA band ── */
.cta{position:relative;text-align:center;padding:4.5rem clamp(1.5rem,5vw,4rem);border-radius:32px;overflow:hidden;border:1px solid var(--line-2);background:linear-gradient(160deg,rgba(232,83,42,.14),rgba(232,83,42,.03) 55%,var(--cta-tail))}
.cta::before{content:"";position:absolute;width:60%;height:180%;top:-40%;right:-10%;background:radial-gradient(closest-side,rgba(232,83,42,.28),transparent);filter:blur(30px);pointer-events:none}
.cta h2{position:relative;font-family:var(--display);font-weight:760;color:var(--head);font-size:clamp(2rem,4.5vw,3.3rem);line-height:1.03;letter-spacing:-.03em;margin-bottom:1.1rem;max-width:20ch;margin-inline:auto}
.cta p{position:relative;font-size:1.1rem;color:var(--fg-2);max-width:46ch;margin:0 auto 2.2rem}
.cta__row{position:relative;display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap}

/* ── Private portfolio (vault) ── */
.vault{display:flex;align-items:center;gap:2.2rem;padding:2.8rem clamp(1.5rem,4vw,3rem);
  border:1px solid var(--line-2);border-radius:28px;position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--card-a),var(--card-b));box-shadow:var(--card-shadow)}
.vault::before{content:"";position:absolute;width:46%;height:200%;top:-60%;left:-8%;
  background:radial-gradient(closest-side,rgba(232,83,42,.14),transparent);filter:blur(26px);pointer-events:none}
.vault__ico{position:relative;flex-shrink:0;width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,rgba(232,83,42,.22),rgba(232,83,42,.05));border:1px solid rgba(232,83,42,.3);color:var(--accent)}
.vault__ico svg{width:30px;height:30px}
.vault__body{position:relative;flex:1;min-width:240px}
.vault__body h3{font-family:var(--display);font-weight:680;color:var(--head);font-size:1.4rem;letter-spacing:-.02em;margin-bottom:.5rem}
.vault__body p{font-size:.96rem;color:var(--fg-2);line-height:1.6;max-width:56ch}
.vault__btns{position:relative;display:flex;flex-direction:column;gap:.7rem;flex-shrink:0}
@media(max-width:860px){.vault{flex-direction:column;text-align:center;align-items:center}.vault__btns{flex-direction:row;flex-wrap:wrap;justify-content:center}.vault__body p{margin-inline:auto}}

/* HUD corner brackets on the big panels */
.cta::after,.vault::after{content:"";position:absolute;inset:12px;pointer-events:none;opacity:.32;
  background:
    linear-gradient(var(--accent),var(--accent)) top left/12px 1.5px,
    linear-gradient(var(--accent),var(--accent)) top left/1.5px 12px,
    linear-gradient(var(--accent),var(--accent)) top right/12px 1.5px,
    linear-gradient(var(--accent),var(--accent)) top right/1.5px 12px,
    linear-gradient(var(--accent),var(--accent)) bottom left/12px 1.5px,
    linear-gradient(var(--accent),var(--accent)) bottom left/1.5px 12px,
    linear-gradient(var(--accent),var(--accent)) bottom right/12px 1.5px,
    linear-gradient(var(--accent),var(--accent)) bottom right/1.5px 12px;
  background-repeat:no-repeat}

/* ── Inquiry form (public contact, Turnstile-protected) ── */
.iq-form{max-width:620px;margin:0 auto;text-align:left;position:relative}
.iq-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.iq-field{margin-bottom:.9rem}
.iq-label{display:block;font-family:var(--mono);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-3);margin-bottom:.45rem}
.iq-input{width:100%;font-family:var(--font);font-size:.96rem;color:var(--head);
  background:var(--input-bg);border:1px solid var(--line-2);border-radius:14px;
  padding:.85rem 1.05rem;outline:none;transition:border-color .25s,box-shadow .25s,background .25s}
.iq-input::placeholder{color:var(--fg-4)}
.iq-input:focus{border-color:var(--accent);background:var(--input-bg-f);box-shadow:0 0 0 4px rgba(232,83,42,.13)}
textarea.iq-input{resize:vertical;min-height:110px;line-height:1.6}
.iq-captcha{margin:.4rem 0 1.3rem;min-height:65px}
.iq-nojs{font-size:.85rem;color:var(--accent-3)}
.iq-hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.iq-alert{max-width:620px;margin:0 auto 1.4rem;padding:.9rem 1.15rem;border-radius:14px;font-size:.93rem;text-align:left;position:relative}
.iq-alert--ok{background:var(--ok-bg);border:1px solid var(--ok-line);color:var(--ok-fg)}
.iq-alert--err{background:var(--err-bg);border:1px solid var(--err-line);color:var(--err-fg)}
.iq-alert--err div+div{margin-top:.3rem}
.iq-msg{display:none;font-size:.78rem;color:var(--err-fg);margin:.4rem 0 0}
.iq-input--bad{border-color:var(--err-line)!important;box-shadow:0 0 0 4px var(--err-bg)}
@media(max-width:620px){.iq-grid{grid-template-columns:1fr}}

/* ── Footer ── */
.foot{border-top:1px solid var(--line);margin-top:5rem;padding:3.5rem 0 2.5rem}
.foot__top{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:2.5rem}
.foot__brand{max-width:34ch}
.foot__brand .nav__brand{margin-bottom:.9rem}
.foot__brand p{font-size:.92rem;color:var(--fg-3);line-height:1.6}
.foot__cols{display:flex;gap:4rem;flex-wrap:wrap}
.foot__col h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4);margin-bottom:1rem}
.foot__col a,.foot__col span{display:block;font-size:.92rem;color:var(--fg-2);margin-bottom:.6rem;transition:color .2s}
.foot__col a:hover{color:var(--accent)}
.foot__bar{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--fg-4)}
.foot__bar a:hover{color:var(--fg-2)}

/* ── Footer social icons ── */
.foot-soc{display:flex;gap:.6rem;margin-top:1.1rem}
.foot-soc a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:100px;color:var(--fg-2);background:var(--chip-bg);transition:all .3s var(--ease)}
.foot-soc a:hover{color:var(--head);border-color:var(--accent);transform:translateY(-2px)}
.foot-soc svg{width:17px;height:17px}

/* ── Scroll reveal (progressive enhancement — only when JS is present) ── */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.strip__row{animation:none}html{scroll-behavior:auto}}

/* ── Responsive ── */
@media(max-width:940px){
  .grid--3{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .nav__links{display:none}
}
@media(max-width:620px){
  .hero{padding:8.5rem 0 4rem}
  .grid--3,.grid--2,.stats{grid-template-columns:1fr}
  .foot__top{flex-direction:column;gap:2.2rem}
  .nav__brand span:last-child{display:none}
  .hero__meta{gap:.4rem 1.1rem}
}
