:root{
  --l09-bg:#07080B; --l09-bg-2:#0E1118;
  --l09-ink:#F4F6FB; --l09-ink-dim:#9AA3B2;
  --l09-accent-1:#2B5BFF; --l09-accent-2:#8A3CFF;
  --l09-grad:linear-gradient(120deg,var(--l09-accent-1),var(--l09-accent-2));
}
html:not(.lenis){ scroll-behavior:smooth; }
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.proof-scroll-meter{
  position:fixed;
  left:0;
  top:0;
  width:100%;
  height:2px;
  z-index:20;
  background:rgba(255,255,255,.05);
  pointer-events:none;
}
.proof-scroll-meter span{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,#DDE3EA,#2B5BFF,#8A3CFF);
  box-shadow:0 0 18px rgba(43,91,255,.55);
}

/* ---- Light nav over the dark hero (scoped to pages that have a cinematic hero) ---- */
body:has(.cine-section) header{
  position:fixed;
  inset:0 0 auto;
  z-index:40;
  pointer-events:none;
}
body:has(.cine-section) header .push-menu{
  pointer-events:auto;
}
body:has(.cine-section) .push-menu .nav-link,
body:has(.cine-section) .push-menu p,
body:has(.cine-section) .push-menu a{
  font-family:"Geist",sans-serif;
}
body:has(.cine-section) .push-button{
  position:relative;
}
body:has(.cine-section) .push-button::after{
  content:"";
  position:absolute;
  inset:-15px -12px;
}
body:has(.cine-section) header .navbar{
  margin:1rem clamp(1rem,3vw,2.5rem) 0;
  padding:.65rem .85rem;
  background:linear-gradient(180deg,rgba(7,8,11,.38),rgba(7,8,11,.12)) !important;
  border:1px solid rgba(255,255,255,.08);
  border-bottom-color:rgba(255,255,255,.04);
  border-radius:999px;
  box-shadow:none;
  backdrop-filter:blur(18px);
  pointer-events:auto;
  transition:background .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}
body:has(.cine-section).nav-is-scrolled header .navbar{
  background:rgba(7,8,11,.72) !important;
  border-color:rgba(255,255,255,.14);
  box-shadow:0 20px 70px rgba(0,0,0,.36);
  transform:translateY(-.2rem);
}
body:has(.cine-section) .navbar .container-fluid{
  align-items:center;
  gap:1rem;
}
body:has(.cine-section) .navbar-brand{
  display:flex;
  align-items:center;
}
body:has(.cine-section) .navbar-brand .default-logo,
body:has(.cine-section) .navbar-brand img,
body:has(.proof-hero) .navbar-brand img{
  width:auto;
  max-height:40px;
  filter:brightness(0) invert(1);
}
body:has(.cine-section) .push-button span,
body:has(.proof-hero) .push-button span{ background-color:#fff !important; }
.level09-nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.18rem;
  flex:1 1 auto;
}
.level09-nav-links a,
.level09-nav-cta{
  font-family:"Geist Mono",monospace;
  font-size:.78rem;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}
.level09-nav-links a{
  color:rgba(244,246,251,.72);
  padding:.78rem .9rem;
  border-radius:999px;
  transition:color .2s ease, background .2s ease;
}
.level09-nav-links a:hover{
  color:var(--l09-ink);
  background:rgba(255,255,255,.08);
}
.level09-nav-actions{
  display:flex;
  align-items:center;
  gap:.85rem;
}
.level09-nav-cta{
  color:#07080B;
  background:rgba(244,246,251,.92);
  padding:.82rem 1rem;
  border-radius:999px;
  transition:transform .2s ease, background .2s ease;
}
.level09-nav-cta:hover{
  color:#07080B;
  background:#fff;
  transform:translateY(-1px);
}

