/* ============================================================
   ASCENDERA GROUP · shared design system
   One family, four brands. Accent swaps per page.
   ============================================================ */

:root{
  --ink:#12141f;
  --ink-deep:#0b0d15;
  --ink-soft:#1a1d2b;
  --paper:#f7f5f0;
  --paper-dim:#efede6;
  --white:#f9f9f9;
  --line:rgba(255,255,255,.1);
  --line-dark:rgba(18,20,31,.12);
  --muted:rgba(249,249,249,.62);
  --muted-dark:rgba(18,20,31,.6);
  --teal:#14939c;
  --accent:#2bb3bd;            /* group default */
  --accent-ink:#0e6b72;
  --font-ui:"Archivo",-apple-system,"Segoe UI",sans-serif;
  --font-serif:"Newsreader",Georgia,serif;
  --font-mono:"IBM Plex Mono","SFMono-Regular",monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  --pad:clamp(1.25rem,4vw,4rem);
}

body.brand-advisory{ --accent:#d9a441; --accent-ink:#8a6420; }
body.brand-veriso{ --accent:#3fe0c5; --accent-ink:#0f8a75; }
body.brand-kalibra{ --accent:#e8703a; --accent-ink:#9c4a1f; }

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
html:focus-within{ scroll-behavior:smooth; }

body{
  font-family:var(--font-ui);
  background:var(--ink);
  color:var(--white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  line-height:1.5;
}

::selection{ background:var(--accent); color:var(--ink); }

img{ display:block; max-width:100%; }
a{ color:inherit; }

/* ---------- scroll progress ---------- */
.progress{
  position:fixed; top:0; left:0; right:0; height:2px; z-index:200;
  background:var(--accent);
  transform-origin:0 50%; transform:scaleX(0);
}

/* ---------- nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem var(--pad);
  transition:background .45s var(--ease), padding .45s var(--ease), border-color .45s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  padding:.7rem var(--pad);
  background:color-mix(in srgb, var(--ink-deep) 78%, transparent);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border-bottom-color:var(--line);
}
.nav__brand{
  font-family:var(--font-ui); font-weight:800; letter-spacing:-.02em;
  font-size:1.05rem; text-decoration:none; display:flex; align-items:baseline; gap:.5rem;
}
.nav__brand .dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); align-self:center; }
.nav__brand .logo{ width:20px; height:20px; align-self:center; display:block; }
.nav__brand .logo .bar-t{ fill:var(--accent); opacity:1; }
.footer__brand .logo{ width:26px; height:26px; display:inline-block; vertical-align:-6px; margin-right:.55rem; }
.footer__brand .logo .bar-t{ fill:var(--accent); }
.nav__brand small{
  font-family:var(--font-mono); font-weight:400; font-size:.6rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--muted);
}
.nav__links{ display:flex; align-items:center; gap:2rem; }
.nav__links a{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:rgba(249,249,249,.35); transition:text-decoration-color .25s, color .25s;
}
.nav__links a:hover{ text-decoration-color:transparent; color:var(--accent); }
.nav__links a.cta{
  text-decoration:none; border:1px solid rgba(249,249,249,.3); border-radius:100px;
  padding:.55rem 1.2rem; transition:background .3s, color .3s, border-color .3s;
}
.nav__links a.cta:hover{ background:var(--accent); border-color:var(--accent); color:var(--ink-deep); }
.nav__group{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; display:flex; align-items:center; gap:.45rem;
}
.nav__group:hover{ color:var(--accent); }
@media (max-width:760px){
  .nav__links{ gap:1.1rem; }
  .nav__links a:not(.cta){ display:none; }
  .nav__brand small{ display:none; }
  .nav__group{ display:none; }
}

/* ---------- hero ---------- */
.hero{
  position:relative; min-height:100svh;
  display:flex; flex-direction:column; justify-content:flex-end;
  overflow:hidden;
}
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media img{
  width:100%; height:100%; object-fit:cover;
  animation:heroDrift 26s var(--ease) both;
}
@keyframes heroDrift{ from{ transform:scale(1.12);} to{ transform:scale(1);} }
.hero__scrim{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(11,13,21,.55) 0%, rgba(11,13,21,.08) 34%, rgba(11,13,21,.16) 55%, rgba(11,13,21,.92) 100%);
}
.hero__noise{
  position:absolute; inset:0; z-index:2; opacity:.06; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='128' height='128' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero__inner{
  position:relative; z-index:3; padding:0 var(--pad) clamp(3rem,7vh,5.5rem);
  max-width:1600px; width:100%; margin:0 auto;
}
.eyebrow{
  font-family:var(--font-mono); font-size:.72rem; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase; color:var(--accent);
  display:flex; align-items:center; gap:.8rem; margin-bottom:1.6rem;
}
.eyebrow::before{ content:""; width:2.4rem; height:1px; background:var(--accent); }

.h-display{
  font-weight:800; letter-spacing:-.035em; line-height:.97;
  font-size:clamp(2.9rem,7.4vw,7rem);
  max-width:14ch;
}
.h-display em, .h-serif em{
  font-family:var(--font-serif); font-style:italic; font-weight:340;
  letter-spacing:-.01em; color:var(--accent);
}
.h-serif{ font-weight:800; letter-spacing:-.03em; line-height:1.02; font-size:clamp(2.2rem,4.6vw,4.2rem); }

/* word-by-word masked reveal */
.w{ display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.06em; margin-bottom:-.06em; }
.w > span{
  display:inline-block; transform:translateY(112%) rotate(2deg);
  transition:transform 1s var(--ease); transition-delay:var(--d,0s);
}
body.loaded .w > span{ transform:translateY(0) rotate(0); }

.hero__sub{
  margin-top:1.8rem; max-width:44ch;
  text-shadow:0 1px 16px rgba(11,13,21,.75);
  font-size:clamp(1.02rem,1.35vw,1.3rem); line-height:1.6; color:var(--muted);
  opacity:0; transform:translateY(18px);
  transition:opacity .9s var(--ease) .85s, transform .9s var(--ease) .85s;
}
body.loaded .hero__sub{ opacity:1; transform:none; }
.hero__actions{
  margin-top:2.4rem; display:flex; flex-wrap:wrap; gap:1rem; align-items:center;
  opacity:0; transform:translateY(18px);
  transition:opacity .9s var(--ease) 1.05s, transform .9s var(--ease) 1.05s;
}
body.loaded .hero__actions{ opacity:1; transform:none; }

.btn{
  font-family:var(--font-mono); font-size:.74rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; text-decoration:none;
  border-radius:100px; padding:.95rem 1.9rem;
  background:var(--accent); color:var(--ink-deep);
  transition:transform .35s var(--ease), background .3s, color .3s, border-color .3s;
  display:inline-flex; align-items:center; gap:.6rem;
}
.btn:hover{ transform:translateY(-2px); }
.btn--ghost{ background:transparent; color:var(--white); border:1px solid rgba(249,249,249,.35); }
.btn--ghost:hover{ border-color:var(--accent); color:var(--accent); }
.btn--ondark{ background:var(--ink); color:var(--white); }

.hero__meta{
  position:absolute; right:var(--pad); bottom:clamp(3rem,7vh,5.5rem); z-index:3;
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); text-align:right; line-height:2;
  text-shadow:0 1px 14px rgba(11,13,21,.9);
  opacity:0; transition:opacity 1s var(--ease) 1.3s;
}
/* brighter heroes need a deeper scrim for accent-italic legibility */
body.brand-advisory .hero__scrim,
body.brand-kalibra .hero__scrim{
  background:linear-gradient(180deg, rgba(11,13,21,.62) 0%, rgba(11,13,21,.3) 34%, rgba(11,13,21,.38) 55%, rgba(11,13,21,.94) 100%);
}
body.loaded .hero__meta{ opacity:1; }
@media (max-width:900px){ .hero__meta{ display:none; } }

/* ---------- sections ---------- */
.section{ padding:clamp(5rem,11vh,9rem) var(--pad); position:relative; }
.section--light{ background:var(--paper); color:var(--ink); }
.section--light .eyebrow{ color:var(--accent-ink); }
.section--light .eyebrow::before{ background:var(--accent-ink); }
.section--dim{ background:var(--ink-deep); }
.wrap{ max-width:1400px; margin:0 auto; }
.section__head{ max-width:1000px; margin-bottom:clamp(3rem,7vh,5.5rem); }
.section__head p{
  margin-top:1.6rem; max-width:52ch; font-size:1.05rem; line-height:1.7;
  color:var(--muted);
}
.section--light .section__head p{ color:var(--muted-dark); }

/* scroll reveals */
[data-reveal]{
  opacity:0; transform:translateY(30px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
  transition-delay:var(--rd,0s);
}
[data-reveal].revealed{ opacity:1; transform:none; }

/* global guard: nothing may push the page wider than the viewport */
html,body{ overflow-x:clip; }

/* ---------- marquee ---------- */
.marquee{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  overflow:hidden; padding:1.3rem 0; background:var(--ink-deep);
  -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);
}
.marquee__track{
  display:flex; gap:3.2rem; width:max-content;
  animation:marquee 36s linear infinite;
}
.marquee__track span{
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted); white-space:nowrap;
  display:flex; align-items:center; gap:3.2rem;
}
.marquee__track span::after{ content:""; width:6px; height:6px; background:var(--accent); border-radius:50%; }
@keyframes marquee{ to{ transform:translateX(-50%);} }

/* ---------- stats ---------- */
.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
}
.stat{
  padding:3.2rem 2.4rem 3.4rem; border-right:1px solid var(--line);
  display:flex; flex-direction:column; gap:1.1rem;
}
.stat:last-child{ border-right:none; }
.stat b{
  font-weight:800; letter-spacing:-.02em; line-height:1;
  font-size:clamp(3.4rem,5.8vw,5.6rem); color:var(--accent);
  font-variant-numeric:tabular-nums;
}
.stat > span{
  font-family:var(--font-mono); font-size:.82rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--white); line-height:1.65;
}
@media (max-width:900px){
  .stats{ grid-template-columns:1fr 1fr; }
  .stat{ border-bottom:1px solid var(--line); }
}

