/* =================================================================
   EMPYREAN — Atmosphere Ventures public site theme
   System of record: ATMOSPHERE_BRAND_KERNEL.md · mirrors shell.css/brand.css
   Warm monochrome on linen. Gold is the only bright. No blue. No alarms.
   Fonts bundled offline in ./fonts (no CDN, air-gap clean).
   Quiet excellence. Capable over flashy.
   ================================================================= */

/* ---- bundled faces ---- */
@font-face{font-family:'Cormorant';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/inter-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/ibm-plex-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/ibm-plex-mono-latin-700-normal.woff2') format('woff2')}

:root{
  /* ── EMPYREAN DARK (locked 2026-08-29): charcoal ground, gold is the only bright, Times sitewide ── */
  --ink:#1c1e23; --panel:#26282e; --panel-2:#2e3038;
  --line:rgba(231,207,140,.14); --line-hi:rgba(231,207,140,.42);
  --text:#ece7db; --dim:#a89f8d; --faint:rgba(236,231,219,.30);
  --gold:#e7cf8c; --gold-deep:#d4af5a; --gold-glow:rgba(231,207,140,.13);
  --water:#d4af5a; --purple:#b3a488;
  --green:#8fb27a; --amber:#e0b45a; --red:#d08a6e;
  /* Accent palette — muted jewel tones */
  --cabernet:#6b2b34; --cabernet-deep:#4d1f26;   /* deep wine red */
  --indigo:#3a3560;   --indigo-deep:#282350;     /* regal purple-indigo, late dusk */
  --olive:#8c8556;    --olive-deep:#6a6440;       /* bamboo khaki-olive */
  --charcoal:#2e2d2b;                             /* warm charcoal */
  --slate:#6f767c;    --slate-soft:#aab0b4;       /* muted slate */
  --orchid:#f3ebe8;                               /* orchid white (warm off-white) */
  --fire-red:#c23b22; --fire-orange:#e0842f;      /* flame accents — USE SPARINGLY (alerts/embers only) */
  --aqua:#37b9c6; --aqua-deep:#1f818c; --aqua-glow:rgba(55,185,198,.18); /* lit-pool aqua — literal water glow, highlights/hero */
  --jade:#2f7d6a; --jade-deep:#1c5648; --jade-glow:rgba(47,125,106,.16);  /* emerald pool green (Aman Jiwo) — green water accent */
  /* Times New Roman ONLY, sitewide — all three roles point to the same serif stack */
  --crt:'Times New Roman',Times,serif; --sans:'Times New Roman',Times,serif; --mono:'Times New Roman',Times,serif;
  --r:16px;
  --shadow:0 1px 2px rgba(0,0,0,.42),0 10px 30px rgba(0,0,0,.5);
  --shadow-lg:0 2px 8px rgba(0,0,0,.46),0 30px 70px rgba(0,0,0,.6);
  --foil:linear-gradient(120deg,#d4af5a 0%,#e7cf8c 34%,#f2e3ad 58%,#e7cf8c 80%,#d4af5a 100%);
  --maxw:1080px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#1c1e23}
body{
  margin:0;color:var(--text);font-family:var(--sans);font-weight:400;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;position:relative;
  background:
    radial-gradient(1100px 520px at 82% -8%,var(--gold-glow),transparent 62%),
    radial-gradient(820px 460px at -8% 108%,rgba(212,175,90,.07),transparent 62%),
    var(--ink);
}

/* ── atmosphere: live canvas vapor + film grain + drifting dust (DOM injected by fog.js) ── */
.atmos{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.atmos .layer{position:absolute;inset:-40%;width:180%;height:180%;will-change:transform,opacity}
.atmos .vapor{width:100%;height:100%;display:block;inset:0;position:absolute;opacity:.42;mix-blend-mode:screen;filter:blur(7px)}
.atmos svg{width:100%;height:100%;display:block}
.atmos .grain{opacity:.13;mix-blend-mode:screen;animation:driftGrain 58s ease-in-out infinite alternate}
.atmos .dust{mix-blend-mode:screen;opacity:.5;background-repeat:repeat;background-size:560px 560px;
  background:
   radial-gradient(1.6px 1.6px at 12% 22%, rgba(255,255,255,.95), transparent 62%),
   radial-gradient(1.2px 1.2px at 34% 68%, rgba(255,255,255,.7),  transparent 62%),
   radial-gradient(2px 2px   at 58% 14%, rgba(255,255,255,.85), transparent 60%),
   radial-gradient(1px 1px   at 74% 52%, rgba(255,255,255,.6),  transparent 62%),
   radial-gradient(1.4px 1.4px at 88% 80%, rgba(255,255,255,.8), transparent 60%),
   radial-gradient(1px 1px   at 20% 88%, rgba(255,255,255,.55), transparent 62%),
   radial-gradient(1.8px 1.8px at 46% 40%, rgba(231,207,140,.6), transparent 60%),
   radial-gradient(1px 1px   at 66% 90%, rgba(255,255,255,.5),  transparent 62%);
  animation:driftDust 44s linear infinite}
@keyframes driftGrain{0%{transform:translate3d(-3%,4%,0) scale(1.04)}100%{transform:translate3d(5%,-5%,0) scale(1.10)}}
@keyframes driftDust{0%{transform:translate3d(-9%,9%,0)}100%{transform:translate3d(9%,-9%,0)}}
@media (prefers-reduced-motion:reduce){.atmos .layer,.atmos .vapor{animation:none}}
/* FAQ (and any page with data-fog="hero") turns the vapor UP — set by fog.js reading the body attr */
body[data-fog="hero"] .atmos .vapor{opacity:.62;filter:blur(9px)}
a{color:var(--gold-deep);text-decoration:none;transition:.18s}
a:hover{color:var(--gold)}
img,svg,video{max-width:100%;display:block}

/* ---- layout ---- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
.section{padding:84px 0}
.section.tight{padding:56px 0}
.section.alt{background:linear-gradient(180deg,transparent,rgba(46,48,56,.55) 12%,rgba(46,48,56,.55) 88%,transparent)}
.rule{width:64px;height:0;border-top:2px solid transparent;border-image:var(--foil) 1;margin:26px 0;opacity:.9}
.rule.center{margin-left:auto;margin-right:auto}
.center{text-align:center}
/* p carries a 66ch readable measure (see the p{} rule below). max-width on its
   own leaves the box flush-left, so centred TEXT still sat in a left-hugging
   column — that is what made the footers read as left-aligned. Centre the box
   itself too. Same fix already applied ad hoc by .rule.center and .mission. */
/* Two spellings in use: .center on the CONTAINER (footer, hero blocks) and
   .center on the paragraph ITSELF (section eyebrows/ledes). Both need the box
   centred, not just the text — p carries a 66ch measure and .lede a 60ch one,
   and a max-width without auto side margins pins the box hard left. Headings
   are unaffected because no measure applies to them, which is exactly why the
   eyebrow sat left while the h2 under it looked correct. */
.center > p, p.center{margin-left:auto;margin-right:auto}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:860px){.grid2,.grid3{grid-template-columns:1fr}}

/* ---- type ---- */
.eyebrow{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-deep);margin:0 0 14px}
h1,h2,h3,.display{font-family:var(--crt);font-weight:500;color:var(--text);line-height:1.06;letter-spacing:.005em;margin:0 0 .4em}
h1{font-size:clamp(38px,6vw,64px)}
h2{font-size:clamp(28px,4vw,42px)}
h3{font-size:22px}
p{margin:0 0 1.1em;max-width:66ch}
.lede{color:var(--dim);font-weight:300;font-size:clamp(17px,2.1vw,21px);line-height:1.6;max-width:60ch}
.gold{background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% auto}
.gold.shimmer{animation:foil 8s ease-in-out infinite}
/* Solid-color alternative to .gold for content that gets captured by html2canvas
   (the sell-sheet PDF/print generator on origen.html). html2canvas does not
   reliably support background-clip:text — it paints the gradient box and
   leaves the clipped text invisible. Use this instead for anything that must
   render correctly outside a live browser paint (canvas capture, print). */
.gold-flat{color:var(--gold-deep);font-weight:700}
@keyframes foil{0%,100%{background-position:0 0}50%{background-position:200% 0}}
.mono{font-family:var(--mono);font-weight:700;color:var(--gold-deep);letter-spacing:.03em}
.small{font-size:15px;color:var(--dim)}
.it{font-style:italic}

/* ---- nav ---- */
.nav,.navlite{position:sticky;top:0;z-index:50;background:#000000;border-bottom:1px solid rgba(255,255,255,.07)}
.nav .wrap,.navlite .wrap{display:flex;align-items:center;justify-content:space-between;height:104px;max-width:none;padding:0 20px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--crt);font-size:21px;font-weight:600;color:#ffffff;line-height:1;white-space:nowrap;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.brand .mk{font-family:var(--mono);font-weight:700;color:var(--gold);font-size:15px;letter-spacing:-.09em;white-space:nowrap}
.navlinks{display:flex;gap:28px;align-items:center}
.navlinks a{font-size:15px;color:var(--text);font-weight:500}
.navlinks a:hover{color:var(--gold-deep)}
.navlinks a.active{color:var(--gold-deep)}
/* ---- header menu: hamburger at ALL breakpoints -------------------------
   Everything below is scoped to html.js. Each page sets that class inline in
   <head>, so if JavaScript is unavailable the links fall back to the plain
   inline row above and the nav never becomes unreachable. */
.nav .wrap,.navlite .wrap,.nav.wrap{position:relative}
.navtoggle{display:none}
html.js .navtoggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:40px;padding:0 10px;background:transparent;border:1px solid var(--line);
  border-radius:10px;cursor:pointer;transition:.18s;flex:0 0 auto}
html.js .navtoggle:hover,html.js .navtoggle:focus-visible{border-color:var(--gold)}
html.js .navtoggle span{display:block;height:2px;width:100%;background:var(--text);border-radius:2px;
  transition:transform .22s ease,opacity .18s ease}
html.js .navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
html.js .navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
html.js .navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
html.js .navlinks{position:absolute;top:calc(100% + 9px);right:0;z-index:70;display:none;
  flex-direction:column;align-items:stretch;gap:2px;min-width:210px;padding:8px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg)}
html.js .navlinks.open{display:flex}
html.js .navlinks a{padding:11px 14px;border-radius:8px;font-size:14.5px;white-space:nowrap}
html.js .navlinks a:hover{background:var(--gold-glow);color:var(--gold-deep)}
/* light variant sits over the hero video — panel stays solid so it reads */
html.js .navlite .navtoggle{border-color:rgba(251,249,244,.45)}
html.js .navlite .navtoggle span{background:#fbf9f4}
html.js .navlite .navtoggle:hover,html.js .navlite .navtoggle:focus-visible{border-color:#e7cf8c}
html.js .navlite .navlinks{background:rgba(20,18,16,.96);border-color:rgba(251,249,244,.18)}
html.js .navlite .navlinks a:hover{background:rgba(251,249,244,.10)}
/* Brandmark sizing tiers. nowrap means the lockup can never split mid-mark, so
   each tier is sized (measured, not guessed) to fit brand + hamburger + gutters
   at that viewport. Verified down to 280px (folding-phone cover screen). */
@media(max-width:700px){.nav .wrap,.navlite .wrap{height:84px}.brand .brandlockup{height:56px}}
@media(max-width:480px){.brand{font-size:17px;gap:8px}.brand .mk{font-size:13px}}
@media(max-width:380px){.nav .wrap,.navlite .wrap{padding:0 16px}.brand{font-size:15px}.brand .mk{font-size:12px}}
@media(max-width:330px){.nav .wrap,.navlite .wrap{padding:0 12px}.brand{font-size:13px;gap:6px}.brand .mk{font-size:11px}}

/* ---- buttons ---- */
.btn,.cta{display:inline-block;font-family:var(--sans);font-weight:500;letter-spacing:.5px;
  border-radius:30px;cursor:pointer;transition:.18s;border:1px solid var(--gold);color:var(--gold-deep);background:transparent}
.btn{padding:9px 18px;font-size:14px}
.cta{padding:14px 30px;font-size:15px;text-transform:uppercase;letter-spacing:1.4px}
.btn:hover,.cta:hover{background:var(--gold);border-color:var(--gold);color:#1c1e23}
.cta.solid{background:var(--gold);color:#1c1e23;border-color:var(--gold);font-weight:600}
.cta.solid:hover{background:#f2e3ad;border-color:#f2e3ad;color:#1c1e23}

/* ---- hero ---- */
.hero{position:relative;padding:96px 0 76px;overflow:hidden}
.hero .signal{margin:30px 0 0;padding-left:18px;border-left:3px solid var(--gold);
  font-family:var(--crt);font-style:italic;font-size:clamp(19px,2.4vw,26px);color:var(--text);max-width:44ch;line-height:1.3}
.kicker{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--dim);
  border:1px solid var(--line-hi);border-radius:30px;padding:7px 15px;margin-bottom:22px}
.kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--water);box-shadow:0 0 8px var(--water);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ---- cards ---- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:var(--shadow);transition:.2s}
.card.raised{background:var(--panel-2)}
.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.card h3{margin-top:0}
.tag{display:inline-block;font-family:var(--sans);font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--gold-deep);border:1px solid var(--line-hi);border-radius:30px;padding:5px 13px;margin-bottom:14px}

/* ---- figure + provenance (the legitimacy pattern) ---- */
figure.prov{margin:30px 0;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
figure.prov .art{padding:26px;background:linear-gradient(180deg,#2b2d34,#232529)}
figure.prov figcaption{border-top:1px solid var(--line);padding:14px 18px;background:var(--panel-2)}
.provline{font-family:var(--mono);font-size:12.5px;line-height:1.7;color:var(--dim);letter-spacing:.02em;margin:0}
.provline b{color:var(--gold-deep);font-weight:700}
.prov-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:12px;font-weight:600;
  letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px}
.prov-badge::before{content:"⧉";font-family:var(--mono);color:var(--gold);font-size:13px}

/* ---- provenance ledger strip ---- */
.ledger{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.ledger .cell{background:var(--panel);padding:20px}
.ledger .cell .src{font-family:var(--crt);font-size:19px;color:var(--text);margin-bottom:4px}
.ledger .cell .meta{font-family:var(--mono);font-size:12.5px;color:var(--dim);line-height:1.6}
.ledger .cell .verif{font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:#8fb27a;margin-top:8px}
.ledger .cell .verif.req{color:#e0b45a}

/* ---- stat / spec ---- */
.statrow{display:flex;flex-wrap:wrap;gap:36px;margin:26px 0}
.stat .n{font-family:var(--crt);font-size:44px;color:var(--gold-deep);line-height:1}
.stat .l{font-size:13px;letter-spacing:1.4px;text-transform:uppercase;color:var(--dim);margin-top:6px}
table.spec{width:100%;border-collapse:collapse;margin:22px 0}
table.spec th,table.spec td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}
table.spec th{font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--dim);font-weight:600;width:34%}
table.spec td{font-family:var(--sans)}
.pending{font-family:var(--mono);font-size:12.5px;font-weight:700;color:#e0b45a;letter-spacing:.4px}

/* ---- list ---- */
.checks{list-style:none;padding:0;margin:18px 0}
.checks li{position:relative;padding:7px 0 7px 28px;border-bottom:1px solid var(--line)}
.checks li::before{content:"⧉";position:absolute;left:0;top:7px;color:var(--gold);font-family:var(--mono)}
.checks li:last-child{border-bottom:none}

/* ---- form ---- */
.form{display:grid;gap:16px;max-width:560px}
.form label{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--dim);font-weight:600;margin-bottom:5px;display:block}
.form input,.form select,.form textarea{width:100%;font-family:var(--sans);font-size:15px;color:var(--text);
  background:var(--panel);border:1px solid var(--line-hi);border-radius:10px;padding:12px 14px}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--gold)}
.seg{display:flex;gap:10px;flex-wrap:wrap}
.seg label{display:flex;align-items:center;gap:8px;border:1px solid var(--line-hi);border-radius:30px;padding:9px 16px;cursor:pointer;text-transform:none;letter-spacing:0;color:var(--text);font-weight:500;margin:0}
.seg input{width:auto}

/* ---- footer ---- */
.foot{border-top:1px solid var(--line);background:var(--panel-2);padding:46px 0 36px}
.foot .cols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px}
.foot a{color:var(--dim);font-size:14px;display:block;margin:6px 0}
.foot a:hover{color:var(--gold-deep)}
.foot .mk{font-family:var(--mono);color:var(--gold);font-size:13px;letter-spacing:-.09em}
.foot .legal{margin-top:28px;font-size:13px;color:var(--faint);line-height:1.7}

/* ---- reveal ---- */
.seq{opacity:0;transform:translateY(16px);animation:rise 1s cubic-bezier(.2,.7,.2,1) forwards}
.seq.d1{animation-delay:.08s}.seq.d2{animation-delay:.16s}.seq.d3{animation-delay:.24s}
@keyframes rise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.seq{animation:none;opacity:1;transform:none}}


/* ── Accessibility: WCAG 2.1 AA ── */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--gold);color:#1c1e23;
  padding:10px 18px;border-radius:0 0 8px 0;font-weight:700;font-size:14px;text-decoration:none}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--gold-deep);outline-offset:2px}