/* ---- Cinematic hero (WebGL mesh-gradient + grain) ---- */
.cine-hero{
  position:relative; min-height:100svh; width:100%;
  display:flex; align-items:center; overflow:hidden;
  /* CSS-gradient fallback: off-center accent glow on charcoal (shows if WebGL/reduced-motion) */
  background:
    radial-gradient(60% 70% at 74% 46%, rgba(43,91,255,.20), rgba(138,60,255,.12) 38%, rgba(7,8,11,0) 72%),
    var(--l09-bg);
}
.cine-hero__canvas{
  position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0;
}
/* scrim: darken the left where the headline sits, keep accent breathing on the right */
.cine-hero__scrim{
  position:absolute; inset:0; z-index:2;
  background:linear-gradient(90deg, rgba(7,8,11,.78) 0%, rgba(7,8,11,.45) 42%, rgba(7,8,11,0) 75%);
}
.cine-hero__overlay{
  position:relative; z-index:3;
  max-width:1280px; margin:0 auto; padding:0 6vw; width:100%;
}
.cine-hero__eyebrow{
  font-family:"Inter",sans-serif; font-weight:500; letter-spacing:.22em;
  text-transform:uppercase; font-size:.8rem; color:var(--l09-ink-dim);
  margin:0 0 1.4rem; display:block;
}
.cine-hero__title{
  font-family:"Space Grotesk",system-ui,sans-serif; font-weight:700;
  color:var(--l09-ink); letter-spacing:-.03em; line-height:.98;
  font-size:clamp(2.4rem,5.4vw,5.25rem); margin:0 0 1.6rem; text-wrap:balance;
}
.cine-hero__sub{
  font-family:"Inter",system-ui,sans-serif; color:var(--l09-ink-dim);
  font-size:clamp(1rem,1.6vw,1.3rem); max-width:42ch; margin:0 0 2.2rem; line-height:1.5;
}
.cine-hero__cta{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:"Inter",sans-serif; font-weight:600; font-size:1rem;
  color:var(--l09-bg); background:var(--l09-ink);
  padding:.95rem 1.8rem; border-radius:999px; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.cine-hero__cta:hover{ transform:translateY(-2px); box-shadow:0 10px 40px rgba(43,91,255,.35); color:var(--l09-bg); }

/* ===== Dark homepage sections (Phase 2) ===== */
body:has(.cine-section){ background:var(--l09-bg); color:var(--l09-ink); }

.cine-section{ position:relative; background:var(--l09-bg); color:var(--l09-ink);
  padding:clamp(4rem,9vw,8.5rem) 6vw; border-top:1px solid rgba(255,255,255,.06); }
.cine-section--alt{ background:var(--l09-bg-2); }
.cine-wrap{ max-width:1180px; margin:0 auto; }
.cine-wrap--narrow{ max-width:820px; }
.cine-label{ font-family:"Inter",sans-serif; font-weight:500; letter-spacing:.22em;
  text-transform:uppercase; font-size:.78rem; color:var(--l09-ink-dim); margin:0 0 1.2rem; display:block; }
.cine-h2{ font-family:"Space Grotesk",sans-serif; font-weight:700; letter-spacing:-.025em;
  line-height:1.05; font-size:clamp(2rem,4.2vw,3.3rem); margin:0 0 1.1rem; color:var(--l09-ink); text-wrap:balance; }
.cine-lead{ font-family:"Inter",sans-serif; color:var(--l09-ink-dim); font-size:clamp(1rem,1.4vw,1.18rem);
  line-height:1.6; max-width:62ch; margin:0; }
.cine-cta-band{ text-align:center; }
.cine-cta-band .cine-lead{ margin:0 auto 2.2rem; }

/* footer on dark */
body:has(.cine-section) footer{ background:var(--l09-bg) !important; border-color:rgba(255,255,255,.08) !important; color:var(--l09-ink-dim); }
body:has(.cine-section) footer .footer-logo img{ filter:brightness(0) invert(1); }
body:has(.cine-section) footer a{ color:var(--l09-ink-dim); }
body:has(.cine-section) footer a:hover{ color:var(--l09-ink); }
body:has(.cine-section) footer .text-dark-gray{ color:var(--l09-ink) !important; }
body:has(.cine-section) footer p{ color:var(--l09-ink-dim); }

@media (max-width:768px){
  body:has(.cine-section) header .navbar{
    margin:.65rem .75rem 0;
    padding:.6rem .7rem;
  }
  body:has(.cine-section) .level09-nav-links,
  body:has(.cine-section) .level09-nav-cta{ display:none !important; }
  .level09-nav-actions{
    margin-left:auto;
  }
}

/* ===== Secondary pages ===== */
.cine-h1{ font-family:"Space Grotesk",sans-serif; font-weight:700; letter-spacing:-.03em;
  line-height:.98; font-size:clamp(2.8rem,7vw,5.5rem); color:var(--l09-ink); margin:0; text-wrap:balance; }
/* dark form (contact) */
.cine-form .form-control{ background:rgba(255,255,255,.04) !important; border:1px solid rgba(255,255,255,.14) !important;
  color:var(--l09-ink) !important; border-radius:10px !important; padding:.9rem 1rem !important; }
.cine-form .form-control::placeholder{ color:var(--l09-ink-dim); }
.cine-form select.form-control option{ color:#111; }
.cine-form .btn{ background:var(--l09-ink) !important; color:var(--l09-bg) !important; border:none !important; border-radius:999px !important; }

/* ===== Public subpages, aligned to the product-company homepage ===== */
.cine-hero__eyebrow,
.cine-label,
.proof-link,
.cine-form .form-control,
.proof-contact__fit,
.proof-legal,
.cine-hero__title,
.cine-h1,
.cine-h2,
.proof-story__rail b,
.proof-principles h3,
.proof-work-feature h2,
.proof-work-feature h3,
.proof-client-grid h3,
.proof-contact__details h2,
.proof-error__grid > span{
  font-family:"Geist",sans-serif;
}
.cine-hero__sub,
.cine-lead,
.cine-section p,
.proof-media-reel p,
.proof-rail__panel p{
  font-family:"Geist",sans-serif;
}
.proof-error p{
  font-family:"Geist Mono",monospace;
}
.proof-subhero{
  min-height:70svh;
  display:flex;
  align-items:end;
  padding-top:clamp(8rem,15vw,13rem);
  padding-bottom:clamp(3rem,8vw,6rem);
  overflow:hidden;
  background:
    radial-gradient(55% 70% at 82% 16%, rgba(43,91,255,.24), transparent 62%),
    radial-gradient(45% 55% at 12% 88%, rgba(138,60,255,.14), transparent 70%),
    var(--l09-bg);
}
.proof-subhero::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.08;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at 70% 40%, #000 0%, transparent 68%);
}
.proof-subhero__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.55fr);
  gap:clamp(2rem,7vw,7rem);
  align-items:end;
}
.proof-subhero .cine-h1{
  max-width:16ch;
  font-size:clamp(3rem,5.8vw,6rem);
  line-height:.94;
}
.proof-subhero .cine-lead{
  margin-bottom:.45rem;
  font-family:"Geist Mono",monospace;
  font-size:clamp(.88rem,1.05vw,1rem);
}
.proof-story__grid{
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1fr);
  gap:clamp(2rem,7vw,6rem);
  align-items:center;
}
.proof-story__rail{
  display:grid;
  gap:.75rem;
}
.proof-story__rail div{
  display:grid;
  grid-template-columns:9rem 1fr;
  gap:1rem;
  align-items:center;
  padding:1.05rem 1.15rem;
  background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
}
.proof-story__rail b{
  color:var(--l09-ink);
  font-size:clamp(1.65rem,3vw,2.5rem);
  line-height:1;
  letter-spacing:0;
}
.proof-story__rail span{
  color:var(--l09-ink-dim);
  font-family:"Geist Mono",monospace;
  font-size:.78rem;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.proof-story__copy .cine-h2{
  max-width:12ch;
  font-size:clamp(2.5rem,5.5vw,5.7rem);
  line-height:.9;
  letter-spacing:0;
}
.proof-principles__grid{
  display:grid;
  grid-template-columns:1.2fr .9fr 1fr;
  gap:1px;
  margin-top:3rem;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.1);
  border-radius:24px;
  overflow:hidden;
}
.proof-principles__grid article{
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:1.6rem;
  background:var(--l09-bg-2);
}
.proof-principles__grid span,
.proof-work-feature span,
.proof-client-grid span{
  font-family:"Geist Mono",monospace;
  color:var(--l09-ink-dim);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.72rem;
}
.proof-principles__grid h3{
  max-width:10ch;
  color:var(--l09-ink);
  font-size:clamp(2rem,3.5vw,3.6rem);
  line-height:.92;
  letter-spacing:0;
  margin:0 0 1rem;
}
.proof-principles__grid p{
  margin:0;
  color:var(--l09-ink-dim);
  line-height:1.55;
}
.proof-product-rail--static{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:auto;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden;
}
.proof-product-rail--static .proof-product{
  position:relative;
  inset:auto;
  width:auto;
  min-height:320px;
  border-radius:0;
  border:0;
  box-shadow:none;
  background:var(--l09-bg);
}
.proof-work-feature{
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  margin-top:2rem;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  background:rgba(255,255,255,.1);
}
.proof-work-feature__lead{
  position:relative;
  min-height:540px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(1.6rem,4vw,3rem);
  background:
    radial-gradient(65% 60% at 70% 18%, rgba(43,91,255,.3), transparent 64%),
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
    var(--l09-bg);
  overflow:hidden;
}
.proof-work-feature__lead > span,
.proof-work-feature__lead h2,
.proof-work-feature__lead p,
.proof-work-feature__lead b{
  position:relative;
  z-index:2;
}
.proof-work-feature__lead h2{
  margin:.8rem 0 1rem;
  color:var(--l09-ink);
  font-size:clamp(3.5rem,7vw,6rem);
  line-height:.78;
  letter-spacing:0;
  max-width:none;
}
.proof-work-feature__lead p{
  max-width:48ch;
  color:var(--l09-ink-dim);
  font-size:1.05rem;
  line-height:1.55;
}
.proof-work-feature__lead b{
  margin-top:2rem;
  color:var(--l09-ink);
  font-family:"Geist Mono",monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.proof-client-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:2.6rem;
}
.proof-client-grid article{
  min-height:520px;
  position:relative;
  overflow:hidden;
  border-radius:28px;
  padding:1.4rem;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:var(--l09-bg);
  border:1px solid rgba(255,255,255,.1);
}
.proof-client-grid video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.95) contrast(1.08) brightness(.78);
  transform:scale(1.04);
}
.proof-client-grid article::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(3,4,7,.02),rgba(3,4,7,.72));
}
.proof-client-grid span,
.proof-client-grid h3,
.proof-client-grid p{
  position:relative;
  z-index:1;
}
.proof-client-grid h3{
  margin:.8rem 0 .7rem;
  color:var(--l09-ink);
  font-size:clamp(2.1rem,4vw,4rem);
  line-height:.92;
}
.proof-client-grid p{
  max-width:38ch;
  color:var(--l09-ink-dim);
  line-height:1.5;
  margin:0;
}
.proof-contact__grid{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:start;
}
.proof-contact__aside{
  position:sticky;
  top:7rem;
}
.proof-contact__fit{
  display:grid;
  gap:.75rem;
  margin:1.4rem 0 2.4rem;
}
.proof-contact__fit div{
  display:grid;
  grid-template-columns:2.2rem 1fr;
  gap:1rem;
  padding:1rem;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.04);
  border-radius:18px;
}
.proof-contact__fit b{
  color:var(--l09-ink);
}
.proof-contact__fit span{
  color:var(--l09-ink-dim);
  line-height:1.45;
}
.proof-contact__details{
  border-top:1px solid rgba(255,255,255,.1);
  padding-top:2rem;
}
.proof-contact__details h2{
  color:var(--l09-ink);
  font-size:clamp(2rem,4vw,4rem);
  line-height:.92;
  margin:0 0 1.2rem;
}
.proof-contact__details p,
.proof-contact__details a{
  color:var(--l09-ink-dim);
  line-height:1.7;
}
.proof-contact__details a:hover{
  color:var(--l09-ink);
}
.proof-contact__form{
  padding:clamp(1.3rem,3vw,2.4rem);
  border-radius:28px;
  background:
    radial-gradient(80% 50% at 80% 0%, rgba(43,91,255,.18), transparent 70%),
    rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.12);
}
.proof-contact__form .cine-h2{
  max-width:10ch;
  font-size:clamp(2.6rem,5vw,5.2rem);
  line-height:.86;
  letter-spacing:0;
}
.proof-contact__form .notify,
.proof-form-state p,
.proof-contact__form .fs-14{
  color:var(--l09-ink-dim) !important;
}
.proof-form-state{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.proof-form-state h2{
  color:var(--l09-ink);
}
.proof-legal__grid{
  display:grid;
  grid-template-columns:minmax(220px,.32fr) minmax(0,1fr);
  gap:clamp(2rem,7vw,6rem);
  align-items:start;
}
.proof-legal aside{
  position:sticky;
  top:7rem;
  display:grid;
  gap:1rem;
  color:var(--l09-ink-dim);
}
.proof-legal aside b{
  color:var(--l09-ink);
  font-family:"Geist",sans-serif;
  font-size:clamp(1.6rem,3vw,2.4rem);
  line-height:1;
}
.proof-legal aside a,
.proof-legal__content a{
  color:var(--l09-ink);
}
.proof-legal__content{
  display:grid;
  gap:1px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:24px;
  background:rgba(255,255,255,.1);
}
.proof-legal__content section{
  padding:clamp(1.3rem,3vw,2.1rem);
  background:var(--l09-bg);
}
.proof-legal__content h2{
  color:var(--l09-ink);
  font-family:"Geist",sans-serif;
  font-size:clamp(1.5rem,2.5vw,2.4rem);
  line-height:1;
  margin:0 0 .8rem;
}
.proof-legal__content p{
  color:var(--l09-ink-dim);
  line-height:1.65;
  margin:0;
}
.proof-error{
  min-height:82svh;
  display:flex;
  align-items:center;
  background:
    radial-gradient(60% 70% at 78% 20%, rgba(43,91,255,.22), transparent 64%),
    var(--l09-bg);
}
.proof-error__grid{
  display:grid;
  grid-template-columns:minmax(160px,.35fr) minmax(0,1fr);
  gap:clamp(2rem,8vw,7rem);
  align-items:center;
}
.proof-error__grid > span{
  color:rgba(244,246,251,.12);
  font-size:clamp(5rem,18vw,16rem);
  line-height:.8;
}
.proof-error .cine-h1{
  max-width:10ch;
  font-size:clamp(3.1rem,7vw,7rem);
  line-height:.84;
  letter-spacing:0;
  margin-bottom:1.4rem;
}
.proof-error .proof-actions{
  margin-top:2rem;
}
body:has(.cine-section) .whatsapp-float{
  width:56px;
  height:56px;
  min-width:56px;
  padding:0;
  border-radius:50%;
  justify-content:center;
}
body:has(.cine-section) .whatsapp-float-text{
  display:none;
}
body:has(.proof-contact) .whatsapp-float{
  bottom:6.5rem;
}
@media (max-width:900px){
  .proof-subhero{
    min-height:72svh;
    padding-top:8.5rem;
  }
  .proof-subhero__grid,
  .proof-story__grid,
  .proof-work-feature,
  .proof-contact__grid,
  .proof-legal__grid,
  .proof-error__grid{
    grid-template-columns:1fr;
  }
  .proof-subhero .cine-h1{
    max-width:9.5ch;
    font-size:clamp(3.2rem,15vw,4.6rem);
    line-height:.86;
  }
  .proof-subhero .cine-lead{
    max-width:34ch;
  }
  .proof-subhero__rule{ width:min(280px,72%); }
  .proof-principles__grid,
  .proof-product-rail--static,
  .proof-client-grid,
  .proof-client-logos{
    grid-template-columns:1fr;
  }
  .proof-principles__grid article,
  .proof-product-rail--static .proof-product,
  .proof-client-grid article{
    min-height:300px;
  }
  .proof-work-feature__lead{
    min-height:420px;
  }
  .proof-work-feature__lead h2{
    font-size:clamp(3.4rem,16vw,5.2rem);
  }
  .proof-contact__aside,
  .proof-legal aside{
    position:relative;
    top:auto;
  }
  body:has(.proof-contact) .whatsapp-float{
    bottom:1rem;
  }
  .proof-client-logos img{
    height:88px;
    padding:1.15rem 2rem;
  }
}

/* ===== Proof-led homepage, product company with services ===== */
.proof-hero .cine-hero__scrim{
  background:
    linear-gradient(90deg, rgba(3,4,7,.92) 0%, rgba(3,4,7,.56) 44%, rgba(3,4,7,.05) 100%),
    radial-gradient(60% 70% at 72% 45%, rgba(43,91,255,.26), transparent 62%);
}
.proof-hero__layout{
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:clamp(2.4rem,6vh,4rem);
  padding-top:clamp(6.5rem,12vh,8.5rem);
  padding-bottom:clamp(1.6rem,4vh,3rem);
}
.proof-hero__copy{ max-width:840px; }
.proof-hero .cine-hero__eyebrow,
.proof-hero .cine-label{
  font-family:"Geist Mono",monospace;
}
.proof-hero .cine-hero__title,
.proof-hero .cine-h2,
.proof-products .cine-h2,
.proof-ledger-section .cine-h2,
.proof-services .cine-h2,
.proof-final .cine-h2{
  font-family:"Geist",sans-serif;
}
.proof-title{
  font-size:clamp(2.9rem,6.2vw,6.5rem);
  line-height:.96;
  letter-spacing:-.045em;
  max-width:none;
}
.proof-title__line{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  padding-bottom:.08em;
  margin-bottom:-.08em;
}
@media (max-width:768px){
  .proof-title__line{ white-space:normal; }
}
.proof-title__serif{
  font-family:"Instrument Serif",serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.045em;
  color:#DDE3EA;
}
.proof-hero .cine-hero__sub{
  font-family:"Geist Mono",monospace;
  max-width:54ch;
  font-size:clamp(.9rem,1.05vw,1.02rem);
}
.proof-actions{ display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; }
.proof-link{
  color:var(--l09-ink);
  font-family:"Geist Mono",monospace;
  font-weight:600;
  text-decoration:none;
}
.proof-cta{
  gap:.85rem;
  padding:.55rem .6rem .55rem 1.25rem;
}
.proof-marquee{
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(7,8,11,.92),rgba(43,91,255,.14),rgba(7,8,11,.92)),
    var(--l09-bg);
  color:rgba(244,246,251,.82);
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.proof-marquee__track{
  display:flex;
  width:max-content;
  will-change:transform;
}
.proof-marquee span{
  font-family:"Geist",sans-serif;
  font-size:clamp(1.8rem,5vw,5.2rem);
  line-height:.92;
  letter-spacing:-.06em;
  padding:.45rem 2rem .8rem;
  white-space:nowrap;
  opacity:.9;
}
@keyframes proof-marquee{ to{ transform:translateX(-50%); } }

.proof-media-reel{
  position:relative;
  display:block;
  min-height:520svh;
  padding:0;
  margin-top:-1px;
  background:
    radial-gradient(80% 50% at 50% 0%, rgba(43,91,255,.12), transparent 70%),
    #030407;
  color:var(--l09-ink);
  border:none;
  overflow:clip;
}
.proof-media-reel::before,
.proof-media-reel::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:22svh;
  z-index:6;
  pointer-events:none;
}
.proof-media-reel::before{
  top:0;
  background:linear-gradient(180deg,var(--l09-bg),rgba(7,8,11,0));
}
.proof-media-reel::after{
  bottom:0;
  background:linear-gradient(0deg,var(--l09-bg),rgba(7,8,11,0));
}
.proof-reel__visual{
  position:sticky;
  top:0;
  height:100svh;
  display:block;
  perspective:1200px;
}
.proof-reel__screen{
  position:relative;
  width:100%;
  height:100svh;
  border-radius:0;
  overflow:hidden;
  background:#080A0F;
  border:none;
  box-shadow:none;
  opacity:.94;
  transform:
    translate3d(0,0,0)
    scale(calc(1 + var(--reel-progress,0) * .08));
  transform-style:preserve-3d;
  will-change:transform;
}
.proof-reel__screen::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    radial-gradient(circle at 58% 42%, rgba(43,91,255,.03), rgba(0,0,0,.06) 34%, rgba(0,0,0,.48) 76%),
    linear-gradient(90deg,rgba(3,4,7,.72),rgba(3,4,7,.2) 36%,rgba(3,4,7,.62)),
    linear-gradient(180deg,rgba(3,4,7,.44),transparent 30%,transparent 68%,rgba(3,4,7,.62));
  mix-blend-mode:normal;
}
.proof-reel__screen::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:
    radial-gradient(42% 36% at 72% 30%, rgba(43,91,255,.26), transparent 68%),
    radial-gradient(35% 30% at 20% 70%, rgba(138,60,255,.18), transparent 72%);
  mix-blend-mode:screen;
  opacity:.48;
}
.proof-reel__asset{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.1);
  filter:saturate(.9) contrast(1.12) brightness(.78);
  transition:opacity .8s cubic-bezier(.32,.72,0,1), transform 1.2s cubic-bezier(.32,.72,0,1), filter .8s cubic-bezier(.32,.72,0,1);
}
.proof-reel__asset.is-active{
  opacity:1;
  transform:scale(calc(1.03 + var(--reel-progress,0) * .045));
  filter:saturate(1.02) contrast(1.1) brightness(.9);
}
.proof-reel__scan{
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  opacity:.08;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.1) 0 1px,transparent 1px 10px);
  transform:translateY(calc(var(--reel-progress,0) * 80px));
}
.proof-reel__chapters{
  position:relative;
  z-index:5;
  margin-top:-100svh;
  padding:80svh 6vw 70svh;
}
.proof-reel__chapter{
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:min(44vw,620px);
  margin-left:auto;
  margin-right:0;
  opacity:.18;
  transform:translate3d(0,70px,0) scale(.96);
  transition:opacity .65s cubic-bezier(.32,.72,0,1), transform .65s cubic-bezier(.32,.72,0,1);
}
.proof-reel__chapter:nth-child(odd){
  margin-left:0;
  margin-right:auto;
}
.proof-reel__chapter.is-active{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
.proof-reel__chapter span{
  font-family:"Geist Mono",monospace;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--l09-ink-dim);
}
.proof-reel__chapter h2{
  font-family:"Geist",sans-serif;
  max-width:11ch;
  margin:1rem 0 1.2rem;
  font-size:clamp(3.1rem,5.7vw,6rem);
  line-height:.86;
  letter-spacing:0;
  color:var(--l09-ink);
  text-shadow:0 18px 80px rgba(0,0,0,.68);
}
.proof-reel__chapter p{
  max-width:42ch;
  margin:0;
  font-family:"Geist Mono",monospace;
  font-size:.9rem;
  line-height:1.55;
  color:var(--l09-ink-dim);
  text-shadow:0 10px 40px rgba(0,0,0,.9);
}