/* ---------- brand rows (hub) ---------- */
.brands{ display:flex; flex-direction:column; }
.brandrow{
  position:relative; min-height:82svh; overflow:hidden;
  display:flex; align-items:flex-end; text-decoration:none;
  border-top:1px solid var(--line);
}
.brandrow__bg{ position:absolute; inset:0; z-index:0; }
.brandrow__bg img{
  width:100%; height:100%; object-fit:cover;
  transition:transform 1.4s var(--ease), filter 1.4s var(--ease);
  filter:saturate(.85);
}
.brandrow:hover .brandrow__bg img{ transform:scale(1.045); filter:saturate(1); }
.brandrow__scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(11,13,21,.25) 0%, rgba(11,13,21,0) 35%, rgba(11,13,21,.88) 100%);
  transition:background .6s;
}
.brandrow__inner{
  position:relative; z-index:2; width:100%;
  padding:0 var(--pad) clamp(2.6rem,6vh,4.5rem);
  display:flex; align-items:flex-end; justify-content:space-between; gap:3rem;
  max-width:1600px; margin:0 auto;
}
.brandrow__idx{
  position:absolute; top:clamp(2rem,5vh,3.4rem); left:var(--pad);
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.2em; color:var(--muted);
}
.brandrow__name{
  font-weight:800; letter-spacing:-.035em; line-height:.95;
  font-size:clamp(3.4rem,9vw,8.6rem);
}
.brandrow__tag{
  margin-top:1.1rem; font-family:var(--font-serif); font-style:italic;
  font-size:clamp(1.15rem,1.8vw,1.7rem); color:var(--accent); font-weight:340;
}
.brandrow__desc{ margin-top:1rem; max-width:46ch; color:var(--muted); line-height:1.65; font-size:1rem; }
.brandrow__go{
  flex-shrink:0; font-family:var(--font-mono); font-size:.74rem; letter-spacing:.18em;
  text-transform:uppercase; display:flex; align-items:center; gap:.9rem;
  border:1px solid rgba(249,249,249,.3); border-radius:100px; padding:1rem 1.7rem;
  transition:background .35s, color .35s, border-color .35s;
  margin-bottom:.5rem;
}
.brandrow__go i{ font-style:normal; transition:transform .35s var(--ease); }
.brandrow:hover .brandrow__go{ background:var(--accent); color:var(--ink-deep); border-color:var(--accent); }
.brandrow:hover .brandrow__go i{ transform:translateX(5px); }
@media (max-width:900px){
  .brandrow__inner{ flex-direction:column; align-items:flex-start; gap:1.8rem; }
}

