:root {
  --ink: #17191d;
  --muted: #686d74;
  --paper: #f3f2ea;
  --blue: #1f7658;
  --orange: #d9a441;
  --line: rgba(23, 25, 29, .13);
  --font-sans: "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --font-serif: "Songti SC", "STSong", "SimSun", "Noto Serif CJK SC", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
.site-header {
  height: 84px;
  padding: 0 clamp(24px, 5vw, 76px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  z-index: 20;
  width: 100%;
  color: var(--ink);
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(10,143,74,.12);
  box-shadow: 0 5px 24px rgba(14,32,27,.06);
}
.brand { display: flex; align-items: center; }
.brand img { display: block; width: 176px; height: auto; transition: transform .35s ease; }
.brand:hover img { transform: translateY(-2px); }
.desktop-nav { display: flex; gap: 34px; font-size: 14px; color: #4e5551; }
.desktop-nav a { transition: color .25s; }
.desktop-nav a:hover { color: var(--blue); }
.header-cta { border: 1px solid rgba(10,143,74,.35); border-radius: 999px; padding: 11px 18px; font-size: 13px; color: #087841; }
.header-cta span { margin-left: 14px; }
.menu-toggle { display: none; border: 0; background: none; padding: 8px; }
.menu-toggle span { display: block; width: 25px; height: 1px; margin: 6px; background: #087841; }

.hero {
  min-height: 780px;
  height: 100vh;
  max-height: 980px;
  padding: 150px clamp(24px, 7vw, 110px) 42px;
  background: #0e201b;
  color: white;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(105,197,120,.12) 44%, transparent 58%);
  transform: translateX(-85%);
  animation: heroBeam 5.5s ease-in-out 1 .4s;
  pointer-events: none;
}
.hero-glow { position: absolute; width: 640px; height: 640px; border-radius: 50%; background: radial-gradient(circle, rgba(60,147,109,.42), rgba(60,147,109,.16) 38%, transparent 68%); opacity: .7; right: 4%; top: 11%; }
.hero-content { position: relative; z-index: 2; max-width: 680px; }
.eyebrow, .section-index { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow { color: rgba(255,255,255,.58); display: flex; align-items: center; gap: 10px; }
.eyebrow span { width: 28px; height: 1px; background: var(--orange); }
h1 { font-size: clamp(70px, 8.3vw, 138px); line-height: .9; letter-spacing: 0; margin: 34px 0 32px; font-weight: 800; }
h1 em { color: var(--orange); font-style: normal; }
.hero-copy { max-width: 510px; font-size: 16px; line-height: 1.9; color: rgba(255,255,255,.62); }
.hero-actions { display: flex; align-items: center; gap: 36px; margin-top: 44px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 45px; padding: 17px 22px; border-radius: 3px; font-size: 14px; font-weight: 700; transition: transform .25s, background .25s, box-shadow .25s; }
.button span { transition: transform .25s ease; }
.button:hover { transform: translateY(-3px); box-shadow: 0 16px 35px rgba(10,143,74,.22); }
.button:hover span { transform: translateX(4px); }
.button-primary { background: var(--blue); color: white; }
.text-link { font-size: 13px; color: rgba(255,255,255,.8); padding-bottom: 6px; border-bottom: 1px solid currentColor; transition: color .25s ease, letter-spacing .25s ease; }
.text-link:hover { letter-spacing: .03em; }
.text-link span { margin-left: 12px; }
.text-link.dark { color: var(--ink); }
.hero-visual { position: relative; z-index: 1; height: 550px; }
.core { width: 310px; height: 310px; border-radius: 50%; position: absolute; left: 50%; top: 48%; transform: translate(-50%,-50%); display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle at 35% 28%, #62a985, #1d6e52 55%, #0b3528); box-shadow: 0 0 90px rgba(58,137,101,.28), inset -25px -35px 55px rgba(2,20,14,.55); overflow: hidden; }
.core::before { content:""; position:absolute; inset:14px; border:1px solid rgba(255,255,255,.15); border-radius:50%; }
.core::after { content:""; position:absolute; inset:-35%; background:linear-gradient(120deg, transparent 35%, rgba(255,255,255,.22), transparent 62%); transform:translateX(-70%) rotate(8deg); animation: coreSweep 4.8s ease-in-out 1 1s; }
.core strong { font-size: 88px; font-weight: 400; line-height: .9; position: relative; z-index: 1; }
.core-label,.core-caption { font-size: 9px; letter-spacing: .28em; color: rgba(255,255,255,.55); position: relative; z-index: 1; }
.orbit { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.11); left: 50%; top: 48%; transform: translate(-50%,-50%) rotate(-18deg); }
.orbit::after { content:""; position:absolute; left:50%; top:-4px; width:8px; height:8px; border-radius:50%; background:#69c578; box-shadow:0 0 18px rgba(105,197,120,.9), 0 0 35px rgba(0,145,255,.25); }
.orbit-one { width: 510px; height: 340px; animation: orbitOne 24s linear infinite; }
.orbit-two { width: 600px; height: 440px; transform: translate(-50%,-50%) rotate(28deg); animation: orbitTwo 32s linear infinite reverse; }
.float-card { position: absolute; background: rgba(17,21,29,.86); border: 1px solid rgba(255,255,255,.14); width: 120px; padding: 15px; display: grid; grid-template-columns: 1fr auto; gap: 8px; box-shadow: 0 16px 40px rgba(0,0,0,.2); animation: float 7s ease-in-out infinite; overflow: hidden; }
.float-card::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg, transparent, rgba(105,197,120,.18), transparent); transform:translateX(-100%); animation: cardScan 5.5s ease-in-out 1 1.4s; pointer-events:none; }
.float-card span,.float-card small { font-size: 8px; color: rgba(255,255,255,.42); }
.float-card b { grid-column: 1 / -1; font-size: 15px; }
.float-card small { grid-column: 1 / -1; letter-spacing: .12em; }
.card-strategy { top: 9%; left: 7%; }
.card-design { top: 22%; right: 2%; animation-delay: -1.5s; }
.card-tech { bottom: 8%; left: 18%; animation-delay: -3s; }
@keyframes float { 50% { transform: translateY(-10px); } }
@keyframes gridDrift { to { background-position: 70px 70px, 70px 70px; } }
@keyframes heroBeam {
  0%, 44% { transform: translateX(-85%); opacity: 0; }
  58% { opacity: .75; }
  100% { transform: translateX(85%); opacity: 0; }
}
@keyframes glowDrift { to { transform: translate3d(-42px, 28px, 0) scale(1.08); opacity: .28; } }
@keyframes corePulse { 50% { box-shadow: 0 0 130px rgba(58,137,101,.48), inset -25px -35px 55px rgba(2,20,14,.55); } }
@keyframes coreSweep {
  0%, 35% { transform: translateX(-85%) rotate(8deg); opacity: 0; }
  55% { opacity: .75; }
  100% { transform: translateX(85%) rotate(8deg); opacity: 0; }
}
@keyframes orbitOne { to { transform: translate(-50%,-50%) rotate(342deg); } }
@keyframes orbitTwo { to { transform: translate(-50%,-50%) rotate(388deg); } }
@keyframes cardScan {
  0%, 55% { transform: translateX(-100%); opacity: 0; }
  70% { opacity: 1; }
  100% { transform: translateX(100%); opacity: 0; }
}
.hero-foot { position: absolute; left: clamp(24px, 7vw, 110px); right: clamp(24px, 7vw, 110px); bottom: 34px; z-index: 3; display: flex; gap: 64px; }
.hero-foot div { display:flex; align-items: baseline; gap: 9px; }
.hero-foot strong { font-size: 24px; }
.hero-foot span { font-size: 10px; color: rgba(255,255,255,.42); }

.client-strip { min-height: 120px; padding: 35px clamp(24px, 7vw, 110px); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; color: #7a7c80; }
.client-strip > span { font-size: 11px; }
.client-list { display: flex; align-items: center; gap: clamp(28px, 5vw, 78px); color: #9b9b99; }
.client-list b { font-size: 15px; letter-spacing: .05em; white-space: nowrap; transition: color .25s ease, transform .25s ease; }
.client-list b:hover { color: var(--blue); transform: translateY(-2px); }
.section,
.contact {
  content-visibility: auto;
  contain-intrinsic-size: 1px 720px;
}
.section { padding: 130px clamp(24px, 7vw, 110px); }
.section-heading { display: grid; grid-template-columns: 1.5fr .65fr; gap: 80px; align-items: end; margin-bottom: 72px; }
.section-index { color: var(--blue); margin: 0 0 26px; }
.section-heading h2, .about h2, .contact h2 { font-size: clamp(44px, 5.3vw, 78px); line-height: 1.08; letter-spacing: 0; margin: 0; font-weight: 800; }
.section-heading > p { font-size: 14px; line-height: 2; color: var(--muted); max-width: 420px; }
.service-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.service-card { display: block; min-height: 510px; padding: 26px; background: #ebe9e3; position: relative; overflow: hidden; isolation: isolate; contain: layout paint; transition: transform .3s, background .3s, box-shadow .3s; }
.service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(53,179,74,.18), transparent 34%);
  opacity: 0;
  transition: opacity .3s ease;
}
.service-card::after {
  content: "";
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #35b34a, #0091ff, transparent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}
.service-card:hover { transform: translateY(-8px); background: #fff; box-shadow: 0 24px 58px rgba(19,48,37,.12); }
.service-card:hover::before { opacity: 1; }
.service-card:hover::after { transform: scaleX(1); }
.service-card .card-number { font-size: 10px; color: #8a8d92; }
.service-icon { height: 135px; display: flex; align-items: center; font-size: 58px; font-weight: 300; transition: transform .35s ease, color .35s ease; }
.service-card:hover .service-icon { transform: translateX(8px) rotate(-4deg); color: var(--blue); }
.service-card h3 { font-size: 23px; margin: 12px 0 16px; }
.service-card p { font-size: 13px; color: var(--muted); line-height: 1.85; }
.service-card ul { list-style:none; padding:0; margin: 32px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.service-card li { font-size:10px; color:#71757b; border:1px solid currentColor; border-radius:999px; padding:6px 10px; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.service-card:hover li { color:#477061; border-color:rgba(53,179,74,.38); background:rgba(53,179,74,.07); }
.service-card > a, .service-card > .card-arrow { position:absolute; right:28px; bottom:26px; font-size: 22px; transition: transform .25s ease, color .25s ease; }
.service-card:hover > a, .service-card:hover > .card-arrow { transform: translate(4px, -4px); color: var(--blue); }

.delivery { background: #12271f; color: white; position: relative; overflow: hidden; }
.delivery::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 20%, rgba(53,179,74,.16), transparent 28%),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: auto, 82px 82px, 82px 82px;
  opacity: .75;
  pointer-events: none;
}
.delivery > * { position: relative; z-index: 1; }
.delivery .section-index { color: #69c578; }
.delivery .section-heading > p { color: rgba(255,255,255,.62); }
.delivery-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 14px;
  padding: 38px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
  position: relative;
  overflow: hidden;
}
.delivery-flow::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 34%;
  background: linear-gradient(90deg, transparent, rgba(105,197,120,.18), transparent);
  transform: translateX(-130%);
  opacity: 0;
}
.delivery-flow.revealed::after { animation: flowScan 4.8s ease-in-out 1 .25s; }
.delivery-flow > * { position: relative; z-index: 1; }
.delivery-flow > i {
  display: flex;
  align-items: center;
  color: #69c578;
  font-style: normal;
  font-size: 18px;
}
.delivery-flow:hover > i { animation: arrowPulse 1.2s ease-in-out infinite; }
.flow-step { min-height: 155px; display: flex; flex-direction: column; position: relative; padding: 2px; border-radius: 2px; transition: transform .28s ease, background .28s ease; }
.flow-step::before {
  content: "";
  position: absolute;
  inset: -10px;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(105,197,120,.2), transparent 42%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.flow-step:hover { transform: translateY(-4px); background: rgba(255,255,255,.035); }
.flow-step:hover::before { opacity: 1; }
.flow-step span { color: #69c578; font-size: 10px; letter-spacing: .16em; }
.flow-step strong { margin-top: auto; font-size: 18px; }
.flow-step small { margin-top: 12px; color: rgba(255,255,255,.48); font-size: 10px; line-height: 1.7; }
.delivery-roles { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.delivery-roles article { padding: 42px; background: #f3f2ea; color: var(--ink); position: relative; overflow: hidden; isolation: isolate; transition: transform .3s ease, box-shadow .3s ease; }
.delivery-roles article::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(0,145,255,.12), transparent 36%);
  opacity: 0;
  transition: opacity .3s ease;
}
.delivery-roles article:last-child { background: #e5eee8; }
.delivery-roles article:hover { transform: translateY(-6px); box-shadow: 0 24px 55px rgba(0,0,0,.18); }
.delivery-roles article:hover::before { opacity: 1; }
.delivery-roles article > span { color: var(--blue); font-size: 9px; font-weight: 700; letter-spacing: .15em; }
.delivery-roles h3 { margin: 22px 0 14px; font-size: 30px; }
.delivery-roles p { max-width: 570px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.delivery-roles ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 30px 0 0; }
.delivery-roles li { border: 1px solid rgba(31,118,88,.35); border-radius: 99px; padding: 7px 12px; color: #477061; font-size: 10px; }
@keyframes flowScan {
  0%, 42% { transform: translateX(-130%); opacity: 0; }
  58% { opacity: 1; }
  100% { transform: translateX(360%); opacity: 0; }
}
@keyframes arrowPulse { 50% { transform: translateX(4px); color: #9fe4aa; } }
@keyframes arrowPulseDown { 50% { transform: rotate(90deg) translateX(4px); color: #9fe4aa; } }

.case-page-hero {
  min-height: 720px;
  padding: 150px clamp(24px, 7vw, 110px) 70px;
  background: #0e201b;
  color: white;
  position: relative;
  overflow: hidden;
}
.case-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: linear-gradient(to bottom, black, transparent 92%);
}
.case-page-hero::after {
  content: "";
  position: absolute;
  inset: auto -12% -24% -12%;
  height: 44%;
  background: repeating-linear-gradient(135deg, transparent 0 38px, rgba(255,255,255,.08) 38px 40px);
  opacity: .52;
}
.case-hero-glow {
  position: absolute;
  right: -130px;
  top: 80px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(53,179,74,.42), rgba(0,145,255,.12) 42%, transparent 70%);
}
.case-crumb {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 10px;
  align-items: center;
  color: rgba(255,255,255,.52);
  font-size: 12px;
  margin-bottom: 72px;
}
.case-crumb a { color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.3); padding-bottom: 4px; }
.case-hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.1fr .72fr;
  gap: 70px;
  align-items: end;
}
.case-page-hero h1 { font-size: clamp(54px, 7vw, 112px); margin-bottom: 0; }
.case-page-hero h1 em { color: var(--orange); font-style: normal; }
.case-hero-copy {
  max-width: 560px;
  color: rgba(255,255,255,.68);
  font-size: 16px;
  line-height: 2;
}
.case-hero-tags {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 60px;
}
.case-hero-tags span {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.72);
  padding: 10px 14px;
  font-size: 11px;
  font-weight: 700;
}
.case-detail { padding-top: 90px; }
.research-hero .case-hero-glow {
  background: radial-gradient(circle, rgba(105,197,120,.4), rgba(217,164,65,.12) 42%, transparent 70%);
}
.data-hero .case-hero-glow {
  background: radial-gradient(circle, rgba(0,145,255,.26), rgba(53,179,74,.32) 44%, transparent 70%);
}
.resource-hero .case-hero-glow {
  background: radial-gradient(circle, rgba(53,179,74,.34), rgba(0,145,255,.18) 44%, transparent 70%);
}
.research-detail {
  background:
    radial-gradient(circle at 12% 10%, rgba(217,164,65,.12), transparent 28%),
    linear-gradient(180deg, #f5f7ef 0%, #ffffff 56%, #f3f2ea 100%);
}
.data-detail {
  background:
    radial-gradient(circle at 86% 8%, rgba(0,145,255,.11), transparent 28%),
    linear-gradient(180deg, #f2f7f0 0%, #ffffff 56%, #f3f2ea 100%);
}
.resource-detail {
  background:
    radial-gradient(circle at 86% 8%, rgba(53,179,74,.14), transparent 28%),
    radial-gradient(circle at 10% 8%, rgba(0,145,255,.08), transparent 26%),
    linear-gradient(180deg, #f4f7ef 0%, #ffffff 56%, #f3f2ea 100%);
}
.service-card h3 a { display: inline-block; transition: color .25s ease; }
.service-card h3 a:hover { color: var(--blue); }

.featured-case {
  background:
    radial-gradient(circle at 84% 8%, rgba(53,179,74,.16), transparent 30%),
    linear-gradient(180deg, #f3f6ef 0%, #ffffff 56%, #f3f2ea 100%);
  position: relative;
  overflow: hidden;
}
.featured-case::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(10,143,74,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10,143,74,.045) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}
.featured-case > * { position: relative; z-index: 1; }
.featured-tags { display: flex; flex-wrap: wrap; gap: 10px; margin: -36px 0 34px; }
.featured-tags span {
  border: 1px solid rgba(31,118,88,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: #315f4f;
  padding: 9px 14px;
  font-size: 11px;
  font-weight: 700;
}
.featured-layout { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; align-items: stretch; }
.featured-visual {
  min-height: 540px;
  background: linear-gradient(135deg, #0a8f4a, #071b17 58%, #0052a3);
  color: white;
  position: relative;
  overflow: hidden;
  padding: 38px;
  box-shadow: 0 30px 90px rgba(11,35,25,.18);
}
.featured-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 26% 18%, rgba(105,197,120,.38), transparent 30%),
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: auto, 56px 56px, 56px 56px;
  opacity: .75;
}
.field-lines {
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -8%;
  height: 42%;
  background: repeating-linear-gradient(135deg, transparent 0 34px, rgba(255,255,255,.13) 34px 36px);
  opacity: .55;
}
.featured-screen {
  position: relative;
  z-index: 1;
  width: min(520px, 86%);
  margin-top: 120px;
  border: 7px solid rgba(255,255,255,.12);
  border-radius: 16px;
  background: rgba(5,10,15,.72);
  box-shadow: 0 30px 70px rgba(0,0,0,.28);
  transform: perspective(1100px) rotateY(-6deg) rotateX(3deg);
  transition: transform .45s ease;
}
.featured-visual:hover .featured-screen { transform: perspective(1100px) rotateY(-2deg) rotateX(1deg) translateY(-8px); }
.screen-bar { height: 26px; background: rgba(255,255,255,.08); display: flex; align-items: center; gap: 6px; padding: 0 10px; }
.screen-bar i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.42); }
.screen-body { min-height: 250px; padding: 42px; background: radial-gradient(circle at 78% 32%, rgba(53,179,74,.36), transparent 34%); }
.screen-body span, .case-kicker {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .22em;
  color: #69c578;
}
.screen-body strong { display: block; margin-top: 18px; font-size: clamp(36px, 5vw, 70px); line-height: 1.02; letter-spacing: -.06em; }
.screen-body p { margin: 24px 0 0; color: rgba(255,255,255,.56); font-size: 10px; letter-spacing: .2em; }
.data-node {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(7,27,23,.76);
  color: rgba(255,255,255,.78);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  padding: 13px 15px;
  font-size: 11px;
  transition: transform .35s ease, background .35s ease;
}
.featured-visual:hover .data-node { background: rgba(10,143,74,.82); }
.node-one { top: 52px; left: 52px; }
.node-two { top: 88px; right: 64px; }
.node-three { right: 76px; bottom: 74px; }
.featured-visual:hover .node-one { transform: translateY(-5px); }
.featured-visual:hover .node-two { transform: translateX(-6px); }
.featured-visual:hover .node-three { transform: translateY(5px); }
.research-visual { background: linear-gradient(135deg, #0a8f4a, #10251d 60%, #6f7a2e); }
.research-stack {
  position: relative;
  z-index: 1;
  width: min(520px, 90%);
  min-height: 410px;
  margin: 82px auto 0;
}
.research-paper {
  position: absolute;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.92);
  color: #10251d;
  box-shadow: 0 28px 65px rgba(0,0,0,.22);
  transition: transform .45s ease;
}
.research-paper span {
  display: block;
  color: #0a8f4a;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .22em;
  margin-bottom: 18px;
}
.research-paper strong { display: block; font-size: 18px; line-height: 1.35; }
.research-paper i { display: block; height: 9px; border-radius: 99px; background: rgba(10,143,74,.12); margin-top: 12px; }
.paper-back {
  width: 54%;
  height: 58%;
  right: 0;
  top: 0;
  padding: 24px;
  transform: rotate(8deg);
  opacity: .72;
}
.paper-mid {
  width: 58%;
  height: 64%;
  left: 6%;
  top: 42px;
  padding: 28px;
  transform: rotate(-6deg);
  opacity: .88;
}
.paper-front {
  width: 70%;
  min-height: 245px;
  left: 16%;
  bottom: 0;
  padding: 34px;
  transform: rotate(-1deg);
}
.paper-front strong { font-size: clamp(28px, 4vw, 46px); line-height: 1.05; letter-spacing: -.05em; }
.paper-front p { color: #647067; font-size: 11px; line-height: 1.8; margin: 24px 0 0; }
.research-visual:hover .paper-back { transform: rotate(10deg) translate(8px, -8px); }
.research-visual:hover .paper-mid { transform: rotate(-8deg) translate(-8px, -4px); }
.research-visual:hover .paper-front { transform: rotate(0deg) translateY(-10px); }
.research-theme-card .support-list b { min-height: 74px; }
.data-visual { background: linear-gradient(135deg, #0a8f4a, #08231c 58%, #0052a3); }
.data-table-panel {
  position: relative;
  z-index: 1;
  width: min(600px, 92%);
  margin: 128px auto 0;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(3,16,14,.64);
  box-shadow: 0 28px 70px rgba(0,0,0,.24);
  overflow: hidden;
  transform: perspective(1100px) rotateY(-5deg) rotateX(3deg);
  transition: transform .45s ease;
}
.data-visual:hover .data-table-panel { transform: perspective(1100px) rotateY(-2deg) rotateX(1deg) translateY(-8px); }
.table-head, .table-row { display: grid; grid-template-columns: repeat(4, 1fr); }
.table-head {
  background: rgba(255,255,255,.08);
  color: #9fe4aa;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.table-head span, .table-row span { padding: 16px 14px; border-right: 1px solid rgba(255,255,255,.08); }
.table-head span:last-child, .table-row span:last-child { border-right: 0; }
.table-row {
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.72);
  font-size: 13px;
}
.field-card {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(7,27,23,.78);
  color: white;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  padding: 15px 17px;
  transition: transform .35s ease, background .35s ease;
}
.field-card span {
  display: block;
  color: rgba(255,255,255,.42);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .18em;
  margin-bottom: 8px;
}
.field-card b { font-size: 14px; }
.field-card-one { top: 58px; left: 58px; }
.field-card-two { top: 86px; right: 66px; }
.field-card-three { right: 80px; bottom: 76px; }
.data-visual:hover .field-card { background: rgba(0,82,163,.82); }
.data-visual:hover .field-card-one { transform: translateY(-5px); }
.data-visual:hover .field-card-two { transform: translateX(-6px); }
.data-visual:hover .field-card-three { transform: translateY(5px); }
.resource-visual { background: linear-gradient(135deg, #0a8f4a, #071b17 58%, #0052a3); }
.resource-map {
  position: relative;
  z-index: 1;
  width: min(620px, 94%);
  height: 410px;
  margin: 74px auto 0;
}
.resource-line {
  position: absolute;
  background: linear-gradient(90deg, transparent, rgba(159,228,170,.52), transparent);
}
.line-horizontal { left: 12%; right: 12%; top: 50%; height: 1px; }
.line-vertical { left: 50%; top: 9%; bottom: 14%; width: 1px; background: linear-gradient(180deg, transparent, rgba(159,228,170,.46), transparent); }
.resource-hub {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 138px;
  height: 138px;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.7;
  font-weight: 800;
  border: 1px solid rgba(255,255,255,.18);
  background: radial-gradient(circle at 35% 25%, rgba(105,197,120,.34), rgba(5,20,16,.74));
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.resource-node {
  position: absolute;
  min-width: 112px;
  text-align: center;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(7,27,23,.78);
  color: rgba(255,255,255,.78);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  padding: 14px 16px;
  font-size: 12px;
  transition: transform .35s ease, background .35s ease;
}
.resource-node-top { top: 0; left: 50%; transform: translateX(-50%); }
.resource-node-left { left: 0; top: 34%; }
.resource-node-right { right: 0; top: 34%; }
.resource-node-bottom-left { left: 14%; bottom: 4px; }
.resource-node-bottom-right { right: 14%; bottom: 4px; }
.resource-visual:hover .resource-node { background: rgba(10,143,74,.82); }
.resource-visual:hover .resource-node-top { transform: translateX(-50%) translateY(-6px); }
.resource-visual:hover .resource-node-left { transform: translateX(-6px); }
.resource-visual:hover .resource-node-right { transform: translateX(6px); }
.resource-visual:hover .resource-node-bottom-left { transform: translateY(6px); }
.resource-visual:hover .resource-node-bottom-right { transform: translateY(6px); }
.featured-card {
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(31,118,88,.12);
  padding: 34px;
  box-shadow: 0 18px 55px rgba(15,54,37,.08);
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.featured-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(53,179,74,.13), transparent 38%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.featured-card:hover { transform: translateY(-5px); box-shadow: 0 24px 65px rgba(15,54,37,.12); background: #fff; }
.featured-card:hover::before { opacity: 1; }
.featured-card > * { position: relative; z-index: 1; }
.featured-summary { display: flex; flex-direction: column; justify-content: center; }
.featured-card span { display: block; margin-bottom: 20px; color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .18em; }
.featured-card h3, .featured-cta h3 { margin: 0 0 18px; font-size: clamp(24px, 2.8vw, 36px); line-height: 1.2; }
.featured-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.95; }
.featured-card ul, .featured-card ol { margin: 28px 0 0; padding: 0; list-style: none; display: grid; gap: 13px; }
.featured-card li { color: var(--muted); font-size: 13px; line-height: 1.8; display: flex; gap: 10px; }
.featured-card li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #35b34a;
  flex: 0 0 auto;
  margin-top: .68em;
}
.featured-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.support-card { background: #12271f; color: white; }
.support-card h3, .support-card span { color: white; }
.support-card li, .support-card p { color: rgba(255,255,255,.68); }
.support-list, .customer-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.support-list b {
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.78);
  padding: 16px;
  font-size: 12px;
  line-height: 1.7;
  font-weight: 500;
}
.customer-card { grid-column: span 1; }
.customer-values p {
  background: rgba(53,179,74,.08);
  padding: 16px;
  color: #4f635a;
  font-size: 13px;
  line-height: 1.8;
}
.featured-cta {
  margin-top: 28px;
  background: #0e201b;
  color: white;
  padding: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 45px;
  position: relative;
  overflow: hidden;
}
.featured-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 92% 22%, rgba(53,179,74,.25), transparent 28%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
}
.featured-cta > * { position: relative; z-index: 1; }
.featured-cta h3 { color: white; }
.featured-cta p:not(.case-kicker) { margin: 0; max-width: 760px; color: rgba(255,255,255,.62); font-size: 14px; line-height: 1.9; }
.featured-cta .button { flex: 0 0 auto; margin: 0; }

.cases { background: #fff; }
.section-heading.compact { grid-template-columns: 1fr auto; }
.case-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 70px 18px; }
.case-main { grid-column: 1 / -1; }
.case-card { transition: transform .3s ease; }
.case-card:hover { transform: translateY(-5px); }
.case-art { height: 450px; position:relative; overflow:hidden; contain: layout paint; transition: box-shadow .3s ease; }
.case-art::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.24), transparent 34%);
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.case-card:hover .case-art { box-shadow: 0 28px 65px rgba(20,48,37,.16); }
.case-card:hover .case-art::after { opacity: 1; }
.case-main .case-art { height: 620px; }
.art-one { background: linear-gradient(135deg,#b9d4c2,#407d64); display:flex; align-items:center; justify-content:center; }
.mock-browser { width: 74%; height: 68%; background:#0b0c11; border:7px solid #272831; border-radius:10px; box-shadow:0 28px 55px rgba(18,30,82,.32); transform:perspective(1200px) rotateY(-7deg) rotateX(3deg); transition: transform .45s ease; }
.case-card:hover .mock-browser { transform:perspective(1200px) rotateY(-3deg) rotateX(1deg) translateY(-8px); }
.browser-bar { height:22px; display:flex; gap:5px; align-items:center; padding:0 9px; background:#24252c; }
.browser-bar i { width:5px;height:5px;background:#777;border-radius:50%; }
.browser-content { height:calc(100% - 22px); padding:8%; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 73% 45%,#276b51,transparent 30%); position: relative; overflow: hidden; }
.browser-content::after { content:""; position:absolute; left:0; right:0; top:28%; height:1px; background:linear-gradient(90deg, transparent, rgba(105,197,120,.75), transparent); opacity:0; }
.case-card:hover .browser-content::after { animation: dataLine 2.2s ease-in-out infinite; }
.browser-content span { font-size:12px; letter-spacing:.3em; color:#79b797; }
.browser-content strong { color:white; font-size:clamp(46px,7vw,100px); line-height:1; letter-spacing:-.08em; }
.browser-content button { width:max-content; background:#2b7d5e;color:white;border:0;padding:10px 15px;margin-top:22px;font-size:8px; }
.art-two { background:#d7bf73; display:flex; align-items:flex-end; justify-content:center; }
.phone { width:190px;height:365px;background:#13151a;border:7px solid #26282d;border-radius:35px;transform:rotate(7deg) translateY(30px);box-shadow:0 22px 42px rgba(83,63,0,.26);position:relative;z-index:2;padding:8px; transition: transform .45s ease; }
.case-card:hover .phone { transform:rotate(3deg) translateY(12px); }
.phone-screen { height:100%;border-radius:24px;background:#f8f6ee;padding:35px 15px;color:#111;display:flex;flex-direction:column;gap:17px; }
.phone-screen span{font-size:8px}.phone-screen b{font-size:26px}.phone-screen i{display:block;height:55px;background:#e7e3d8;border-radius:10px}.case-card:hover .phone-screen i{animation: dataPulse 2.4s ease-in-out infinite}.phone-screen i:nth-child(4){height:80px;background:#181a20;animation-delay:.35s}.phone-screen i:nth-child(5){height:38px;animation-delay:.7s}
.shape{position:absolute;border-radius:50%;background:#eee4b6;transition:transform .45s ease}.shape-a{width:280px;height:280px;left:-90px;top:-70px}.shape-b{width:140px;height:140px;right:30px;top:40px;background:#9d8130}
.case-card:hover .shape-a{transform:translate(12px,8px) scale(1.03)}.case-card:hover .shape-b{transform:translate(-10px,6px) scale(1.04)}
.art-three{background:#d8dfcc;display:flex;align-items:center;justify-content:center}
.brand-poster{width:58%;height:72%;background:#f5f0e4;box-shadow:0 25px 50px rgba(31,57,28,.2);padding:30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;transition: transform .45s ease}
.case-card:hover .brand-poster{transform:rotate(-1.5deg) translateY(-8px)}
.brand-poster::after{content:"";width:160px;height:160px;border-radius:50% 50% 45% 55%;background:#24472d;position:absolute;right:-35px;top:60px;transition:transform .45s ease,border-radius .45s ease}
.case-card:hover .brand-poster::after{transform:translate(-8px,5px) scale(1.06);border-radius:55% 45% 50% 50%}
.brand-poster span{font-size:25px}.brand-poster strong{font-family:var(--font-serif);font-size:30px;line-height:1.5;z-index:2}
.case-meta { display:flex; justify-content:space-between; align-items:end; padding-top:20px; }
.case-meta span,.case-meta b { font-size:10px;color:#8a8e94;font-weight:500; }
.case-meta h3 { font-size:22px;margin:8px 0 0; }
@keyframes deviceFloat { 50% { transform:perspective(1200px) rotateY(-7deg) rotateX(3deg) translateY(-10px); } }
@keyframes phoneFloat { 50% { transform:rotate(7deg) translateY(18px); } }
@keyframes dataLine {
  0% { transform: translateY(-40px); opacity: 0; }
  45% { opacity: 1; }
  100% { transform: translateY(130px); opacity: 0; }
}
@keyframes dataPulse { 50% { opacity: .62; transform: scaleX(.94); } }
@keyframes shapeDrift { 50% { transform: translate(16px, 10px) scale(1.04); } }
@keyframes organicPulse { 50% { transform: translate(-8px, 5px) scale(1.06); border-radius:55% 45% 50% 50%; } }

.about { background: var(--paper); }
.about-quote h2 { max-width:1050px; }
.about-quote h2 em { color:var(--blue);font-style:normal; }
.about-body { margin-top:90px;padding-top:55px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center; }
.about-shape { width:280px;height:180px;position:relative;display:flex;align-items:center;justify-content:center; }
.about-shape::before,.about-shape::after { content:"";position:absolute;width:165px;height:165px;border-radius:50%;background:var(--blue);opacity:.9; }
.about-shape::before{left:0;transition:transform .45s ease}.about-shape::after{right:0;mix-blend-mode:multiply;background:var(--orange);transition:transform .45s ease}
.about-body:hover .about-shape::before{transform:translateX(12px) scale(1.04)}.about-body:hover .about-shape::after{transform:translateX(-12px) scale(1.04)}
.about-shape span { color:white;z-index:2;font-weight:800;font-size:28px;letter-spacing:.2em; }
.about-body p { color:var(--muted);font-size:14px;line-height:2;margin:0 0 22px; }
.about-body .text-link { display:inline-block;margin-top:18px; }
.brand-values {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 32px 0 6px;
}
.brand-values div {
  border: 1px solid rgba(31,118,88,.15);
  background: rgba(255,255,255,.48);
  padding: 18px;
  transition: transform .28s ease, background .28s ease, border-color .28s ease;
}
.brand-values div:hover {
  transform: translateY(-4px);
  background: #fff;
  border-color: rgba(31,118,88,.28);
}
.brand-values strong {
  display: block;
  color: var(--blue);
  font-size: 18px;
  margin-bottom: 9px;
}
.brand-values span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
}

.contact { background:#0e201b;color:white;padding:130px clamp(24px, 7vw, 110px);position:relative;overflow:hidden; }
.contact::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size:76px 76px; opacity:.45; }
.contact-orb { position:absolute;width:550px;height:550px;border-radius:50%;right:-100px;top:-140px;background:radial-gradient(circle at 30% 30%,#72b091,#204f3c 60%,#0c1d18);opacity:.75; }
.contact .section-index,.contact h2,.contact > p,.contact .button { position:relative;z-index:2; }
.section-index.light { color:rgba(255,255,255,.45); }
.contact h2 { font-size:clamp(58px,8vw,112px);margin:25px 0 30px; }
.contact h2 em { color:var(--orange);font-style:normal; }
.contact > p { color:rgba(255,255,255,.55);font-size:14px; }
.button-light { background:#fff;color:#111;margin-top:35px;min-width:270px; }
footer { background:#fff;color:#6b716e;border-top:1px solid rgba(10,143,74,.12);padding:35px clamp(24px, 7vw, 110px);display:flex;justify-content:space-between;align-items:center;font-size:10px; }
.footer-brand img { width: 168px; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .5s cubic-bezier(.2,.7,.2,1), transform .5s cubic-bezier(.2,.7,.2,1); transition-delay: var(--reveal-delay, 0ms); }
.reveal.revealed { opacity: 1; transform: translateY(0); }
@keyframes overlapLeft { 50% { transform: translateX(12px) scale(1.04); } }
@keyframes overlapRight { 50% { transform: translateX(-12px) scale(1.04); } }
@keyframes contactOrb { to { transform: translate(-42px, 38px) scale(1.08); } }

@media (max-width: 1180px) and (min-width: 901px) {
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card { min-height: 430px; }
}
@media (max-width: 900px) {
  .desktop-nav,.header-cta{display:none}.menu-toggle{display:block}
  .site-header.menu-open .desktop-nav{display:flex;position:absolute;top:74px;left:20px;right:20px;flex-direction:column;background:#fff;padding:25px;gap:20px;border:1px solid rgba(10,143,74,.15);border-radius:8px;box-shadow:0 18px 45px rgba(14,32,27,.15)}
  .hero{height:auto;min-height:900px;grid-template-columns:1fr;padding-top:140px;align-content:start}
  .hero-content{z-index:3}.hero-visual{height:390px;margin-top:15px}.core{width:220px;height:220px}.core strong{font-size:62px}.orbit-one{width:370px;height:240px}.orbit-two{width:430px;height:310px}
  .float-card{width:100px;padding:10px}.hero-foot{gap:22px;justify-content:space-between}.hero-foot div{display:grid;gap:2px}
  .client-strip{overflow:hidden}.client-strip>span{display:none}.client-list{width:100%;justify-content:space-between;gap:15px}.client-list b:nth-child(n+4){display:none}
  .section{padding-top:90px;padding-bottom:90px}.section-heading{grid-template-columns:1fr;gap:25px}.section-heading>p{margin:0}
  .service-grid{grid-template-columns:1fr}.service-card{min-height:390px}
  .delivery-flow{grid-template-columns:1fr;padding:25px}.delivery-flow>i{transform:rotate(90deg);justify-content:center;animation:none}.delivery-flow:hover>i{animation:arrowPulseDown 1.2s ease-in-out infinite}.flow-step{min-height:110px}.delivery-roles{grid-template-columns:1fr}
  .case-page-hero{min-height:auto;padding-top:135px}.case-crumb{margin-bottom:50px}.case-hero-inner{grid-template-columns:1fr;gap:28px}.case-hero-copy{max-width:none}.case-hero-tags{margin-top:42px}
  .featured-tags{margin-top:-20px}.featured-layout,.featured-detail-grid{grid-template-columns:1fr}.featured-visual{min-height:470px}.featured-screen{width:92%;margin-top:115px}.featured-cta{align-items:flex-start;flex-direction:column}.featured-cta .button{width:100%}
  .research-stack{min-height:360px;margin-top:72px}.paper-front{left:10%;width:78%}.paper-mid{left:0;width:64%}.paper-back{width:60%}
  .data-table-panel{width:96%;margin-top:124px;transform:none}.field-card-one{left:34px;top:40px}.field-card-two{right:34px;top:78px}.field-card-three{right:42px;bottom:46px}
  .resource-map{width:100%;height:370px;margin-top:70px}.resource-node{min-width:98px}.resource-node-left{left:0}.resource-node-right{right:0}.resource-node-bottom-left{left:8%}.resource-node-bottom-right{right:8%}
  .case-main .case-art,.case-art{height:420px}.case-grid{grid-template-columns:1fr;gap:55px}.case-main{grid-column:auto}.mock-browser{width:88%;height:65%}
  .about-body{grid-template-columns:1fr;gap:45px}.about-shape{margin:auto}
  .brand-values{grid-template-columns:1fr}
}
@media (max-width: 560px) {
  .site-header{height:72px;padding-inline:20px}.brand img{width:150px}
  .hero{padding:125px 20px 110px;min-height:830px}h1{font-size:64px}.hero-copy{font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}
  .hero-visual{height:300px}.core{width:170px;height:170px}.core strong{font-size:48px}.orbit-one{width:300px;height:190px}.orbit-two{width:330px;height:240px}.card-strategy{left:0}.card-design{right:0}.card-tech{display:none}
  .hero-foot{bottom:25px;left:20px;right:20px}.hero-foot strong{font-size:19px}.hero-foot span{font-size:8px}
  .section{padding:75px 20px}.section-heading h2,.about h2{font-size:42px}.section-heading{margin-bottom:45px}
  .delivery-roles article{padding:30px}
  .case-page-hero{padding:118px 20px 64px}.case-page-hero h1{font-size:48px}.case-hero-copy{font-size:14px}.case-hero-tags span{font-size:10px;padding:8px 10px}
  .featured-tags{gap:8px;margin-bottom:26px}.featured-tags span{font-size:10px;padding:8px 11px}.featured-visual{min-height:430px;padding:24px}.featured-screen{width:100%;margin-top:104px;border-width:5px;transform:none}.screen-body{min-height:220px;padding:28px}.screen-body strong{font-size:34px}.data-node{font-size:10px;padding:10px 12px}.node-one{left:24px;top:28px}.node-two{right:22px;top:72px}.node-three{right:28px;bottom:38px}.featured-card{padding:26px}.support-list,.customer-values{grid-template-columns:1fr}.featured-cta{padding:28px}.featured-cta h3{font-size:26px}
  .research-stack{width:100%;min-height:335px;margin-top:82px}.research-paper{padding:20px}.paper-front{min-height:215px}.paper-front strong{font-size:30px}.paper-mid{height:58%}.paper-back{height:52%}
  .data-table-panel{margin-top:112px}.table-head,.table-row{grid-template-columns:1fr 1fr}.table-head span,.table-row span{padding:11px 10px;font-size:10px}.field-card{font-size:10px;padding:10px 12px}.field-card-one{left:24px;top:28px}.field-card-two{right:22px;top:72px}.field-card-three{right:28px;bottom:38px}
  .resource-map{height:345px;margin-top:72px}.resource-hub{width:112px;height:112px;font-size:13px}.resource-node{min-width:86px;padding:10px 12px;font-size:10px}.resource-node-left{top:33%}.resource-node-right{top:33%}.resource-node-bottom-left{left:2%;bottom:10px}.resource-node-bottom-right{right:2%;bottom:10px}
  .case-main .case-art,.case-art{height:330px}.case-meta{align-items:start}.case-meta b{display:none}.brand-poster{width:70%;height:75%}
  .about-body{margin-top:55px;padding-top:40px}.about-shape{transform:scale(.8)}
  .contact{padding:90px 20px}.contact h2{font-size:58px}.contact-orb{width:380px;height:380px;opacity:.5}
  footer{padding:30px 20px;align-items:flex-start;gap:20px;flex-direction:column}
}
@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
