/* Projects v3 — immersive product portfolio */
.projects-effects{
  --pv3-cyan:#7ee7ff;
  --pv3-blue:#3b82f6;
  --pv3-violet:#8b5cf6;
  --pv3-ink:#050913;
  --pv3-panel:rgba(8,15,34,.72);
}

.project-v3-hero{
  min-height:calc(100svh - 72px)!important;
  overflow:hidden;
}
.project-v3-hero::before{
  background:
    radial-gradient(circle at 72% 42%, rgba(79,70,229,.14), transparent 23rem),
    linear-gradient(90deg, rgba(3,7,19,.91) 0%, rgba(3,7,19,.77) 46%, rgba(3,7,19,.22) 76%, rgba(3,7,19,.05) 100%)!important;
}
.project-v3-hero-inner{
  min-height:calc(100svh - 72px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);
  align-items:center;
  gap:clamp(30px,5vw,88px);
  padding-block:clamp(64px,9vh,110px)!important;
}
.project-v3-copy{position:relative;z-index:3;max-width:820px}
.project-v3-kicker{
  display:flex;align-items:center;gap:10px;margin:20px 0 16px;
  color:rgba(255,255,255,.62);font-size:.72rem;font-weight:900;letter-spacing:.18em
}
.project-v3-kicker span{width:34px;height:1px;background:var(--pv3-cyan);box-shadow:0 0 16px rgba(126,231,255,.8)}
.project-v3-kicker b{font:inherit}
.project-v3-hero h1{
  margin:0 0 18px!important;
  max-width:760px!important;
  color:#fff!important;
  font-size:clamp(3.15rem,6vw,5.85rem)!important;
  line-height:.96!important;
  letter-spacing:-.06em!important;
  text-transform:none;
  text-shadow:0 10px 40px rgba(0,0,0,.34)!important
}
.project-v3-hero .hero-copy{
  max-width:650px!important;margin-bottom:22px!important;color:rgba(241,247,255,.74)!important;font-size:1rem
}
.project-v3-meta{
  width:min(760px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:34px;border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;
  background:rgba(5,11,26,.43);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.project-v3-meta div{min-width:0;padding:14px 16px}
.project-v3-meta div+div{border-left:1px solid rgba(255,255,255,.09)}
.project-v3-meta strong{display:block;color:#fff;font-size:1.05rem;font-weight:950}
.project-v3-meta span{display:block;margin-top:3px;color:rgba(255,255,255,.43);font-size:.69rem;font-weight:750;overflow-wrap:anywhere}

.project-v3-visual{
  position:relative;min-height:520px;display:grid;place-items:center;isolation:isolate
}
.project-v3-visual::before{
  content:"";position:absolute;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(78,177,255,.16),rgba(95,56,255,.09) 44%,transparent 72%);
  filter:blur(2px)
}
.project-v3-core{
  position:relative;z-index:4;width:112px;height:112px;display:grid;place-items:center;border-radius:30px;
  border:1px solid rgba(173,235,255,.42);background:linear-gradient(145deg,rgba(19,36,77,.96),rgba(8,14,31,.96));
  box-shadow:0 0 0 12px rgba(123,219,255,.025),0 0 90px rgba(65,144,255,.28),inset 0 1px 0 rgba(255,255,255,.16)
}
.project-v3-core span{font-size:2.5rem;font-weight:1000;color:#fff;text-shadow:0 0 26px rgba(126,231,255,.6)}
.project-v3-orbit{position:absolute;border:1px solid rgba(126,231,255,.18);border-radius:50%;transform:rotate(-18deg)}
.orbit-a{width:330px;height:330px;animation:pv3Spin 24s linear infinite}
.orbit-b{width:465px;height:465px;border-color:rgba(155,128,255,.13);animation:pv3SpinReverse 34s linear infinite}
.project-v3-orbit::before,.project-v3-orbit::after{
  content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:#8cecff;box-shadow:0 0 20px #4bd8ff
}
.project-v3-orbit::before{top:14%;left:16%}.project-v3-orbit::after{right:9%;bottom:25%;background:#9b8cff;box-shadow:0 0 20px #846bff}
.project-v3-label{
  position:absolute;z-index:5;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;
  background:rgba(8,14,30,.68);color:rgba(255,255,255,.72);font-size:.65rem;font-weight:900;letter-spacing:.13em;
  backdrop-filter:blur(8px)
}
.label-1{left:4%;top:28%}.label-2{right:3%;top:42%}.label-3{left:14%;bottom:22%}
.project-v3-grid{
  position:absolute;inset:12%;opacity:.15;
  background-image:linear-gradient(rgba(126,231,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(126,231,255,.2) 1px,transparent 1px);
  background-size:38px 38px;mask-image:radial-gradient(circle,#000,transparent 68%)
}

.project-v3-section{position:relative!important;min-height:auto!important;padding-block:clamp(70px,9vw,120px)!important}
.project-v3-index{
  position:absolute;right:0;top:34px;color:rgba(255,255,255,.035);font-size:clamp(7rem,16vw,16rem);line-height:1;font-weight:1000;letter-spacing:-.08em;
  pointer-events:none
}
.project-v3-card{
  position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);
  gap:clamp(26px,4.5vw,64px);align-items:stretch;padding:clamp(18px,2.2vw,28px);
  border:1px solid rgba(187,220,255,.18);border-radius:30px;
  background:linear-gradient(145deg,rgba(8,15,35,.82),rgba(7,13,31,.56));
  box-shadow:0 36px 110px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1)
}
.project-v3-overdrive{grid-template-columns:minmax(420px,1.14fr) minmax(0,.86fr)}
.project-v3-card-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(18px,3vw,38px)}
.project-v3-card-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}
.project-v3-chip{
  display:inline-flex;width:max-content;max-width:100%;padding:7px 10px;border:1px solid rgba(126,231,255,.22);border-radius:999px;
  background:rgba(126,231,255,.06);color:#a8f0ff;font-size:.66rem;font-weight:900;letter-spacing:.11em
}
.project-v3-year{color:rgba(255,255,255,.35);font-size:.72rem;font-weight:850;letter-spacing:.12em}
.project-v3-card h2{
  margin:0 0 12px!important;color:#fff!important;font-size:clamp(2.3rem,5vw,5rem)!important;line-height:.92;letter-spacing:-.065em;text-shadow:none!important
}
.project-v3-card-copy>p{max-width:650px;color:rgba(244,248,255,.64)!important;text-shadow:none!important}
.project-v3-card .project-v3-lead{margin:0 0 14px;color:rgba(255,255,255,.9)!important;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.65}
.project-v3-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 26px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.project-v3-specs span{padding:13px 0}
.project-v3-specs span+span{padding-left:16px;border-left:1px solid rgba(255,255,255,.08)}
.project-v3-specs b{display:block;color:#fff;font-size:1rem}
.project-v3-specs small{display:block;margin-top:2px;color:rgba(255,255,255,.38);font-size:.67rem}
.project-v3-preview{min-width:0;display:grid;align-items:stretch}

.project-v3-speed{
  grid-template-columns:minmax(0,.86fr) minmax(470px,1.14fr);
  overflow:visible;
}
.project-v3-speed::after{
  content:"";position:absolute;right:-8%;top:8%;width:38%;height:70%;pointer-events:none;
  background:radial-gradient(circle,rgba(66,182,255,.11),transparent 68%);filter:blur(12px)
}
.speed-principle{
  margin:18px 0 0;padding:11px 13px;border-left:2px solid #7ee7ff;
  background:linear-gradient(90deg,rgba(126,231,255,.075),transparent);
  color:rgba(255,255,255,.74);font-size:.77rem;font-weight:820;letter-spacing:.01em
}
.speed-specs{margin-top:18px!important;margin-bottom:16px!important}
.speed-feature-line{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 24px}
.speed-feature-line span{
  padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;
  background:rgba(255,255,255,.025);color:rgba(255,255,255,.46);font-size:.56rem;font-weight:830;letter-spacing:.04em
}
.speed-preview{position:relative;z-index:3;align-items:center}
.speed-showcase{
  position:relative;min-height:570px;overflow:hidden;border:1px solid rgba(126,231,255,.17);border-radius:24px;
  background:
    radial-gradient(circle at 82% 20%,rgba(50,174,255,.16),transparent 28%),
    radial-gradient(circle at 14% 82%,rgba(96,83,255,.10),transparent 26%),
    linear-gradient(145deg,#06101f,#08172a 54%,#06101b);
  box-shadow:0 32px 90px rgba(0,0,0,.42),0 0 58px rgba(56,180,255,.075);
  isolation:isolate
}
.speed-showcase::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.13;
  background-image:linear-gradient(rgba(126,231,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(126,231,255,.14) 1px,transparent 1px);
  background-size:30px 30px;mask-image:linear-gradient(145deg,#000,transparent 80%)
}
.speed-showcase-head{
  height:46px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;
  border-bottom:1px solid rgba(255,255,255,.07);background:rgba(5,13,27,.6);
  color:rgba(255,255,255,.43);font-size:.56rem;font-weight:900;letter-spacing:.09em
}
.speed-showcase-head span{display:flex;align-items:center;gap:7px;color:#7ee7ff}
.speed-showcase-head i{width:7px;height:7px;border-radius:50%;background:#61e8a8;box-shadow:0 0 13px rgba(97,232,168,.8)}
.speed-showcase-head b{font:inherit;color:rgba(255,255,255,.33)}
.speed-browser-frame{
  position:absolute;left:5%;right:11%;top:82px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:17px;
  background:#f5f7fb;box-shadow:0 26px 58px rgba(0,0,0,.36);transform:perspective(1200px) rotateY(-4deg) rotateX(1deg);
  transform-origin:center
}
.speed-browser-bar{
  height:34px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:0 11px;
  background:#0c1728;color:rgba(255,255,255,.44);font-size:.5rem
}
.speed-browser-bar>span{display:flex;gap:5px}.speed-browser-bar i{display:block;width:6px;height:6px;border-radius:50%;background:#334660}.speed-browser-bar i:first-child{background:#68ddff}
.speed-browser-bar b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;font-weight:780;text-align:center}
.speed-browser-bar em{color:#72e6ac;font-style:normal;font-size:.5rem;font-weight:950;letter-spacing:.08em}
.speed-browser-frame img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;object-position:top}
.speed-phone-frame{
  position:absolute;z-index:4;right:3.5%;bottom:35px;width:154px;overflow:hidden;border:7px solid #0a1020;border-radius:27px;
  background:#0a1020;box-shadow:0 24px 58px rgba(0,0,0,.5),0 0 34px rgba(73,167,255,.09);transform:rotate(2.5deg)
}
.speed-phone-speaker{position:absolute;z-index:2;left:50%;top:5px;width:42px;height:4px;border-radius:99px;background:rgba(255,255,255,.24);transform:translateX(-50%)}
.speed-phone-frame img{display:block;width:100%;height:auto;max-height:345px;object-fit:cover;object-position:top}
.speed-network-route{
  position:absolute;z-index:5;left:6%;bottom:21px;display:flex;align-items:center;gap:7px;
  padding:8px 10px;border:1px solid rgba(126,231,255,.15);border-radius:999px;background:rgba(5,14,29,.82);backdrop-filter:blur(12px)
}
.speed-network-route span,.speed-network-route strong{font-size:.5rem;font-weight:950;letter-spacing:.07em}
.speed-network-route span{color:rgba(255,255,255,.42)}.speed-network-route strong{color:#83eaff}
.speed-network-route i{width:22px;height:1px;background:linear-gradient(90deg,rgba(126,231,255,.18),#7ee7ff,rgba(126,231,255,.18))}
.speed-proof{
  position:absolute;z-index:5;min-width:92px;padding:9px 10px;border:1px solid rgba(255,255,255,.11);border-radius:13px;
  background:rgba(7,16,33,.84);backdrop-filter:blur(12px);box-shadow:0 15px 34px rgba(0,0,0,.24)
}
.speed-proof b{display:block;color:#8cecff;font-size:.63rem;letter-spacing:.05em}.speed-proof span{display:block;margin-top:2px;color:rgba(255,255,255,.42);font-size:.5rem}
.speed-proof-a{left:3%;top:53%}.speed-proof-b{right:3%;top:28%}.speed-proof-c{left:24%;bottom:12%}

.project-v3-overdrive{
  grid-template-columns:minmax(470px,1.08fr) minmax(0,.92fr);
  overflow:hidden;
}
.project-v3-overdrive .project-v3-card-copy{position:relative;z-index:4;min-width:0}
.project-v3-overdrive h2{
  max-width:100%;
  font-size:clamp(2.65rem,4.25vw,4.7rem)!important;
}
.overdrive-principle{
  margin:18px 0 0;padding:11px 13px;border-left:2px solid #9d8cff;
  background:linear-gradient(90deg,rgba(141,116,255,.075),transparent);
  color:rgba(255,255,255,.72);font-size:.76rem;font-weight:820
}
.overdrive-specs{margin-top:18px!important;margin-bottom:16px!important}
.overdrive-feature-line{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 24px}
.overdrive-feature-line span{
  padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;background:rgba(255,255,255,.025);
  color:rgba(255,255,255,.46);font-size:.56rem;font-weight:830;letter-spacing:.035em
}
.overdrive-preview{
  position:relative;z-index:3;min-width:0;align-items:center;overflow:hidden;border-radius:24px
}
.overdrive-console{
  position:relative;min-height:570px;overflow:hidden;border:1px solid rgba(156,134,255,.20);border-radius:24px;
  background:
    radial-gradient(circle at 75% 20%,rgba(84,77,255,.18),transparent 28%),
    radial-gradient(circle at 24% 82%,rgba(0,218,255,.11),transparent 26%),
    linear-gradient(145deg,#050713,#090b22 55%,#07101c);
  box-shadow:0 30px 80px rgba(0,0,0,.4),0 0 62px rgba(99,75,255,.08);
  isolation:isolate
}
.overdrive-console::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.12;
  background-image:radial-gradient(circle,rgba(255,255,255,.85) 0 .65px,transparent .8px);
  background-size:25px 25px;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)
}
.overdrive-console-head{
  min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 16px;
  border-bottom:1px solid rgba(255,255,255,.07);background:rgba(4,7,17,.62)
}
.overdrive-console-brand{display:flex;align-items:center;gap:9px}
.overdrive-console-brand span{
  width:34px;height:28px;display:grid;place-items:center;border-radius:9px;
  background:linear-gradient(135deg,#75dcff,#9f8bff);color:#07101b;font-size:.58rem;font-weight:1000;
  box-shadow:0 8px 18px rgba(105,175,255,.16)
}
.overdrive-console-brand b{color:#fff;font-size:.61rem;letter-spacing:.09em}
.overdrive-telemetry{display:flex;align-items:center;gap:8px}
.overdrive-telemetry>span,.overdrive-telemetry>b,.overdrive-telemetry>strong{
  display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid rgba(255,255,255,.06);
  border-radius:8px;background:rgba(255,255,255,.02);color:rgba(255,255,255,.38);font-size:.44rem;font-weight:900
}
.overdrive-telemetry i{width:6px;height:6px;border-radius:50%;background:#6ce2aa;box-shadow:0 0 10px rgba(108,226,170,.8)}
.overdrive-telemetry em{color:#7de4ff;font-style:normal}
.overdrive-telemetry strong{color:#b3a7ff}
.overdrive-console-body{
  display:grid;grid-template-columns:152px minmax(0,1fr);min-height:516px
}
.overdrive-scene-list{
  display:grid;align-content:start;padding:14px 10px;border-right:1px solid rgba(255,255,255,.065);background:rgba(255,255,255,.014)
}
.overdrive-scene-list span{
  display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;padding:8px 8px;border-radius:9px;
  color:rgba(255,255,255,.28);font-size:.48rem;transition:background .2s ease,color .2s ease
}
.overdrive-scene-list span.active{
  background:linear-gradient(90deg,rgba(109,203,255,.10),rgba(132,100,255,.07));color:#fff;
  box-shadow:inset 2px 0 0 #80dbff
}
.overdrive-scene-list b{color:#8fdefc;font-size:.47rem}
.overdrive-scene-list i{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-weight:780;letter-spacing:.035em}
.overdrive-viewport{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-width:0;padding:14px}
.overdrive-field{
  position:relative;min-height:338px;overflow:hidden;border:1px solid rgba(255,255,255,.065);border-radius:16px;
  background:
    radial-gradient(circle at 50% 50%,rgba(84,122,255,.16),transparent 24%),
    radial-gradient(circle at 52% 47%,rgba(96,227,255,.12),transparent 38%),
    linear-gradient(145deg,#040712,#070c20 62%,#08131e)
}
.overdrive-field::before{
  content:"";position:absolute;inset:-15%;opacity:.22;
  background-image:linear-gradient(rgba(101,209,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(101,209,255,.11) 1px,transparent 1px);
  background-size:28px 28px;transform:perspective(480px) rotateX(65deg) translateY(34%);transform-origin:center bottom
}
.od-core{
  position:absolute;z-index:4;left:50%;top:50%;width:108px;height:108px;display:grid;place-content:center;text-align:center;
  border:1px solid rgba(139,216,255,.22);border-radius:50%;background:radial-gradient(circle,rgba(43,119,255,.17),rgba(7,13,29,.9) 66%);
  transform:translate(-50%,-50%);box-shadow:0 0 60px rgba(58,130,255,.17),inset 0 0 28px rgba(93,205,255,.08)
}
.od-core span{color:#91e6ff;font-size:.5rem;font-weight:950;letter-spacing:.15em}
.od-core b{color:#fff;font-size:2.2rem;line-height:.9;letter-spacing:-.06em;text-shadow:0 0 24px rgba(106,181,255,.35)}
.od-core small{margin-top:5px;color:rgba(255,255,255,.35);font-size:.43rem;letter-spacing:.08em}
.od-orbit{
  position:absolute;left:50%;top:50%;border:1px solid rgba(129,202,255,.12);border-radius:50%;
  transform:translate(-50%,-50%) rotate(18deg)
}
.od-orbit.o1{width:180px;height:180px}
.od-orbit.o2{width:250px;height:250px;border-color:rgba(151,118,255,.13);transform:translate(-50%,-50%) rotate(-24deg)}
.od-orbit.o3{width:325px;height:325px;border-color:rgba(91,227,255,.08);transform:translate(-50%,-50%) rotate(44deg)}
.od-node{
  position:absolute;z-index:3;width:9px;height:9px;border-radius:50%;background:#7de5ff;box-shadow:0 0 18px rgba(125,229,255,.8)
}
.od-node.n1{left:26%;top:31%}.od-node.n2{right:24%;top:38%;background:#a998ff}.od-node.n3{left:34%;bottom:23%;background:#72e3ad}.od-node.n4{right:31%;bottom:21%;background:#8bd7ff}
.od-star{
  position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.7)
}
.od-star.s1{left:12%;top:15%}.od-star.s2{right:15%;top:18%}.od-star.s3{left:18%;bottom:20%}.od-star.s4{right:10%;bottom:15%}.od-star.s5{left:70%;top:62%}
.overdrive-scene-meta{
  display:grid;grid-template-columns:repeat(3,1fr);margin-top:9px;overflow:hidden;border:1px solid rgba(255,255,255,.055);border-radius:10px
}
.overdrive-scene-meta>div{padding:8px 9px;background:rgba(255,255,255,.018)}
.overdrive-scene-meta>div+div{border-left:1px solid rgba(255,255,255,.05)}
.overdrive-scene-meta small{display:block;color:rgba(255,255,255,.28);font-size:.42rem;font-weight:900;letter-spacing:.08em}
.overdrive-scene-meta b{display:block;margin-top:2px;color:#fff;font-size:.51rem}
.overdrive-controls-preview{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:8px
}
.overdrive-controls-preview span{
  width:28px;height:24px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.06);border-radius:7px;color:#8fdbff;background:rgba(255,255,255,.02)
}
.overdrive-controls-preview b{text-align:center;color:rgba(255,255,255,.35);font-size:.46rem;font-weight:850;letter-spacing:.08em}

.projects-effects main>.container>.section:last-child{
  min-height:auto!important;padding-block:clamp(64px,8vw,100px)!important
}

@keyframes pv3Spin{to{transform:rotate(342deg)}}@keyframes pv3SpinReverse{to{transform:rotate(-378deg)}}

@media(max-width:980px){
  .project-v3-hero-inner{grid-template-columns:1fr;padding-top:72px!important}
  .project-v3-visual{display:none}
  .project-v3-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .project-v3-meta div:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.09)}
  .project-v3-meta div:nth-child(4){border-top:1px solid rgba(255,255,255,.09)}
  .project-v3-card,.project-v3-overdrive{grid-template-columns:1fr}
  .project-v3-overdrive .project-v3-preview{order:2}
  .project-v3-overdrive .project-v3-card-copy{order:1}
}
@media(max-width:760px){
  .project-v3-hero{min-height:auto!important}
  .project-v3-hero-inner{min-height:auto!important;padding:72px 0 54px!important}
      .project-v3-meta{margin-top:26px}
  .project-v3-card{padding:10px;border-radius:22px}
  .project-v3-card-copy{padding:22px 14px 18px}
  .project-v3-card h2{font-size:clamp(2.35rem,12vw,4rem)!important}
  .project-v3-preview{padding:0}
            .project-v3-specs{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:520px){
  .project-v3-meta{grid-template-columns:1fr 1fr}
  .project-v3-meta div{padding:12px}
  .project-v3-card-top{align-items:flex-start}
  .project-v3-chip{white-space:normal}
  .project-v3-specs{grid-template-columns:1fr}
  .project-v3-specs span+span{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.08)}
}

@media(max-width:1120px){
  .project-v3-speed{grid-template-columns:minmax(0,.9fr) minmax(410px,1.1fr)}
  .speed-showcase{min-height:530px}
  .speed-phone-frame{width:140px}
}
@media(max-width:980px){
  .project-v3-speed{grid-template-columns:1fr}
  .speed-showcase{min-height:560px}
  .speed-browser-frame{right:9%}
}
@media(max-width:760px){
  .speed-showcase{min-height:440px;border-radius:16px}
  .speed-showcase-head b{display:none}
  .speed-browser-frame{left:4%;right:5%;top:68px}
  .speed-browser-frame img{max-height:265px}
  .speed-phone-frame{width:112px;right:5%;bottom:28px;border-width:5px;border-radius:21px}
  .speed-phone-frame img{max-height:250px}
  .speed-proof{display:none}
  .speed-network-route{left:5%;bottom:19px;padding:7px 9px}
  .speed-network-route i{width:14px}
}
@media(max-width:520px){
  .speed-showcase{min-height:400px}
  .speed-showcase-head{height:42px;padding-inline:12px}
  .speed-browser-frame{top:58px}
  .speed-browser-frame img{max-height:235px}
  .speed-phone-frame{width:96px;right:5%;bottom:24px}
  .speed-network-route strong{display:none}
}

@media(min-width:981px){
  .project-v3-overdrive{
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    gap:clamp(30px,3vw,46px);
  }
  .project-v3-overdrive .project-v3-card-copy{padding-left:clamp(14px,2vw,30px)}
}
@media(max-width:1120px) and (min-width:981px){
  .project-v3-overdrive h2{font-size:clamp(2.55rem,3.35vw,3.65rem)!important}
  .overdrive-console{min-height:545px}
  .overdrive-console-body{grid-template-columns:132px minmax(0,1fr)}
  .overdrive-scene-list span{grid-template-columns:22px minmax(0,1fr);padding-inline:6px}
}
@media(max-width:980px){
  .project-v3-overdrive{grid-template-columns:1fr;overflow:hidden}
  .project-v3-overdrive .project-v3-card-copy{order:1}
  .project-v3-overdrive .overdrive-preview{order:2;width:100%;min-width:0}
  .overdrive-console{min-height:550px}
}
@media(max-width:760px){
  .overdrive-console{min-height:500px;border-radius:16px}
  .overdrive-console-head{padding-inline:12px}
  .overdrive-telemetry>span:nth-child(2){display:none}
  .overdrive-console-body{grid-template-columns:96px minmax(0,1fr)}
  .overdrive-scene-list{padding:10px 7px}
  .overdrive-scene-list span{grid-template-columns:1fr;padding:7px 6px}
  .overdrive-scene-list i{display:none}
  .overdrive-scene-list b{text-align:center}
  .overdrive-field{min-height:300px}
}
@media(max-width:520px){
  .project-v3-overdrive h2{font-size:clamp(2.2rem,10.5vw,3.05rem)!important}
  .overdrive-console{min-height:450px}
  .overdrive-console-brand b{font-size:.52rem}
  .overdrive-telemetry>strong{display:none}
  .overdrive-console-body{grid-template-columns:64px minmax(0,1fr)}
  .overdrive-scene-list span{padding-inline:3px}
  .overdrive-viewport{padding:10px}
  .overdrive-field{min-height:265px}
  .od-orbit.o3{width:260px;height:260px}
  .overdrive-scene-meta{grid-template-columns:1fr 1fr}
  .overdrive-scene-meta>div:nth-child(3){display:none}
}
@media(prefers-reduced-motion:reduce){
  .project-v3-orbit{animation:none}
  .od-orbit,.od-node,.od-star{animation:none!important}
}


/* Projects v3.1 — product-specific previews */
.project-v3-taxi,.project-v3-price,.project-v3-overdrive{
  grid-template-columns:minmax(420px,1.08fr) minmax(0,.92fr);
}
.project-v3-docs{
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
}

/* Tokyo Taxi Exam */
.project-v3-taxi{
  grid-template-columns:minmax(460px,1.08fr) minmax(0,.92fr);
  overflow:hidden;
}
.project-v3-taxi .project-v3-card-copy{
  position:relative;z-index:4;min-width:0;
}
.project-v3-taxi h2{
  max-width:100%;
  font-size:clamp(2.7rem,4.2vw,4.65rem)!important;
  white-space:nowrap;
}
.taxi-preview{
  position:relative;z-index:3;min-width:0;align-items:center;overflow:hidden;border-radius:24px
}
.taxi-product{
  position:relative;min-height:570px;overflow:hidden;border:1px solid rgba(247,199,76,.18);border-radius:24px;
  background:
    radial-gradient(circle at 85% 12%,rgba(247,194,61,.15),transparent 24%),
    radial-gradient(circle at 16% 80%,rgba(46,130,255,.13),transparent 28%),
    linear-gradient(145deg,#070d18,#0a1528 56%,#0a101c);
  box-shadow:0 30px 80px rgba(0,0,0,.38),0 0 54px rgba(246,193,56,.05);
  isolation:isolate
}
.taxi-product::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.12;
  background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);
  background-size:30px 30px;mask-image:linear-gradient(145deg,#000,transparent 82%)
}
.taxi-product-head{
  min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 17px;
  border-bottom:1px solid rgba(255,255,255,.07);background:rgba(4,10,20,.58)
}
.taxi-brand{display:flex;align-items:center;gap:9px}
.taxi-brand>span{
  width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:#17120a;
  background:linear-gradient(135deg,#efb93a,#ffe18a);font-size:.7rem;font-weight:1000;box-shadow:0 7px 18px rgba(237,181,51,.18)
}
.taxi-brand b{color:#fff;font-size:.62rem;letter-spacing:.09em}
.taxi-lang{display:flex;gap:4px}
.taxi-lang i{
  min-width:26px;height:24px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.07);border-radius:8px;
  color:rgba(255,255,255,.4);background:rgba(255,255,255,.025);font-size:.48rem;font-style:normal;font-weight:850
}
.taxi-lang i:first-child{color:#111;background:#f0c14c;border-color:#f0c14c}
.taxi-product-body{padding:22px 24px 28px}
.taxi-summary{
  display:grid;grid-template-columns:1.35fr 1fr 1fr;overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:15px;
  background:rgba(255,255,255,.025)
}
.taxi-summary>div{min-width:0;padding:12px 13px}
.taxi-summary>div+div{border-left:1px solid rgba(255,255,255,.065)}
.taxi-summary small{display:block;color:rgba(255,255,255,.36);font-size:.51rem;font-weight:800}
.taxi-summary strong{display:inline-block;margin-top:4px;color:#fff;font-size:1.05rem;line-height:1}
.taxi-summary span{margin-left:3px;color:rgba(255,255,255,.36);font-size:.5rem}
.taxi-recommend{
  position:relative;margin:13px 0 21px;padding:13px 38px 13px 14px;border:1px solid rgba(239,188,66,.16);border-radius:14px;
  background:linear-gradient(135deg,rgba(239,188,66,.12),rgba(239,188,66,.035))
}
.taxi-recommend>span{display:block;color:#f1c558;font-size:.5rem;font-weight:950;letter-spacing:.08em}
.taxi-recommend b{display:block;margin-top:3px;color:#fff;font-size:.74rem}
.taxi-recommend small{display:block;margin-top:2px;color:rgba(255,255,255,.38);font-size:.52rem}
.taxi-recommend i{position:absolute;right:14px;top:50%;color:#e9be53;font-size:1.15rem;font-style:normal;transform:translateY(-50%)}
.taxi-choose>span{display:block;color:#edc054;font-size:.5rem;font-weight:950;letter-spacing:.09em}
.taxi-choose h3{margin:4px 0 10px;color:#fff;font-size:1.08rem;letter-spacing:-.03em}
.taxi-entry-list{display:grid;gap:8px}
.taxi-entry{
  display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;
  border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(255,255,255,.025)
}
.taxi-entry.primary{border-color:rgba(83,154,255,.16);background:linear-gradient(90deg,rgba(56,130,247,.105),rgba(56,130,247,.02))}
.taxi-entry>i{
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.045);
  color:#8fc2ff;font-size:.72rem;font-style:normal;font-weight:950
}
.taxi-entry:nth-child(2)>i{color:#f1c558}.taxi-entry:nth-child(3)>i{color:#7ee5bd}
.taxi-entry span{min-width:0}.taxi-entry b{display:block;color:#fff;font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.taxi-entry small{display:block;margin-top:2px;color:rgba(255,255,255,.35);font-size:.48rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.taxi-entry em{color:rgba(255,255,255,.3);font-size:1rem;font-style:normal}
.taxi-proof-card{
  position:absolute;z-index:5;width:126px;padding:11px 12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;
  background:rgba(7,14,27,.9);backdrop-filter:blur(13px);box-shadow:0 17px 40px rgba(0,0,0,.3)
}
.taxi-proof-card small{display:block;color:rgba(255,255,255,.32);font-size:.46rem;font-weight:900;letter-spacing:.09em}
.taxi-proof-card strong{display:block;margin-top:3px;color:#fff;font-size:1.35rem;line-height:1}
.taxi-proof-card span{display:block;margin-top:4px;color:rgba(255,255,255,.42);font-size:.48rem}
.taxi-proof-bank{right:4%;top:25%}.taxi-proof-bank strong{color:#f3c65c}
.taxi-proof-mock{left:2.5%;bottom:16%}.taxi-proof-mock strong{color:#8bc0ff}
.taxi-proof-sync{right:5%;bottom:8%}.taxi-proof-sync strong{color:#75e4b2;font-size:.8rem;letter-spacing:.08em}
.taxi-principle{
  margin:18px 0 0;padding:11px 13px;border-left:2px solid #efc050;
  background:linear-gradient(90deg,rgba(239,192,80,.07),transparent);
  color:rgba(255,255,255,.72);font-size:.76rem;font-weight:820
}
.taxi-specs{margin-top:18px!important;margin-bottom:16px!important}
.taxi-feature-line{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 24px}
.taxi-feature-line span{
  padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;background:rgba(255,255,255,.025);
  color:rgba(255,255,255,.46);font-size:.56rem;font-weight:830;letter-spacing:.035em
}


@media(min-width:981px){
  .project-v3-taxi{
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
    gap:clamp(30px,3vw,46px);
  }
  .project-v3-taxi .taxi-preview{width:100%}
  .project-v3-taxi .project-v3-card-copy{padding-left:clamp(14px,2vw,30px)}
}
@media(max-width:1120px) and (min-width:981px){
  .project-v3-taxi h2{font-size:clamp(2.7rem,3.65vw,3.75rem)!important}
  .taxi-product{min-height:535px}
  .taxi-product-body{padding-inline:18px}
  .taxi-proof-card{width:112px}
}
@media(max-width:980px){
  .project-v3-taxi{overflow:hidden}
  .project-v3-taxi .taxi-preview{width:100%;min-width:0}
  .taxi-product{min-height:540px}
}
@media(max-width:520px){
  .project-v3-taxi h2{white-space:normal}
  .taxi-product{min-height:400px}
  .taxi-product-head{min-height:48px;padding-inline:12px}
  .taxi-brand b{font-size:.55rem}
  .taxi-product-body{padding:13px}
  .taxi-summary small{font-size:.46rem}
  .taxi-recommend{margin-block:10px 15px}
  .taxi-choose h3{font-size:.92rem}
  .taxi-entry b{font-size:.59rem}
  .taxi-entry small{font-size:.44rem}
}

/* Document Expiry Assistant */
.project-v3-docs{
  grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);
  overflow:hidden;
}
.project-v3-docs .project-v3-card-copy{position:relative;z-index:4;min-width:0}
.project-v3-docs h2{
  max-width:100%;
  font-size:clamp(2.55rem,4vw,4.45rem)!important;
}
.doc-principle{
  margin:18px 0 0;padding:11px 13px;border-left:2px solid #65e0a7;
  background:linear-gradient(90deg,rgba(101,224,167,.075),transparent);
  color:rgba(255,255,255,.72);font-size:.76rem;font-weight:820
}
.doc-specs{margin-top:18px!important;margin-bottom:16px!important}
.doc-feature-line{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 24px}
.doc-feature-line span{
  padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;background:rgba(255,255,255,.025);
  color:rgba(255,255,255,.46);font-size:.56rem;font-weight:830;letter-spacing:.035em
}
.docs-preview{
  position:relative;z-index:3;min-width:0;align-items:center;overflow:hidden;border-radius:24px
}
.docs-product{
  position:relative;min-height:570px;overflow:hidden;border:1px solid rgba(103,232,184,.17);border-radius:24px;
  background:
    radial-gradient(circle at 18% 14%,rgba(69,210,157,.13),transparent 27%),
    radial-gradient(circle at 86% 76%,rgba(67,123,255,.12),transparent 30%),
    linear-gradient(145deg,#07131a,#0a1b25 56%,#08111f);
  box-shadow:0 30px 80px rgba(0,0,0,.36),0 0 54px rgba(88,222,166,.045);
  isolation:isolate
}
.docs-product::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.11;
  background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:31px 31px;mask-image:linear-gradient(140deg,#000,transparent 82%)
}
.docs-product-head{
  min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 17px;
  border-bottom:1px solid rgba(255,255,255,.07);background:rgba(5,12,20,.58)
}
.docs-brand{display:flex;align-items:center;gap:9px;min-width:0}
.docs-brand>span{
  width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#06120d;
  background:linear-gradient(135deg,#5ce0a0,#8decc2);font-size:.62rem;font-weight:1000;box-shadow:0 8px 18px rgba(92,224,160,.16)
}
.docs-brand b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:.66rem;letter-spacing:.04em}
.docs-demo-badge{
  flex:0 0 auto;padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;
  color:rgba(255,255,255,.38);background:rgba(255,255,255,.025);font-size:.48rem;font-weight:900;letter-spacing:.09em
}
.docs-account{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:17px 18px 10px;padding:11px 12px;
  border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(255,255,255,.025)
}
.docs-account>div:first-child strong{display:block;color:#fff;font-size:.65rem}
.docs-account>div:first-child span{display:flex;align-items:center;gap:6px;margin-top:3px;color:#71e2ac;font-size:.5rem}
.docs-account>div:first-child i{width:6px;height:6px;border-radius:50%;background:#68dfa8;box-shadow:0 0 10px rgba(104,223,168,.75)}
.docs-account>div:first-child b{font:inherit}
.docs-trust{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.docs-trust span{
  padding:5px 7px;border:1px solid rgba(255,255,255,.065);border-radius:999px;color:rgba(255,255,255,.38);
  background:rgba(255,255,255,.02);font-size:.45rem;font-weight:820
}
.docs-toolbar{
  display:flex;align-items:center;gap:7px;margin:0 18px 13px;padding:8px 9px;border-radius:11px;
  background:rgba(255,255,255,.022);color:rgba(255,255,255,.4);font-size:.48rem
}
.docs-toolbar>span{color:#8fe6bc;font-weight:850}.docs-toolbar>b{margin-right:auto;color:rgba(255,255,255,.52);font-size:.55rem;letter-spacing:.09em}
.docs-toolbar>em{padding:5px 7px;border:1px solid rgba(255,255,255,.06);border-radius:8px;color:#9dd0ff;font-style:normal;font-weight:900}
.docs-dashboard{
  display:grid;grid-template-columns:minmax(0,1.28fr) minmax(160px,.72fr);gap:10px;margin:0 18px 12px
}
.docs-next,.docs-summary{
  border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.025)
}
.docs-next{padding:14px}
.docs-next>small{display:block;color:rgba(255,255,255,.34);font-size:.49rem;font-weight:850}
.docs-next>strong{display:inline-block;margin:5px 8px 8px 0;color:#fff;font-size:1.15rem;letter-spacing:-.03em}
.docs-status{
  display:inline-flex;padding:5px 7px;border-radius:999px;font-size:.46rem;font-style:normal;font-weight:900;vertical-align:middle
}
.docs-status.ready{color:#ffd29a;background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.14)}
.docs-next-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.055)}
.docs-next-line span{color:rgba(255,255,255,.34);font-size:.48rem}.docs-next-line b{color:#ffb768;font-size:.52rem}
.docs-summary{display:grid;grid-template-rows:repeat(3,1fr);overflow:hidden}
.docs-summary span{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px}
.docs-summary span+span{border-top:1px solid rgba(255,255,255,.055)}
.docs-summary b{color:#fff;font-size:.9rem}.docs-summary small{color:rgba(255,255,255,.34);font-size:.46rem}
.docs-card-list{display:grid;gap:7px;margin:0 18px}
.docs-card-row{
  position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;align-items:center;padding:10px 11px 12px;
  border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.022);overflow:hidden
}
.docs-card-row>span{min-width:0}.docs-card-row b{display:block;color:#fff;font-size:.61rem}.docs-card-row small{display:block;margin-top:2px;color:rgba(255,255,255,.25);font-size:.48rem;letter-spacing:.08em}
.docs-card-row em{padding:4px 6px;border-radius:999px;font-size:.43rem;font-style:normal;font-weight:900}
.docs-card-row em.safe{color:#74e4ae;background:rgba(49,186,122,.10)}.docs-card-row em.ready{color:#ffc17a;background:rgba(249,115,22,.10)}.docs-card-row em.watch{color:#f4d16d;background:rgba(245,158,11,.09)}
.docs-card-row>i{grid-column:1/-1;height:4px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.065)}
.docs-card-row>i u{display:block;height:100%;border-radius:inherit;text-decoration:none;background:linear-gradient(90deg,#60dda4,#67aef8)}
.docs-actions-preview{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 18px 18px
}
.docs-actions-preview span{
  padding:9px 8px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.025);text-align:center
}
.docs-actions-preview b{display:block;color:#91e9c0;font-size:.58rem;letter-spacing:.07em}.docs-actions-preview small{display:block;margin-top:3px;color:rgba(255,255,255,.33);font-size:.44rem}

@media(min-width:981px){
  .project-v3-docs{
    grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
    gap:clamp(30px,3vw,46px);
  }
  .project-v3-docs .project-v3-card-copy{padding-right:clamp(14px,2vw,30px)}
}
@media(max-width:1120px) and (min-width:981px){
  .project-v3-docs h2{font-size:clamp(2.55rem,3.45vw,3.6rem)!important}
  .docs-product{min-height:545px}
  .docs-account{align-items:flex-start;flex-direction:column}
  .docs-trust{justify-content:flex-start}
}
@media(max-width:980px){
  .project-v3-docs{grid-template-columns:1fr;overflow:hidden}
  .project-v3-docs .project-v3-card-copy{order:1}
  .project-v3-docs .docs-preview{order:2;width:100%;min-width:0}
  .docs-product{min-height:550px}
}
@media(max-width:760px){
  .docs-product{min-height:500px;border-radius:16px}
  .docs-product-body{padding:16px}
  .docs-account{margin-inline:13px;align-items:flex-start;flex-direction:column}
  .docs-trust{justify-content:flex-start}
  .docs-toolbar,.docs-dashboard,.docs-card-list,.docs-actions-preview{margin-left:13px;margin-right:13px}
  .docs-dashboard{grid-template-columns:1fr}
  .docs-summary{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}
  .docs-summary span{display:grid;gap:2px;text-align:center}
  .docs-summary span+span{border-top:0;border-left:1px solid rgba(255,255,255,.055)}
}
@media(max-width:520px){
  .project-v3-docs h2{font-size:clamp(2.35rem,11vw,3.2rem)!important}
  .docs-product{min-height:465px}
  .docs-product-head{min-height:48px;padding-inline:12px}
  .docs-demo-badge{font-size:.42rem}
  .docs-account{margin-top:12px}
  .docs-card-row:nth-child(3){display:none}
  .docs-actions-preview{grid-template-columns:1fr 1fr}
  .docs-actions-preview span:last-child{display:none}
}

/* Price Ledger */
.project-v3-price{
  grid-template-columns:minmax(470px,1.08fr) minmax(0,.92fr);
  overflow:hidden;
}
.project-v3-price .project-v3-card-copy{position:relative;z-index:4;min-width:0}
.project-v3-price h2{
  max-width:100%;
  font-size:clamp(2.8rem,4.35vw,4.8rem)!important;
  white-space:nowrap;
}
.price-principle{
  margin:18px 0 0;padding:11px 13px;border-left:2px solid #6dd7ff;
  background:linear-gradient(90deg,rgba(109,215,255,.075),transparent);
  color:rgba(255,255,255,.72);font-size:.76rem;font-weight:820
}
.price-specs{margin-top:18px!important;margin-bottom:16px!important}
.price-feature-line{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 24px}
.price-feature-line span{
  padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;background:rgba(255,255,255,.025);
  color:rgba(255,255,255,.46);font-size:.56rem;font-weight:830;letter-spacing:.035em
}
.price-preview{
  position:relative;z-index:3;min-width:0;align-items:center;overflow:hidden;border-radius:24px
}
.price-product-ui{
  position:relative;min-height:570px;overflow:hidden;border:1px solid rgba(88,195,255,.17);border-radius:24px;
  background:
    radial-gradient(circle at 84% 16%,rgba(59,162,255,.14),transparent 25%),
    radial-gradient(circle at 18% 82%,rgba(78,220,166,.10),transparent 27%),
    linear-gradient(145deg,#06111d,#09192a 58%,#07131d);
  box-shadow:0 30px 80px rgba(0,0,0,.37),0 0 54px rgba(70,175,255,.05);
  isolation:isolate
}
.price-product-ui::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.11;
  background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);
  background-size:31px 31px;mask-image:linear-gradient(135deg,#000,transparent 82%)
}
.price-product-head{
  min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 17px;
  border-bottom:1px solid rgba(255,255,255,.07);background:rgba(4,11,20,.58)
}
.price-brand{display:flex;align-items:center;gap:9px}
.price-brand>span{
  width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:#07131c;
  background:linear-gradient(135deg,#70ddff,#85f1ca);font-size:.78rem;font-weight:1000;
  box-shadow:0 8px 18px rgba(94,213,255,.15)
}
.price-brand b{color:#fff;font-size:.65rem;letter-spacing:.09em}
.price-demo-badge{
  padding:6px 8px;border:1px solid rgba(255,255,255,.075);border-radius:999px;background:rgba(255,255,255,.025);
  color:rgba(255,255,255,.36);font-size:.47rem;font-weight:900;letter-spacing:.09em
}
.price-product-body{padding:17px 18px 20px}
.price-compare-widget{
  padding:14px;border:1px solid rgba(255,255,255,.07);border-radius:15px;
  background:linear-gradient(145deg,rgba(255,255,255,.026),rgba(255,255,255,.012))
}
.price-compare-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:11px
}
.price-compare-head>div{min-width:0}
.price-compare-head small{
  display:block;color:#73dcff;font-size:.45rem;font-weight:950;letter-spacing:.11em
}
.price-compare-head h3{
  margin:4px 0 0;color:#fff;font-size:.88rem;letter-spacing:-.025em
}
.price-compare-head>span{
  flex:0 0 auto;max-width:150px;color:rgba(255,255,255,.34);font-size:.46rem;text-align:right
}
.price-channel-list{display:grid;gap:7px}
.price-channel{
  position:relative;padding:9px 10px;border:1px solid rgba(255,255,255,.055);border-radius:11px;
  background:rgba(255,255,255,.018)
}
.price-channel.best{
  border-color:rgba(89,226,172,.23);
  background:linear-gradient(90deg,rgba(67,211,153,.10),rgba(74,158,255,.055));
  box-shadow:inset 0 0 0 1px rgba(88,225,171,.03),0 0 24px rgba(74,211,161,.035)
}
.price-channel-top{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start
}
.price-channel-top>span{min-width:0}
.price-channel-top b{
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:.59rem
}
.price-channel-top small{
  display:block;margin-top:2px;color:rgba(255,255,255,.28);font-size:.43rem
}
.price-channel-top>strong{
  color:rgba(255,255,255,.76);font-size:.61rem;white-space:nowrap
}
.price-channel.best .price-channel-top>strong{color:#8ff0c2}
.price-channel-top em{
  color:rgba(255,255,255,.32);font-size:.43rem;font-style:normal;font-weight:700
}
.price-channel-bar{
  height:5px;margin-top:7px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.055)
}
.price-channel-bar i{
  display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#527fc5,#7398c9);opacity:.56
}
.price-channel.best .price-channel-bar i{
  background:linear-gradient(90deg,#69e0ad,#6bc8ff);opacity:1;
  box-shadow:0 0 13px rgba(102,222,175,.2)
}
.price-channel-foot{
  min-height:14px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px
}
.price-channel-foot span{
  color:rgba(255,255,255,.25);font-size:.42rem
}
.price-channel.best .price-channel-foot span{color:#72dca9}
.price-channel-foot b{
  padding:3px 6px;border-radius:999px;background:rgba(74,211,153,.105);color:#82e7b8;
  font-size:.4rem;letter-spacing:.08em
}
.price-compare-result{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;align-items:center;
  margin-top:9px;padding:9px 10px;border-left:2px solid #72e0b0;
  background:linear-gradient(90deg,rgba(73,207,154,.065),transparent)
}
.price-compare-result>span{
  grid-row:1/3;color:#78e2b1;font-size:.43rem;font-weight:950;letter-spacing:.08em
}
.price-compare-result strong{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:.55rem
}
.price-compare-result small{
  color:rgba(255,255,255,.26);font-size:.41rem
}
.price-system{
  display:grid;gap:6px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(255,255,255,.055)
}
.price-system-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 9px;
  border:1px solid rgba(255,255,255,.055);border-radius:10px;background:rgba(255,255,255,.018)
}
.price-system-row>span{min-width:0;display:grid;grid-template-columns:7px auto minmax(0,1fr);align-items:center;gap:7px}
.price-system-row i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 10px currentColor}
.price-system-row i.cache{color:#74d8ff;background:#74d8ff}.price-system-row i.source{color:#73e1ae;background:#73e1ae}.price-system-row i.image{color:#a69cff;background:#a69cff}
.price-system-row b{color:#fff;font-size:.56rem}
.price-system-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.31);font-size:.45rem}
.price-system-row em{color:rgba(255,255,255,.28);font-size:.43rem;font-style:normal;font-weight:900;letter-spacing:.08em}
.price-guard{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding:9px 10px;
  border:1px solid rgba(102,226,172,.10);border-radius:10px;background:rgba(77,199,145,.035)
}
.price-guard span{min-width:0}.price-guard b{display:block;color:#75e2af;font-size:.48rem;letter-spacing:.09em}.price-guard small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.31);font-size:.44rem}
.price-guard>i{flex:0 0 auto;padding:5px 7px;border-radius:999px;background:rgba(86,215,159,.08);color:#7de5b7;font-size:.42rem;font-style:normal;font-weight:900;letter-spacing:.08em}

@media(min-width:981px){
  .project-v3-price{
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    gap:clamp(30px,3vw,46px);
  }
  .project-v3-price .project-v3-card-copy{padding-left:clamp(14px,2vw,30px)}
}
@media(max-width:1120px) and (min-width:981px){
  .project-v3-price h2{font-size:clamp(2.75rem,3.55vw,3.85rem)!important}
  .price-product-ui{min-height:545px}
  .price-product-body{padding-inline:15px}
  .price-system-row small{max-width:130px}
}
@media(max-width:980px){
  .project-v3-price{grid-template-columns:1fr;overflow:hidden}
  .project-v3-price .project-v3-card-copy{order:1}
  .project-v3-price .price-preview{order:2;width:100%;min-width:0}
  .price-product-ui{min-height:555px}
}
@media(max-width:760px){
  .price-product-ui{min-height:500px;border-radius:16px}
  .price-product-body{padding:14px}
  .price-system-row small{max-width:none}
}
@media(max-width:520px){
  .project-v3-price h2{white-space:normal}
  .price-product-ui{min-height:455px}
  .price-product-head{min-height:48px;padding-inline:12px}
  .price-demo-badge{font-size:.41rem}
  .price-system-row{grid-template-columns:1fr}
  .price-system-row em{display:none}
  .price-guard small{max-width:210px}
}


@media(max-width:760px){
  .price-compare-head{align-items:flex-start}
  .price-compare-head>span{max-width:120px}
  .price-channel{padding:8px 9px}
}
@media(max-width:520px){
  .price-compare-head{display:grid;gap:5px}
  .price-compare-head>span{max-width:none;text-align:left}
  .price-channel-top>strong{font-size:.56rem}
  .price-compare-result{grid-template-columns:1fr}
  .price-compare-result>span{grid-row:auto}
}

/* Lab */
.project-v3-lab{
  min-height:auto!important;
  padding-block:clamp(72px,9vw,118px)!important;
}
.project-v3-lab-head{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(280px,.55fr);
  gap:30px;
  align-items:end;
  margin-bottom:24px;
}
.project-v3-lab-kicker{
  margin:0 0 7px;
  color:#81e9ff;
  font-size:.67rem;
  font-weight:950;
  letter-spacing:.15em;
}
.project-v3-lab-head h2{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(2rem,4vw,3.7rem)!important;
  letter-spacing:-.05em;
  text-shadow:none!important;
}
.project-v3-lab-head>p{
  margin:0;
  color:rgba(255,255,255,.48)!important;
  line-height:1.72;
  text-shadow:none!important;
}
.project-v3-lab-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(430px,.98fr) minmax(0,1.02fr);
  gap:clamp(28px,4vw,58px);
  align-items:center;
  overflow:hidden;
  padding:clamp(20px,2.6vw,32px);
  border:1px solid rgba(135,221,255,.17);
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 18%,rgba(50,180,255,.08),transparent 28%),
    linear-gradient(135deg,rgba(7,15,32,.9),rgba(12,18,38,.62));
  box-shadow:0 28px 80px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.project-v3-lab-card::after{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:-150px;
  bottom:-210px;
  border:1px solid rgba(119,223,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 54px rgba(119,223,255,.018),0 0 0 108px rgba(119,223,255,.012);
  pointer-events:none;
}
.project-v3-lab-card:hover{
  transform:translateY(-4px);
  border-color:rgba(135,221,255,.34);
  box-shadow:0 34px 90px rgba(0,0,0,.3),0 0 44px rgba(68,194,255,.045);
}
.project-v3-lab-card:focus-visible{
  outline:2px solid #8ae9ff;
  outline-offset:4px;
}
.privacy-console{
  position:relative;
  z-index:2;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(103,214,255,.15);
  border-radius:20px;
  background:
    radial-gradient(circle at 82% 12%,rgba(63,184,255,.12),transparent 30%),
    linear-gradient(145deg,#05101e,#07182a 62%,#06111d);
  box-shadow:0 24px 66px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.035);
}
.privacy-console::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.09;
  background-image:
    linear-gradient(rgba(139,226,255,.22) 1px,transparent 1px),
    linear-gradient(90deg,rgba(139,226,255,.22) 1px,transparent 1px);
  background-size:27px 27px;
  mask-image:linear-gradient(140deg,#000,transparent 88%);
}
.privacy-console-top{
  position:relative;
  z-index:2;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 14px;
  border-bottom:1px solid rgba(255,255,255,.065);
  background:rgba(2,9,18,.48);
}
.privacy-console-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.privacy-console-brand span{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:50%;
  background:#72e3ff;
  box-shadow:0 0 14px rgba(114,227,255,.7);
}
.privacy-console-brand b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.82);
  font-size:.57rem;
  letter-spacing:.11em;
}
.privacy-console-top>em{
  flex:0 0 auto;
  padding:5px 7px;
  border:1px solid rgba(127,225,255,.13);
  border-radius:999px;
  background:rgba(80,193,238,.055);
  color:#7fdffb;
  font-size:.42rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.09em;
}
.privacy-console-body{
  position:relative;
  z-index:2;
  padding:15px;
}
.privacy-score-panel{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:16px;
  align-items:center;
  padding:13px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(255,255,255,.026),rgba(255,255,255,.012));
}
.privacy-score-ring{
  position:relative;
  width:104px;
  height:104px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(#76e4ff 0 42%,#8895ff 42% 62%,rgba(255,255,255,.055) 62% 100%);
  box-shadow:0 0 30px rgba(100,211,255,.08);
}
.privacy-score-ring::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:#071522;
  box-shadow:inset 0 0 22px rgba(87,199,255,.06);
}
.privacy-score-ring>div{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
}
.privacy-score-ring strong{
  color:#fff;
  font-size:1.72rem;
  line-height:.95;
  letter-spacing:-.07em;
}
.privacy-score-ring span{
  margin-top:5px;
  color:#8ce8ff;
  font-size:.34rem;
  font-weight:950;
  letter-spacing:.09em;
}
.privacy-score-copy{
  min-width:0;
  display:grid;
  gap:5px;
}
.privacy-score-copy small{
  color:#79ddfb;
  font-size:.45rem;
  font-weight:950;
  letter-spacing:.1em;
}
.privacy-score-copy strong{
  max-width:260px;
  color:#f5f8ff;
  font-size:.72rem;
  line-height:1.32;
}
.privacy-score-copy span{
  color:rgba(255,255,255,.3);
  font-size:.43rem;
}
.privacy-signal-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:9px;
}
.privacy-signal{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"name risk" "value risk";
  gap:2px 8px;
  align-items:center;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:10px;
  background:rgba(255,255,255,.017);
}
.privacy-signal>span{
  grid-area:name;
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
}
.privacy-signal>span i{
  min-width:27px;
  padding:3px 4px;
  border-radius:6px;
  background:rgba(118,224,255,.07);
  color:#7ee6ff;
  font-size:.37rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.06em;
  text-align:center;
}
.privacy-signal>span b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.72);
  font-size:.49rem;
}
.privacy-signal>strong{
  grid-area:value;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.31);
  font-size:.41rem;
  font-weight:720;
}
.privacy-signal>em{
  grid-area:risk;
  min-width:28px;
  padding:4px 5px;
  border-radius:999px;
  font-size:.36rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.06em;
  text-align:center;
}
.privacy-signal.high>em{background:rgba(255,109,133,.09);color:#ff8ca0}
.privacy-signal.medium>em{background:rgba(255,193,91,.085);color:#ffd079}
.privacy-signal.low>em{background:rgba(96,225,176,.075);color:#7ce5bc}
.privacy-console-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid rgba(255,255,255,.055);
}
.privacy-console-foot>span{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
}
.privacy-console-foot>span i{
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:#69e0ae;
  box-shadow:0 0 10px rgba(105,224,174,.55);
}
.privacy-console-foot b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#79ddb4;
  font-size:.42rem;
}
.privacy-console-foot small{
  flex:0 0 auto;
  color:rgba(255,255,255,.2);
  font-size:.38rem;
  letter-spacing:.035em;
}
.project-v3-lab-copy{
  position:relative;
  z-index:3;
  min-width:0;
}
.project-v3-lab-copy h3{
  margin:15px 0 10px;
  color:#fff;
  font-size:clamp(2rem,4vw,3.6rem);
  letter-spacing:-.055em;
}
.project-v3-lab-copy p{
  max-width:720px;
  margin-bottom:0;
  color:rgba(255,255,255,.6);
  line-height:1.75;
}
.privacy-principle{
  margin:16px 0 0;
  padding:10px 12px;
  border-left:2px solid #79e2ff;
  background:linear-gradient(90deg,rgba(87,204,244,.065),transparent);
  color:rgba(255,255,255,.58);
  font-size:.68rem;
  font-weight:760;
  line-height:1.55;
}
.project-v3-lab-tags{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  margin:17px 0 20px;
}
.project-v3-lab-tags b{
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.58);
  font-size:.58rem;
  letter-spacing:.07em;
}
.project-v3-lab-copy>strong{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  color:#8ae9ff;
  font-size:.78rem;
  transition:transform .2s ease,color .2s ease;
}
.project-v3-lab-card:hover .project-v3-lab-copy>strong{
  color:#c5f6ff;
  transform:translateX(3px);
}

@media(max-width:1080px) and (min-width:981px){
  .project-v3-lab-card{
    grid-template-columns:minmax(390px,.94fr) minmax(0,1.06fr);
    gap:30px;
  }
  .privacy-console-body{padding:13px}
  .privacy-score-panel{grid-template-columns:102px minmax(0,1fr);gap:12px}
  .privacy-score-ring{width:94px;height:94px}
}
@media(max-width:980px){
  .project-v3-taxi,.project-v3-price,.project-v3-docs{grid-template-columns:1fr}
  .project-v3-taxi .project-v3-preview,.project-v3-price .project-v3-preview{order:2}
  .project-v3-taxi .project-v3-card-copy,.project-v3-price .project-v3-card-copy{order:1}
  .project-v3-lab-head,.project-v3-lab-card{grid-template-columns:1fr}
  .project-v3-lab-card{gap:26px}
  .privacy-console{width:min(720px,100%)}
}
@media(max-width:760px){
  .taxi-product,.docs-preview{min-height:420px;border-radius:16px}
  .taxi-product-body{padding:16px}
  .taxi-proof-card{display:none}
  .taxi-summary>div{padding:10px}
  .taxi-entry{grid-template-columns:32px minmax(0,1fr) auto;padding:9px}
  .taxi-entry>i{width:30px;height:30px}
  .project-v3-lab-card{padding:16px;border-radius:20px}
  .privacy-console{border-radius:16px}
}
@media(max-width:560px){
  .project-v3-lab{padding-block:64px!important}
  .project-v3-lab-head{gap:14px}
  .project-v3-lab-card{gap:22px}
  .privacy-console-top{min-height:44px;padding-inline:11px}
  .privacy-console-body{padding:11px}
  .privacy-score-panel{grid-template-columns:86px minmax(0,1fr);gap:11px;padding:10px}
  .privacy-score-ring{width:80px;height:80px}
  .privacy-score-ring strong{font-size:1.45rem}
  .privacy-score-ring span{font-size:.3rem}
  .privacy-score-copy strong{font-size:.64rem}
  .privacy-signal-list{grid-template-columns:1fr}
  .privacy-signal:nth-child(6){display:none}
  .privacy-console-foot small{display:none}
  .project-v3-lab-copy h3{font-size:clamp(2rem,12vw,3rem)}
}
@media(max-width:390px){
  .privacy-score-copy span{display:none}
  .privacy-signal:nth-child(5){display:none}
}


/* Projects hero refinement — phase 1 */
.project-v3-hero-inner{
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);
  gap:clamp(38px,5.5vw,96px);
}
.project-v3-copy{max-width:860px}
.project-v3-kicker{margin-top:16px}
.project-v3-hero .hero-copy{
  max-width:700px!important;
  color:rgba(241,247,255,.78)!important;
  line-height:1.78!important;
}
.project-v3-meta{
  width:min(790px,100%);
  margin-top:30px;
  border-color:rgba(255,255,255,.13);
  background:linear-gradient(135deg,rgba(8,17,36,.7),rgba(8,13,28,.42));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 20px 46px rgba(0,0,0,.12);
}
.project-v3-meta div{padding:13px 15px}
.project-v3-meta strong{font-size:1rem}
.project-v3-meta span{color:rgba(255,255,255,.48)}

.project-v3-indexbar{
  width:min(790px,100%);
  display:grid;
  grid-template-columns:auto repeat(5,minmax(0,1fr));
  align-items:stretch;
  margin-top:12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(4,10,23,.42);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.project-v3-indexbar-label{
  display:flex;
  align-items:center;
  padding:10px 13px;
  border-right:1px solid rgba(255,255,255,.07);
  color:rgba(255,255,255,.3);
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
}
.project-v3-indexbar a{
  min-width:0;
  display:grid;
  align-content:center;
  gap:2px;
  padding:9px 10px 10px;
  border-left:1px solid rgba(255,255,255,.055);
  transition:background .18s ease,transform .18s ease;
}
.project-v3-indexbar a:first-of-type{border-left:0}
.project-v3-indexbar a:hover{
  background:rgba(126,231,255,.06);
}
.project-v3-indexbar b{
  color:#7ee7ff;
  font-size:.57rem;
  line-height:1;
  letter-spacing:.08em;
}
.project-v3-indexbar span:not(.project-v3-indexbar-label){
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.64);
  font-size:.6rem;
  font-weight:760;
}

.project-v3-visual{
  min-height:570px;
}
.project-v3-visual::before{
  width:420px;
  height:420px;
  background:
    radial-gradient(circle,rgba(65,183,255,.19),rgba(95,56,255,.09) 42%,transparent 70%);
}
.project-v3-core{
  width:126px;
  height:126px;
  grid-auto-flow:row;
  align-content:center;
  border-radius:34px;
  background:
    radial-gradient(circle at 35% 20%,rgba(82,201,255,.13),transparent 34%),
    linear-gradient(145deg,rgba(16,31,67,.98),rgba(7,13,29,.98));
}
.project-v3-core strong{
  color:#fff;
  font-size:2.45rem;
  line-height:.92;
  letter-spacing:-.06em;
  text-shadow:0 0 28px rgba(126,231,255,.36);
}
.project-v3-core small{
  margin-top:5px;
  color:#86e8ff;
  font-size:.55rem;
  font-weight:950;
  letter-spacing:.18em;
}
.project-v3-orbit::before,
.project-v3-orbit::after{display:none}
.orbit-a{width:350px;height:350px}
.orbit-b{width:492px;height:492px}
.orbit-node{
  position:absolute;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(150,231,255,.25);
  border-radius:11px;
  background:rgba(7,18,39,.9);
  color:#9fefff;
  box-shadow:0 0 26px rgba(72,188,255,.13),inset 0 1px 0 rgba(255,255,255,.07);
  font-size:.55rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.04em;
}
.node-1{left:9%;top:18%}
.node-2{right:5%;bottom:25%}
.node-3{left:10%;bottom:17%;color:#b4a7ff;border-color:rgba(165,145,255,.24)}
.node-4{right:13%;top:12%;color:#b4a7ff;border-color:rgba(165,145,255,.24)}
.node-5{right:-2%;top:54%;color:#86efc3;border-color:rgba(111,234,180,.24)}
.project-v3-label{
  border-color:rgba(255,255,255,.1);
  background:rgba(7,14,31,.72);
  color:rgba(255,255,255,.6);
}
.label-1{left:0;top:26%}
.label-2{right:-1%;top:35%}
.label-3{left:11%;bottom:17%}
.project-v3-signature{
  position:absolute;
  right:4%;
  bottom:10%;
  z-index:4;
  color:rgba(255,255,255,.22);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.18em;
}
.project-v3-grid{
  inset:8%;
  opacity:.17;
  background-size:34px 34px;
}

@media(max-width:1120px){
  .project-v3-hero-inner{
    grid-template-columns:minmax(0,1fr) minmax(330px,.58fr);
    gap:28px;
  }
  .project-v3-indexbar{
    grid-template-columns:auto repeat(5,minmax(86px,1fr));
    overflow-x:auto;
    scrollbar-width:none;
  }
  .project-v3-indexbar::-webkit-scrollbar{display:none}
  .project-v3-visual{min-height:500px}
  .orbit-a{width:310px;height:310px}
  .orbit-b{width:430px;height:430px}
}
@media(max-width:980px){
  .project-v3-indexbar{
    width:100%;
    grid-template-columns:120px repeat(5,minmax(130px,1fr));
  }
}
@media(max-width:760px){
  .project-v3-kicker{margin-top:10px}
      .project-v3-hero .hero-copy{font-size:.96rem}
  .project-v3-meta{margin-top:24px}
  .project-v3-indexbar{
    grid-template-columns:100px repeat(5,minmax(126px,1fr));
    margin-top:10px;
  }
  .project-v3-indexbar-label{position:sticky;left:0;z-index:2;background:#081226}
  .project-v3-indexbar a{padding-block:10px}
}
@media(max-width:520px){
    .project-v3-meta{
    grid-template-columns:1fr 1fr;
  }
}


/* SpeedShareWeb layout correction — phase 2 QA */
@media (min-width:981px){
  .project-v3-speed{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(30px,3vw,44px);
    overflow:hidden;
  }
  .project-v3-speed::after{
    right:-4%;
    width:34%;
    opacity:.72;
  }
  .project-v3-speed .project-v3-card-copy{
    position:relative;
    z-index:5;
    min-width:0;
    padding-right:clamp(10px,1.2vw,18px);
  }
  .project-v3-speed h2{
    max-width:100%;
    margin-right:0!important;
    font-size:clamp(2.65rem,3.75vw,4.25rem)!important;
    line-height:.94!important;
    letter-spacing:-.06em!important;
    white-space:nowrap;
  }
  .project-v3-speed .speed-preview{
    position:relative;
    z-index:3;
    min-width:0;
    width:100%;
    overflow:hidden;
    border-radius:24px;
  }
  .project-v3-speed .speed-showcase{
    width:100%;
    min-width:0;
    min-height:540px;
    margin:0;
    border-radius:23px;
    transform:translateZ(0);
  }
  .project-v3-speed .speed-browser-frame{
    left:4.5%;
    right:7%;
  }
  .project-v3-speed .speed-phone-frame{
    right:3%;
  }
}
@media (min-width:1200px){
  .project-v3-speed{
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  }
  .project-v3-speed h2{
    font-size:clamp(3rem,3.55vw,4.35rem)!important;
  }
}
@media (max-width:980px){
  .project-v3-speed{
    overflow:hidden;
  }
  .project-v3-speed .speed-preview{
    min-width:0;
    width:100%;
    overflow:hidden;
    border-radius:18px;
  }
  .project-v3-speed .speed-showcase{
    width:100%;
    margin:0;
  }
}


/* Projects responsive / overlap / spacing QA — final cascade safeguards */
@media(max-width:980px){
  .project-v3-hero,
  .project-v3-hero-inner{
    min-height:auto!important;
  }
  .project-v3-hero-inner{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    padding-block:clamp(62px,8vw,82px)!important;
  }
  .project-v3-copy{
    width:100%;
    max-width:none;
  }
  .project-v3-visual{
    display:none!important;
  }

  .project-v3-card,
  .project-v3-speed,
  .project-v3-taxi,
  .project-v3-docs,
  .project-v3-price,
  .project-v3-overdrive{
    grid-template-columns:minmax(0,1fr)!important;
    min-width:0;
    overflow:hidden;
  }
  .project-v3-card-copy,
  .project-v3-preview,
  .speed-preview,
  .taxi-preview,
  .docs-preview,
  .price-preview,
  .overdrive-preview{
    min-width:0;
    width:100%;
  }
  .project-v3-speed .project-v3-card-copy,
  .project-v3-taxi .project-v3-card-copy,
  .project-v3-docs .project-v3-card-copy,
  .project-v3-price .project-v3-card-copy,
  .project-v3-overdrive .project-v3-card-copy{
    order:1;
  }
  .project-v3-speed .project-v3-preview,
  .project-v3-taxi .project-v3-preview,
  .project-v3-docs .project-v3-preview,
  .project-v3-price .project-v3-preview,
  .project-v3-overdrive .project-v3-preview{
    order:2;
  }
}

@media(max-width:760px){
  .project-v3-hero-inner{
    padding-block:50px 48px!important;
  }
  .project-v3-hero .hero-actions{
    margin-top:22px;
  }
  .project-v3-section{
    padding-block:58px!important;
  }
  .project-v3-index{
    top:18px;
    right:2px;
    font-size:clamp(5.6rem,22vw,8.3rem);
  }
  .project-v3-card{
    gap:8px;
    padding:10px;
    border-radius:21px;
  }
  .project-v3-card-copy{
    padding:22px 14px 18px;
  }
  .project-v3-card-top{
    flex-wrap:wrap;
    row-gap:8px;
    margin-bottom:15px;
  }
  .project-v3-year{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .project-v3-specs{
    margin-top:18px!important;
    margin-bottom:20px!important;
  }
  .speed-feature-line,
  .taxi-feature-line,
  .doc-feature-line,
  .price-feature-line,
  .overdrive-feature-line{
    margin-bottom:20px;
  }
  .compact-actions{
    gap:9px;
    margin-top:0;
  }

  .overdrive-console-body{
    min-height:auto;
    grid-template-columns:88px minmax(0,1fr);
  }
  .overdrive-scene-list{
    padding-inline:7px;
  }
  .overdrive-viewport{
    min-height:0;
  }

  .project-v3-lab{
    padding-block:58px!important;
  }
  .project-v3-lab-head{
    margin-bottom:20px;
  }
  .project-v3-lab-card{
    gap:22px;
  }

  .projects-effects main>.container>.section:last-child{
    padding-block:56px!important;
  }
}

@media(max-width:520px){
  .project-v3-hero-inner{
    padding-block:42px 42px!important;
  }
  .project-v3-kicker{
    gap:8px;
    margin-bottom:13px;
  }
  .project-v3-kicker span{
    width:25px;
  }
  .project-v3-hero .hero-copy{
    line-height:1.7!important;
  }
  .project-v3-meta{
    margin-top:20px;
  }
  .project-v3-indexbar{
    margin-top:8px;
  }

  .project-v3-section{
    padding-block:48px!important;
  }
  .project-v3-index{
    top:13px;
    font-size:clamp(5rem,24vw,7rem);
  }
  .project-v3-card{
    border-radius:19px;
  }
  .project-v3-card-copy{
    padding:20px 12px 16px;
  }
  .project-v3-card-top{
    display:grid;
    justify-items:start;
    gap:7px;
    margin-bottom:14px;
  }
  .project-v3-chip{
    width:auto;
    max-width:100%;
    line-height:1.35;
  }
  .project-v3-year{
    font-size:.64rem;
  }
  .project-v3-card .project-v3-lead{
    line-height:1.58;
  }
  .project-v3-specs{
    margin-block:16px 18px!important;
  }
  .project-v3-specs span{
    padding-block:11px;
  }

  .compact-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .compact-actions .button{
    width:100%;
    min-width:0;
    padding-inline:14px;
    text-align:center;
  }

  .speed-showcase,
  .taxi-product,
  .docs-product,
  .price-product-ui,
  .overdrive-console{
    border-radius:15px;
  }
  .overdrive-console-body{
    min-height:0;
    grid-template-columns:62px minmax(0,1fr);
  }
  .overdrive-console-head{
    min-height:48px;
  }

  .docs-account{
    gap:8px;
  }
  .docs-trust{
    gap:4px;
  }
  .docs-summary small{
    line-height:1.25;
  }

  .price-guard{
    align-items:flex-start;
  }
  .price-guard small{
    max-width:none;
    white-space:normal;
    line-height:1.35;
  }

  .project-v3-lab{
    padding-block:48px!important;
  }
  .project-v3-lab-card{
    padding:14px;
    border-radius:18px;
  }
  .privacy-principle{
    line-height:1.5;
  }

  .projects-effects main>.container>.section:last-child{
    padding-block:48px!important;
  }
}

@media(max-width:390px){
    .project-v3-meta div{
    padding:10px;
  }
  .project-v3-meta span{
    font-size:.62rem;
  }
  .project-v3-indexbar{
    grid-template-columns:92px repeat(5,minmax(118px,1fr));
  }
  .project-v3-indexbar-label{
    padding-inline:10px;
  }
  .project-v3-card-copy{
    padding-inline:10px;
  }
  .overdrive-console-brand b{
    display:none;
  }
  .docs-toolbar{
    gap:5px;
  }
  .docs-toolbar>em{
    padding-inline:6px;
  }
  .privacy-score-panel{
    grid-template-columns:76px minmax(0,1fr);
    gap:9px;
  }
  .privacy-score-ring{
    width:72px;
    height:72px;
  }
}


/* Portfolio rhythm / section transition QA — 2026-09-26 */
.project-v3-section{
  padding-block:clamp(48px,4.8vw,68px)!important;
}
.project-v3-section:first-child{
  padding-top:clamp(66px,5.8vw,82px)!important;
}
.project-v3-lab{
  padding-block:clamp(54px,5.2vw,74px)!important;
}
.projects-effects main .section:not(.project-v3-section):not(.project-v3-lab){
  min-height:auto;
  padding-block:clamp(48px,5vw,68px);
}

/* Dividers stay subtle; spacing and cards should define the rhythm. */
.projects-effects main .section + .section::before{
  width:min(30%,300px);
  background:linear-gradient(90deg,transparent,rgba(204,229,255,.08),transparent);
}

@media(max-width:980px){
  .project-v3-section{
    padding-block:clamp(38px,5.2vw,50px)!important;
  }
  .project-v3-section:first-child{
    padding-top:clamp(50px,6.5vw,64px)!important;
  }
  .project-v3-lab{
    padding-block:clamp(44px,5.8vw,58px)!important;
  }
  .projects-effects main .section:not(.project-v3-section):not(.project-v3-lab){
    padding-block:clamp(42px,5.5vw,56px);
  }
}
@media(max-width:600px){
  .project-v3-section{
    padding-block:32px!important;
  }
  .project-v3-section:first-child{
    padding-top:44px!important;
  }
  .project-v3-lab{
    padding-block:38px!important;
  }
  .projects-effects main .section + .section::before{
    width:min(44%,220px);
    opacity:.65;
  }
}


/* Desktop responsive QA — compact desktop / landscape tablet */
@media (min-width:981px) and (max-width:1120px){
  /* 1024px-class screens get an intentional stacked layout instead of compressed desktop columns. */
  .project-v3-hero,
  .project-v3-hero-inner{
    min-height:auto!important;
  }
  .project-v3-hero-inner{
    grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;
    padding-block:clamp(64px,7vw,82px)!important;
  }
  .project-v3-copy{
    width:100%;
    max-width:900px;
  }
  .project-v3-visual{
    display:none!important;
  }
  .project-v3-hero .hero-copy{
    max-width:760px!important;
  }
  .project-v3-meta,
  .project-v3-indexbar{
    width:min(820px,100%);
  }

  .project-v3-card,
  .project-v3-speed,
  .project-v3-taxi,
  .project-v3-docs,
  .project-v3-price,
  .project-v3-overdrive{
    grid-template-columns:minmax(0,1fr)!important;
    gap:18px!important;
    overflow:hidden;
  }
  .project-v3-card-copy,
  .project-v3-speed .project-v3-card-copy,
  .project-v3-taxi .project-v3-card-copy,
  .project-v3-docs .project-v3-card-copy,
  .project-v3-price .project-v3-card-copy,
  .project-v3-overdrive .project-v3-card-copy{
    order:1!important;
    width:100%;
    min-width:0;
    padding:clamp(26px,3vw,34px)!important;
  }
  .project-v3-preview,
  .project-v3-speed .project-v3-preview,
  .project-v3-taxi .project-v3-preview,
  .project-v3-docs .project-v3-preview,
  .project-v3-price .project-v3-preview,
  .project-v3-overdrive .project-v3-preview{
    order:2!important;
    width:min(880px,100%);
    min-width:0;
    justify-self:center;
  }
  .project-v3-card-top{
    flex-wrap:wrap;
    row-gap:8px;
  }
  .project-v3-card-copy>p{
    max-width:780px;
  }
  .project-v3-speed h2,
  .project-v3-taxi h2,
  .project-v3-price h2{
    white-space:normal!important;
  }
  .compact-actions{
    flex-wrap:wrap;
  }

  .project-v3-lab-head,
  .project-v3-lab-card{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .project-v3-lab-head{
    gap:14px;
  }
  .project-v3-lab-card{
    gap:26px;
  }
  .privacy-console{
    width:min(760px,100%);
  }
  .project-v3-lab-copy{
    max-width:820px;
  }
}


/* Mobile / tablet responsive QA — 768 / 430 / 390 / 360 */
@media(max-width:980px){
  /* Make the horizontal project index behave like a real mobile control. */
  .project-v3-indexbar{
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .project-v3-indexbar::-webkit-scrollbar{display:none}
  .project-v3-indexbar-label{
    position:sticky;
    left:0;
    z-index:3;
    background:linear-gradient(90deg,rgba(8,18,38,.98),rgba(8,18,38,.94));
    box-shadow:8px 0 18px rgba(2,7,18,.18);
  }
  .project-v3-indexbar a{
    scroll-snap-align:start;
  }

  /* Localized copy must never force horizontal page overflow. */
  .project-v3-card-copy,
  .project-v3-card-copy>p,
  .project-v3-lead,
  .project-v3-chip,
  .project-v3-year,
  .project-v3-lab-copy,
  .project-v3-lab-copy p{
    overflow-wrap:anywhere;
  }
  .project-v3-card-top{
    min-width:0;
  }
  .project-v3-chip{
    white-space:normal;
  }
}

@media(max-width:760px){
  .project-v3-indexbar{
    grid-template-columns:100px repeat(5,minmax(122px,1fr));
  }
  .project-v3-indexbar-label{
    padding-inline:10px;
  }

  .speed-showcase-head,
  .taxi-product-head,
  .docs-product-head,
  .price-product-head,
  .overdrive-console-head,
  .privacy-console-top{
    min-width:0;
  }
  .speed-showcase-head>*,
  .taxi-product-head>*,
  .docs-product-head>*,
  .price-product-head>*,
  .overdrive-console-head>*,
  .privacy-console-top>*{
    min-width:0;
  }
}

@media(max-width:520px){
  /* Primary hero actions become touch-friendly and localization-safe. */
  .project-v3-hero .hero-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:100%;
    gap:9px;
  }
  .project-v3-hero .hero-actions .button{
    width:100%;
    min-width:0;
    justify-content:center;
    text-align:center;
    white-space:normal;
  }

  .project-v3-indexbar{
    grid-template-columns:92px repeat(5,minmax(116px,1fr));
  }
  .project-v3-indexbar a{
    padding-inline:9px;
  }

  /* Product-preview headers stay compact even with longer Japanese/English labels. */
  .docs-brand,
  .price-brand,
  .overdrive-console-brand,
  .privacy-console-brand{
    min-width:0;
  }
  .docs-brand b,
  .price-brand b,
  .overdrive-console-brand b,
  .privacy-console-brand b{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .docs-toolbar{
    flex-wrap:wrap;
  }
  .docs-toolbar>b{
    min-width:72px;
  }

  .project-v3-lab-tags{
    gap:6px;
  }
  .project-v3-lab-tags b{
    padding:5px 8px;
  }
}

@media(max-width:390px){
  .project-v3-indexbar{
    grid-template-columns:88px repeat(5,minmax(112px,1fr));
  }
  .project-v3-indexbar-label{
    font-size:.51rem;
  }

  .project-v3-meta div{
    min-width:0;
  }
  .project-v3-meta span{
    overflow-wrap:anywhere;
  }

  .docs-demo-badge,
  .price-demo-badge{
    max-width:88px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

@media(max-width:360px){
    .project-v3-kicker b{
    font-size:.64rem;
    letter-spacing:.13em;
  }
  .project-v3-indexbar{
    grid-template-columns:84px repeat(5,minmax(108px,1fr));
  }

  /* Drop only secondary chrome; keep all product information intact. */
  .project-v3-year{
    font-size:.6rem;
  }
  .speed-network-route{
    max-width:86%;
  }
  .speed-network-route span{
    font-size:.44rem;
  }
  .docs-trust span{
    padding-inline:6px;
  }
  .privacy-console-brand b{
    font-size:.51rem;
  }
}

/* Final project hero title scale — content first, no slogan treatment. */
@media(max-width:760px){
  .project-v3-hero h1{
    max-width:12em!important;
    margin-bottom:16px!important;
    font-size:clamp(2.55rem,11vw,3.9rem)!important;
    line-height:1!important;
    letter-spacing:-.052em!important;
  }
}
@media(max-width:420px){
  .project-v3-hero h1{
    font-size:clamp(2.35rem,10.8vw,3.25rem)!important;
  }
}