/* ---------- principles (3-col) ---------- */
.principles{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); }
.principle{ padding:2.8rem 2.4rem 3.2rem; border-right:1px solid var(--line); }
.principle:last-child{ border-right:none; }
.section--light .principles{ border-top-color:var(--line-dark); }
.section--light .principle{ border-right-color:var(--line-dark); }
.principle small{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.2em; color:var(--accent);
}
.section--light .principle small{ color:var(--accent-ink); }
.principle h3{ margin-top:1.2rem; font-size:1.45rem; font-weight:700; letter-spacing:-.02em; line-height:1.2; }
.principle p{ margin-top:1rem; color:var(--muted); line-height:1.7; font-size:.98rem; }
.section--light .principle p{ color:var(--muted-dark); }
@media (max-width:900px){
  .principles{ grid-template-columns:1fr; }
  .principle{ border-right:none; border-bottom:1px solid var(--line); }
  .section--light .principle{ border-bottom-color:var(--line-dark); }
}

/* ---------- steps (how it works) ---------- */
.steps{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.step{
  display:grid; grid-template-columns:minmax(90px,140px) 1fr 1.1fr; gap:2.5rem;
  padding:3rem 0; border-bottom:1px solid var(--line); align-items:baseline;
}
.step__n{
  font-family:var(--font-mono); font-size:.85rem; letter-spacing:.18em; color:var(--accent);
}
.step h3{ font-size:clamp(1.5rem,2.6vw,2.3rem); font-weight:800; letter-spacing:-.025em; line-height:1.08; }
.step p{ color:var(--muted); line-height:1.75; font-size:1.02rem; max-width:52ch; }
.section--light .step{ border-bottom-color:var(--line-dark); }
.section--light .step__n{ color:var(--accent-ink); }
.section--light .step p{ color:var(--muted-dark); }
@media (max-width:900px){ .step{ grid-template-columns:1fr; gap:.9rem; } }

/* ---------- products (veriso six) ---------- */
.products{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.product{
  display:grid; grid-template-columns:minmax(120px,180px) 1fr auto; gap:2.5rem;
  padding:2.6rem 0; border-bottom:1px solid var(--line); align-items:baseline;
  transition:padding-left .4s var(--ease);
}
.product:hover{ padding-left:1.2rem; }
.product__q{
  font-family:var(--font-serif); font-style:italic; font-weight:340;
  font-size:clamp(1.2rem,2vw,1.75rem); color:var(--accent); line-height:1.3;
}
.product h3{ font-size:1.6rem; font-weight:800; letter-spacing:-.02em; }
.product p{ margin-top:.6rem; color:var(--muted); line-height:1.7; max-width:60ch; font-size:.99rem; }
.product__mono{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); text-align:right; white-space:nowrap;
}
@media (max-width:900px){ .product{ grid-template-columns:1fr; gap:.7rem; } .product__mono{ text-align:left; } }

/* ---------- confidence bands ---------- */
.bands{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.band{ background:var(--ink-deep); padding:2.2rem 1.8rem 2.6rem; position:relative; }
.band::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:var(--band-c,#555); }
.band small{ font-family:var(--font-mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.band h3{ margin-top:.9rem; font-size:1.15rem; font-weight:700; letter-spacing:-.01em; }
.band p{ margin-top:.8rem; font-size:.88rem; line-height:1.65; color:var(--muted); }
@media (max-width:900px){ .bands{ grid-template-columns:1fr 1fr; } }

/* ---------- refusals ---------- */
.refusals{ display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--line); }
.refusal{ padding:2.6rem 2.4rem; border-bottom:1px solid var(--line); }
.refusal:nth-child(odd){ border-right:1px solid var(--line); }
.refusal h3{ font-size:clamp(1.3rem,2vw,1.8rem); font-weight:800; letter-spacing:-.02em; line-height:1.15; }
.refusal h3::before{
  content:"✓"; color:var(--accent); font-family:var(--font-mono);
  font-size:.85em; margin-right:.7rem; font-weight:400;
}
.refusal p{ margin-top:.9rem; color:var(--muted); line-height:1.7; font-size:.95rem; }
@media (max-width:900px){ .refusals{ grid-template-columns:1fr; } .refusal:nth-child(odd){ border-right:none; } }

/* ---------- split (text + image) ---------- */
.split{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,6vw,6rem); align-items:center; }
.split--flip{ grid-template-columns:.95fr 1.05fr; }
.split__media{ overflow:hidden; position:relative; }
.split__media img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3.4; transition:transform 1.2s var(--ease); }
.split__media:hover img{ transform:scale(1.04); }
.split__body p{ color:var(--muted); line-height:1.75; margin-top:1.3rem; max-width:52ch; }
.section--light .split__body p{ color:var(--muted-dark); }
@media (max-width:900px){ .split,.split--flip{ grid-template-columns:1fr; } }

/* ---------- big statement ---------- */
.statement{
  padding:clamp(6rem,14vh,11rem) var(--pad); text-align:left;
  max-width:1400px; margin:0 auto;
}
.statement h2{
  font-weight:800; letter-spacing:-.032em; line-height:1.02;
  font-size:clamp(2.4rem,5.4vw,5.2rem); max-width:20ch;
}

/* ---------- footer CTA + footer ---------- */
.cta-band{
  padding:clamp(6rem,13vh,10rem) var(--pad);
  background:var(--ink-deep); border-top:1px solid var(--line);
  text-align:center;
}
.cta-band .eyebrow{ justify-content:center; }
.cta-band .eyebrow::before{ display:none; }
.cta-band h2{
  font-weight:800; letter-spacing:-.032em; line-height:1;
  font-size:clamp(2.6rem,6vw,5.6rem); max-width:18ch; margin:0 auto;
}
.cta-band p{ margin:1.8rem auto 0; max-width:52ch; color:var(--muted); line-height:1.7; }
.cta-band .hero__actions{ justify-content:center; opacity:1; transform:none; }

.footer{
  border-top:1px solid var(--line); padding:3rem var(--pad) 3.4rem;
  display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap;
  background:var(--ink-deep);
}
.footer__brand{ font-weight:800; font-size:1.4rem; letter-spacing:-.02em; }
.footer__brand small{ display:block; font-family:var(--font-mono); font-weight:400; font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-top:.5rem; }
.footer nav{ display:flex; gap:1.8rem; flex-wrap:wrap; }
.footer nav a{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.15em; text-transform:uppercase;
  text-decoration:underline; text-underline-offset:4px; text-decoration-color:rgba(249,249,249,.3);
}
.footer nav a:hover{ text-decoration-color:transparent; color:var(--accent); }
.footer__legal{ font-family:var(--font-mono); font-size:.64rem; letter-spacing:.12em; color:var(--muted); text-transform:uppercase; line-height:2; }

/* ---------- detail (sub) pages ---------- */
.hero--sub{ min-height:72svh; }
.detail-nav{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.15em;
  text-transform:uppercase; display:flex; gap:1.8rem; flex-wrap:wrap;
  margin-top:2.4rem; padding-top:1.6rem; border-top:1px solid var(--line);
}
.detail-nav a{
  text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:rgba(249,249,249,.3); color:var(--muted);
}
.detail-nav a:hover{ color:var(--accent); text-decoration-color:transparent; }
.detail-nav a.active{ color:var(--accent); text-decoration-color:transparent; }

.spec-list{ border-top:1px solid var(--line); }
.spec{
  display:grid; grid-template-columns:minmax(140px,220px) 1fr; gap:2rem;
  padding:1.6rem 0; border-bottom:1px solid var(--line);
}
.spec b{
  font-family:var(--font-mono); font-weight:500; font-size:.72rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--muted); padding-top:.2em;
}
.spec div{ line-height:1.7; color:var(--white); font-size:1.02rem; }
.section--light .spec{ border-bottom-color:var(--line-dark); }
.section--light .spec b{ color:var(--muted-dark); }
.section--light .spec div{ color:var(--ink); }
@media (max-width:760px){ .spec{ grid-template-columns:1fr; gap:.5rem; } }

.form{ max-width:640px; }
.form label{
  display:block; font-family:var(--font-mono); font-size:.7rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin:2rem 0 .6rem;
}
.form input,.form select,.form textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid rgba(249,249,249,.28);
  color:var(--white); font-family:var(--font-ui); font-size:1.15rem; padding:.6rem 0;
  outline:none; transition:border-color .3s; border-radius:0;
}
.form textarea{ min-height:120px; resize:vertical; }
.form input:focus,.form select:focus,.form textarea:focus{ border-bottom-color:var(--accent); }
.form select{ appearance:none; cursor:pointer; }
.form select option{ background:var(--ink-deep); color:var(--white); }
.form .btn{ margin-top:2.6rem; border:none; cursor:pointer; font-weight:500; }
.form__note{ margin-top:1.6rem; font-size:.85rem; color:var(--muted); line-height:1.7; }