.proof-split{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(320px,1fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:center;
}
.proof-split--wide{ grid-template-columns:minmax(0,.7fr) minmax(360px,1fr); }
.proof-atelier{
  padding-top:clamp(5rem,12vw,10rem);
  padding-bottom:clamp(5rem,12vw,10rem);
}
.proof-atelier__header{
  display:grid;
  grid-template-columns:.38fr 1fr;
  gap:clamp(2rem,8vw,7rem);
  align-items:end;
  margin-bottom:clamp(2rem,5vw,4rem);
}
.proof-flowdesk{
  scroll-margin-top:8rem;
}
/* the FlowDesk chapter pins: header + stage must fit one viewport */
.proof-flowdesk.proof-atelier{
  padding-top:clamp(2.5rem,5vh,4rem);
  padding-bottom:clamp(2.5rem,5vh,4rem);
}
.proof-flowdesk .proof-atelier__header{
  padding-top:0;
  margin-bottom:clamp(1.4rem,3vh,2.4rem);
}
.proof-atelier__header .cine-h2{
  max-width:20ch;
  font-size:clamp(2.2rem,4.2vw,4.2rem);
  line-height:.92;
  letter-spacing:-.05em;
}
.proof-flowdesk .proof-atelier__stage{
  min-height:0;
  height:min(68svh,620px);
}
.proof-atelier__stage{
  position:relative;
  min-height:620px;
  border-radius:44px;
  padding:clamp(1rem,2vw,1.5rem);
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 42px 130px rgba(0,0,0,.46), inset 0 1px 0 rgba(255,255,255,.12);
  overflow:hidden;
  transform-origin:center top;
}
.proof-atelier__stage::before{
  content:"";
  position:absolute;
  inset:1.5rem;
  border-radius:34px;
  background:
    radial-gradient(circle at 82% 22%, rgba(43,91,255,.34), transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),
    #080A0F;
}
.proof-atelier__stage::after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(221,227,234,.48),rgba(43,91,255,.68),transparent);
  box-shadow:0 0 30px rgba(43,91,255,.38);
}
.proof-atelier__copy{
  position:absolute;
  z-index:2;
  left:clamp(2rem,6vw,5rem);
  bottom:clamp(2rem,6vw,5rem);
  max-width:520px;
}
.proof-atelier__copy span{
  font-family:"Geist Mono",monospace;
  color:var(--l09-ink-dim);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
}
.proof-atelier__copy h3{
  font-family:"Geist",sans-serif;
  color:var(--l09-ink);
  font-size:clamp(1.7rem,2.7vw,2.7rem);
  line-height:1;
  letter-spacing:-.04em;
  margin:1rem 0;
  max-width:20ch;
}
.proof-atelier__copy p{
  color:var(--l09-ink-dim);
  font-family:"Geist Mono",monospace;
  font-size:.92rem;
  line-height:1.55;
}
.proof-atelier__metrics{
  position:absolute;
  z-index:3;
  right:clamp(2rem,5vw,4rem);
  top:clamp(2rem,5vw,4rem);
  display:grid;
  gap:.75rem;
}
.proof-atelier__metrics div{
  width:15rem;
  border-radius:999px;
  padding:.8rem 1rem;
  background:rgba(7,8,11,.72);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1);
}
.proof-atelier__metrics b{
  display:block;
  font-family:"Geist",sans-serif;
  color:var(--l09-ink);
  font-size:1.8rem;
  line-height:.95;
}
.proof-atelier__metrics span{
  font-family:"Geist Mono",monospace;
  color:var(--l09-ink-dim);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.flow-building{
  --flow-active-x:0px;
  --flow-active-y:0px;
  position:absolute;
  z-index:1;
  right:clamp(2rem,6vw,5.5rem);
  top:clamp(6rem,12vw,9rem);
  width:min(42vw,540px);
  aspect-ratio:1/1.08;
  perspective:1200px;
  pointer-events:none;
}
.flow-building--work{
  inset:clamp(1rem,2vw,1.6rem) -8rem auto auto;
  width:min(44vw,420px);
  opacity:.52;
  z-index:0;
}
.flow-building--work .flow-building__hud{
  display:none;
}
.flow-building--work .flow-building__tower{
  background:linear-gradient(135deg,rgba(244,246,251,.18),rgba(244,246,251,.03)), rgba(8,10,15,.34);
}
.flow-building--work .flow-building__unit{
  background:rgba(244,246,251,.34);
  border-color:rgba(255,255,255,.26);
}
.flow-building__skyline{
  position:absolute;
  inset:12% 4% 18%;
  transform:skewY(-10deg) rotate(-7deg);
  opacity:.14;
  background:
    linear-gradient(90deg,transparent 0 8%,rgba(255,255,255,.5) 8% 9%,transparent 9% 20%,rgba(255,255,255,.7) 20% 21%,transparent 21% 34%,rgba(255,255,255,.45) 34% 35%,transparent 35% 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,transparent 1px 26px);
  filter:blur(.2px);
}
.flow-building__tower{
  position:absolute;
  left:32%;
  top:8%;
  width:42%;
  height:76%;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-template-rows:repeat(10,1fr);
  gap:.36rem;
  padding:1rem;
  transform:
    rotateX(3deg)
    rotateY(-28deg)
    rotateZ(0deg);
  transform-style:preserve-3d;
  background:
    linear-gradient(135deg,rgba(244,246,251,.2),rgba(244,246,251,.045)),
    rgba(8,10,15,.72);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:
    34px 36px 80px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.2);
}
.flow-building__tower::before,
.flow-building__tower::after{
  content:"";
  position:absolute;
  background:rgba(8,10,15,.74);
  border:1px solid rgba(255,255,255,.11);
  transform-origin:left top;
}
.flow-building__tower::before{
  left:100%;
  top:-1px;
  width:4rem;
  height:100%;
  transform:skewY(18deg);
  background:linear-gradient(90deg,rgba(43,91,255,.18),rgba(8,10,15,.78));
}
.flow-building__tower::after{
  left:-1px;
  top:100%;
  width:100%;
  height:4rem;
  transform:skewX(-60deg);
  background:linear-gradient(180deg,rgba(138,60,255,.14),rgba(8,10,15,.82));
}
.flow-building__unit{
  position:relative;
  min-width:0;
  border-radius:.18rem;
  background:rgba(244,246,251,.18);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  transform:translateZ(0);
  transition:background .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}
