/* ============================================================
   OZYUS TECHNOLOGIES — industrial machine-HUD theme
   Red (#ED1C23) accent on deep graphite. Spec-sheet motif.
   ============================================================ */
:root{
  --red:#ED1C23; --red-dim:#c9151b; --red-soft:rgba(237,28,35,.12);
  --graphite:#0E1116; --steel:#151A21; --steel-2:#1B2029; --steel-3:#222A34;
  --line:#28313D; --line-soft:#1E2530;
  --paper:#F4F6F8; --paper-2:#E9EDF1; --paper-line:#DCE2E8;
  --text:#E8EDF2; --text-dim:#98A6B4; --text-faint:#6B7887;
  --ink:#10151B; --ink-dim:#57626F;
  --display:"Space Grotesk",system-ui,sans-serif;
  --body:"Inter",system-ui,sans-serif;
  --mono:"Space Mono","SFMono-Regular",monospace;
  --wrap:1220px; --gutter:clamp(20px,5vw,64px);
  --r:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body); background:var(--graphite); color:var(--text);
  line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--red);color:#fff}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.eyebrow{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--red);display:inline-flex;align-items:center;gap:.7ch;font-weight:700;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--red);display:inline-block}
.eyebrow.center{justify-content:center}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.04;letter-spacing:-.02em}
.h-xl{font-size:clamp(2.6rem,6vw,4.7rem)}
.h-lg{font-size:clamp(2rem,4.2vw,3.2rem)}
.h-md{font-size:clamp(1.4rem,2.4vw,1.9rem)}
p.lead{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--text-dim);max-width:60ch}

/* ---------- buttons ---------- */
.btn{
  --bg:var(--red);--fg:#fff;
  display:inline-flex;align-items:center;gap:.6ch;font-family:var(--body);font-weight:600;
  font-size:.95rem;padding:.9em 1.5em;border-radius:100px;background:var(--bg);color:var(--fg);
  border:1px solid transparent;cursor:pointer;transition:.25s ease;white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(237,28,35,.55)}
.btn .ar{transition:transform .25s}
.btn:hover .ar{transform:translateX(4px)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--red);color:#fff;box-shadow:none}
.btn.ink{--fg:#fff}
.btn.dark{background:var(--ink);color:#fff}

/* ---------- nav ---------- */
.nav{
  position:fixed;inset:0 0 auto;z-index:60;height:84px;display:flex;align-items:center;
  transition:.35s ease;border-bottom:1px solid transparent;
}
.nav.scrolled{height:68px;background:rgba(14,17,22,.86);backdrop-filter:blur(14px);border-bottom-color:var(--line-soft)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;width:100%}
.brand{display:flex;align-items:center;gap:.7rem}
.brand img{height:38px;width:auto}
.brand .wm{font-family:var(--display);font-weight:700;font-size:1.28rem;letter-spacing:.02em;line-height:1}
.brand .wm small{display:block;font-family:var(--mono);font-weight:400;font-size:.54rem;letter-spacing:.36em;color:var(--text-faint);margin-top:2px}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav-links a{font-size:.92rem;color:var(--text-dim);font-weight:500;position:relative;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--red);transition:width .25s}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:1rem}
.burger{display:none;background:none;border:0;cursor:pointer;width:30px;height:22px;position:relative}
.burger span{position:absolute;left:0;height:2px;width:100%;background:#fff;transition:.3s;border-radius:2px}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:10px}.burger span:nth-child(3){top:20px}
body.menu-open .burger span:nth-child(1){top:10px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){top:10px;transform:rotate(-45deg)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--graphite)}
.hero__img{position:absolute;inset:0;z-index:0}
.hero__img img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.hero__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,var(--graphite) 30%,rgba(14,17,22,.72) 52%,rgba(14,17,22,.18) 100%);}
.hero__grid{position:absolute;inset:0;z-index:1;opacity:.5;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:64px 64px;mask-image:linear-gradient(90deg,#000 40%,transparent 78%)}
.hero__content{position:relative;z-index:2;padding-block:120px 60px;max-width:720px}
.hero h1{margin:1.1rem 0 1.3rem}
.hero h1 .accent{color:var(--red)}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.hero__spec{display:flex;gap:2.4rem;margin-top:3.2rem;flex-wrap:wrap}
.hero__spec .s{display:flex;flex-direction:column;gap:.2rem}
.hero__spec .s b{font-family:var(--display);font-size:1.7rem;font-weight:700}
.hero__spec .s span{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}
/* HUD reticle over the arm */
.reticle{position:absolute;z-index:2;right:clamp(20px,8vw,140px);bottom:16vh;width:min(30vw,340px);aspect-ratio:1;pointer-events:none;display:none}
.reticle span{position:absolute;width:24px;height:24px;border:2px solid var(--red)}
.reticle span:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}
.reticle span:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}
.reticle span:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}
.reticle span:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}
.reticle .tag{position:absolute;left:0;top:-26px;font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;color:var(--red);border:0;width:auto;height:auto;text-transform:uppercase}
@media(min-width:1080px){.reticle{display:block}}