/* ---------- two products (veriso duo) ---------- */
.duo{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.duo__card{
  background:var(--ink); padding:clamp(2.2rem,4vw,3.6rem);
  text-decoration:none; display:flex; flex-direction:column;
  transition:background .45s var(--ease);
}
.duo__card:hover{ background:var(--ink-soft); }
.duo__idx{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--accent);
}
.duo__card h3{
  margin-top:1.3rem; font-weight:800; letter-spacing:-.03em; line-height:1.03;
  font-size:clamp(1.9rem,3.2vw,3rem);
}
.duo__tag{
  margin-top:1.1rem; font-family:var(--font-serif); font-style:italic; font-weight:340;
  font-size:clamp(1.05rem,1.5vw,1.35rem); color:var(--accent); line-height:1.35;
}
.duo__desc{ margin-top:1rem; color:var(--muted); line-height:1.7; max-width:52ch; font-size:.99rem; }
.duo__go{
  margin-top:2.2rem; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:.8rem;
}
.duo__go i{ font-style:normal; transition:transform .35s var(--ease); }
.duo__card:hover .duo__go i{ transform:translateX(5px); }
@media (max-width:900px){ .duo{ grid-template-columns:1fr; } }

/* ---------- focus areas (advisory) ---------- */
.focus-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,3vw,3rem); }
.focus-card{ border:1px solid var(--line); display:flex; flex-direction:column; transition:border-color .4s; }
.focus-card:hover{ border-color:color-mix(in srgb, var(--accent) 55%, transparent); }
.focus-card__media{ overflow:hidden; }
.focus-card__media img, .focus-card__media video{
  width:100%; aspect-ratio:16/9.5; object-fit:cover; display:block;
  transition:transform 1.2s var(--ease);
}
.focus-card:hover .focus-card__media img, .focus-card:hover .focus-card__media video{ transform:scale(1.05); }
.focus-card__body{ padding:2.1rem 2.2rem 2.6rem; }
.focus-card__idx{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--accent);
}
.focus-card__body h3{ margin-top:1.1rem; font-size:clamp(1.5rem,2.2vw,2.1rem); font-weight:800; letter-spacing:-.025em; }
.focus-card__body p{ margin-top:1rem; color:var(--muted); line-height:1.75; font-size:.99rem; }
@media (max-width:900px){ .focus-grid{ grid-template-columns:1fr; } }