.flow-building__unit::after{
  content:"";
  position:absolute;
  inset:22% 18%;
  border-radius:inherit;
  background:rgba(255,255,255,.24);
}
.flow-building__unit.is-muted{
  background:rgba(244,246,251,.08);
  opacity:.58;
}
.flow-building__unit.is-reserved{
  background:rgba(138,60,255,.24);
  border-color:rgba(138,60,255,.45);
}
.flow-building__unit.is-active{
  z-index:3;
  background:rgba(221,227,234,.96);
  border-color:#fff;
  box-shadow:0 0 0 2px rgba(43,91,255,.65), 0 0 36px rgba(43,91,255,.84);
  transform:translateZ(36px) scale(1.16);
}
.flow-building__unit.is-active::after{
  background:rgba(43,91,255,.75);
}
.flow-building__hud{
  position:absolute;
  right:0;
  bottom:12%;
  width:min(15rem,44%);
  padding:1rem;
  border:1px solid rgba(255,255,255,.15);
  border-radius:18px;
  background:rgba(7,8,11,.66);
  box-shadow:0 24px 80px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(16px);
}
.flow-building__hud::before{
  content:"";
  position:absolute;
  left:-42%;
  top:42%;
  width:42%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(221,227,234,.8));
  box-shadow:0 0 20px rgba(43,91,255,.65);
}
.flow-building__hud span,
.flow-building__hud small{
  display:block;
  font-family:"Geist Mono",monospace;
  color:var(--l09-ink-dim);
  font-size:.68rem;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.flow-building__hud b{
  display:block;
  margin:.45rem 0 .35rem;
  font-family:"Geist",sans-serif;
  color:var(--l09-ink);
  font-size:clamp(1.35rem,2.6vw,2rem);
  line-height:1;
}

.proof-product-rail{
  display:grid;
  grid-template-columns:1.15fr .95fr .95fr .95fr;
  gap:1px;
  margin-top:3rem;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  overflow:hidden;
}
.proof-product{
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:1.6rem;
  background:var(--l09-bg-2);
}
.proof-product:first-child{
  background:
    radial-gradient(70% 80% at 80% 20%, rgba(43,91,255,.25), transparent 58%),
    var(--l09-bg);
}
.proof-product span,
.proof-service span,
.proof-panel__kicker{
  font-family:"Geist Mono",monospace;
  color:var(--l09-ink-dim);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.72rem;
}
.proof-product h3,
.proof-service h3,
.proof-panel h3{
  color:var(--l09-ink);
  font-family:"Geist",sans-serif;
  font-size:clamp(1.45rem,2.6vw,2.2rem);
  line-height:1;
  letter-spacing:-.03em;
  margin:0;
}
.proof-product p,
.proof-service p,
.proof-panel p{
  color:var(--l09-ink-dim);
  line-height:1.55;
  margin:1rem 0 0;
}

.proof-board{
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  padding:.75rem;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
}
.proof-tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.45rem;
}
.proof-tab{
  border:1px solid rgba(255,255,255,.1);
  background:rgba(7,8,11,.7);
  color:var(--l09-ink-dim);
  border-radius:999px;
  min-height:44px;
  padding:0 .8rem;
  font-family:"Geist Mono",monospace;
  font-weight:600;
  font-size:clamp(.72rem,.82vw,.86rem);
  white-space:nowrap;
  line-height:1;
  transition:transform .45s cubic-bezier(.32,.72,0,1), color .45s cubic-bezier(.32,.72,0,1), background .45s cubic-bezier(.32,.72,0,1);
}
.proof-tab:hover,
.proof-tab.is-active{
  color:var(--l09-ink);
  background:rgba(255,255,255,.06);
  transform:translateY(-1px);
}
.proof-panel{
  min-height:300px;
  margin-top:.75rem;
  border-radius:18px;
  padding:clamp(1.4rem,4vw,2.4rem);
  background:
    radial-gradient(80% 80% at 85% 20%, rgba(43,91,255,.25), transparent 58%),
    #07080B;
  border:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.proof-panel h3{ max-width:15ch; margin-top:4rem; }
.proof-panel p{ max-width:52ch; font-size:1.05rem; }

.proof-service-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  margin-top:2.8rem;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  overflow:hidden;
}
.proof-service{
  background:var(--l09-bg-2);
  padding:2rem;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.proof-clients{
  padding-top:clamp(3rem,6vw,5rem);
  padding-bottom:clamp(3rem,6vw,5rem);
}
.proof-clients .cine-label{
  margin-bottom:2rem;
}
.proof-client-logos{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:1px;
  margin-top:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.08);
}
.proof-client-logos img{
  width:100%;
  height:124px;
  max-width:none;
  padding:1.35rem clamp(1rem,2vw,1.8rem);
  object-fit:contain;
  filter:brightness(0) invert(1);
  opacity:.92;
  transition:opacity .25s ease, transform .25s ease;
}
.proof-client-logos img:hover{
  opacity:1;
  transform:translateY(-2px);
}
.proof-client-logos img[alt="Minor International"],
.proof-client-logos img[alt="Shamal"]{
  padding-left:1rem;
  padding-right:1rem;
}
.proof-client-logos img[alt="Anantara Residences"],
.proof-client-logos img[alt="Dukes London"],
.proof-client-logos img[alt="Seven Tides"],
.proof-client-logos img[alt="Chestertons"]{
  padding-top:.8rem;
  padding-bottom:.8rem;
  transform:scale(1.22);
}
.proof-client-logos img[alt="Anantara Residences"]:hover,
.proof-client-logos img[alt="Dukes London"]:hover,
.proof-client-logos img[alt="Seven Tides"]:hover,
.proof-client-logos img[alt="Chestertons"]:hover{
  transform:scale(1.22) translateY(-2px);
}
@media (max-width:900px){
  .proof-client-logos{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .proof-client-logos img{
    height:104px;
    padding:1.1rem 1.6rem;
  }
}
.proof-final{
  background:
    radial-gradient(70% 70% at 50% 0%, rgba(43,91,255,.18), transparent 62%),
    var(--l09-bg);
}

@media (max-width:980px){
  .proof-split,
  .proof-split--wide{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .proof-hero{ padding-top:6rem; }
  .proof-product-rail,
  .proof-service-list{
    grid-template-columns:1fr;
  }
  .proof-atelier__header{ grid-template-columns:1fr; }
  .proof-atelier__stage{ min-height:660px; }
  .flow-building{
    right:1.4rem;
    top:7.5rem;
    width:min(72vw,500px);
    opacity:.86;
  }
  .flow-building--work{
    width:min(82vw,520px);
    opacity:.72;
  }
  .proof-atelier__metrics{
    left:clamp(2rem,6vw,5rem);
    right:auto;
    top:clamp(2rem,5vw,4rem);
  }
  .proof-media-reel{
    display:block;
    min-height:auto;
    padding:0;
  }
  .proof-media-reel::before,
  .proof-media-reel::after{
    height:12svh;
  }
  .proof-reel__visual{
    position:sticky;
    top:0;
    height:62svh;
    margin-bottom:0;
  }
  .proof-reel__screen{
    width:100%;
    height:62svh;
    border-radius:0;
    transform:none;
  }
  .proof-reel__chapters{
    position:relative;
    z-index:7;
    margin-top:-14svh;
    padding:0 1rem 4rem;
  }
  .proof-reel__chapter{
    width:100%;
    min-height:auto;
    padding:4rem 0;
    opacity:1;
    transform:none;
  }
  .proof-reel__chapter h2{
    max-width:9.5ch;
    font-size:clamp(2.7rem,14vw,4.2rem);
    line-height:.9;
  }
  .proof-product,
  .proof-service{
    min-height:220px;
  }
}
@media (max-width:640px){
  .proof-hero{ padding-top:8.6rem; }
  .proof-tabs{
    grid-template-columns:1fr 1fr;
  }
  .proof-title{ font-size:clamp(3.1rem,15vw,4.65rem); }
  .proof-hero .cine-hero__sub{ font-size:.78rem; }
  .proof-marquee span{ padding:.55rem 1rem .75rem; }
  .proof-atelier__stage{ min-height:720px; }
  .proof-atelier__stage::before{ inset:.8rem; }
  .flow-building{
    top:8.5rem;
    right:-2.2rem;
    width:112vw;
    opacity:.58;
  }
  .flow-building__tower{
    gap:.22rem;
    padding:.7rem;
  }
  .flow-building__hud{
    right:9%;
    bottom:18%;
    width:10rem;
    padding:.8rem;
  }
  .proof-atelier__copy{ left:1.6rem; right:1.6rem; bottom:1.6rem; }
  .proof-atelier__metrics{ left:1.6rem; right:1.6rem; }
  .proof-atelier__metrics div{ width:auto; }
  .proof-panel{ min-height:260px; }
  .proof-work-feature__lead{
    min-height:520px;
    padding-top:8.5rem;
  }
  .proof-work-feature__lead h2{
    font-size:clamp(3.4rem,17vw,4.5rem);
    line-height:.82;
  }
  .proof-work-feature__lead p{
    font-size:.95rem;
  }
  .flow-building--work{
    top:3.5rem;
    right:-9rem;
    width:112vw;
    opacity:.34;
  }
  .flow-building--work .flow-building__hud{
    display:none;
  }
}
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .proof-tab{
    transition:none;
  }
}

/* ════════════════════════════════════════════════════════════════════
   CINEMATIC V2 — machined-hardware layer
   tokens, preloader, grain, nav physics, haptic buttons, double-bezel
   surfaces, pinned scenes, and page-specific systems. JS sets all
   initial hidden states; with no JS this layer is purely visual.
   ════════════════════════════════════════════════════════════════════ */
:root{
  --l09-hairline:rgba(244,246,251,.08);
  --l09-shell:rgba(244,246,251,.04);
  --r-shell:1.75rem;
  --r-core:calc(var(--r-shell) - .5rem);
  --r-pill:999px;
  --ease-out-expo:cubic-bezier(.16,1,.3,1);
  --ease-glide:cubic-bezier(.32,.72,0,1);
}

/* ---- film grain: one fixed overlay for the whole page ---- */
.cine-grain{
  position:fixed; inset:0; z-index:35; pointer-events:none;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- preloader ---- */
.cine-loader{
  position:fixed; inset:0; z-index:200;
  display:flex; align-items:center; justify-content:center;
}
html.is-revisit .cine-loader{ display:none; }
html.is-loading{ overflow:hidden; }
.cine-loader__panel{
  position:absolute; left:0; right:0; height:50.5%;
  background:var(--l09-bg);
}
.cine-loader__panel:first-child{ top:0; }
.cine-loader__panel:last-child{ bottom:0; }
.cine-loader__mark{
  position:relative; z-index:2; text-align:center;
}
.cine-loader__mark img{ height:34px; width:auto; filter:brightness(0) invert(1); margin:0 auto 1.1rem; }
.cine-loader__mark span{
  display:block;
  font-family:"Geist Mono",monospace; font-size:.78rem;
  letter-spacing:.22em; color:var(--l09-ink-dim);
}
@media (prefers-reduced-motion:reduce){ .cine-loader{ display:none; } }

/* ---- nav physics ---- */
body:has(.cine-section) header .navbar{
  view-transition-name:l09-nav;
  transition:background .28s ease, border-color .28s ease, box-shadow .28s ease,
             transform .5s var(--ease-glide), opacity .4s ease;
}
body.nav-is-hidden header .navbar{
  transform:translateY(-140%) !important;
}
.level09-nav-links a[aria-current="page"]{
  color:var(--l09-ink);
  position:relative;
}
.level09-nav-links a[aria-current="page"]::after{
  content:""; display:inline-block; width:4px; height:4px; border-radius:50%;
  background:var(--l09-grad); margin-left:.45rem; vertical-align:.14em;
}

/* ---- masked line / char primitives ---- */
.cine-line{ display:block; }
[data-split]{ overflow:visible; }
[data-split] .cine-line{ overflow:hidden; }
.cine-charword{ display:inline-block; white-space:nowrap; }
.cine-char{ display:inline-block; will-change:transform; }

/* ---- focus + link physics ---- */
body:has(.cine-section) a:focus-visible,
body:has(.cine-section) button:focus-visible,
body:has(.cine-section) input:focus-visible,
body:has(.cine-section) select:focus-visible,
body:has(.cine-section) textarea:focus-visible{
  outline:2px solid var(--l09-accent-1);
  outline-offset:3px;
  border-radius:4px;
}
.proof-link{
  position:relative; padding-bottom:.3rem;
}
.proof-link::before{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:rgba(255,255,255,.28);
}
.proof-link::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:var(--l09-grad);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .45s var(--ease-out-expo);
}
.proof-link:hover::after{ transform:scaleX(1); }

/* ---- haptic CTA: button-in-button with arrow swap ---- */
.cine-hero__cta{
  transition:transform .4s var(--ease-glide), box-shadow .4s var(--ease-glide);
}
.cine-hero__cta:hover{ transform:scale(1.02); }
.cine-hero__cta:active{ transform:scale(.98); }
.proof-cta__icon{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  width:2.2rem; height:2.2rem; border-radius:50%;
  background:rgba(7,8,11,.1);
  overflow:hidden; flex-shrink:0;
  transition:transform .4s var(--ease-glide);
}
.proof-cta__icon i{
  font-style:normal; line-height:1;
  transition:transform .4s var(--ease-glide), opacity .4s var(--ease-glide);
}
.proof-cta__icon i:last-child{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  transform:translate(-120%,120%); opacity:0;
}
.cine-hero__cta:hover .proof-cta__icon{ transform:translate(2px,-2px); }
.cine-hero__cta:hover .proof-cta__icon i:first-child{ transform:translate(120%,-120%); opacity:0; }
.cine-hero__cta:hover .proof-cta__icon i:last-child{ transform:translate(0,0); opacity:1; }

/* ---- double-bezel surface primitive ---- */
.cine-shell{
  background:var(--l09-shell);
  border:1px solid var(--l09-hairline);
  border-radius:var(--r-shell);
  padding:.5rem;
}
.cine-shell > .cine-core{
  background:var(--l09-bg-2);
  border-radius:var(--r-core);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  height:100%;
}

/* ---- hero v2 ---- */
.cine-hero__dim{
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:var(--l09-bg); opacity:0;
}
.proof-title__serif{ display:inline; }
.proof-title__mono{
  display:block;
  margin-top:1.1rem;
  font-family:"Geist Mono",monospace;
  font-size:clamp(.66rem,.85vw,.82rem);
  font-weight:500;
  letter-spacing:.2em;
  color:var(--l09-ink-dim);
}
.proof-hero__stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--l09-hairline);
}
.proof-hero__stats > div{
  padding:1.2rem 1.4rem 0 0;
  border-left:1px solid var(--l09-hairline);
  padding-left:1.4rem;
}
.proof-hero__stats > div:first-child{ border-left:none; padding-left:0; }
.proof-hero__stats b{
  display:block;
  font-family:"Geist",sans-serif;
  font-weight:700;
  font-size:clamp(1.5rem,2.6vw,2.3rem);
  letter-spacing:-.03em;
  line-height:1;
  color:var(--l09-ink);
}
.proof-hero__stats span{
  display:block; margin-top:.5rem;
  font-family:"Geist Mono",monospace;
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--l09-ink-dim);
}