/* ---------- section frame ---------- */
.section{padding-block:clamp(72px,10vw,130px);position:relative}
.section.light{background:var(--paper);color:var(--ink)}
.section.light .lead,.section.light .text-dim{color:var(--ink-dim)}
.sec-head{max-width:760px;margin-bottom:clamp(2.4rem,5vw,4rem)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head h2{margin:1rem 0 1rem}

/* ---------- the arm (heart) ---------- */
.arm{background:linear-gradient(180deg,var(--graphite),var(--steel));position:relative;overflow:hidden}
.arm__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.arm__media{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  box-shadow:0 40px 90px -40px #000}
.arm__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.arm__media .frame{position:absolute;inset:14px;border:1px solid rgba(237,28,35,.5);pointer-events:none}
.arm__media .frame span{position:absolute;width:20px;height:20px;border:2px solid var(--red)}
.arm__media .frame span:nth-child(1){top:-1px;left:-1px;border-right:0;border-bottom:0}
.arm__media .frame span:nth-child(2){top:-1px;right:-1px;border-left:0;border-bottom:0}
.arm__media .frame span:nth-child(3){bottom:-1px;left:-1px;border-right:0;border-top:0}
.arm__media .frame span:nth-child(4){bottom:-1px;right:-1px;border-left:0;border-top:0}
.arm__media .badge{position:absolute;left:22px;bottom:22px;font-family:var(--mono);font-size:.66rem;
  letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--red);padding:.5em 1em;border-radius:6px}
.specsheet{margin-top:2rem;border-top:1px solid var(--line)}
.specsheet .row{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line-soft);
  font-family:var(--mono);font-size:.82rem}
.specsheet .row .k{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}
.specsheet .row .v{color:var(--text);font-weight:700}

/* ---------- customization cards ---------- */
.cust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.ccard{background:#fff;border:1px solid var(--paper-line);border-radius:var(--r);padding:2rem 1.9rem;
  position:relative;overflow:hidden;transition:.3s ease}