/* ---------- partners wall (light) ---------- */
.partners{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--line-dark); border:1px solid var(--line-dark);
}
.partner{
  background:var(--paper); padding:1.8rem 2rem;
  display:flex; align-items:center; gap:1.3rem;
  transition:background .35s;
}
.partner img{ width:64px; height:64px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.partner>div{ display:flex; flex-direction:column; gap:.5rem; }
.partner:hover{ background:var(--paper-dim); }
.partner span{
  font-family:var(--font-serif); font-style:italic; font-weight:340;
  font-size:1.35rem; color:var(--ink);
}
.partner small{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--muted-dark);
}
.partners-note{
  margin-top:1.6rem; font-family:var(--font-mono); font-size:.68rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted-dark);
}
@media (max-width:900px){ .partners{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .partners{ grid-template-columns:1fr; } }

/* ---------- people (leadership) ---------- */
.people{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.person{ background:var(--ink); padding:clamp(2rem,3.4vw,3.2rem); display:flex; gap:1.8rem; align-items:flex-start; }
.person__photo{ flex-shrink:0; width:76px; height:76px; border-radius:50%; object-fit:cover; }
.person__mono{
  flex-shrink:0; width:76px; height:76px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-serif); font-style:italic; font-weight:340; font-size:1.6rem;
  color:var(--ink-deep);
  background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 45%, var(--paper)));
}
.person small{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--accent);
}
.person h3{ margin-top:.8rem; font-size:1.45rem; font-weight:800; letter-spacing:-.02em; }
.person h3 em{ font-family:var(--font-serif); font-style:italic; font-weight:340; color:var(--accent); }
.person p{ margin-top:.8rem; color:var(--muted); line-height:1.7; font-size:.94rem; }
@media (max-width:900px){ .people{ grid-template-columns:1fr; } .person{ gap:1.3rem; } }