/* ---- FlowDesk offer card ---- */
.flow-offer-card{
  position:absolute; z-index:3;
  left:clamp(2rem,6vw,5rem);
  top:clamp(2rem,5vw,4rem);
  width:15.5rem;
  border-radius:18px;
  padding:1rem 1.1rem;
  background:rgba(7,8,11,.78);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 80px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.12);
}
.flow-offer-card span,
.flow-offer-card small{
  display:block;
  font-family:"Geist Mono",monospace;
  font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--l09-ink-dim);
}
.flow-offer-card b{
  display:block; margin:.45rem 0 .3rem;
  font-family:"Geist",sans-serif; font-size:1.5rem; line-height:1;
  color:var(--l09-ink);
}
.flow-offer-card::after{
  content:""; position:absolute; right:-44%; top:50%; width:44%; height:1px;
  background:linear-gradient(90deg,rgba(221,227,234,.7),transparent);
  box-shadow:0 0 18px rgba(43,91,255,.5);
}

/* ---- product rail (pinned horizontal travel / mobile snap) ---- */
.proof-rail-section{ overflow:clip; }
.proof-rail{ position:relative; margin-top:3rem; }
.proof-rail__track{
  display:flex;
  gap:clamp(1rem,2vw,1.6rem);
  will-change:transform;
}
.proof-rail__panel{
  position:relative;
  flex:0 0 min(70vw,860px);
  min-height:min(62svh,560px);
  display:flex;
}
.proof-rail__panel .cine-core{
  position:relative;
  flex:1;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(1.6rem,3vw,2.6rem);
  overflow:hidden;
}
.proof-rail__index{
  position:absolute; right:1rem; top:-1rem; z-index:0;
  font-family:"Geist",sans-serif; font-weight:800;
  font-size:clamp(7rem,16vw,15rem); line-height:1;
  letter-spacing:-.06em;
  color:rgba(244,246,251,.05);
  pointer-events:none;
}
.proof-rail__panel h3{
  font-family:"Geist",sans-serif;
  color:var(--l09-ink);
  font-size:clamp(2.4rem,4.6vw,4.6rem);
  line-height:.92; letter-spacing:-.05em;
  margin:.9rem 0 .8rem;
}
.proof-rail__panel p{
  color:var(--l09-ink-dim); max-width:46ch; line-height:1.55; margin:0;
}
.proof-rail__meta{
  display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap;
  margin-top:1.6rem; padding-top:1.2rem;
  border-top:1px solid var(--l09-hairline);
}
.proof-rail__meta b{
  font-family:"Geist Mono",monospace; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--l09-ink);
}
.proof-rail__meta a{
  margin-left:auto;
  font-family:"Geist Mono",monospace; font-size:.78rem;
  letter-spacing:.1em; color:var(--l09-ink-dim);
  text-decoration:none;
  transition:color .25s ease;
}
.proof-rail__meta a:hover{ color:var(--l09-ink); }
.proof-rail__progress{
  height:1px; margin-top:clamp(1.6rem,3vh,2.4rem);
  background:var(--l09-hairline);
  overflow:hidden;
}
.proof-rail__progress span{
  display:block; height:100%;
  background:var(--l09-grad);
  transform:scaleX(0); transform-origin:left center;
}
.proof-rail.is-pinned{
  padding:clamp(4rem,10vh,7rem) 6vw;
  margin-top:0;
  display:flex; flex-direction:column; justify-content:center;
  min-height:100svh;
}
.proof-rail.is-pinned .proof-rail__track{ align-items:stretch; }
@media (max-width:899px){
  .proof-rail{ margin-left:-6vw; margin-right:-6vw; padding:0 6vw; }
  .proof-rail__track{
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:1rem;
    -webkit-overflow-scrolling:touch;
  }
  .proof-rail__panel{
    flex:0 0 84vw;
    min-height:420px;
    scroll-snap-align:center;
  }
  .proof-rail__progress{ display:none; }
}