.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}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* one short centred line — the global 66ch measure only forced it to break
   mid-phrase ("No trackers. No / kidding."), so opt out. Still wraps
   naturally at container width on narrow screens. */
.trustline{font-family:var(--mono);font-size:13px;letter-spacing:.4px;color:var(--dim);margin:0 auto 14px;text-align:inherit;max-width:none}
.trustline b{color:var(--gold-deep);font-weight:700;letter-spacing:.6px}
.trustline .tsep{margin:0 9px;opacity:.5}
.trustline a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px}
.trustline a:hover{color:var(--text)}

/* ── Footer: keep tagline/registration phrase-groups from splitting mid-phrase.
   Each .oneline unit wraps as a whole (still wraps between units on narrow
   viewports); .legalmenu was previously unstyled (inherited body size,
   looked oversized/loose vs. the rest of the footer) — matched to .small. */
.oneline{white-space:nowrap}
.legalmenu{font-size:14px;color:var(--dim);text-align:center;margin:10px 0 0}
.legalmenu a{color:var(--dim)}
.legalmenu a:hover{color:var(--gold-deep)}

/* ── Print / Save-as-PDF fix ──
   .gold uses background-clip:text for a gradient-fill effect. Print/PDF
   renderers frequently ignore background-clip:text and instead paint the
   gradient as a solid block, obscuring the text underneath (e.g. site name
   on the Origen sell-sheet). Force a flat, legible color for print. */