/* ---------- utility ---------- */
.serif-i{ font-family:var(--font-serif); font-style:italic; font-weight:340; }
.accent{ color:var(--accent); }
.section--light .accent{ color:var(--accent-ink); }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .w > span{ transform:none; }
  [data-reveal]{ opacity:1; transform:none; }
  .hero__sub,.hero__actions,.hero__meta{ opacity:1; transform:none; }
}

/* ---------- video (hero + screen demo) ---------- */
.hero__video{ width:100%; height:100%; object-fit:cover; }
.screen-demo .lead{ margin-top:1.4rem; }
.demo-frame{
  margin-top:2.6rem; border:1px solid var(--line-dark); border-radius:14px; overflow:hidden;
  background:var(--ink-deep); box-shadow:0 30px 80px rgba(11,13,21,.45);
}
.demo-frame video{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.demo-frame__bar{
  display:flex; align-items:center; gap:.5rem; padding:.6rem 1rem;
  background:var(--ink-soft); border-top:1px solid var(--line-dark);
}
.demo-frame__bar span{ width:9px; height:9px; border-radius:50%; background:var(--line-dark); }
.demo-frame__bar span:first-child{ background:rgba(239,93,93,.6); }
.demo-frame__bar span:nth-child(2){ background:rgba(240,179,47,.6); }
.demo-frame__bar span:nth-child(3){ background:rgba(62,207,142,.6); }
.demo-frame__bar b{
  margin-left:.7rem; font-family:var(--font-mono); font-weight:500;
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
@media (prefers-reduced-motion:reduce){
  .hero__video,.demo-video,.focus-card__video{ display:none; }
  .focus-card__media--film{
    background-size:cover; background-position:center; aspect-ratio:16/9.5;
  }
}

/* reduced-motion / no-video fallback: show poster as background */
.hero--sub .hero__media{ background-size:cover; background-position:center; }
@media (prefers-reduced-motion:reduce){
  .hero--sub .hero__media{ background-image:url("../img/veriso-barrier-poster.jpg"); }
  .demo-frame{ background-image:url("../img/veriso-barrier-poster.jpg"); background-size:cover; background-position:center; }
  .demo-frame video{ display:none; }
  .demo-frame::after{ content:""; display:block; aspect-ratio:16/9; }
}

/* ---------- barrier film-synced hero: copy hidden until film ends ---------- */
body.film-armed #p-veriso-barrier .hero .w > span{
  transition:none; transform:translateY(112%) rotate(2deg);
}
body.film-armed #p-veriso-barrier .hero .hero__sub,
body.film-armed #p-veriso-barrier .hero .hero__actions,
body.film-armed #p-veriso-barrier .hero .hero__meta{
  transition:none; opacity:0; transform:translateY(18px);
}
body.film-armed.film-ended #p-veriso-barrier .hero .w > span{
  transition:transform 1.1s var(--ease); transition-delay:var(--d,0s);
  transform:translateY(0) rotate(0);
}
body.film-armed.film-ended #p-veriso-barrier .hero .hero__sub{
  transition:opacity 1s var(--ease) .7s, transform 1s var(--ease) .7s;
  opacity:1; transform:none;
}
body.film-armed.film-ended #p-veriso-barrier .hero .hero__actions{
  transition:opacity 1s var(--ease) .95s, transform 1s var(--ease) .95s;
  opacity:1; transform:none;
}
body.film-armed.film-ended #p-veriso-barrier .hero .hero__meta{
  transition:opacity 1.1s var(--ease) 1.2s; opacity:1;
}
@media (prefers-reduced-motion:reduce){
  body.film-armed #p-veriso-barrier .hero .w > span{ transform:none; }
  body.film-armed #p-veriso-barrier .hero .hero__sub,
  body.film-armed #p-veriso-barrier .hero .hero__actions,
  body.film-armed #p-veriso-barrier .hero .hero__meta{ opacity:1; transform:none; }
}

/* language toggle pill (EN + AR navs) */
.nav__links a.lang-toggle{
  border:1px solid var(--line);
  padding:.34rem .8rem;
  border-radius:999px;
  text-decoration:none;
  letter-spacing:0;
  transition:border-color .25s, color .25s;
}
.nav__links a.lang-toggle:hover{ border-color:var(--accent); color:var(--accent); }
