/* Business Foundry (industrialethic.com/business-foundry). Built from the Jenna Clark demo's black-and-silver system,
   inverted, with IEDCO red in place of her silver accents: white header and hero, dark bands where Jenna's page is white, dark footer. Montserrat (OFL, self-hosted);
   neutral scale from industrialethic.com (IEDCO kit). Square corners, quiet fades, generous space.
   Logo: text wordmark until the Business Foundry symbol comes out of tools/symbol-design. */
@font-face{font-family:"Montserrat";font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/montserrat-400.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/montserrat-600.woff2") format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/montserrat-700.woff2") format("woff2")}
:root{
  --ink:#0B0B0C; --hover:#2A2A2A;
  --black:#040404; --charcoal:#141414; --graphite:#262626; --steel:#5E5E59; --silver:#B8B8B3; --silver-light:#D6D6D2; --mist:#F5F5F3;
  --red:#EF4444; /* IEDCO brand red (--iedco-color-red-500). Lines, marks and labels on dark only: 3.8:1 on white is below AA for text. */
  /* IEDCO logo tile (brand/tokens/iedco.css), never themed */
  --tile-from:#1c1c1f; --tile-to:#000; --tile-border:#5c5c63; --tile-radius:15.625%;
  --band:#F5F5F3; --accent:#E4E4E0;
  --body:#2B2B2B; --muted:#5E5E59; --border:#D6D6D2; --border-soft:#E4E4E0;
  --on-dark:#fff; --on-dark-muted:#C9C9C4; --line-dark:rgba(255,255,255,.14);
  --ok-bg:#E3F1E8; --ok-ink:#166534; --bad-bg:#FBE4E7; --bad-ink:#9F1239;
  --font:"Montserrat","Helvetica Neue",Arial,ui-sans-serif,system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:96px}
