:root{--bg:#000;--panel:rgba(8,13,25,.78);--panel-strong:rgba(13,21,40,.92);--line:rgba(130,170,255,.18);--text:#f5f7ff;--muted:#aab3c9;--subtle:#6f7b94;--blue:#2f86ff;--cyan:#25d9ff;--violet:#8b70ff;--amber:#ffb84d;--shadow:0 24px 90px rgba(0,0,0,.82)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Noto Sans TC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 8%,rgba(47,134,255,.24),transparent 24%),radial-gradient(circle at 86% 16%,rgba(24,88,214,.16),transparent 30%),radial-gradient(circle at 58% 22%,rgba(37,217,255,.08),transparent 22%),radial-gradient(circle at 18% 24%,rgba(139,112,255,.08),transparent 28%),linear-gradient(180deg,rgba(2,7,20,.92) 0%,rgba(0,2,10,.98) 28%,#000 76%);z-index:-3}#flow-canvas{position:fixed;inset:0;width:100vw;height:100vh;opacity:.42;z-index:-2}.site-shell{width:min(1440px,100%);margin:0 auto}.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px clamp(20px,5vw,72px);background:linear-gradient(180deg,rgba(0,0,0,.88),rgba(0,0,0,.58) 72%,transparent);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:13px;color:var(--text);text-decoration:none}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(120,166,255,.58);transform:rotate(45deg);color:#9db9ff;font-weight:800;box-shadow:0 0 26px rgba(47,134,255,.25)}.brand strong{display:block;font-size:31px;line-height:1;letter-spacing:-.04em}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.nav-links{display:flex;gap:32px;align-items:center}.nav-links a,.nav-cta{color:var(--text);text-decoration:none;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.86}.nav-links a:hover{color:var(--cyan);opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.28);border-radius:6px;padding:12px 20px}.nav-cta:hover{border-color:var(--cyan);color:var(--cyan)}.section{padding:100px clamp(20px,5vw,72px);position:relative}.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:.86fr 1.14fr;gap:56px;align-items:center;padding-top:70px}.eyebrow{margin:0 0 20px;color:#7da0ff;text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(56px,7vw,116px);line-height:.94;letter-spacing:-.07em;margin-bottom:30px}h2{font-size:clamp(40px,5vw,78px);line-height:1.02;letter-spacing:-.055em;margin-bottom:28px}h3{font-size:22px;line-height:1.2;margin-bottom:8px}.lead{font-size:clamp(18px,1.5vw,23px);color:#eef3ff;max-width:640px}.zh{color:var(--muted);font-size:17px;max-width:680px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}.primary-btn,.ghost-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:7px;text-decoration:none;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.primary-btn{color:#fff;background:linear-gradient(135deg,#265dff,#1ecbff);box-shadow:0 16px 46px rgba(47,134,255,.28)}.ghost-btn{color:#fff;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.02)}.primary-btn:hover,.ghost-btn:hover{transform:translateY(-2px)}.hero-visual{min-width:0;position:relative;display:flex;align-items:center;justify-content:center}.hero-visual::before{content:"";position:absolute;inset:6% -4% 4% 8%;pointer-events:none;background:radial-gradient(circle at 52% 44%,rgba(63,124,255,.16),transparent 28%),radial-gradient(circle at 78% 16%,rgba(37,217,255,.09),transparent 24%),radial-gradient(circle at 58% 76%,rgba(47,134,255,.12),transparent 34%);filter:blur(18px);z-index:0}.hero-visual::after{content:"";position:absolute;inset:auto 8% 6% 16%;height:28%;pointer-events:none;background:radial-gradient(ellipse at center,rgba(47,134,255,.16),transparent 68%);filter:blur(18px);z-index:0}.simulation-card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(5,10,20,.78),rgba(7,15,28,.38));padding:22px;box-shadow:var(--shadow);overflow:hidden}.sim-topline{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:10px}.sim-topline strong{color:var(--cyan);font-weight:600}.sim-box{min-height:430px;display:grid;place-items:center}.sim-box svg{width:100%;height:auto;overflow:visible}.flow-line{stroke-dasharray:18 10;animation:dash 6s linear infinite}.particle-field circle{filter:drop-shadow(0 0 8px #27d6ff);animation:pulse 2.6s ease-in-out infinite alternate}.scale-bar{display:flex;align-items:center;gap:12px;color:var(--subtle);font-size:12px}.scale-bar span{width:160px;height:8px;border-radius:20px;background:linear-gradient(90deg,#ff8a00,#00d4ff,#6f7bff)}.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center;border-top:1px solid rgba(255,255,255,.08)}.section-copy p:not(.eyebrow){color:var(--muted);font-size:18px;max-width:650px}.pipeline{min-height:440px;position:relative;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 50% 50%,rgba(37,217,255,.13),transparent 34%),rgba(255,255,255,.02);overflow:hidden}.beam{position:absolute;inset:0;background:radial-gradient(circle at 20% 48%,rgba(255,184,77,.82),transparent 3%,transparent 5%),radial-gradient(circle at 55% 48%,rgba(37,217,255,.9),transparent 2%,transparent 5%),repeating-linear-gradient(15deg,transparent 0 16px,rgba(47,134,255,.07) 17px 18px)}.beam:before{content:"";position:absolute;left:18%;top:46%;width:68%;height:26px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.85),rgba(37,217,255,.65),transparent);filter:blur(10px);transform:perspective(500px) rotateY(12deg)}.pipeline-nodes{position:absolute;left:28px;right:28px;bottom:28px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.pipeline-nodes div{text-align:center;color:var(--text);border-left:1px solid rgba(255,255,255,.13)}.pipeline-nodes div:first-child{border-left:0}.pipeline-nodes span{display:block;font-size:28px;color:var(--cyan)}.pipeline-nodes strong{display:block;text-transform:uppercase;font-size:13px}.pipeline-nodes small{color:var(--muted)}.center-heading,.section-head{text-align:center;max-width:820px;margin:0 auto 58px}.section-head{text-align:left;margin-left:0}.center-heading p:not(.eyebrow),.section-head p{color:var(--muted);font-size:18px}.capabilities{border-top:1px solid rgba(255,255,255,.08)}.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.cap-card,.case-card,.contact-card,.note-list article,.culture-grid div,.step{border:1px solid var(--line);background:linear-gradient(180deg,rgba(9,17,32,.86),rgba(5,8,16,.76));border-radius:18px;box-shadow:0 18px 70px rgba(0,0,0,.42)}.cap-card{padding:26px;min-height:430px;display:flex;flex-direction:column}.cap-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;margin-bottom:22px;font-weight:900;font-size:22px;background:rgba(255,255,255,.05)}.blue{color:var(--blue)}.cyan{color:var(--cyan)}.violet{color:var(--violet)}.amber{color:var(--amber)}.cap-card h4{color:var(--muted);font-size:18px;margin:0 0 16px}.cap-card p{color:var(--muted);font-size:15px}.mini-chart{margin-top:auto;height:150px;border-radius:12px;border:1px solid rgba(255,255,255,.08);overflow:hidden;background:rgba(0,0,0,.35);position:relative}.heat-chart{background:radial-gradient(ellipse at 20% 90%,#ff8a00,transparent 20%),radial-gradient(ellipse at 60% 55%,#00d4ff,transparent 22%),linear-gradient(135deg,rgba(255,255,255,.02),rgba(47,134,255,.18))}.network-chart:before{content:"";position:absolute;inset:18px;background:radial-gradient(circle at 50% 50%,#25d9ff 0 4px,transparent 5px),radial-gradient(circle at 28% 35%,#2f86ff 0 4px,transparent 5px),radial-gradient(circle at 72% 30%,#8b70ff 0 4px,transparent 5px),radial-gradient(circle at 70% 72%,#25d9ff 0 4px,transparent 5px),radial-gradient(circle at 30% 75%,#2f86ff 0 4px,transparent 5px);border:1px dashed rgba(37,217,255,.35);border-radius:50%}.dashboard-chart{background:linear-gradient(160deg,rgba(37,217,255,.15),transparent),repeating-linear-gradient(90deg,transparent 0 28px,rgba(255,255,255,.05) 29px 30px)}.dashboard-chart:before{content:"";position:absolute;left:20px;right:20px;bottom:34px;height:70px;background:linear-gradient(135deg,transparent 8%,#2f86ff 9% 12%,transparent 13% 31%,#8b70ff 32% 36%,transparent 37% 58%,#25d9ff 59% 62%,transparent 63%);filter:drop-shadow(0 0 8px #2f86ff)}.app-chart{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(230,235,255,.82))}.app-chart:before{content:"";position:absolute;inset:20px;border-radius:8px;background:linear-gradient(180deg,#eef3ff,#cbd8ff);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}.app-chart:after{content:"";position:absolute;left:55px;right:38px;bottom:42px;height:42px;background:linear-gradient(135deg,transparent 20%,#2f86ff 21% 27%,transparent 28% 55%,#8b70ff 56% 62%,transparent 63%)}.projects,.workflow,.partners,.lab,.contact{border-top:1px solid rgba(255,255,255,.08)}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.case-card{padding:30px}.case-card span{color:var(--cyan);font-weight:800;letter-spacing:.15em}.case-card p,.case-card li{color:var(--muted)}.case-card ul{padding-left:18px;margin-bottom:0}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.step{padding:24px;min-height:160px}.step b{display:block;color:var(--cyan);margin-bottom:26px}.step strong{display:block;font-size:20px}.step small{color:var(--muted)}.culture-grid{display:grid;gap:18px}.culture-grid div{padding:28px}.culture-grid p{color:var(--muted);margin-bottom:0}.tag-cloud{display:flex;flex-wrap:wrap;gap:14px}.tag-cloud span{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:12px 18px;color:var(--muted);background:rgba(255,255,255,.03)}.note-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.note-list article{padding:26px}.note-list time{color:var(--cyan);font-size:13px;font-weight:800}.note-list p{color:var(--muted)}.contact{padding-bottom:130px}.contact-card{max-width:940px;margin:0 auto;padding:clamp(34px,6vw,72px);text-align:center;background:radial-gradient(circle at 50% 0%,rgba(47,134,255,.22),transparent 42%),var(--panel-strong)}.contact-card p{color:var(--muted);font-size:19px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.18s}.delay-3{transition-delay:.26s}.delay-4{transition-delay:.34s}@keyframes dash{to{stroke-dashoffset:-280}}@keyframes pulse{to{opacity:.45;transform:translateY(-4px)}}@media(max-width:1080px){.nav-links{display:none}.hero,.split{grid-template-columns:1fr}.cap-grid{grid-template-columns:repeat(2,1fr)}.case-grid,.note-list{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.nav{padding:18px}.brand strong{font-size:24px}.brand small{display:none}.nav-cta{padding:9px 13px}.section{padding:72px 18px}.hero{padding-top:36px}h1{font-size:54px}h2{font-size:42px}.cap-grid,.steps{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:stretch}.primary-btn,.ghost-btn{justify-content:center}.pipeline-nodes{grid-template-columns:1fr;position:relative;padding:24px;left:auto;right:auto;bottom:auto}.pipeline{min-height:auto;padding-top:210px}}

/* --- Market Pulse case study extension --- */
.featured-grid{align-items:stretch}.project-card{position:relative;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-card:hover{transform:translateY(-6px);border-color:rgba(37,217,255,.42);box-shadow:0 28px 90px rgba(0,0,0,.55),0 0 0 1px rgba(37,217,255,.12)}.featured-case{grid-column:span 1}.case-media{height:190px;margin:-30px -30px 24px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:#020711}.case-media video,.case-hero-media video,.modal-media video{width:100%;height:100%;object-fit:cover;display:block}.case-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.38))}.status-pill{position:absolute;left:18px;bottom:16px;z-index:2;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.62);border:1px solid rgba(37,217,255,.42);color:#baf4ff;font-size:12px;font-weight:800;letter-spacing:.03em}.project-card h4{color:var(--cyan);font-size:15px;margin:0 0 14px}.cap-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.cap-tags em{font-style:normal;color:#dbe8ff;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.04);border-radius:999px;padding:7px 10px;font-size:12px}.case-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:22px}.case-actions a,.text-btn{color:#fff;text-decoration:none;font-weight:850;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.text-btn{background:none;border:0;padding:0;cursor:pointer;color:var(--cyan)}.case-actions a:hover,.text-btn:hover{color:var(--cyan)}.coming-soon{display:inline-block;margin-top:20px;color:var(--subtle);text-transform:uppercase;letter-spacing:.12em;font-weight:800}.case-study{border-top:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 15% 15%,rgba(47,134,255,.16),transparent 30%),radial-gradient(circle at 78% 8%,rgba(37,217,255,.09),transparent 34%)}.case-hero{display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;align-items:center}.case-lead{font-size:22px;color:#e6edff;max-width:780px}.case-subtitle{color:var(--cyan);font-weight:700;letter-spacing:.02em}.case-hero-media{min-height:410px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#020711;box-shadow:var(--shadow)}.case-two-col,.ai-output-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}.ai-output-grid{grid-template-columns:repeat(3,1fr)}.info-panel{padding:30px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(9,17,32,.86),rgba(5,8,16,.76));box-shadow:0 18px 70px rgba(0,0,0,.35)}.info-panel p:not(.eyebrow){color:var(--muted);font-size:16px}.system-flow{margin-top:52px;border:1px solid rgba(37,217,255,.26);border-radius:24px;padding:34px;background:linear-gradient(135deg,rgba(37,217,255,.08),rgba(47,134,255,.04)),rgba(3,8,18,.72)}.system-flow h3{font-size:30px}.flow-diagram{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:center;margin-top:28px}.flow-diagram div{min-height:94px;border:1px solid rgba(255,255,255,.12);border-radius:15px;background:rgba(255,255,255,.035);display:grid;place-content:center;text-align:center;padding:14px}.flow-diagram strong{color:#f4f8ff}.flow-diagram small{display:block;color:var(--muted);margin-top:6px}.flow-diagram b{grid-column:1/-1;text-align:center;color:var(--cyan);font-size:26px;line-height:1}.flow-diagram div:nth-of-type(n+5){grid-column:2/4}.case-gallery{margin-top:72px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.gallery-grid figure{margin:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.035);box-shadow:0 18px 70px rgba(0,0,0,.35)}.gallery-grid img{width:100%;display:block}.gallery-grid figcaption{padding:16px 18px;color:var(--muted);font-size:14px}.project-modal{position:fixed;inset:0;z-index:50;display:none}.project-modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(12px)}.modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1120px,calc(100vw - 34px));max-height:calc(100vh - 34px);overflow:auto;border:1px solid rgba(37,217,255,.32);border-radius:24px;background:linear-gradient(180deg,rgba(8,15,30,.98),rgba(2,6,14,.98));box-shadow:0 40px 120px rgba(0,0,0,.75);display:grid;grid-template-columns:1.1fr .9fr}.modal-media{min-height:520px;background:#020711}.modal-copy{padding:42px}.modal-copy h2{font-size:52px;margin-bottom:10px}.modal-copy h3{color:var(--cyan);margin-bottom:18px}.modal-copy p{color:var(--muted)}.modal-points{display:grid;gap:10px;margin:24px 0}.modal-points span{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px;color:#e8efff;background:rgba(255,255,255,.035)}.modal-close{position:absolute;right:18px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:28px;cursor:pointer;z-index:2}.modal-close:hover{border-color:rgba(37,217,255,.5);color:var(--cyan)}body.modal-lock{overflow:hidden}@media(max-width:1080px){.case-hero,.modal-panel{grid-template-columns:1fr}.case-two-col,.ai-output-grid,.gallery-grid{grid-template-columns:1fr}.flow-diagram{grid-template-columns:1fr}.flow-diagram div:nth-of-type(n+5){grid-column:auto}.case-hero-media,.modal-media{min-height:300px}}@media(max-width:640px){.case-media{height:150px}.system-flow{padding:22px}.modal-copy{padding:28px}.modal-copy h2{font-size:40px}.case-lead{font-size:18px}}


/* --- Simulation-led process development case --- */
.case-media img,
.case-hero-media img,
.modal-media img,
.gallery-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.media-pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  background: transparent !important;
  min-height: auto !important;
}
.media-pair div {
  min-height: 260px;
  overflow: hidden;
  border-radius: 18px;
}
.simulation-projects-case .case-lead {
  max-width: 820px;
}
.project-duo .clean-list {
  padding-left: 18px;
  color: var(--muted);
}
.project-duo .clean-list li {
  margin: 8px 0;
}
.simulation-flow div:nth-of-type(n+5) {
  grid-column: 2 / 4;
}
.simulation-gallery {
  grid-template-columns: repeat(2, 1fr);
}
.simulation-gallery figure:nth-child(3) {
  grid-row: span 2;
}
.simulation-gallery figure:nth-child(3) img {
  object-fit: cover;
  max-height: 700px;
}
.modal-media-stack {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  padding: 12px;
  background: transparent !important;
}
.modal-media-stack img {
  border-radius: 16px;
  min-height: 240px;
  object-fit: cover;
}
.sim-modal-panel {
  grid-template-columns: 1fr .92fr;
}
@media(max-width:1080px){
  .simulation-gallery,
  .sim-modal-panel {
    grid-template-columns: 1fr;
  }
  .simulation-gallery figure:nth-child(3) {
    grid-row: auto;
  }
  .media-pair div {
    min-height: 220px;
  }
}
@media(max-width:640px){
  .modal-media-stack img {
    min-height: 180px;
  }
  .media-pair div {
    min-height: 180px;
  }
}


/* --- Capability and gallery final adjustment --- */

/* Core Capabilities uses 3 cards. */
.cap-grid {
  grid-template-columns: repeat(3, 1fr);
}

/* Ensure removed gallery blocks do not leave empty spacing. */
.case-gallery:empty,
.case-gallery .section-head:empty {
  display: none !important;
}

/* Capability visuals. */
.cap-icon,
.mini-chart {
  display: none !important;
}

.cap-card {
  min-height: 460px;
}

.cap-visual {
  margin-top: auto;
  height: 190px;
  border-radius: 14px;
  overflow: hidden;
  background: transparent;
}

.cap-visual img,
.cap-visual video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Mobile layout. */
@media(max-width:1080px){
  .cap-grid {
    grid-template-columns: 1fr;
  }
}
@media(max-width:640px){
  .cap-visual {
    height: 170px;
  }
}


/* --- Bio Vision restore and full section text cleanup --- */
.eyebrow {
  display: none !important;
}

.center-heading p,
.section-head p {
  display: none !important;
}

.cap-grid {
  grid-template-columns: repeat(3, 1fr);
}

.cap-icon,
.mini-chart {
  display: none !important;
}

.cap-card {
  min-height: 460px;
}

.cap-visual {
  margin-top: auto;
  height: 190px;
  border-radius: 14px;
  overflow: hidden;
  background: transparent;
}

.cap-visual img,
.cap-visual video,
.case-media img,
.case-media video,
.bio-hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.case-gallery:empty,
.case-gallery .section-head:empty {
  display: none !important;
}

.bio-vision-case .case-lead {
  max-width: 820px;
}

.bio-hero-media {
  min-height: 430px;
  overflow: hidden;
}

.bio-flow div:nth-of-type(n+5) {
  grid-column: 2 / 4;
}

@media(max-width:1080px){
  .cap-grid {
    grid-template-columns: 1fr;
  }
  .bio-flow div:nth-of-type(n+5) {
    grid-column: auto;
  }
}
@media(max-width:640px){
  .cap-visual {
    height: 170px;
  }
  .bio-hero-media {
    min-height: 260px;
  }
}


/* --- Repair Simulation-Led Process Development full case layout --- */
.simulation-projects-case {
  position: relative;
  clear: both;
}

.simulation-projects-case .case-hero {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 48px;
  align-items: center;
}

.media-pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  min-height: auto !important;
  background: transparent !important;
  overflow: visible !important;
}

.media-pair > div {
  min-height: 260px;
  border-radius: 18px;
  overflow: hidden;
}

.media-pair img,
.modal-media-stack img,
.simulation-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.project-duo .clean-list {
  color: var(--muted);
  padding-left: 18px;
  margin: 16px 0 0;
}

.project-duo .clean-list li {
  margin: 8px 0;
}

.simulation-flow div:nth-of-type(n+5) {
  grid-column: 2 / 4;
}

.simulation-gallery {
  grid-template-columns: repeat(2, 1fr);
}

.simulation-gallery figure:nth-child(3) {
  grid-row: span 2;
}

.simulation-gallery figure:nth-child(3) img {
  max-height: 720px;
  object-fit: cover;
}

.simulation-gallery-wrap {
  margin-top: 72px;
}

.modal-media-stack {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
  padding: 12px;
  background: transparent !important;
}

.modal-media-stack img {
  min-height: 240px;
  border-radius: 16px;
}

.sim-modal-panel {
  grid-template-columns: 1fr .92fr;
}

@media(max-width:1080px){
  .simulation-projects-case .case-hero,
  .sim-modal-panel {
    grid-template-columns: 1fr;
  }

  .simulation-gallery {
    grid-template-columns: 1fr;
  }

  .simulation-gallery figure:nth-child(3) {
    grid-row: auto;
  }

  .simulation-flow div:nth-of-type(n+5) {
    grid-column: auto;
  }

  .media-pair > div {
    min-height: 220px;
  }
}

@media(max-width:640px){
  .media-pair > div,
  .modal-media-stack img {
    min-height: 180px;
  }
}


/* --- Final case deduplication and independent case layout --- */
.case-study {
  clear: both;
  position: relative;
}

.simulation-projects-case .case-hero {
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 48px;
  align-items: center;
}

.media-pair {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  min-height: auto !important;
  background: transparent !important;
  overflow: visible !important;
}

.media-pair > div {
  min-height: 260px;
  border-radius: 18px;
  overflow: hidden;
}

.media-pair img,
.modal-media-stack img,
.simulation-gallery img,
.bio-hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.project-duo .clean-list {
  color: var(--muted);
  padding-left: 18px;
  margin: 16px 0 0;
}

.project-duo .clean-list li {
  margin: 8px 0;
}

.simulation-flow div:nth-of-type(n+5),
.bio-flow div:nth-of-type(n+5) {
  grid-column: 2 / 4;
}

.simulation-gallery {
  grid-template-columns: repeat(2, 1fr);
}

.simulation-gallery figure:nth-child(3) {
  grid-row: span 2;
}

.simulation-gallery figure:nth-child(3) img {
  max-height: 720px;
  object-fit: cover;
}

.simulation-gallery-wrap {
  margin-top: 72px;
}

.bio-vision-case .case-lead {
  max-width: 820px;
}

.bio-hero-media {
  min-height: 430px;
  overflow: hidden;
}

@media(max-width:1080px){
  .simulation-projects-case .case-hero {
    grid-template-columns: 1fr;
  }

  .simulation-gallery {
    grid-template-columns: 1fr;
  }

  .simulation-gallery figure:nth-child(3) {
    grid-row: auto;
  }

  .simulation-flow div:nth-of-type(n+5),
  .bio-flow div:nth-of-type(n+5) {
    grid-column: auto;
  }

  .media-pair > div {
    min-height: 220px;
  }
}

@media(max-width:640px){
  .media-pair > div {
    min-height: 180px;
  }

  .bio-hero-media {
    min-height: 260px;
  }
}


/* --- Contact minimal final version --- */
.contact {
  padding-top: 110px;
  padding-bottom: 150px;
}

.contact-minimal-card {
  position: relative;
  max-width: 980px;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  overflow: visible;
  text-align: left;
  padding: clamp(28px, 5vw, 62px) clamp(20px, 5vw, 72px);
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.contact-minimal-card::before,
.contact-minimal-card::after {
  display: none !important;
  content: none !important;
}

.contact-minimal-card h2 {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 0 32px;
  font-size: clamp(54px, 7vw, 96px);
  line-height: .98;
  letter-spacing: -.07em;
}

.contact-mail {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  color: var(--text);
  text-decoration: none;
  font-size: clamp(14px, 1.25vw, 18px);
  font-weight: 650;
  letter-spacing: -.01em;
  transition: transform .22s ease, color .22s ease;
}

.contact-mail:hover {
  color: var(--cyan);
  transform: translateY(-2px);
}

.mail-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: #7ef5ff;
  border: 1px solid rgba(37,217,255,.44);
  border-radius: 50%;
  background: rgba(37,217,255,.06);
  box-shadow: 0 0 34px rgba(37,217,255,.14);
}

.mail-icon svg {
  width: 25px;
  height: 25px;
}

@media(max-width:640px){
  .contact {
    padding-top: 76px;
    padding-bottom: 110px;
  }

  .contact-minimal-card {
    min-height: 260px;
    align-items: center;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
  }

  .contact-minimal-card h2 {
    font-size: clamp(44px, 13vw, 60px);
  }

  .contact-mail {
    flex-direction: column;
    gap: 12px;
    font-size: 14px;
  }

  .mail-icon {
    width: 46px;
    height: 46px;
  }
}

/* Hero visual update: digital handshake blends into the page background */
.hero-image-card {
  position: relative;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
  z-index: 1;
}

.hero-image-card::before {
  content: "";
  position: absolute;
  inset: -6% -3% -6% -3%;
  pointer-events: none;
  background:
    radial-gradient(circle at 58% 46%, rgba(37,217,255,.08), transparent 24%),
    radial-gradient(circle at 66% 18%, rgba(47,134,255,.12), transparent 26%),
    radial-gradient(circle at 48% 84%, rgba(47,134,255,.10), transparent 30%);
  filter: blur(24px);
  z-index: 0;
}

.hero-image-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, transparent 54%, rgba(0,0,0,.08) 72%, rgba(0,0,0,.26) 100%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, transparent 16%, transparent 84%, rgba(0,0,0,.55) 100%),
    linear-gradient(180deg, rgba(0,0,0,.42) 0%, transparent 14%, transparent 86%, rgba(0,0,0,.45) 100%);
  z-index: 2;
}

.hero-image-card img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: min(72vh, 760px);
  min-height: 540px;
  display: block;
  object-fit: contain;
  object-position: center center;
  opacity: .98;
  filter: contrast(1.08) saturate(1.06) brightness(.98);
}

@media(max-width:1080px){
  .hero-image-card img {
    height: min(64vh, 640px);
    min-height: 420px;
  }
}

@media(max-width:640px){
  .hero-image-card {
    border-radius: 0;
  }

  .hero-image-card img {
    height: 430px;
    min-height: 430px;
    object-position: center center;
  }
}



/* --- Animated simulation GIF repair --- */
.cap-visual img[src$=".gif"],
.case-media img[src$=".gif"],
.case-hero-media img[src$=".gif"],
.modal-media img[src$=".gif"],
.gallery-grid img[src$=".gif"] {
  animation-play-state: running;
  image-rendering: auto;
}
