


@font-face { font-family: "Pinar"; src: url("../fonts/pinar/Pinar-FD-Light.woff2") format("woff2"); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "Pinar"; src: url("../fonts/pinar/Pinar-FD-Regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Pinar"; src: url("../fonts/pinar/Pinar-FD-Medium.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Pinar"; src: url("../fonts/pinar/Pinar-FD-SemiBold.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Pinar"; src: url("../fonts/pinar/Pinar-FD-Bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Pinar"; src: url("../fonts/pinar/Pinar-FD-ExtraBold.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "Pinar"; src: url("../fonts/pinar/Pinar-FD-Black.woff2") format("woff2"); font-style: normal; font-weight: 900; font-display: swap; }
@font-face { font-family: "IRANSansX"; src: url("../fonts/iransansx/IRANSansXFaNum-Regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "IRANSansX"; src: url("../fonts/iransansx/IRANSansXFaNum-Medium.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "IRANSansX"; src: url("../fonts/iransansx/IRANSansXFaNum-DemiBold.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "IRANSansX"; src: url("../fonts/iransansx/IRANSansXFaNum-Bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "IRANSansX"; src: url("../fonts/iransansx/IRANSansXFaNum-Black.woff2") format("woff2"); font-style: normal; font-weight: 900; font-display: swap; }
@font-face { font-family: "Yekan Bakh"; src: url("../fonts/yekan-bakh/YekanBakhFaNum-Regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Yekan Bakh"; src: url("../fonts/yekan-bakh/YekanBakhFaNum-SemiBold.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Yekan Bakh"; src: url("../fonts/yekan-bakh/YekanBakhFaNum-Bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Yekan Bakh"; src: url("../fonts/yekan-bakh/YekanBakhFaNum-ExtraBold.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "Yekan Bakh"; src: url("../fonts/yekan-bakh/YekanBakhFaNum-Black.woff2") format("woff2"); font-style: normal; font-weight: 900; font-display: swap; }
@font-face { font-family: "Yekan Bakh"; src: url("../fonts/yekan-bakh/YekanBakhFaNum-ExtraBlack.woff2") format("woff2"); font-style: normal; font-weight: 950; font-display: swap; }
@font-face { font-family: "Rokh Pro"; src: url("../fonts/rokh-pro/RokhFaNum-Regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Rokh Pro"; src: url("../fonts/rokh-pro/RokhFaNum-Medium.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Rokh Pro"; src: url("../fonts/rokh-pro/RokhFaNum-SemiBold.woff2") format("woff2"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Rokh Pro"; src: url("../fonts/rokh-pro/RokhFaNum-Bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Rokh Pro"; src: url("../fonts/rokh-pro/RokhFaNum-ExtraBold.woff2") format("woff2"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "Rokh Pro"; src: url("../fonts/rokh-pro/RokhFaNum-Black.woff2") format("woff2"); font-style: normal; font-weight: 900 950; font-display: swap; }

:root {
  --background: #ffffff;
  --foreground: #1a1a1a;
  --card: #ffffff;
  --card-foreground: #1a1a1a;
  --popover: #ffffff;
  --popover-foreground: #1a1a1a;
  --primary: #00ff00;
  --primary-foreground: #000000;
  --secondary: #f2f2f2;
  --secondary-foreground: #1a1a1a;
  --muted: #f2f2f2;
  --muted-foreground: #666666;
  --accent: #e6ffe6;
  --accent-foreground: #1a1a1a;
  --destructive: #d92d20;
  --border: #dfe4df;
  --input: #dfe4df;
  --ring: #00ff00;
  --radius: 0.9rem;
  --sidebar: #f2f2f2;
  --sidebar-foreground: #1a1a1a;
  --sidebar-primary: #00ff00;
  --sidebar-primary-foreground: #000000;
  --sidebar-accent: #e6ffe6;
  --sidebar-accent-foreground: #1a1a1a;
  --sidebar-border: #dfe4df;
  --sidebar-ring: #00ff00;
}

@theme inline {
  --color-background: var(--background);
  --color-foreground: var(--foreground);
  --color-card: var(--card);
  --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover);
  --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary);
  --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary);
  --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted);
  --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent);
  --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive);
  --color-border: var(--border);
  --color-input: var(--input);
  --color-ring: var(--ring);
  --color-sidebar: var(--sidebar);
  --color-sidebar-foreground: var(--sidebar-foreground);
  --color-sidebar-primary: var(--sidebar-primary);
  --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
  --color-sidebar-accent: var(--sidebar-accent);
  --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
  --color-sidebar-border: var(--sidebar-border);
  --color-sidebar-ring: var(--sidebar-ring);
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 6px);
  --font-sans: "Rokh Pro", "IRANSansX", Tahoma, Arial, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: "Rokh Pro", "IRANSansX", Tahoma, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  overflow-x: hidden;
}

html[data-font="iransans"] body {
  font-family: "IRANSansX", "Rokh Pro", Tahoma, Arial, sans-serif;
}

a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.site-container { width: min(1320px, calc(100% - 64px)); margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: 92px;
  background: rgba(0, 0, 0, 0.94);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(18px);
}

.header-inner { height: 100%; display: flex; align-items: center; gap: clamp(28px, 4vw, 70px); }
.brand-link { flex: 0 0 auto; display: inline-flex; align-items: center; }
.brand-logo { width: 124px; height: 78px; object-fit: contain; }
.desktop-nav { flex: 1 1 auto; max-width: 720px; display: flex; align-items: center; justify-content: space-between; gap: 24px; color: #d4d9d5; }
.nav-link { font-size: 0.94rem; transition: color .2s ease; }
.nav-link:hover, .nav-link:focus-visible { color: #00ff00; }
.header-actions { margin-inline-start: auto; display: flex; align-items: center; gap: 12px; }
.header-cta { padding: 10px 18px; border-radius: 999px; background: #00ff00; color: #000000; font-size: .9rem; font-weight: 800; }
.font-toggle { width: 38px; height: 24px; flex: 0 0 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 999px; background: transparent; cursor: pointer; }
.font-toggle-track { position: relative; width: 34px; height: 18px; display: block; border: 1px solid #4a4a4a; border-radius: 999px; background: #171717; transition: border-color .18s ease, background .18s ease; }
.font-toggle-thumb { position: absolute; top: 3px; right: 3px; width: 10px; height: 10px; border-radius: 50%; background: #f1f1f1; transition: transform .2s ease, background .2s ease; }
.font-toggle:hover .font-toggle-track, .font-toggle:focus-visible .font-toggle-track { border-color: #00ff00; }
.font-toggle:focus-visible { outline: 2px solid #00ff00; outline-offset: 3px; }
.font-toggle[data-active-font="iransans"] .font-toggle-track { border-color: #00ff00; background: rgba(0,255,0,.16); }
.font-toggle[data-active-font="iransans"] .font-toggle-thumb { transform: translateX(-16px); background: #00ff00; }
.mobile-menu { display: none; position: relative; }
.mobile-menu summary { width: 46px; height: 46px; list-style: none; display: grid; place-items: center; color: white; cursor: pointer; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary svg { width: 29px; height: 29px; transition: transform .28s cubic-bezier(.22,1,.36,1), color .2s ease; }
.mobile-menu[open] summary svg { transform: rotate(90deg) scale(.92); color: #00ff00; }
.mobile-menu nav { position: absolute; left: -32px; right: auto; top: 50px; width: min(320px, calc(100vw - 32px)); padding: 12px; border: 1px solid #333333; border-radius: 0 9px 9px 9px; background: #1a1a1a; box-shadow: 0 20px 50px rgba(0,0,0,.35); transform-origin: top left; }
.mobile-menu[open] nav { animation: mobile-menu-in .38s cubic-bezier(.22,1,.36,1) both; }
.mobile-menu nav a { display: block; padding: 11px 12px; border-radius: 10px; color: #edf2ee; }
.mobile-menu nav a:hover { background: #333333; color: #00ff00; }
@keyframes mobile-menu-in { from { opacity: 0; transform: translate3d(-12px, -10px, 0) scale(.96); filter: blur(5px); } to { opacity: 1; transform: translate3d(0,0,0) scale(1); filter: none; } }

.hero { position: relative; min-height: max(760px, calc(100svh - 92px)); isolation: isolate; background: #000000; color: white; overflow: hidden; }
.hero-poster,
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-poster { z-index: -4; filter: saturate(.82) contrast(1.06) brightness(.76); }
.hero-video { z-index: -3; filter: saturate(.86) contrast(1.08) brightness(.72); transform: translateZ(0); backface-visibility: hidden; }
.hero-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(0,0,0,.93) 0%, rgba(0,0,0,.68) 42%, rgba(0,0,0,.18) 76%, rgba(0,0,0,.6) 100%), linear-gradient(0deg, rgba(0,0,0,.96), transparent 48%); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 1px; background: rgba(0,255,0,.65); }
.hero-inner { min-height: max(760px, calc(100svh - 92px)); display: grid; grid-template-rows: 1fr auto; position: relative; }
.hero-copy { width: min(680px, 60%); margin-right: auto; align-self: center; padding: 72px 54px 72px 0; }
.hero h1 { margin: 20px 0 22px; font-size: clamp(3rem, 5.6vw, 5.8rem); line-height: 1.24; letter-spacing: 0; font-weight: 900; text-wrap: balance; }
.hero h1 em { color: #00ff00; font-style: normal; }
.hero-copy > p { max-width: 610px; margin: 0; color: #d3dad4; font-size: 1.08rem; line-height: 2; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-capabilities { min-height: 164px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.24); background: rgba(0,0,0,.56); backdrop-filter: blur(12px); }
.hero-capabilities article { position: relative; min-width: 0; padding: 28px 30px; display: flex; align-items: flex-start; border-inline-start: 1px solid rgba(255,255,255,.17); overflow: hidden; }
.hero-capabilities article:first-child { border-inline-start: 0; }
.hero-capabilities h2 { margin: 0 0 8px; color: white; font-size: 1.05rem; font-weight: 850; }
.hero-capabilities p { margin: 0; color: #aeb6af; font-size: .78rem; line-height: 1.8; }

.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #1a1a1a; font-size: .82rem; font-weight: 850; letter-spacing: .02em; }
.eyebrow::before { content: ""; width: 24px; height: 2px; background: #00ff00; }
.eyebrow-on-dark { color: #00ff00; }
.button { min-height: 48px; padding: 11px 21px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; font-weight: 850; font-size: .93rem; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: #00ff00; color: #000000; }
.button-primary:hover { background: #1aff1a; }
.button-outline-light { border: 1px solid rgba(255,255,255,.4); color: white; background: rgba(255,255,255,.04); }
.button-outline-light:hover { border-color: #fff; background: rgba(255,255,255,.1); }
.button-dark { background: #000000; color: white; }
.button-light { background: white; color: #000000; }

.stats-section { background: #000000; color: white; }
.stats-grid { min-height: 150px; display: grid; grid-template-columns: repeat(3, 1fr) 1.35fr; align-items: stretch; }
.stat-item, .stat-context { padding: 30px 28px; border-inline-start: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; justify-content: center; }
.stat-item strong { color: #00ff00; font-size: 2rem; line-height: 1; font-weight: 950; }
.stat-item span { margin-top: 10px; color: #b8c1ba; font-size: .84rem; }
.stat-context { flex-direction: row; align-items: center; gap: 13px; background: #1a1a1a; font-weight: 750; }
.stat-context svg { color: #00ff00; }

.section { padding: 112px 0; }
.section-light { background: #ffffff; }
.section-dark { background: #000000; color: white; }
.section-heading { max-width: 700px; }
.section-heading h2, .about-panel h2, .contact-cta h2, .story-main h2, .standalone-title { margin: 14px 0 0; font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.35; letter-spacing: -.035em; font-weight: 950; text-wrap: balance; }
.section-heading p { margin: 18px 0 0; color: #666666; font-size: 1rem; max-width: 620px; }
.section-topline { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 50px; }
.section-topline-dark .section-heading p { color: #aeb7b0; }
.section-topline-dark .eyebrow { color: #ffffff; }
.text-link { flex: 0 0 auto; color: #1a1a1a; font-weight: 850; border-bottom: 2px solid #00ff00; padding-bottom: 3px; }
.section-dark .text-link { color: #00ff00; }

.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.service-card { position: relative; min-height: 290px; padding: 28px; border: 1px solid #dfe4df; border-radius: 22px; background: #fff; overflow: hidden; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.service-card:hover { transform: translateY(-5px); border-color: #00ff00; box-shadow: 0 22px 50px rgba(0,0,0,.08); }
.service-card::after { content: ""; position: absolute; inset: auto -30px -45px auto; width: 110px; height: 110px; border-radius: 50%; border: 18px solid rgba(0,255,0,.08); }
.service-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; background: #00ff00; color: #000000; }
.service-icon svg { width: 25px; height: 25px; }
.service-card h3 { margin: 46px 0 10px; font-size: 1.25rem; font-weight: 900; }
.service-card p { margin: 0; color: #666666; font-size: .93rem; line-height: 1.95; }

.projects-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.project-card { min-height: 410px; border-radius: 24px; overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: end; isolation: isolate; border: 1px solid rgba(255,255,255,.14); background: #1a1a1a; }
.project-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .55s ease; }
.project-card.has-image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(5,8,6,.96), rgba(5,8,6,.12) 70%); }
.project-card:hover img { transform: scale(1.035); }
.project-visual { position: absolute; inset: 0; z-index: -1; display: grid; place-items: center; overflow: hidden; }
.project-visual::before, .project-visual::after { content: ""; position: absolute; border-radius: 50%; }
.project-visual::before { width: 340px; height: 340px; border: 55px solid rgba(255,255,255,.08); }
.project-visual::after { width: 180px; height: 180px; background: rgba(255,255,255,.06); }
.project-green { background: linear-gradient(135deg, #000000, #1a1a1a 64%, #00ff00 180%); }
.project-lime { background: linear-gradient(135deg, #00ff00, #000000 82%); }
.project-lime .project-copy { color: #fff; }
.project-dark { background: #1a1a1a; }
.project-copy { padding: 32px; }
.project-copy > span { color: #00ff00; font-size: .78rem; font-weight: 850; }
.project-copy h3 { margin: 8px 0 9px; font-size: 1.55rem; line-height: 1.5; font-weight: 900; }
.project-copy p { margin: 0; max-width: 550px; color: #c4cbc5; font-size: .9rem; line-height: 1.9; }

.clients-section { background: #fff; }
.clients-section .section-heading { margin-bottom: 44px; }
.clients-strip { overflow: hidden; padding-block: 8px; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.clients-track { width: max-content; display: flex; direction: ltr; animation: client-marquee 30s linear infinite; }
.clients-strip:hover .clients-track { animation-play-state: paused; }
.clients-group { display: flex; align-items: stretch; gap: 14px; padding-inline-end: 14px; }
.client-logo { width: 210px; height: 112px; flex: 0 0 210px; margin: 0; padding: 18px 24px; display: grid; place-items: center; border: 1px solid #e1e5e1; border-radius: 16px; background: #fff; overflow: hidden; }
.client-logo img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.client-logo figcaption { color: #333; font-weight: 850; }
@keyframes client-marquee { to { transform: translateX(-50%); } }

.about-feature { background: #f2f2f2; }
.about-grid { display: grid; grid-template-columns: 1.35fr .8fr; gap: 20px; }
.about-panel { padding: 54px; border-radius: 28px; background: white; }
.about-panel > p { margin: 22px 0; color: #666666; line-height: 2.05; }
.about-panel blockquote { margin: 28px 0; padding: 20px 22px; border-right: 3px solid #00ff00; background: #f2f2f2; font-size: 1.12rem; font-weight: 850; }
.cert-panel { padding: 44px; border-radius: 28px; background: #000000; color: white; display: flex; flex-direction: column; }
.cert-icon { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; background: #00ff00; color: #000000; }
.cert-icon svg { width: 30px; height: 30px; }
.cert-panel h3 { margin: 32px 0 5px; font-size: 1.5rem; }
.cert-panel > p { margin: 0; color: #aeb7b0; }
.cert-list { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 28px; direction: ltr; }
.cert-list span { padding: 9px 10px; border: 1px solid #343b35; border-radius: 10px; color: #cbd2cc; font-size: .78rem; text-align: center; }
.city-caption { margin-top: auto; padding-top: 34px; display: flex; align-items: center; gap: 9px; color: #00ff00; font-size: .84rem; }
.city-caption svg { width: 18px; }

.contact-cta { padding: 76px 0; background: #00ff00; color: #000000; }
.contact-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.contact-cta .eyebrow { color: #000000; }
.contact-cta h2 { max-width: 760px; }
.contact-cta p { margin: 14px 0 0; max-width: 650px; color: #1a1a1a; }

.site-footer { padding: 70px 0 22px; background: #000000; color: white; }
.footer-grid { display: grid; grid-template-columns: 1.35fr 1.05fr 1fr; gap: 56px; }
.footer-logo { width: 180px; height: 136px; object-fit: contain; }
.footer-intro { max-width: 390px; color: #9fa8a1; }
.footer-title { margin: 0 0 18px; color: #00ff00; font-weight: 900; }
.footer-links { display: grid; gap: 9px; color: #bec6bf; }
.footer-links a:hover { color: #00ff00; }
.contact-line { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 13px; color: #bec6bf; direction: ltr; justify-content: flex-end; }
.contact-line svg { width: 18px; color: #00ff00; }
.contact-line-map { direction: rtl; justify-content: flex-start; line-height: 1.8; }
.contact-line-map span { display: grid; gap: 3px; }
.contact-line-map small { color: #00ff00; font-size: .72rem; }
.footer-bottom { margin-top: 54px; padding-top: 18px; border-top: 1px solid #262b27; display: flex; justify-content: space-between; color: #778079; font-size: .76rem; }

.back-to-top { position: fixed; right: 22px; bottom: 22px; z-index: 110; width: 48px; height: 48px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(0,255,0,.58); border-radius: 50%; background: rgba(4,10,6,.86); color: #00ff00; box-shadow: 0 14px 34px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); opacity: 0; visibility: hidden; pointer-events: none; transform: translate3d(0,14px,0) scale(.88); transition: opacity .24s ease, visibility .24s ease, transform .34s cubic-bezier(.22,1,.36,1), background .2s ease, color .2s ease; cursor: pointer; }
.back-to-top svg { width: 21px; height: 21px; stroke-width: 1.8; }
.back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translate3d(0,0,0) scale(1); }
.back-to-top:hover, .back-to-top:focus-visible { background: #00ff00; color: #020503; }
.back-to-top:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

.page-hero { padding: 112px 0 90px; background: #000000; color: white; }
.page-hero h1 { max-width: 840px; margin: 16px 0; font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 1.25; font-weight: 950; letter-spacing: -.04em; }
.page-hero p { max-width: 710px; margin: 0; color: #b3bbb5; font-size: 1.05rem; }
.page-hero .eyebrow { color: #00ff00; }
.projects-page-section { padding-top: 76px; }
.story-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: start; }
.story-main p { color: #666666; line-height: 2.1; }
.values-stack { display: grid; gap: 12px; }
.values-stack article { padding: 25px; border: 1px solid #dfe4df; border-radius: 18px; background: white; }
.values-stack svg { color: #000000; filter: drop-shadow(4px 0 0 #00ff00); }
.values-stack h3 { display: inline; margin-right: 10px; }
.values-stack p { margin: 8px 0 0; color: #6b746d; font-size: .9rem; }
.leaders-section { background: #fff; }
.standalone-title { margin-bottom: 38px; }
.leaders-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.leaders-grid article { padding: 32px; border: 1px solid #dfe4df; border-radius: 20px; }
.leaders-grid article > span { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: #e6ffe6; color: #1a1a1a; font-size: 1.4rem; font-weight: 950; }
.leaders-grid h3 { margin: 25px 0 2px; }
.leaders-grid p { margin: 0; color: #727b74; font-size: .9rem; }
.contact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.contact-grid > :nth-child(2) { grid-column: span 2; }
.contact-card { min-height: 230px; padding: 28px; border: 1px solid #dfe4df; border-radius: 22px; background: white; display: flex; flex-direction: column; }
.contact-card svg { width: 30px; height: 30px; color: #000000; filter: drop-shadow(4px 0 0 #00ff00); }
.contact-card span { margin-top: auto; color: #737d75; font-size: .82rem; }
.contact-card strong { margin-top: 7px; font-size: 1rem; line-height: 1.9; overflow-wrap: anywhere; }

.admin-shell { min-height: 100vh; background: #f2f2f2; color: #1a1a1a; }
.admin-header { height: 72px; padding: 0 30px; display: flex; align-items: center; justify-content: space-between; background: #000000; color: white; }
.admin-header > div, .admin-header nav, .admin-header nav a { display: flex; align-items: center; gap: 13px; }
.admin-header img { width: 108px; }
.admin-header > div > span { padding-right: 14px; border-right: 1px solid #394039; color: #afb8b1; font-size: .84rem; }
.admin-header nav { gap: 22px; color: #c7cec8; font-size: .84rem; }
.admin-header nav a:hover { color: #00ff00; }
.admin-header nav svg { width: 16px; }
.admin-container { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding: 48px 0 120px; }
.admin-welcome { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 32px; }
.admin-welcome > div:first-child > span { color: #1a1a1a; font-weight: 850; font-size: .82rem; border-bottom: 2px solid #00ff00; }
.admin-welcome h1 { margin: 6px 0 3px; font-size: clamp(1.8rem, 3vw, 2.7rem); font-weight: 950; }
.admin-welcome p { margin: 0; color: #737c75; }
.admin-user { display: flex; align-items: center; gap: 12px; padding: 12px 15px; border: 1px solid #dce2dd; border-radius: 16px; background: white; }
.admin-user > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #00ff00; color: #000000; font-weight: 950; }
.admin-user div { display: flex; flex-direction: column; }
.admin-user strong { font-size: .88rem; }
.admin-user small { color: #7c857e; direction: ltr; font-size: .72rem; }
.admin-tabs { display: grid !important; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: 22px !important; }
.admin-tabs-list { width: 100% !important; height: auto !important; padding: 9px !important; border: 1px solid #dce2dd; border-radius: 18px !important; background: white !important; position: sticky; top: 92px; }
.admin-tabs-list button { width: 100% !important; min-height: 46px; justify-content: flex-start !important; padding: 10px 14px !important; border-radius: 11px !important; }
.admin-tabs-list button[data-state="active"] { background: #00ff00 !important; color: #000000 !important; box-shadow: none !important; }
.admin-tab-content { min-width: 0; }
.admin-card { border-color: #dce2dd; box-shadow: 0 14px 40px rgba(20,42,26,.05); }
.admin-card [data-slot="card-title"] { font-size: 1.25rem; font-weight: 900; }
.admin-fields { display: grid; gap: 20px; }
.admin-field { display: grid; gap: 8px; }
.admin-field label { font-size: .83rem; font-weight: 850; color: #4b544d; }
.admin-field input, .admin-field textarea { background: #fbfcfb; border-color: #d8ded9; font-size: .92rem; }
.admin-two-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.admin-list { display: grid; gap: 13px; }
.admin-list-item { padding: 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; border: 1px solid #e0e5e1; border-radius: 15px; background: #f8faf8; }
.admin-project-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.admin-project-fields > :last-child { grid-column: 1 / -1; }
.admin-list-item button { color: #a73b32; }
.admin-savebar { position: fixed; z-index: 60; inset: auto 0 0; min-height: 76px; padding: 12px max(24px, calc((100vw - 1240px) / 2)); display: flex; align-items: center; justify-content: flex-end; gap: 20px; border-top: 1px solid #d4dbd5; background: rgba(255,255,255,.95); backdrop-filter: blur(15px); }
.admin-savebar span { color: #536057; font-size: .86rem; }
.admin-savebar button { background: #00ff00; color: #000000; font-weight: 900; }

@media (max-width: 1120px) {
  .desktop-nav, .header-cta { display: none; }
  .mobile-menu { display: block; }
  .brand-link { margin-inline-end: 0; }
  .header-actions { margin-inline-start: auto; }
  .hero, .hero-inner { min-height: 760px; }
  .hero-copy { width: min(680px, 86%); padding-inline-end: 30px; }
  .hero-capabilities article { padding: 24px 18px; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-context { min-height: 120px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .about-grid, .story-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .contact-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid > :nth-child(2) { grid-column: auto; }
  .admin-tabs { grid-template-columns: 1fr !important; }
  .admin-tabs-list { position: static; display: flex !important; overflow-x: auto; width: 100%; }
  .admin-tabs-list button { width: auto !important; flex: 0 0 auto !important; }
}

@media (max-width: 680px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  .site-container { width: min(100% - 28px, 1320px); }
  .site-header { height: 70px; }
  .brand-logo { width: 94px; height: 64px; }
  .header-inner { gap: 12px; }
  .mobile-menu nav { left: -14px; width: min(300px, calc(100vw - 14px)); }
  .hero { min-height: 0; }
  .hero-inner { min-height: 790px; display: flex; flex-direction: column; padding-top: 0; }
  .hero-image { object-position: 42% center; opacity: .62; }
  .hero-shade { background: linear-gradient(0deg, rgba(5,8,6,.98) 8%, rgba(6,9,7,.58) 72%, rgba(4,7,5,.4)); }
  .hero-copy { width: 100%; margin-top: auto; margin-right: 0; padding: 88px 0 52px; }
  .hero h1 { font-size: clamp(2.15rem, 10.2vw, 3.15rem); line-height: 1.38; letter-spacing: 0; }
  .hero-copy > p { font-size: 1rem; line-height: 1.9; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-capabilities { width: calc(100% + 28px); margin-inline: -14px; grid-template-columns: 1fr; }
  .hero-capabilities article { min-height: 112px; border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.15); }
  .hero-capabilities article:first-child { border-top: 0; }
  .hero-capabilities p { display: none; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-item, .stat-context { padding: 24px 18px; }
  .stat-context { grid-column: 1 / -1; }
  .section { padding: 78px 0; }
  .section-topline { align-items: flex-start; flex-direction: column; margin-bottom: 34px; }
  .services-grid, .projects-grid, .leaders-grid, .contact-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 250px; }
  .project-card { min-height: 390px; }
  .client-logo { width: 168px; height: 94px; flex-basis: 168px; padding: 14px 18px; }
  .about-panel, .cert-panel { padding: 30px 24px; }
  .contact-cta-inner { align-items: stretch; flex-direction: column; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 18px; row-gap: 38px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .contact-line { min-width: 0; font-size: .78rem; overflow-wrap: anywhere; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .page-hero { padding: 82px 0 68px; }
  .admin-header { padding: 0 15px; }
  .admin-header > div > span, .admin-header nav a:first-child { display: none; }
  .admin-container { width: calc(100% - 24px); padding-top: 28px; }
  .admin-welcome { align-items: flex-start; flex-direction: column; }
  .admin-user { width: 100%; }
  .admin-two-cols, .admin-project-fields { grid-template-columns: 1fr; }
  .admin-project-fields > :last-child { grid-column: auto; }
  .admin-list-item { padding: 13px; }
  .admin-savebar { padding: 10px 12px; justify-content: space-between; }
  .admin-savebar span { max-width: 52%; font-size: .74rem; }
  .back-to-top { right: 14px; bottom: 14px; width: 44px; height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .hero-video { display: none; }
}

/* Hybrid redesign — cinematic structure with spatial project storytelling */
body { background: #050706; }

.site-header {
  position: fixed;
  inset: 16px 0 auto;
  height: auto;
  background: transparent;
  border: 0;
  backdrop-filter: none;
  pointer-events: none;
}

.site-header .header-inner {
  width: min(1380px, calc(100% - 48px));
  height: 74px;
  padding: 0 18px 0 14px;
  gap: clamp(20px, 2.4vw, 42px);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background: rgba(5,8,6,.48);
  box-shadow: 0 18px 46px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.035);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
  backdrop-filter: blur(24px) saturate(135%);
  pointer-events: auto;
}

.site-header .mobile-menu nav {
  border-color: rgba(255,255,255,.14);
  background: linear-gradient(145deg, rgba(10,18,12,.97), rgba(3,6,4,.94));
  box-shadow: 0 24px 58px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter: blur(38px) saturate(105%);
  backdrop-filter: blur(38px) saturate(105%);
}

.site-header .mobile-menu nav a:hover,
.site-header .mobile-menu nav a:focus-visible { background: rgba(255,255,255,.09); }

.brand-logo { width: 126px; height: 68px; filter: none; }
.desktop-nav { max-width: none; gap: clamp(20px, 2.8vw, 48px); justify-content: center; }
.nav-link { position: relative; padding: 24px 0; font-size: .88rem; font-weight: 600; white-space: nowrap; }
.nav-link::after { content: ""; position: absolute; inset: auto 0 16px; height: 2px; background: #00ff00; transform: scaleX(0); transform-origin: center; transition: transform .2s ease; }
.nav-link:hover::after, .nav-link:focus-visible::after { transform: scaleX(1); }
.header-cta { padding: 9px 17px; border: 1px solid #00ff00; background: transparent; color: #eaffea; white-space: nowrap; }
.header-cta:hover { background: #00ff00; color: #000; }

.page-hero { padding-top: 164px; }

.home-page { background: #050706; color: #fff; }
.hero-hybrid { min-height: 980px; padding-top: 104px; padding-bottom: 182px; }
.hero-hybrid .hero-video,
.hero-hybrid .hero-poster { object-position: center; }
.hero-hybrid .hero-shade { background: linear-gradient(90deg, rgba(3,6,5,.32), rgba(3,6,5,.62) 47%, rgba(3,6,5,.96) 92%); }
.hero-grid-lines { position: absolute; inset: 0; z-index: -1; opacity: .12; background-image: linear-gradient(rgba(0,255,0,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(0,255,0,.14) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, #000, transparent 72%); }

.hero-hybrid .hero-inner {
  min-height: 690px;
  display: grid;
  grid-template-columns: minmax(420px, .92fr) minmax(520px, 1.08fr);
  align-items: center;
  gap: clamp(50px, 6vw, 94px);
}

.hero-hybrid .hero-copy {
  width: 100%;
  margin: 0;
  padding: 64px 0 64px 12px;
  position: relative;
  z-index: 4;
}

.hero-hybrid .hero-copy h1 { max-width: 720px; font-size: clamp(3.4rem, 5.3vw, 5.55rem); line-height: 1.24; text-shadow: 0 10px 34px rgba(0,0,0,.42); }
.hero-hybrid .hero-copy > p { max-width: 640px; font-size: 1.03rem; }
.hero-hybrid .hero-actions .button { min-width: 178px; border-radius: 999px; }

.hero-media-stack { position: relative; min-height: 610px; direction: ltr; }
.hero-frame { position: absolute; margin: 0; overflow: hidden; border: 1px solid rgba(0,255,0,.55); background: #071009; box-shadow: 0 28px 72px rgba(0,0,0,.52); }
.hero-frame img { width: 100%; height: 100%; display: block; object-fit: cover; }
.hero-frame-main { width: 72%; height: 57%; left: 4%; top: 14%; transform: perspective(1200px) rotateY(6deg); }
.hero-frame-small { width: 49%; height: 35%; right: 2%; bottom: 10%; transform: perspective(1200px) rotateY(-8deg); }

.impact-panel {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  min-height: 136px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 24px;
  background: rgba(5,10,7,.82);
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
  backdrop-filter: blur(20px);
}
.impact-item { min-width: 0; padding: 12px 26px; display: grid; align-content: center; justify-items: center; border-inline-start: 1px solid rgba(255,255,255,.14); text-align: center; }
.impact-item:first-child { border-inline-start: 0; }
.impact-item svg { width: 23px; height: 23px; margin-bottom: 9px; color: #00ff00; stroke-width: 1.6; }
.impact-item strong { font-size: 1.7rem; line-height: 1.1; font-weight: 900; }
.impact-item span { margin-top: 7px; color: #aeb8b0; font-size: .78rem; }
.impact-context strong { color: #00ff00; font-size: 1.18rem; }

.clients-section-dark { padding: 48px 0; border-block: 1px solid rgba(255,255,255,.08); background: #070a08; color: white; }
.clients-inline-heading { display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: center; gap: 46px; }
.clients-inline-heading h2 { margin: 9px 0 0; font-size: 1.45rem; line-height: 1.5; }
.clients-section-dark .clients-strip { min-width: 0; }
.clients-section-dark .client-logo { width: 168px; height: 86px; flex-basis: 168px; padding: 16px 20px; border-color: rgba(255,255,255,.12); border-radius: 12px; background: #fff; }
.clients-section-dark .client-logo img { filter: none; mix-blend-mode: normal; opacity: 1; }

.featured-projects { position: relative; padding: 132px 0 150px; overflow: hidden; background: #040605; }
.featured-projects::before { content: ""; position: absolute; inset: 18% -8% auto auto; width: 46vw; height: 46vw; border-radius: 50%; background: radial-gradient(circle, rgba(0,255,0,.08), transparent 66%); }
.featured-projects-grid { display: grid; grid-template-columns: minmax(300px, .62fr) minmax(620px, 1.38fr); align-items: center; gap: clamp(48px, 7vw, 100px); }
.featured-copy { position: relative; z-index: 3; }
.featured-copy h2 { margin: 18px 0; font-size: clamp(2.7rem, 4.6vw, 4.6rem); line-height: 1.27; font-weight: 950; }
.featured-copy p { max-width: 430px; margin: 0 0 28px; color: #adb6af; line-height: 2; }
.featured-copy .button { border-radius: 999px; }

.project-stage { position: relative; min-height: 630px; direction: ltr; perspective: 1400px; }
.project-stage::after { content: ""; position: absolute; inset: 11% 6% 4%; z-index: 0; border: 1px solid rgba(0,255,0,.16); transform: perspective(900px) rotateX(64deg); transform-origin: bottom; }
.project-stage-card { position: absolute; z-index: 1; margin: 0; overflow: hidden; border: 1px solid rgba(0,255,0,.5); background: #071009; box-shadow: 0 30px 70px rgba(0,0,0,.52); transition: transform .45s ease, z-index .45s ease; }
.project-stage-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.stage-card-back { width: 40%; height: 50%; left: 0; top: 20%; transform: rotateY(9deg) translateZ(-30px); }
.stage-card-main { z-index: 3; width: 58%; height: 62%; left: 22%; top: 7%; transform: translateZ(36px); }
.stage-card-front { z-index: 2; width: 37%; height: 48%; right: 0; bottom: 6%; transform: rotateY(-9deg); }
.project-stage-card:hover { z-index: 5; transform: translateZ(60px) scale(1.025); }

.services-showcase { padding: 118px 0 132px; border-top: 1px solid rgba(255,255,255,.08); background: #090c0a; color: white; }
.services-showcase .section-heading h2 { max-width: 680px; font-size: clamp(2.5rem, 4.3vw, 4.1rem); }
.services-showcase .section-heading p { color: #a7b0a9; }
.services-showcase .services-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
.services-showcase .service-card { min-height: 330px; padding: 26px; border-color: rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.025); color: white; box-shadow: none; }
.services-showcase .service-card:hover { transform: translateY(-7px); border-color: #00ff00; background: rgba(0,255,0,.035); }
.services-showcase .service-card::after { display: none; }
.services-showcase .service-icon { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #00ff00; background: transparent; color: #00ff00; }
.services-showcase .service-card h3 { margin-top: 76px; font-size: 1.18rem; }
.services-showcase .service-card p { color: #9da69f; }

.home-contact { position: relative; min-height: 620px; display: grid; align-items: center; overflow: hidden; isolation: isolate; color: white; }
.home-contact > img { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.home-contact-shade { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(4,7,5,.28), rgba(4,7,5,.72) 50%, rgba(4,7,5,.98) 92%); }
.home-contact-inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; }
.home-contact h2 { max-width: 720px; margin: 18px 0 12px; font-size: clamp(2.7rem, 4.7vw, 4.8rem); line-height: 1.3; font-weight: 950; }
.home-contact p { max-width: 650px; margin: 0; color: #c3cbc5; }
.home-contact .button { min-width: 210px; border-radius: 999px; }

.home-page + .site-footer { border-top: 1px solid rgba(255,255,255,.08); }
.home-page + .site-footer .footer-logo { filter: none; }

@media (max-width: 1120px) {
  .site-header .header-inner { width: calc(100% - 32px); padding-inline: 14px; }
  .hero-hybrid { min-height: 1060px; }
  .hero-hybrid .hero-inner { grid-template-columns: 1fr 1fr; gap: 28px; }
  .hero-hybrid .hero-copy { width: 100%; padding-inline-end: 0; }
  .hero-media-stack { min-height: 520px; }
  .impact-panel { width: calc(100% - 48px); }
  .featured-projects-grid { grid-template-columns: .72fr 1.28fr; gap: 34px; }
  .project-stage { min-height: 530px; }
  .services-showcase .services-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 780px) {
  .site-header { inset-block-start: 8px; }
  .site-header .header-inner { width: calc(100% - 16px); height: 62px; border-radius: 14px; }
  .brand-logo { width: 96px; height: 56px; }
  .header-actions { margin-inline-start: auto; }
  .mobile-menu nav { left: -8px; top: 52px; width: min(360px, calc(100vw - 16px)); border-radius: 0 9px 9px 9px; }
  .page-hero { padding-top: 126px; }

  .hero-hybrid { min-height: auto; padding: 98px 0 34px; }
  .hero-hybrid .hero-video,
  .hero-hybrid .hero-poster { opacity: .68; object-position: 43% center; }
  .hero-hybrid .hero-shade { background: linear-gradient(0deg, rgba(3,6,5,.98) 14%, rgba(3,6,5,.7) 65%, rgba(3,6,5,.5)); }
  .hero-grid-lines { opacity: .08; }
  .hero-hybrid .hero-inner { min-height: auto; display: flex; flex-direction: column; gap: 12px; }
  .hero-hybrid .hero-copy { order: 1; margin: 0; padding: 68px 0 28px; }
  .hero-hybrid .hero-copy h1 { font-size: clamp(2.35rem, 10.6vw, 3.7rem); line-height: 1.32; }
  .hero-hybrid .hero-copy > p { font-size: .98rem; }
  .hero-hybrid .hero-actions { flex-direction: column; }
  .hero-media-stack { order: 2; width: 100%; min-height: 330px; }
  .hero-frame-main { width: 74%; height: 62%; left: 0; top: 8%; }
  .hero-frame-small { width: 54%; height: 48%; right: 0; bottom: 4%; }
  .impact-panel { position: relative; left: auto; bottom: auto; transform: none; width: min(100% - 28px, 1320px); margin: 24px auto 0; grid-template-columns: 1fr 1fr; border-radius: 18px; }
  .impact-item { min-height: 120px; padding: 14px 10px; border-block-start: 1px solid rgba(255,255,255,.12); }
  .impact-item:nth-child(-n+2) { border-block-start: 0; }
  .impact-item:nth-child(odd) { border-inline-start: 0; }
  .impact-item strong { font-size: 1.35rem; }

  .clients-section-dark { padding: 54px 0 42px; }
  .clients-inline-heading { grid-template-columns: 1fr; gap: 26px; }
  .clients-section-dark .client-logo { width: 146px; height: 78px; flex-basis: 146px; }

  .featured-projects { padding: 88px 0 100px; }
  .featured-projects-grid { grid-template-columns: 1fr; gap: 44px; }
  .featured-copy h2 { font-size: clamp(2.45rem, 10vw, 3.65rem); }
  .project-stage { min-height: 430px; }
  .stage-card-back { width: 48%; height: 46%; top: 19%; }
  .stage-card-main { width: 68%; height: 57%; left: 16%; }
  .stage-card-front { width: 45%; height: 43%; }

  .services-showcase { padding: 86px 0 96px; }
  .services-showcase .section-heading h2 { font-size: clamp(2.3rem, 9.4vw, 3.5rem); }
  .services-showcase .services-grid { grid-template-columns: 1fr; }
  .services-showcase .service-card { min-height: 250px; }
  .services-showcase .service-card h3 { margin-top: 48px; }

  .home-contact { min-height: 650px; }
  .home-contact-shade { background: linear-gradient(0deg, rgba(4,7,5,.98) 18%, rgba(4,7,5,.58) 76%); }
  .home-contact-inner { align-items: stretch; flex-direction: column; justify-content: flex-end; padding-block: 72px; }
  .home-contact h2 { font-size: clamp(2.35rem, 9.8vw, 3.7rem); }
}

/* Nine-section editorial redesign */
.editorial-home { --ink: #050706; --panel: #0d100e; --panel-2: #121613; --line: rgba(255,255,255,.12); --lime: #00ff00; background: var(--ink); color: #f5f7f5; }
.editorial-home svg, .site-header svg, .site-footer svg { stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.editorial-home section { position: relative; }
.editorial-home .button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 999px; }
.editorial-home .button svg, .editorial-home .text-link svg { width: 18px; height: 18px; }
.editorial-home h2 { margin: 12px 0 0; font-size: clamp(2.35rem, 4vw, 4.4rem); line-height: 1.28; font-weight: 900; letter-spacing: -.03em; }
.editorial-home .eyebrow { color: var(--lime); }

.v12-hero { min-height: 100svh; overflow: hidden; isolation: isolate; display: grid; align-items: end; background: #020403; }
.v12-hero-poster, .v12-hero-video { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.v12-hero-video { transform: translateZ(0); backface-visibility: hidden; }
.v12-hero-shade { position: absolute; inset: 0; z-index: -2; background: rgba(0,0,0,.52); box-shadow: inset 0 -280px 180px rgba(0,0,0,.75); }
.v12-hero-content { min-height: 100svh; display: flex; align-items: flex-end; padding-block: 170px 92px; }
.v12-hero-copy { width: min(770px, 68%); margin-right: auto; }
.v12-hero-copy h1 { margin: 18px 0 20px; font-size: clamp(3.06rem, 5.1vw, 5.695rem); line-height: 1.16; font-weight: 950; letter-spacing: -.045em; text-shadow: 0 12px 36px rgba(0,0,0,.54); }
.v12-hero-copy h1 em { color: var(--lime); font-style: normal; }
.v12-hero-copy > p { max-width: 650px; margin: 0; color: #d3d9d4; font-size: 1.08rem; line-height: 2; }
.v12-hero .hero-actions { margin-top: 28px; }
.hero-scroll { position: absolute; right: 28px; bottom: 32px; display: flex; align-items: center; gap: 10px; color: #cbd2cc; font-size: .72rem; writing-mode: vertical-rl; }
.hero-scroll span { display: block; width: 1px; height: 48px; background: var(--lime); }

.v12-about { padding-bottom: 136px; background: #080a09; }
.v12-facts { min-height: 168px; display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); background: #0b0e0c; }
.v12-facts > div { display: grid; place-content: center; text-align: center; border-inline-start: 1px solid var(--line); }
.v12-facts > div:first-child { border-inline-start: 0; }
.v12-facts strong { font-size: 2.2rem; font-weight: 900; color: var(--lime); }
.v12-facts span { color: #969f98; font-size: .86rem; }
.v12-about-grid { padding-top: 118px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); gap: clamp(72px, 8vw, 130px); align-items: start; }
.v12-about-copy h2 span { color: #59615b; }
.v12-about-copy p { max-width: 690px; margin: 22px 0 0; color: #adb5ae; line-height: 2.05; }
.v12-about-copy .text-link { margin-top: 28px; display: inline-flex; align-items: center; gap: 8px; color: var(--lime); font-weight: 800; }
.v12-mission-stack { display: grid; gap: 18px; }
.v12-mission-stack article { min-height: 164px; display: grid; grid-template-columns: 52px 1fr; gap: 22px; padding: 27px; border: 1px solid var(--line); border-radius: 18px; background: #0e1210; }
.v12-mission-stack article > svg { width: 34px; height: 34px; color: var(--lime); }
.v12-mission-stack h3 { margin: 0 0 9px; font-size: 1.22rem; }
.v12-mission-stack p { margin: 0; color: #98a19a; font-size: .88rem; line-height: 1.9; }

.v12-services { padding: 124px 0 142px; border-top: 1px solid var(--line); background: #050706; }
.v12-section-head { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 58px; }
.v12-section-head > p { max-width: 460px; margin: 0 0 8px; color: #99a29b; line-height: 1.9; }
.v12-section-head.centered { display: grid; justify-items: center; text-align: center; }
.v12-section-head.centered > p { margin: -32px auto 0; }
.v12-services-layout { display: grid; grid-template-columns: .62fr 1.02fr 1fr; gap: 16px; min-height: 610px; }
.v12-service-nav { padding: 10px 26px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--line); border-radius: 18px; background: #0b0e0c; }
.v12-service-nav a { min-height: 100px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); color: #bec5bf; font-size: 1.1rem; font-weight: 800; transition: color .2s, padding .2s; }
.v12-service-nav a:last-child { border-bottom: 0; }
.v12-service-nav a:first-child, .v12-service-nav a:hover { color: var(--lime); padding-inline-start: 10px; }
.v12-service-nav svg { width: 20px; }
.v12-service-image { margin: 0; overflow: hidden; border-radius: 18px; }
.v12-service-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) contrast(1.06); }
.v12-service-detail { padding: 46px 40px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--line); border-radius: 18px; background: #0c100d; }
.v12-service-detail > svg { width: 44px; height: 44px; color: var(--lime); }
.v12-service-detail h3 { margin: 24px 0 14px; font-size: 1.8rem; }
.v12-service-detail p { margin: 0; color: #9da69f; line-height: 2; }
.v12-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 32px; }
.v12-tags span { padding: 7px 12px; border: 1px solid #29302b; border-radius: 999px; color: #c8cec9; font-size: .74rem; }

.v12-advantages { padding: 128px 0 145px; background: #0a0d0b; }
.v12-kpi-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 28px; }
.v12-kpi-row div { min-height: 116px; display: grid; place-content: center; text-align: center; border: 1px solid var(--line); border-radius: 14px; background: #111512; }
.v12-kpi-row strong { font-size: 1.7rem; color: var(--lime); }
.v12-kpi-row span { margin-top: 5px; color: #879088; font-size: .78rem; }
.v12-advantage-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: 220px 220px; gap: 14px; }
.v12-advantage-grid > article { padding: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #111512; }
.v12-advantage-grid > article svg { width: 31px; height: 31px; color: var(--lime); }
.v12-advantage-grid h3 { margin: 34px 0 9px; font-size: 1.15rem; }
.v12-advantage-grid p { margin: 0; color: #8e9890; font-size: .83rem; line-height: 1.85; }
.v12-advantage-grid .adv-image { grid-row: span 2; position: relative; padding: 0; }
.adv-image > img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.62) saturate(.72); }
.adv-image > div { position: absolute; inset: auto 0 0; padding: 34px; background: rgba(0,0,0,.78); }
.adv-image h3 { margin-top: 20px; font-size: 1.38rem; }

.v12-projects { padding: 145px 0 170px; overflow: hidden; background: #050706; }
.v12-projects-grid { display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(70px, 8vw, 132px); align-items: center; }
.v12-project-copy p { max-width: 560px; margin: 23px 0 0; color: #9fa8a0; line-height: 2; }
.v12-project-stats { display: grid; grid-template-columns: 1fr 1fr; margin: 32px 0; border-block: 1px solid var(--line); }
.v12-project-stats div { padding: 21px 0; display: grid; }
.v12-project-stats div + div { padding-inline-start: 24px; border-inline-start: 1px solid var(--line); }
.v12-project-stats strong { color: #eef2ef; }
.v12-project-stats span { color: #7f8981; font-size: .75rem; }
.v12-project-stack { position: relative; min-height: 630px; direction: ltr; perspective: 1200px; }
.v12-project-stack figure { --project-enter-x: 0px; --project-enter-y: 0px; --project-parallax: 0px; --project-lift: 0px; --project-scale: 1; --project-rotate: 0deg; position: absolute; margin: 0; overflow: hidden; border: 1px solid rgba(0,255,0,.36); border-radius: 18px; background: #111; box-shadow: 0 34px 70px rgba(0,0,0,.48); transform: translate3d(var(--project-enter-x), calc(var(--project-enter-y) + var(--project-parallax) + var(--project-lift)), 0) rotate(var(--project-rotate)) scale(var(--project-scale)); transform-origin: center; will-change: transform; transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease, box-shadow .3s ease, opacity .3s ease, filter .3s ease; }
.v12-project-stack figure:hover,
.v12-project-stack figure:focus-visible,
.v12-project-stack figure.is-focused { --project-lift: -10px; --project-scale: 1.03; --project-rotate: 0deg; z-index: 8; border-color: rgba(0,255,0,.86); box-shadow: 0 38px 78px rgba(0,0,0,.56), 0 0 0 1px rgba(0,255,0,.14), 0 0 34px rgba(0,255,0,.08); outline: none; }
.v12-project-stack.has-focus figure:not(.is-focused):not(:hover):not(:focus-visible) { opacity: .7; filter: brightness(.76) saturate(.76); }
.v12-project-stack img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.001); transition: transform .55s cubic-bezier(.22,1,.36,1), filter .35s ease; }
.v12-project-stack figure:hover img,
.v12-project-stack figure:focus-visible img,
.v12-project-stack figure.is-focused img { transform: scale(1.045); }
.v12-project-stack figcaption { position: absolute; inset: auto 0 0; padding: 17px 20px; direction: rtl; color: #fff; background: rgba(0,0,0,.8); font-weight: 800; }
.v12-project-stack .stack-a { --project-rotate: -4deg; --project-delay: 0ms; width: 62%; height: 48%; left: 0; top: 5%; }
.v12-project-stack .stack-b { --project-rotate: 4deg; --project-delay: 260ms; width: 63%; height: 49%; right: 0; top: 20%; z-index: 2; }
.v12-project-stack .stack-c { --project-rotate: -2deg; --project-delay: 520ms; width: 60%; height: 46%; left: 11%; bottom: 1%; z-index: 3; }

.project-stack-motion-ready:not(.is-arranged) figure { opacity: 0; filter: blur(4px); }
.project-stack-motion-ready:not(.is-arranged) .stack-a { --project-enter-x: -42px; --project-enter-y: -34px; }
.project-stack-motion-ready:not(.is-arranged) .stack-b { --project-enter-x: 46px; --project-enter-y: -20px; }
.project-stack-motion-ready:not(.is-arranged) .stack-c { --project-enter-x: 0px; --project-enter-y: 52px; }
.project-stack-motion-ready.is-arranged figure { --project-enter-x: 0px; --project-enter-y: 0px; opacity: 1; filter: none; transition-duration: .75s, .3s, .3s, .75s, .75s; transition-delay: var(--project-delay), var(--project-delay), var(--project-delay), var(--project-delay), var(--project-delay); }
.project-stack-motion-ready.is-arranged.is-settled figure { transition-duration: .35s, .3s, .3s, .3s, .3s; transition-delay: 0ms; }

.v12-clients { padding: 112px 0 126px; border-block: 1px solid var(--line); background: #0b0e0c; }
.v12-clients-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 48px; }
.v12-clients-head h2 { font-size: clamp(2.2rem, 3.6vw, 3.8rem); }
.v12-clients-head p { max-width: 430px; margin: 0 0 8px; color: #909991; }
.v12-clients .clients-strip { mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.v12-clients .client-logo { width: 208px; height: 116px; flex-basis: 208px; padding: 10px 12px; border: 1px solid rgba(0,255,0,.28); border-radius: 16px; background: radial-gradient(circle at 16% 12%, rgba(112,255,108,.2), transparent 38%), linear-gradient(135deg, rgba(0,255,0,.2) 0%, rgba(0,96,29,.25) 48%, rgba(3,11,6,.94) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 14px 34px rgba(0,0,0,.2); transition: border-color .25s ease, background .25s ease, box-shadow .25s ease; }
.v12-clients .client-logo:hover { border-color: rgba(0,255,0,.58); background: radial-gradient(circle at 16% 12%, rgba(136,255,132,.28), transparent 40%), linear-gradient(135deg, rgba(0,255,0,.27) 0%, rgba(0,106,32,.32) 48%, rgba(3,11,6,.94) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 18px 42px rgba(0,80,20,.2); }
.v12-clients .client-logo img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; filter: drop-shadow(0 4px 16px rgba(0,0,0,.22)); mix-blend-mode: normal; opacity: 1; }

.v12-process { padding: 128px 0 160px; background: #050706; }
.v12-timeline { position: relative; width: min(900px, 100%); margin: 70px auto 0; display: grid; gap: 54px; }
.v12-timeline::before { content: ""; position: absolute; top: 12px; bottom: 12px; right: 50%; width: 1px; background: #26432b; }
.v12-timeline article { width: calc(50% + 1px); display: grid; grid-template-columns: 54px 1fr; align-items: start; gap: 22px; }
.v12-timeline article:nth-child(odd) { margin-right: auto; padding-right: 34px; }
.v12-timeline article:nth-child(even) { margin-left: auto; padding-left: 34px; direction: ltr; }
.v12-timeline article:nth-child(even) > div { direction: rtl; text-align: right; }
.v12-timeline article > span { position: relative; z-index: 2; width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid var(--lime); border-radius: 50%; background: #071009; color: var(--lime); }
.v12-timeline article > span svg { width: 23px; }
.v12-timeline article > div { min-height: 170px; padding: 25px 27px; border: 1px solid var(--line); border-radius: 16px; background: #101311; }
.v12-timeline small { color: var(--lime); }
.v12-timeline h3 { margin: 10px 0 8px; font-size: 1.25rem; }
.v12-timeline p { margin: 0; color: #8d968f; font-size: .84rem; line-height: 1.9; }

.v12-faq-contact { padding: 128px 0 146px; border-top: 1px solid var(--line); background: #0a0d0b; }
.v12-faq-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(44px, 7vw, 104px); align-items: start; }
.v12-faq-panel h2 { margin-bottom: 38px; }
.v12-faq-list { display: grid; gap: 10px; }
.v12-faq-list details { border: 1px solid var(--line); border-radius: 14px; background: #050706; }
.v12-faq-list summary { min-height: 72px; padding: 18px 22px; display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; font-weight: 800; }
.v12-faq-list summary::-webkit-details-marker { display: none; }
.v12-faq-list summary span { position: relative; width: 28px; height: 28px; flex: 0 0 28px; border: 1px solid #3a413c; border-radius: 50%; color: #aeb7b0; transition: border-color .2s ease, color .2s ease; }
.v12-faq-list summary span::before,
.v12-faq-list summary span::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 1px; border-radius: 1px; background: currentColor; transform: translate(-50%, -50%); transition: opacity .2s ease, transform .2s ease; }
.v12-faq-list summary span::after { transform: translate(-50%, -50%) rotate(90deg); }
.v12-faq-list details[open] summary span { border-color: var(--lime); color: var(--lime); }
.v12-faq-list details[open] summary span::after { opacity: 0; transform: translate(-50%, -50%) rotate(0deg); }
.v12-faq-list details p { margin: 0; padding: 0 22px 22px; color: #8f9991; line-height: 1.9; }
.v12-brief { position: sticky; top: 112px; padding: 38px; display: grid; gap: 18px; border: 1px solid var(--line); border-radius: 20px; background: #050706; }
.v12-brief h3 { margin: 0 0 8px; font-size: 2rem; }
.v12-brief label { display: grid; gap: 7px; color: #b9c0ba; font-size: .78rem; }
.v12-brief input, .v12-brief textarea { width: 100%; padding: 12px 0; border: 0; border-bottom: 1px solid #333a35; outline: none; resize: vertical; background: transparent; color: #fff; }
.v12-brief input:focus, .v12-brief textarea:focus { border-color: var(--lime); }
.v12-brief button { margin-top: 7px; border: 0; cursor: pointer; }

.v12-contact { padding: 120px 0 90px; background: #020403; }
.v12-contact-top { display: grid; grid-template-columns: 1fr; align-items: end; }
.v12-contact-top h2 { max-width: 850px; }
.v12-contact-card { margin-top: 64px; padding: 32px; display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 0; border: 1px solid var(--line); border-radius: 20px; background: #0d100e; }
.v12-contact-card > div { min-height: 130px; padding: 14px 30px; display: grid; align-content: center; border-inline-start: 1px solid var(--line); }
.v12-contact-card > div:first-child { border-inline-start: 0; }
.v12-contact-card svg { width: 24px; margin-bottom: 12px; color: var(--lime); }
.v12-contact-card span { color: #778179; font-size: .72rem; }
.v12-contact-card strong, .v12-contact-card a { margin-top: 5px; color: #dce1dd; font-size: .87rem; line-height: 1.8; }

@media (max-width: 1080px) {
  .v12-about-grid, .v12-projects-grid { grid-template-columns: 1fr 1fr; gap: 48px; }
  .v12-services-layout { grid-template-columns: .72fr 1.28fr; }
  .v12-service-detail { grid-column: 1 / -1; min-height: 390px; }
  .v12-advantage-grid { grid-template-columns: 1.25fr 1fr; }
  .v12-advantage-grid .adv-image { grid-row: span 3; }
  .v12-faq-grid { gap: 38px; }
}

@media (max-width: 780px) {
  .editorial-home h2 { font-size: clamp(2.05rem, 9.2vw, 3.2rem); }
  .v12-hero-content { padding-block: 150px 76px; align-items: flex-end; }
  .v12-hero-copy { width: 100%; margin: 0; }
  .v12-hero-copy h1 { font-size: clamp(2.2525rem, 10.2vw, 3.74rem); line-height: 1.24; }
  .v12-hero-copy > p { font-size: .95rem; }
  .v12-hero .hero-actions { flex-direction: column; }
  .hero-scroll { display: none; }
  .v12-facts { grid-template-columns: 1fr 1fr; }
  .v12-facts > div { min-height: 118px; border-top: 1px solid var(--line); }
  .v12-facts > div:nth-child(-n+2) { border-top: 0; }
  .v12-about, .v12-services, .v12-advantages, .v12-projects, .v12-clients, .v12-process, .v12-faq-contact, .v12-contact { padding-block: 84px; }
  .v12-about-grid, .v12-projects-grid, .v12-faq-grid, .v12-contact-top { grid-template-columns: 1fr; }
  .v12-about-grid { padding-top: 0; }
  .v12-section-head, .v12-clients-head { display: grid; align-items: start; gap: 18px; margin-bottom: 38px; }
  .v12-section-head.centered > p { margin: -18px auto 0; }
  .v12-services-layout { grid-template-columns: 1fr; min-height: 0; }
  .v12-service-nav { order: 2; }
  .v12-service-image { height: 340px; order: 1; }
  .v12-service-detail { order: 3; grid-column: auto; min-height: 0; padding: 34px 26px; }
  .v12-kpi-row { grid-template-columns: 1fr 1fr; }
  .v12-advantage-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .v12-advantage-grid .adv-image { grid-row: auto; min-height: 430px; }
  .v12-advantage-grid > article:not(.adv-image) { min-height: 210px; }
  .v12-project-stack { min-height: 500px; }
  .v12-clients .clients-strip {
    margin-inline: -16px;
    padding: 8px 16px 18px;
    overflow-x: auto;
    overflow-y: hidden;
    direction: ltr;
    mask-image: none;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .v12-clients .clients-strip::-webkit-scrollbar { display: none; }
  .v12-clients .clients-track { animation: none; transform: none; }
  .v12-clients .clients-group[aria-hidden="true"] { display: none; }
  .v12-clients .client-logo { scroll-snap-align: start; }
  .v12-timeline { margin-top: 44px; gap: 18px; }
  .v12-timeline::before { right: 26px; }
  .v12-timeline article, .v12-timeline article:nth-child(odd), .v12-timeline article:nth-child(even) { width: 100%; margin: 0; padding: 0; grid-template-columns: 52px 1fr; direction: rtl; }
  .v12-timeline article:nth-child(even) > div { direction: rtl; }
  .v12-brief { position: static; }
  .v12-contact-card { grid-template-columns: 1fr; padding: 18px; }
  .v12-contact-card > div { border-inline-start: 0; border-top: 1px solid var(--line); padding: 24px 14px; }
  .v12-contact-card > div:first-child { border-top: 0; }
}

@media (max-width: 480px) {
  .v12-facts strong { font-size: 1.65rem; }
  .v12-mission-stack article { grid-template-columns: 40px 1fr; padding: 22px 18px; }
  .v12-kpi-row { grid-template-columns: 1fr; }
  .v12-project-stack { min-height: 430px; }
  .v12-project-stack figure { height: 44%; }
  .v12-brief { padding: 28px 20px; }
}

/* Desktop-only cursor companion */
.cursor-companion {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 90;
  width: 10px;
  height: 10px;
  border: 1px solid rgba(0,255,0,.78);
  border-radius: 50%;
  background: rgba(0,255,0,.72);
  box-shadow: 0 0 16px rgba(0,255,0,.38);
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  transition: width .22s ease, height .22s ease, background .22s ease, opacity .18s ease;
}
.cursor-companion.is-visible { opacity: .9; }
.cursor-companion.is-interactive { width: 16px; height: 16px; background: rgba(0,255,0,.18); }

@media (hover: none), (pointer: coarse), (max-width: 1023px), (prefers-reduced-motion: reduce) {
  .cursor-companion { display: none !important; }
}

/* Section reveal motion — progressive enhancement for full and static builds */
.motion-ready .motion-reveal {
  --motion-delay: 0ms;
  opacity: 0;
  filter: blur(4px);
  transition:
    opacity .72s cubic-bezier(.22, 1, .36, 1) var(--motion-delay),
    transform .72s cubic-bezier(.22, 1, .36, 1) var(--motion-delay),
    filter .72s ease var(--motion-delay);
  will-change: opacity, transform, filter;
}
.motion-ready .motion-from-up { transform: translate3d(0, 26px, 0); }
.motion-ready .motion-from-right { transform: translate3d(30px, 0, 0); }
.motion-ready .motion-from-left { transform: translate3d(-30px, 0, 0); }
.motion-ready .motion-from-zoom { transform: scale(.965); }
.motion-ready .motion-reveal.is-visible {
  opacity: 1;
  filter: none;
  transform: none;
}

@media (max-width: 780px) {
  .motion-ready .motion-from-up { transform: translate3d(0, 18px, 0); }
  .motion-ready .motion-from-right { transform: translate3d(18px, 0, 0); }
  .motion-ready .motion-from-left { transform: translate3d(-18px, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .motion-ready .motion-reveal,
  .motion-ready .motion-reveal.is-visible {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
  .v12-project-stack figure { --project-enter-x: 0px !important; --project-enter-y: 0px !important; --project-parallax: 0px !important; --project-lift: 0px !important; --project-scale: 1 !important; transition: none !important; }
  .v12-project-stack img { transform: none !important; transition: none !important; }
}