body{margin:0;font:400 16px/1.7 var(--font);color:var(--body);background:#fff}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-weight:400;line-height:1.15;margin:0 0 16px;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(34px,5.4vw,58px);letter-spacing:-.01em} h2{font-size:clamp(28px,4.2vw,40px)} h3{font-size:24px}
p{margin:0 0 16px} a{color:var(--ink);text-underline-offset:4px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.wrap{max-width:1440px;margin:0 auto;padding:0 16px}
@media(min-width:720px){.wrap{padding:0 48px}} @media(min-width:1200px){.wrap{padding:0 70px}}
.label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--muted);margin:0 0 12px}
.lede{font-size:18px;color:var(--muted);max-width:62ch}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;background:#fff;padding:8px 16px;z-index:50}.skip:focus{top:8px}
.rule{display:block;width:56px;height:2px;background:var(--red);margin:0 auto 24px}
.section{padding:88px 0}
.section-title{text-align:center;max-width:760px;margin:0 auto 48px}.section-title p{margin:0;color:var(--muted)}
.band-grey{background:var(--band)}
.band-dark{background:radial-gradient(120% 90% at 0% 0%,#2A2A2A 0%,#141414 42%,#060606 78%,#040404 100%);color:var(--on-dark)}
.band-dark h2,.band-dark h3,.band-dark a:not(.btn){color:#fff}
.band-dark .label,.band-dark .lede,.band-dark p,.band-dark li,.band-dark .section-title p{color:var(--on-dark-muted)}
.band-dark :focus-visible,.footer :focus-visible{outline-color:#fff}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border:2px solid transparent;border-radius:0;font:700 13px/1.3 var(--font);text-transform:uppercase;letter-spacing:.1em;text-decoration:none;cursor:pointer;text-align:center;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}
.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{background:var(--hover);border-color:var(--hover)}
.btn-secondary{background:#fff;color:var(--ink);border-color:var(--ink)}.btn-secondary:hover{background:var(--ink);color:#fff}
.btn-light{background:#fff;color:var(--ink);border-color:#fff}.btn-light:hover{background:transparent;color:#fff}
.btn-outline-light{background:transparent;color:#fff;border-color:var(--silver)}.btn-outline-light:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.actions{display:flex;flex-wrap:wrap;gap:12px}.actions.center{justify-content:center}

/* Header: white, sticky (the inverse of Jenna's transparent header over a dark hero) */
.site-header{position:sticky;top:0;z-index:20;background:#fff;color:var(--ink)}
/* Mild drop shadow under the header instead of a line. */
.site-header{box-shadow:0 1.5px 4px rgba(0,0,0,.11),0 7px 21px rgba(0,0,0,.15)}
/* Logo tile: the same tile as the industrialethic.com header (dark gradient, 0.75px inset border, 10/64 radius). */
.brand-tile{position:relative;display:block;flex:none;width:44px;height:44px;border-radius:var(--tile-radius);border:1.25px solid transparent;
  background:linear-gradient(135deg,var(--tile-from) 0%,var(--tile-to) 100%) padding-box,
    conic-gradient(from 200deg,#fafafa,#8e8e93 9%,#e9e9eb 17%,#55555b 27%,#f4f4f5 36%,#9a9aa0 45%,#ffffff 52%,#6c6c72 62%,#dcdcdf 71%,#4f4f55 81%,#efeff1 90%,#fafafa) border-box;
  box-shadow:inset 0 0 0 .75px rgba(0,0,0,.85),0 0 0 .5px #3a3a40,0 1px 3px rgba(0,0,0,.25);overflow:hidden}
/* Platinum treatment (as on the owner's personal ElectionTrack mark): chrome ring with banding, dark seam inside it,
   hairline outside, and a 20% white sheen at -45 degrees over the face. */
.brand-tile::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.06) 38%,transparent 55%);pointer-events:none}
.brand-tile img{position:absolute;left:7%;top:7%;width:86%;height:86%}
@media(min-width:720px){.brand-tile{width:48px;height:48px}}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
@media(min-width:720px){.site-header-inner{min-height:88px}}
.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:inherit;min-width:0}
.brand-text{display:flex;flex-direction:column;font-weight:700;font-size:15px;letter-spacing:.22em;text-transform:uppercase;line-height:1.15;white-space:nowrap}
.brand-text small{font-weight:600;font-size:9px;letter-spacing:.32em;margin-top:6px;color:var(--muted)}
.nav{display:none;gap:clamp(16px,2vw,28px);align-items:center}
.nav a{color:inherit;text-decoration:none;font-size:14px;white-space:nowrap}.nav a:hover{text-decoration:underline}
.nav .btn{color:#fff;padding-inline:20px}.nav .btn:hover{text-decoration:none}
.menu-toggle{width:52px;height:52px;border:0;background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.menu-lines{display:block;position:relative;width:22px;height:2px;background:currentColor;transition:background-color .15s var(--ease)}
.menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;top:-7px;transition:transform .2s var(--ease),top .2s var(--ease)}
.menu-lines::after{top:7px}
.menu-toggle[aria-expanded="true"] .menu-lines{background:transparent}
.menu-toggle[aria-expanded="true"] .menu-lines::before{top:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-lines::after{top:0;transform:rotate(-45deg)}
.hero .label{font-weight:400}
@media(min-width:1300px){.nav{display:flex}.menu-toggle{display:none}}
.drawer{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--border);padding:8px 16px 24px}
.drawer.open{display:block}
.drawer a{display:flex;align-items:center;min-height:56px;font-size:20px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border-soft)}
.drawer .btn{margin-top:16px;width:100%;color:#fff;border-bottom:0;font-size:13px}

/* Hero: Austin skyline video under a dark layer, white type. The header above stays white. */
.hero{position:relative;text-align:center;padding:112px 0 104px;background:#040404 url("../media/hero-austin-poster.webp?v=3") center/cover no-repeat;color:#fff;overflow:hidden;isolation:isolate}
.hero-media{object-fit:cover;z-index:-2}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 55% at 50% 52%,rgba(4,4,4,.22),transparent 100%),linear-gradient(180deg,rgba(4,4,4,.66) 0%,rgba(4,4,4,.58) 45%,rgba(4,4,4,.78) 100%)}
.hero .wrap{position:relative;max-width:940px}
.hero h1{color:#fff;text-shadow:0 1px 24px rgba(0,0,0,.35)}
.hero .label{color:#DADAD6}
.hero p{font-size:18px;color:#E4E4E0;max-width:58ch;margin:0 auto 32px;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.hero :focus-visible{outline-color:#fff}
.hero .btn-outline-light{border-color:#fff}
@media(min-width:720px){.hero{padding:160px 0 144px}}

/* Intro and parts (dark) */
.intro{text-align:center;padding:88px 0 40px}
.intro .lede{margin:0 auto}
.parts{display:grid;gap:16px;grid-template-columns:1fr;max-width:1100px;margin:48px auto 0;text-align:left}
@media(min-width:800px){.parts{grid-template-columns:repeat(3,1fr)}}
.part{border-top:2px solid var(--red);padding-top:16px}
.part h3{font-size:20px;font-weight:600;margin-bottom:6px}.part p{font-size:15px;margin:0}

/* Demo tiles: screenshot on top, caption below (dark band) */
.demos{padding:40px 0 96px}
.tiles{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:720px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1180px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{display:flex;flex-direction:column;text-decoration:none;color:#fff;border:1px solid var(--line-dark);background:rgba(255,255,255,.02);transition:border-color .2s var(--ease)}
a.tile:hover{border-color:rgba(255,255,255,.4)}
.tile .shot{aspect-ratio:16/10;overflow:hidden;background:#141414;border-bottom:1px solid var(--line-dark)}
.tile .shot img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .8s var(--ease)}
a.tile:hover .shot img{transform:scale(1.03)}
.tile .cap{padding:20px 20px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.tile h3{margin:0;font-size:22px;color:#fff}
.tile .sub{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.tile p{font-size:15px;margin:4px 0 0}
.tile .go{margin-top:auto;padding-top:12px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff}
a.tile:hover .go{text-decoration:underline;text-underline-offset:5px}
.tile.is-soon .go{color:var(--on-dark-muted)}
.btn.is-soon{cursor:default;background:var(--steel);border-color:var(--steel)}
.btn.is-soon:hover{background:var(--steel);border-color:var(--steel)}
.ph{position:relative;width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(160deg,#4a4a48,#141414);color:var(--silver);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.ph::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 70% 10%,rgba(230,230,225,.18),transparent 60%),repeating-linear-gradient(100deg,rgba(255,255,255,.04) 0 2px,transparent 2px 14px)}
.ph span{position:relative}
.ph.t2{background:linear-gradient(160deg,#6a6a67,#1c1c1c)}

/* Split (light) */
.split{display:grid;grid-template-columns:1fr;background:var(--band)}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr}}
.split-media{min-height:320px;overflow:hidden;border-right:1px solid var(--border-soft)}
.split-media img{width:100%;height:100%;object-fit:cover;object-position:top center}
.split-copy{padding:56px 24px;display:flex;flex-direction:column;justify-content:center}
@media(min-width:900px){.split-copy{padding:72px 80px}.split-media{min-height:480px}}
.split-copy p{color:var(--muted)}
.split-copy .actions{margin-top:16px}

/* Tiers (dark) */
.tiers{display:grid;gap:16px;grid-template-columns:1fr;max-width:1180px;margin:0 auto}
@media(min-width:960px){.tiers{grid-template-columns:repeat(3,1fr)}}
.tier{display:flex;flex-direction:column;border:1px solid var(--line-dark);padding:32px 28px;background:rgba(255,255,255,.02)}
.tier .step-no{font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--red);margin-bottom:8px}
.tier h3{font-size:26px;margin-bottom:8px}
.tier .for{font-size:15px;margin-bottom:20px}
@media(min-width:960px){.tier .for{min-height:5.1em}}
.tier .inc{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 8px;padding-top:16px;border-top:1px solid var(--line-dark)}
.tier ul{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:8px}
.tier li{position:relative;padding-left:22px;font-size:15px;line-height:1.55}
.tier li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:5px;border-left:1.5px solid var(--red);border-bottom:1.5px solid var(--red);transform:rotate(-45deg)}
.tier .btn{margin-top:auto}
.tier-note{text-align:center;max-width:94ch;margin:32px auto 0;font-size:15px;text-wrap:balance}
.nowrap{white-space:nowrap}

/* Add-ons list (white), filter chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px}
.chips button{font:700 12px var(--font);text-transform:uppercase;letter-spacing:.12em;min-height:44px;padding:10px 18px;background:#fff;color:var(--ink);border:2px solid var(--ink);cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--ink);color:#fff}
.svc-list{max-width:900px;margin:0 auto}
.svc{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--border-soft)}
.svc[hidden]{display:none}
.svc h3{font-size:20px;font-weight:600;margin:0 0 2px}.svc p{margin:0;font-size:15px;color:var(--muted)}
.svc .fits{font-size:13px;font-weight:600;color:var(--muted);text-align:right;max-width:18ch;flex:0 0 auto}
.count{text-align:center;font-size:14px;color:var(--muted);margin:16px 0 0}

/* Customization (grey) */
.grid-3{display:grid;gap:16px;grid-template-columns:1fr;max-width:1180px;margin:0 auto}
@media(min-width:900px){.grid-3{grid-template-columns:repeat(3,1fr)}}
.box{border:1px solid var(--border);padding:28px 24px;background:#fff}
.box h3{font-size:20px;font-weight:600}.box p{font-size:15px;color:var(--muted)}.box p:last-child{margin:0}
.example{max-width:900px;margin:40px auto 0;border:1px dashed var(--steel);padding:24px 28px;background:transparent}
.example .label{margin-bottom:8px}
.example p{margin:0;color:var(--body)}

/* Steps (dark) */
.steps{display:grid;gap:48px 16px;grid-template-columns:1fr;counter-reset:s}
@media(min-width:720px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{counter-increment:s}
/* Icon tiles above each step (Font Awesome Free, CC BY 4.0): the IEDCO tile, white icon, centered over the column. */
.step-tile{position:relative;display:grid;place-items:center;width:76px;height:76px;margin:0 auto 28px;border-radius:var(--tile-radius);background:linear-gradient(135deg,var(--tile-from) 0%,var(--tile-to) 100%);box-shadow:inset 0 0 0 .75px var(--tile-border)}
.step-tile .ico{display:block;width:34px;height:34px;background:#fff;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.step-body{border-top:2px solid var(--red);padding-top:16px}
.step-body::before{content:"0" counter(s);display:block;font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--red);margin-bottom:8px}
.step h3{font-size:20px;font-weight:600;margin-bottom:6px;color:#fff}.step p{font-size:15px;margin:0}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.faq details{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;padding:18px 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px;color:var(--ink)}
.faq summary::after{content:"+";font-weight:400;font-size:22px;line-height:1}.faq details[open] summary::after{content:"\2212"}
.faq summary::-webkit-details-marker{display:none}.faq details p{color:var(--muted);padding-bottom:18px;margin:0}

/* Form */
.form{display:grid;gap:16px;max-width:680px;margin:0 auto;text-align:left}
.form .row{display:grid;gap:16px}@media(min-width:640px){.form .row{grid-template-columns:1fr 1fr}}
.form label{font-size:13px;font-weight:700;display:block;margin-bottom:4px;color:var(--ink)}
.form input,.form select,.form textarea{width:100%;font:400 16px var(--font);padding:12px 14px;border:1px solid #7A7A75;border-radius:0;background:#fff;color:var(--ink);min-height:48px}
.form select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none' stroke='%230B0B0C' stroke-width='1.6' stroke-linecap='square'%3E%3Cpath d='M1 1.5l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px 9px;padding-right:40px;cursor:pointer}
.form input:hover,.form select:hover,.form textarea:hover{border-color:var(--ink)}
.form textarea{min-height:120px;resize:vertical}
.form fieldset{border:0;margin:0;padding:0}
.form legend{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:8px;padding:0}
.checks{display:grid;gap:4px 16px;grid-template-columns:1fr}@media(min-width:640px){.checks{grid-template-columns:1fr 1fr}}
.checks label{display:flex;align-items:center;gap:10px;min-height:40px;font-weight:400;font-size:15px;margin:0;cursor:pointer;color:var(--body)}
.checks input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--ink);flex:0 0 auto}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.note{font-size:13px;color:var(--muted)}
.form-msg{padding:16px;font-weight:600}
.form-msg.ok{background:var(--ok-bg);color:var(--ok-ink)}.form-msg.bad{background:var(--bad-bg);color:var(--bad-ink)}
.form-msg[hidden]{display:none}

/* Footer (dark: the inverse of Jenna's white footer) */
.footer{background:var(--black);color:var(--on-dark-muted);padding:56px 0 32px}
.footer-grid{display:grid;gap:32px;grid-template-columns:1fr}@media(min-width:800px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer .brand{color:#fff}.footer .brand-text small{color:var(--on-dark-muted)}
.footer h4{font:700 12px var(--font);text-transform:uppercase;letter-spacing:.18em;color:var(--red);margin:0 0 12px}
.footer ul{list-style:none;margin:0;padding:0}.footer li{font-size:15px;min-height:36px;display:flex;align-items:center}
.footer li a{display:inline-flex;align-items:center;min-height:36px;font-size:15px;color:#fff;text-decoration:none}.footer li a:hover{text-decoration:underline}
.footer .note{color:var(--on-dark-muted);max-width:36ch;margin-top:16px}
.legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--line-dark);font-size:13px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.legal a{color:#fff}

.draft-bar{background:var(--accent);color:var(--ink);font-size:13px;padding:8px 0;border-bottom:1px solid var(--border)}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile .shot img,.menu-lines,.menu-lines::before,.menu-lines::after{transition:none}}
@media(max-width:639px){.svc{flex-direction:column;gap:6px}.svc .fits{text-align:left;max-width:none;order:-1;font-size:12px;letter-spacing:.06em}}

/* ── IEDCO Motion (kit v1.1.0, section 2), Default preset. Values come from js/motion.js (MOTION) via applyMotionVars(). ── */
:root {
  --m-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --m-ease-in: cubic-bezier(0.5, 0, 0.75, 0);
  --m-dur-fast: 150ms; --m-dur: 240ms; --m-dur-slow: 400ms;
  --m-rise: 12px; --m-heading-slide: 16px; --m-press: 0.97;
}
@keyframes m-rise    { from { opacity: 0; transform: translateY(var(--m-rise)); } to { opacity: 1; transform: none; } }
@keyframes m-slide   { from { opacity: 0; transform: translateX(calc(-1 * var(--m-heading-slide))); } to { opacity: 1; transform: none; } }
@keyframes m-fade    { from { opacity: 0; } to { opacity: 1; } }
.m-pending { opacity: 0; }
.m-rise    { animation: m-rise var(--m-dur-slow) var(--m-ease) both; will-change: opacity, transform; }
.m-heading { animation: m-slide var(--m-dur-slow) var(--m-ease) both; will-change: opacity, transform; }
.m-collapse { display: grid; grid-template-rows: 0fr; opacity: 0;
  transition: grid-template-rows var(--m-dur) var(--m-ease), opacity var(--m-dur-fast) var(--m-ease); }
.m-collapse[data-open="true"] { grid-template-rows: 1fr; opacity: 1; }
.m-collapse > .m-collapse-inner { min-height: 0; overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  button, [role="button"], a, input, select, textarea, summary {
    transition-property: color, background-color, border-color, opacity, box-shadow, transform;
    transition-duration: var(--m-dur-fast);
    transition-timing-function: var(--m-ease);
  }
  button:not(:disabled):active, [role="button"]:active, .tab:active { transform: scale(var(--m-press)); }
}
@media (prefers-reduced-motion: reduce) {
  .m-rise, .m-heading { animation: m-fade 150ms ease-out both; }
  .m-collapse { transition: none; }
}
:root[data-motion="off"] :is(.m-rise, .m-heading) { animation: none; }
:root[data-motion="off"] .m-pending { opacity: 1; }
:root[data-motion="off"] .m-collapse { transition: none; }

/* ── IEDCO Parallax (Labs paper "Depth as a system", Oct 22, 2026), defaults as in the luxury-style theme ──
   Only photo areas move: the hero video at depth 0.6, the workspace screenshot at 0.4. Text, buttons and links never move.
   Farthest layer at most 32px (16px on phones); each layer bleeds 40px past its scene so no edge shows. Off with reduced motion. */
[data-parallax-scene]{overflow:hidden}
.parallax-layer{position:absolute;left:0;right:0;top:-40px;bottom:-40px;width:100%;height:calc(100% + 80px);will-change:transform}
.split-media{position:relative}
.split-media .parallax-layer{height:calc(100% + 80px);object-fit:cover;object-position:top center}
@media(prefers-reduced-motion:reduce){.parallax-layer{transform:none!important}}

/* Footer stamp */
.stamp{color:var(--on-dark-muted)}
.stamp a{color:#fff}