.ccard::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.ccard:hover{transform:translateY(-6px);box-shadow:0 26px 50px -26px rgba(16,21,27,.35);border-color:transparent}
.ccard:hover::before{transform:scaleX(1)}
.ccard .idx{font-family:var(--mono);font-size:.72rem;color:var(--red);letter-spacing:.16em}
.ccard .ic{width:52px;height:52px;border-radius:12px;background:var(--red-soft);display:grid;place-items:center;margin:1rem 0 1.1rem}
.ccard .ic svg{width:26px;height:26px;stroke:var(--red)}
.ccard h3{font-size:1.24rem;margin-bottom:.6rem;color:var(--ink)}
.ccard p{color:var(--ink-dim);font-size:.96rem}
.ccard .more{display:inline-flex;gap:.5ch;margin-top:1.2rem;font-family:var(--mono);font-size:.74rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:700}
.cust-note{margin-top:2.4rem;display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;
  padding:1.5rem 1.8rem;border:1px dashed var(--paper-line);border-radius:var(--r);background:#fff}
.cust-note p{color:var(--ink-dim);font-size:1rem;flex:1;min-width:260px}
.cust-note b{color:var(--ink)}

/* ---------- services ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);
  border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.svc{background:var(--steel);padding:2.1rem 1.9rem;transition:background .25s}
.svc:hover{background:var(--steel-2)}
.svc .ic{width:46px;height:46px;display:grid;place-items:center;margin-bottom:1.1rem;color:var(--red)}
.svc .ic svg{width:28px;height:28px;stroke:var(--red)}
.svc h3{font-size:1.12rem;margin-bottom:.5rem}
.svc p{color:var(--text-dim);font-size:.92rem}
.svc .n{font-family:var(--mono);font-size:.7rem;color:var(--text-faint);float:right}

/* ---------- assurance strip ---------- */
.assure{background:var(--red);color:#fff;position:relative;overflow:hidden}
.assure .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding-block:clamp(2.4rem,5vw,3.4rem)}
.assure .a{display:flex;gap:1rem;align-items:flex-start}
.assure .a svg{width:30px;height:30px;stroke:#fff;flex:none;margin-top:2px}
.assure .a b{font-family:var(--display);font-size:1.05rem;display:block;margin-bottom:.15rem}
.assure .a span{font-size:.86rem;color:rgba(255,255,255,.82)}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,5vw,4.5rem)}
.contact-info h2{color:var(--ink)}
.cinfo{margin-top:2rem;display:flex;flex-direction:column;gap:1.3rem}
.cinfo a,.cinfo div{display:flex;gap:1rem;align-items:flex-start;color:var(--ink)}
.cinfo .ic{width:44px;height:44px;border-radius:10px;background:var(--ink);display:grid;place-items:center;flex:none}
.cinfo .ic svg{width:20px;height:20px;stroke:#fff}
.cinfo .k{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}
.cinfo .val{font-weight:600;font-size:1.02rem}
.cmap{margin-top:2rem;border-radius:var(--r);overflow:hidden;border:1px solid var(--paper-line);height:200px}
.cmap iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05)}
.form{background:#fff;border:1px solid var(--paper-line);border-radius:var(--r);padding:clamp(1.6rem,3vw,2.6rem);
  box-shadow:0 30px 60px -40px rgba(16,21,27,.3)}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{margin-bottom:1.1rem}
.field label{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:.5rem}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--body);font-size:.98rem;color:var(--ink);background:var(--paper);
  border:1px solid var(--paper-line);border-radius:10px;padding:.85em 1em;transition:.2s}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--red);background:#fff;box-shadow:0 0 0 4px var(--red-soft)}