/* ---- proof ledger tabs: sliding indicator ---- */
.proof-tabs{ position:relative; }
.proof-tabs__indicator{
  position:absolute; left:0; bottom:-1px; height:2px; width:0;
  background:var(--l09-grad);
  border-radius:2px;
  pointer-events:none;
}

/* ---- cursor glow cards ---- */
[data-glow]{ position:relative; overflow:hidden; }
[data-glow]::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%), rgba(43,91,255,.14), transparent 65%);
  opacity:0; transition:opacity .4s ease;
}
[data-glow]:hover::before{ opacity:1; }
[data-glow] > *{ position:relative; z-index:1; }
.proof-service{
  transition:transform .45s var(--ease-glide);
}
.proof-service:hover{ transform:translateY(-4px); }

/* ---- final CTA: display scale ---- */
.proof-final .cine-h2{
  font-size:clamp(2.6rem,7vw,6.4rem);
  line-height:.92;
  letter-spacing:-.045em;
}
.proof-final .cine-h2 .proof-title__serif{
  font-family:"Instrument Serif",serif;
  font-style:italic; font-weight:400;
  letter-spacing:-.03em;
  color:#DDE3EA;
}

/* ---- footer wordmark ---- */
body:has(.cine-section) footer{ position:relative; overflow:hidden; }
.cine-footer-mark{
  position:absolute; left:50%; bottom:-.18em; z-index:0;
  transform:translateX(-50%);
  font-family:"Geist",sans-serif; font-weight:800;
  font-size:clamp(6rem,17vw,18rem); line-height:1; letter-spacing:-.05em;
  color:rgba(244,246,251,.035);
  white-space:nowrap; pointer-events:none; user-select:none;
}
body:has(.cine-section) footer .container{ position:relative; z-index:1; }