@media print{
  .gold{background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;
    -webkit-text-fill-color:var(--gold-deep)!important;color:var(--gold-deep)!important}
}

/* ---- brand shield mark (nav) ---- */
.brand .brandshield{position:static;inset:auto;height:38px;width:auto;display:block;flex:0 0 auto;filter:drop-shadow(0 2px 5px rgba(0,0,0,.55))}
.brand .brandlockup{position:static;inset:auto;height:80px;width:auto;display:block;flex:0 0 auto}
@media(max-width:480px){.brand .brandlockup{height:44px}.nav .wrap,.navlite .wrap{height:68px}}
@media(max-width:380px){.brand .brandlockup{height:34px}.nav .wrap,.navlite .wrap{height:58px}}
@media(max-width:330px){.brand .brandlockup{height:30px}.nav .wrap,.navlite .wrap{height:54px}}
@media(max-width:480px){.brand .brandshield{height:32px}}
@media(max-width:380px){.brand .brandshield{height:29px}}
@media(max-width:330px){.brand .brandshield{height:26px}}

@media print{.nav,.navlite{display:none!important}}

.goldline{font-family:var(--crt);font-style:italic;font-size:clamp(16px,2.1vw,22px);color:var(--gold);letter-spacing:.01em;line-height:1.2;margin:14px 0 2px;text-shadow:0 0 20px rgba(231,207,140,.28)}