.form .btn{width:100%;justify-content:center;margin-top:.4rem}
.form .fineprint{font-size:.78rem;color:var(--ink-dim);margin-top:1rem;text-align:center}
.hpot{position:absolute;left:-9999px}
.toast{background:#0f5132;color:#d1f5df;border:1px solid #1a6b45;border-radius:10px;padding:1rem 1.2rem;margin-bottom:1.4rem;font-size:.95rem}
.toast.err{background:#5c1a1f;color:#ffd9dc;border-color:#7d2129}

/* ---------- footer ---------- */
.footer{background:#0A0D11;border-top:1px solid var(--line-soft);padding-block:clamp(3rem,6vw,4.5rem) 2rem}
.footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.footer .brand img{height:40px}
.footer .about{color:var(--text-dim);font-size:.92rem;margin-top:1.2rem;max-width:34ch}
.footer h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1.2rem}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:.7rem}
.footer ul a{color:var(--text-dim);font-size:.92rem;transition:color .2s}
.footer ul a:hover{color:var(--red)}
.footer .bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--line-soft);
  font-size:.82rem;color:var(--text-faint);font-family:var(--mono);letter-spacing:.04em}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:960px){
  .arm__grid,.contact-grid{grid-template-columns:1fr}
  .arm__media img{aspect-ratio:16/11}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .footer .top{grid-template-columns:1fr 1fr}
  .assure .wrap{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .nav-links,.nav-cta .btn{display:none}
  .burger{display:block}
  .nav-links{position:fixed;inset:68px 0 auto;flex-direction:column;background:rgba(14,17,22,.98);
    backdrop-filter:blur(14px);padding:1.4rem var(--gutter) 2rem;gap:1.3rem;border-bottom:1px solid var(--line);
    transform:translateY(-120%);transition:transform .35s ease;z-index:55}
  body.menu-open .nav-links{transform:none}
  .nav-links a{font-size:1.05rem;color:#fff}
  .cust-grid,.svc-grid,.footer .top,.assure .wrap,.form .row2{grid-template-columns:1fr}
  .hero__spec{gap:1.6rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ============================================================
   MULTI-PAGE COMPONENTS
   ============================================================ */
.nav-links a.active{color:#fff}
.nav-links a.active::after{width:100%}

/* page hero (interior banners) */
.pagehero{position:relative;padding:150px 0 clamp(3rem,7vw,5.5rem);background:var(--graphite);overflow:hidden;border-bottom:1px solid var(--line-soft)}
.pagehero::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(120% 100% at 80% 0,#000,transparent 70%)}
.pagehero.img::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--graphite) 42%,rgba(14,17,22,.5) 100%)}
.pagehero .bg{position:absolute;inset:0;z-index:0}
.pagehero .bg img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.5}
.pagehero .wrap{position:relative;z-index:2}
.breadcrumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:1.1rem;display:flex;gap:.6ch}
.breadcrumb a{color:var(--red)}
.pagehero h1{max-width:16ch}
.pagehero p{max-width:56ch;margin-top:1.2rem}

/* section subtitle color helper on dark */
.text-dim{color:var(--text-dim)}

/* founder */
.founder{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.founder__card{background:linear-gradient(160deg,var(--steel),var(--steel-2));border:1px solid var(--line);border-radius:var(--r);padding:2.6rem;text-align:center;position:relative;overflow:hidden}
.founder__card::before{content:"";position:absolute;inset:auto -30% -40% auto;width:70%;aspect-ratio:1;background:radial-gradient(circle,var(--red-soft),transparent 70%)}
.monogram{width:132px;height:132px;margin:0 auto 1.4rem;border-radius:50%;display:grid;place-items:center;
  font-family:var(--display);font-size:3rem;font-weight:700;color:#fff;background:var(--graphite);
  border:2px solid var(--red);position:relative}
.founder__card h3{font-size:1.5rem}
.founder__card .role{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--red);margin-top:.3rem}
.founder__card .socials{display:flex;gap:.8rem;justify-content:center;margin-top:1.4rem}
.founder__card .socials a{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;color:var(--text-dim);transition:.2s}
.founder__card .socials a:hover{border-color:var(--red);color:#fff}
.founder__card .socials svg{width:17px;height:17px;stroke:currentColor;fill:none}
.creds{list-style:none;margin-top:1.6rem;display:grid;gap:.9rem}
.creds li{display:flex;gap:.9rem;align-items:flex-start;font-size:.98rem;color:var(--text-dim)}
.creds li svg{width:20px;height:20px;stroke:var(--red);fill:none;flex:none;margin-top:2px}
.creds li b{color:var(--text)}

/* stat row */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.statrow .st{background:var(--steel);padding:2rem 1.6rem;text-align:center}
.statrow .st b{font-family:var(--display);font-size:clamp(2.2rem,4vw,3rem);font-weight:700;color:#fff;display:block}
.statrow .st b .u{color:var(--red)}
.statrow .st span{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}

/* team disciplines */
.disc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem}
.disc{background:var(--steel);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.6rem}
.disc .ic{color:var(--red);margin-bottom:.9rem}.disc .ic svg{width:26px;height:26px;stroke:var(--red);fill:none}
.disc b{display:block;margin-bottom:.3rem}
.disc span{color:var(--text-dim);font-size:.9rem}
.disc .cnt{font-family:var(--mono);color:var(--red);font-size:.8rem;float:right}

/* process steps */
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:step}
.process.light .step{background:#fff;border-color:var(--paper-line)}
.step{position:relative;background:var(--steel);border:1px solid var(--line-soft);border-radius:var(--r);padding:2rem 1.6rem}
.step .no{font-family:var(--mono);font-size:.8rem;color:var(--red);letter-spacing:.1em}
.step h3{font-size:1.15rem;margin:.8rem 0 .5rem}
.section.light .step h3{color:var(--ink)}
.step p{color:var(--text-dim);font-size:.92rem}
.section.light .step p{color:var(--ink-dim)}

/* industries */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.ind{background:var(--steel);padding:2rem;display:flex;gap:1.1rem;align-items:center;transition:background .2s}
.ind:hover{background:var(--steel-2)}
.ind svg{width:30px;height:30px;stroke:var(--red);fill:none;flex:none}
.ind b{display:block}.ind span{color:var(--text-dim);font-size:.86rem}

/* service detail rows */
.svc-detail{display:grid;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden}
.sd{background:var(--steel);padding:clamp(1.8rem,4vw,2.6rem);display:grid;grid-template-columns:auto auto 1fr;gap:1.8rem;align-items:start;transition:background .2s}
.sd:hover{background:var(--steel-2)}
.sd .no{font-family:var(--mono);font-size:1.1rem;color:var(--red);padding-top:.2rem}
.sd .ic{width:54px;height:54px;border-radius:12px;background:var(--red-soft);display:grid;place-items:center;flex:none}
.sd .ic svg{width:28px;height:28px;stroke:var(--red);fill:none}
.sd .body h3{font-size:1.4rem;margin-bottom:.6rem}
.sd .body p{color:var(--text-dim);max-width:70ch}
.sd .body .tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.sd .body .tags span{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);border:1px solid var(--line);border-radius:100px;padding:.35em .9em}
.sd .grip{display:grid;grid-template-columns:auto 1fr;gap:1.8rem;align-items:start}

/* standards / quality */
.qual-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
.qual{display:flex;gap:1.1rem;align-items:flex-start;background:var(--steel);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.6rem 1.7rem}
.qual svg{width:26px;height:26px;stroke:var(--red);fill:none;flex:none;margin-top:2px}
.qual b{display:block;margin-bottom:.3rem}.qual span{color:var(--text-dim);font-size:.92rem}

/* cta band */
.cta-band{background:linear-gradient(120deg,var(--red),var(--red-dim));text-align:center}
.cta-band .wrap{padding-block:clamp(3rem,7vw,5rem)}
.cta-band h2{color:#fff;max-width:22ch;margin:0 auto 1rem}
.cta-band p{color:rgba(255,255,255,.9);max-width:52ch;margin:0 auto 2rem}
.cta-band .btn{background:#fff;color:var(--ink)}
.cta-band .btn:hover{box-shadow:0 14px 34px -10px rgba(0,0,0,.45)}

/* rich text list */
.ticks{list-style:none;display:grid;gap:.9rem;margin-top:1.6rem}
.ticks li{display:flex;gap:.8rem;align-items:flex-start;color:var(--text-dim)}
.section.light .ticks li{color:var(--ink-dim)}
.ticks li svg{width:20px;height:20px;stroke:var(--red);fill:none;flex:none;margin-top:2px}
.ticks li b{color:var(--text)}.section.light .ticks li b{color:var(--ink)}

/* generic two-col */
.split2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.media-frame{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 90px -40px #000}
.media-frame img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}

@media(max-width:960px){
  .founder,.split2{grid-template-columns:1fr}
  .disc-grid,.ind-grid,.process,.qual-grid{grid-template-columns:1fr 1fr}
  .statrow{grid-template-columns:1fr 1fr}
  .sd{grid-template-columns:auto 1fr}
  .sd .no{display:none}
}
@media(max-width:720px){
  .disc-grid,.ind-grid,.process,.qual-grid,.statrow,.svc-grid{grid-template-columns:1fr}
  .sd{grid-template-columns:1fr;gap:1rem}
}

/* ============================================================
   IMAGE-RICH LAYOUT SYSTEMS (v2)
   ============================================================ */
/* full-bleed image band */
.band{position:relative;padding-block:clamp(4.5rem,9vw,7.5rem);overflow:hidden;background:var(--graphite)}
.band .bg{position:absolute;inset:0;z-index:0}
.band .bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.band::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,12,16,.86),rgba(9,12,16,.7))}
.band .wrap{position:relative;z-index:2;text-align:center}
.band .eyebrow{justify-content:center;color:#fff}.band .eyebrow::before{background:var(--red)}
.band .big{font-family:var(--display);font-weight:700;font-size:clamp(2.2rem,5.5vw,4rem);line-height:1.06;color:#fff;max-width:20ch;margin:1rem auto 0}
.band .big .a{color:var(--red)}
.band .kq{max-width:58ch;margin:1.2rem auto 0;color:var(--text-dim);font-size:1.08rem}
.band .bstats{display:flex;gap:clamp(2rem,7vw,5.5rem);justify-content:center;flex-wrap:wrap;margin-top:2.6rem}
.band .bs b{font-family:var(--display);font-size:clamp(2.1rem,4vw,3rem);font-weight:700;color:#fff;display:block}
.band .bs span{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}

/* bento grid */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:1.1rem}
.bento .b{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line-soft);background:var(--steel)}
.bento .b>img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.bento .b:hover>img{transform:scale(1.06)}
.bento .b .cap{position:absolute;inset:auto 0 0;padding:1.2rem 1.3rem;background:linear-gradient(transparent,rgba(9,12,16,.94));z-index:2}
.bento .b .cap b{display:block;font-family:var(--display);font-size:1.15rem}
.bento .b .cap span{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.bento .b.txt{display:flex;flex-direction:column;justify-content:center;padding:1.7rem;background:linear-gradient(160deg,var(--steel),var(--steel-2))}
.bento .b.txt .n{font-family:var(--display);font-size:clamp(2.4rem,4vw,3.3rem);font-weight:700;color:#fff;line-height:1}
.bento .b.txt .n .u{color:var(--red)}
.bento .b.txt p{color:var(--text-dim);font-size:.9rem;margin-top:.5rem}
.bento .b.red{background:linear-gradient(150deg,var(--red),var(--red-dim));border-color:transparent}
.bento .b.red .n,.bento .b.red p{color:#fff}.bento .b.red p{color:rgba(255,255,255,.9)}
.bento .w2{grid-column:span 2}.bento .h2{grid-row:span 2}
@media(max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}.bento .h2{grid-row:span 1}}
@media(max-width:560px){.bento{grid-template-columns:1fr;grid-auto-rows:180px}.bento .w2{grid-column:span 1}}

/* alternating feature rows */
.features{display:grid;gap:clamp(2.5rem,6vw,5rem)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.feature.flip .fmedia{order:2}
.fmedia{position:relative}
.fmedia .m{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 80px -40px #000}
.fmedia .m img{width:100%;object-fit:cover;aspect-ratio:5/4;display:block;transition:transform .7s}
.fmedia:hover .m img{transform:scale(1.04)}
.fmedia .tagno{position:absolute;top:-24px;left:-10px;font-family:var(--display);font-size:3.4rem;font-weight:700;color:var(--red);z-index:2}
.fbody .eyebrow{margin-bottom:.7rem}
.fbody h3{font-size:clamp(1.5rem,2.6vw,2rem)}
.section.light .fbody h3{color:var(--ink)}
.fbody p{color:var(--text-dim);margin-top:.7rem}.section.light .fbody p{color:var(--ink-dim)}
@media(max-width:820px){.feature,.feature.flip{grid-template-columns:1fr}.feature.flip .fmedia{order:0}.fmedia .tagno{left:0;top:-30px}}

/* image tiles */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.tile{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;border:1px solid var(--line-soft);display:block}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.tile:hover img{transform:scale(1.07)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(9,12,16,.05) 35%,rgba(9,12,16,.92))}
.tile .cap{position:absolute;inset:auto 0 0;padding:1.3rem;z-index:2}
.tile .cap b{display:block;font-family:var(--display);font-size:1.25rem;color:#fff}
.tile .cap span{color:var(--text-dim);font-size:.84rem}
.tile .cap .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:.3rem}
@media(max-width:820px){.tiles{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.tiles{grid-template-columns:1fr}}

/* marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line-soft);padding-block:1.5rem;background:var(--graphite)}
.marquee .track{display:flex;width:max-content;animation:scrollx 30s linear infinite}
.marquee .track>span{font-family:var(--display);font-size:1.35rem;font-weight:700;color:var(--text-faint);white-space:nowrap;display:inline-flex;align-items:center}
.marquee .track>span::after{content:"◆";color:var(--red);font-size:.7rem;margin:0 2.4rem}
@keyframes scrollx{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee .track{animation:none}}

/* overlap frames */
.overlap{position:relative;padding-bottom:8%}
.overlap .o1{width:76%;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 80px -40px #000}
.overlap .o1 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.overlap .o2{position:absolute;right:0;bottom:0;width:46%;border-radius:var(--r);overflow:hidden;border:4px solid var(--graphite);box-shadow:0 30px 60px -30px #000}
.section.light .overlap .o2{border-color:var(--paper)}
.overlap .o2 img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.overlap .rlabel{position:absolute;left:0;top:-28px;font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);z-index:3}