/* ---- work index: list rows + floating preview ---- */
.proof-index{
  margin-top:2.6rem;
  border-top:1px solid var(--l09-hairline);
}
.proof-index__row{
  display:grid;
  grid-template-columns:5rem minmax(0,1fr) minmax(0,1.2fr) auto;
  gap:clamp(1rem,3vw,2.5rem);
  align-items:center;
  padding:clamp(1.3rem,2.6vw,2rem) .2rem;
  border-bottom:1px solid var(--l09-hairline);
  text-decoration:none;
  transition:padding-left .4s var(--ease-glide), background .4s ease;
}
.proof-index__row:hover{
  padding-left:1.2rem;
  background:rgba(255,255,255,.025);
}
.proof-index__row em{
  font-style:normal;
  font-family:"Geist Mono",monospace; font-size:.74rem;
  letter-spacing:.18em; color:var(--l09-ink-dim);
}
.proof-index__row h3{
  margin:0;
  font-family:"Geist",sans-serif;
  font-size:clamp(1.8rem,3.6vw,3.4rem);
  line-height:.95; letter-spacing:-.04em;
  color:var(--l09-ink);
}
.proof-index__row p{
  margin:0; color:var(--l09-ink-dim); line-height:1.5;
  font-size:.95rem; max-width:44ch;
}
.proof-index__row .proof-index__arrow{
  font-family:"Geist Mono",monospace;
  color:var(--l09-ink-dim);
  transition:transform .4s var(--ease-glide), color .25s ease;
}
.proof-index__row:hover .proof-index__arrow{
  transform:translate(4px,-4px);
  color:var(--l09-ink);
}
@media (max-width:1023px){
  .proof-index__row{ grid-template-columns:3rem minmax(0,1fr) auto; }
  .proof-index__row p{ display:none; }
}