.navcta{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--foil);color:#1c1e23;font-family:var(--crt);font-weight:600;font-size:14px;letter-spacing:.02em;padding:9px 22px;border-radius:22px;white-space:nowrap;text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.45);transition:transform .16s ease,box-shadow .16s ease;z-index:3}
.navcta:hover,.navcta:focus-visible{transform:translate(-50%,-50%) scale(1.05);box-shadow:0 4px 18px rgba(231,207,140,.5)}
@media(max-width:820px){.navcta{display:none}}
#leadform{scroll-margin-top:90px}

/* ===== AV site-wide header / footer (2026-09-23) ===== */
.avhead{position:sticky;top:0;z-index:50;background:#1c1e23;border-bottom:1px solid rgba(231,207,140,.16)}
.avhead .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;max-width:1040px;margin:0 auto;height:auto}
.avbrand{display:flex;align-items:center;gap:12px;color:#ece7db;text-decoration:none}
.avmk{width:30px;height:34px;color:#d4af5a;flex:0 0 auto}
.avwm{font-family:'Times New Roman',Times,serif;font-size:17px;letter-spacing:1px;text-transform:uppercase;color:#ece7db;white-space:nowrap}
.avlinks{display:flex;gap:22px;align-items:center}
.avlinks a{font-family:'Times New Roman',Times,serif;color:#ece7db;font-size:14px;letter-spacing:1px;text-transform:uppercase;opacity:.85;text-decoration:none}
.avlinks a:hover{color:#e7cf8c;opacity:1}
.avfoot{background:#17191d;border-top:1px solid rgba(231,207,140,.16);padding:44px 24px;color:#a89f8d;font-family:'Times New Roman',Times,serif;font-size:13px;text-align:center;letter-spacing:.4px;line-height:1.6}
.avfoot .avmk{width:28px;height:32px;margin:0 auto 14px;display:block}
.avfoot .foot-contact{margin-bottom:22px}
.avbtn{display:inline-block;border:1px solid #d4af5a;color:#e7cf8c;padding:12px 22px;border-radius:2px;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:.18s;background:transparent}
.avbtn:hover{background:#e7cf8c;color:#1a1712}
.avfoot .reg{max-width:60ch;margin:16px auto 0;line-height:1.8}
.avfoot .reg.naics{margin-top:22px;letter-spacing:1.2px;opacity:.8}
.avfoot .legal{margin:22px auto 0;font-size:12.5px}
.avfoot .legal a{color:#a89f8d;text-decoration:none}.avfoot .legal a:hover{color:#e7cf8c}
@media print{.avhead,.avfoot{display:none!important}}

/* (2026-10-10) Header grows to Products · History · FAQ. Let the link row wrap under the wordmark on narrow screens instead of overflowing. */
@media(max-width:640px){
  .avhead .wrap{flex-wrap:wrap;gap:6px 16px;padding:14px 18px}
  .avlinks{margin-left:auto;gap:16px}
  .avlinks a{font-size:12.5px;letter-spacing:.7px}
  .avwm{font-size:14.5px}
}
@media(max-width:380px){.avwm{font-size:13px}.avlinks{gap:12px}}