/* ---- about: operating timeline ---- */
.proof-timeline{ position:relative; margin-top:3rem; }
.proof-timeline__rail{
  position:absolute; left:clamp(.4rem,4vw,7rem); top:0; bottom:0; width:1px;
  background:var(--l09-hairline);
}
.proof-timeline__rail span{
  display:block; width:100%; height:100%;
  background:linear-gradient(180deg,var(--l09-accent-1),var(--l09-accent-2));
  box-shadow:0 0 18px rgba(43,91,255,.45);
  transform:scaleY(0); transform-origin:top center;
}
.proof-timeline__node{
  position:relative;
  display:grid;
  grid-template-columns:minmax(120px,.3fr) minmax(0,1fr);
  gap:clamp(1.6rem,5vw,4.5rem);
  padding:clamp(1.8rem,4vw,3.2rem) 0 clamp(1.8rem,4vw,3.2rem) clamp(2rem,8vw,10rem);
}
.proof-timeline__node + .proof-timeline__node{ border-top:1px solid var(--l09-hairline); }
.proof-timeline__node i{
  position:absolute; left:calc(clamp(.4rem,4vw,7rem) - 3px); top:clamp(2.4rem,5vw,3.9rem);
  width:7px; height:7px; border-radius:50%;
  background:var(--l09-grad);
  box-shadow:0 0 14px rgba(43,91,255,.7);
}
.proof-timeline__node b{
  font-family:"Geist Mono",monospace; font-weight:600;
  font-size:clamp(1.6rem,3.4vw,2.8rem); line-height:1;
  letter-spacing:-.02em;
  color:rgba(244,246,251,.34);
}
.proof-timeline__node h3{
  margin:0 0 .5rem;
  font-family:"Geist",sans-serif;
  font-size:clamp(1.3rem,2.2vw,1.9rem); line-height:1.1;
  letter-spacing:-.02em; color:var(--l09-ink);
}
.proof-timeline__node p{
  margin:0; color:var(--l09-ink-dim); line-height:1.55; max-width:56ch;
}

/* ---- pull quote word brighten ---- */
[data-quote-scrub]{
  font-family:"Instrument Serif",serif;
  font-style:italic; font-weight:400;
  font-size:clamp(1.9rem,4.4vw,3.8rem);
  line-height:1.12; letter-spacing:-.015em;
  color:var(--l09-ink);
  max-width:24ch;
}
.cine-word{ display:inline-block; will-change:opacity; }

/* ---- contact form v2 ---- */
.proof-contact__form.cine-form{
  border-radius:var(--r-shell);
}
.cine-form .form-group{ position:relative; }
.cine-form .form-control{
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid rgba(255,255,255,.16) !important;
  border-radius:0 !important;
  padding:1rem .2rem !important;
  transition:border-color .3s ease;
}
.cine-form .form-group::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--l09-grad);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .45s var(--ease-out-expo);
  pointer-events:none;
}
.cine-form .form-group:focus-within::after{ transform:scaleX(1); }
.cine-form .form-control::placeholder{
  font-family:"Geist Mono",monospace;
  font-size:.82rem; letter-spacing:.06em;
  text-transform:uppercase;
}
.cine-form .btn{
  transition:transform .4s var(--ease-glide) !important;
}
.cine-form .btn:hover{ transform:scale(1.02); }
.cine-form .btn:active{ transform:scale(.98); }
.proof-form-check{
  width:64px; height:64px; margin-bottom:1.4rem;
}
.proof-form-check circle,
.proof-form-check path{
  fill:none; stroke:url(#l09check); stroke-width:2; stroke-linecap:round;
  stroke-dasharray:200; stroke-dashoffset:200;
  animation:l09-draw .9s var(--ease-out-expo) .15s forwards;
}
.proof-form-check path{ animation-delay:.5s; stroke-dasharray:60; stroke-dashoffset:60; }
@keyframes l09-draw{ to{ stroke-dashoffset:0; } }

/* ---- view transitions (cross-document fade) ---- */
@view-transition{ navigation:auto; }
@keyframes l09-vt-out{ to{ opacity:0; } }
@keyframes l09-vt-in{ from{ opacity:0; } }
::view-transition-old(root){ animation:l09-vt-out .3s ease both; }
::view-transition-new(root){ animation:l09-vt-in .35s ease both; }

/* ---- v2 responsive ---- */
@media (max-width:768px){
  .proof-hero__stats{ grid-template-columns:repeat(2,1fr); gap:0; }
  .proof-hero__stats > div{ padding:1rem 0 0 1rem; }
  .proof-hero__stats > div:nth-child(odd){ border-left:none; padding-left:0; }
  .proof-hero__layout{ padding-top:7.5rem; gap:2rem; }
  .flow-offer-card{ display:none; }
  .proof-timeline__node{ grid-template-columns:1fr; gap:.6rem; padding-left:clamp(1.6rem,8vw,3rem); }
  .cine-footer-mark{ font-size:clamp(4rem,22vw,8rem); }
}
@media (prefers-reduced-motion:reduce){
  .proof-link::after,
  .proof-cta__icon,
  .proof-cta__icon i,
  .cine-hero__cta,
  .proof-service,
  .proof-index__row,
  .proof-index__row .proof-index__arrow{ transition:none; }
  .proof-form-check circle,
  .proof-form-check path{ animation:none; stroke-dashoffset:0; }
  .proof-rail__track{ overflow-x:auto; }
  [data-glow]::before{ display:none; }
}

/* ---- subhero gradient rule ---- */
.proof-subhero__rule{
  display:block;
  width:min(420px,58%);
  height:1px;
  margin-top:clamp(1.2rem,2.5vw,2rem);
  background:var(--l09-grad);
  box-shadow:0 0 16px rgba(43,91,255,.4);
  transform-origin:left center;
}

/* flowdesk stage needs vertical room when metrics stack on narrow screens */
@media (max-width:980px){
  .proof-flowdesk .proof-atelier__stage{ height:auto; min-height:900px; }
  .proof-flowdesk .flow-building{ top:auto; bottom:16%; }
}
