:root {
  --ink: #06163a;
  --ink-soft: #40506f;
  --blue: #1768ff;
  --cyan: #00b8c8;
  --violet: #7c31ff;
  --paper: #f7f9fd;
  --line: rgba(13, 41, 87, 0.12);
  --white: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; }

.site-header {
  position: fixed;
  z-index: 100;
  top: 14px;
  left: 50%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 28px;
  width: min(1240px, calc(100% - 32px));
  min-height: 66px;
  padding: 9px 10px 9px 18px;
  transform: translateX(-50%);
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 12px 40px rgba(17, 40, 86, 0.08);
  backdrop-filter: blur(22px);
}

.brand { display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; }
.brand-mark { display: block; width: 42px; height: auto; flex: none; }
.brand-name { color: var(--ink); font-size: 20px; font-weight: 850; letter-spacing: -0.05em; }
.brand-name span { margin-left: 2px; color: var(--violet); letter-spacing: -0.02em; }

.site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(16px, 2.5vw, 34px);
  color: #46536e;
  font-size: 13px;
  font-weight: 650;
}
.site-nav a { position: relative; transition: color 180ms ease; }
.site-nav a::after {
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 1px;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, var(--blue), var(--violet));
  transition: transform 180ms ease;
}
.site-nav a:hover, .site-nav a:focus-visible { color: var(--blue); }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); }

.nav-cta {
  display: flex;
  flex-direction: column;
  min-width: 168px;
  padding: 9px 15px;
  border-radius: 13px;
  background: var(--ink);
  color: #fff;
  line-height: 1.15;
  transition: transform 180ms ease, background 180ms ease;
}
.nav-cta:hover, .nav-cta:focus-visible { transform: translateY(-1px); background: #10295d; }
.nav-cta span { margin-bottom: 3px; color: #98aee2; font-size: 10px; letter-spacing: 0.08em; }
.nav-cta strong { font-size: 14px; letter-spacing: 0.03em; }

.hero {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  padding: 152px 0 58px;
  background: radial-gradient(circle at 70% 40%, rgba(49, 100, 255, 0.11), transparent 34%), linear-gradient(180deg, #fbfdff 0%, #f4f8ff 72%, #eef3fb 100%);
}
.hero-grid {
  position: absolute;
  inset: 0;
  opacity: 0.55;
  background-image: linear-gradient(rgba(31, 79, 155, 0.055) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 79, 155, 0.055) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, #000 10%, transparent 84%);
}
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero-glow-one { top: 10%; right: -8%; width: 560px; height: 560px; border: 1px solid rgba(47, 98, 255, 0.14); box-shadow: inset 0 0 90px rgba(104, 50, 255, 0.07); }
.hero-glow-two { bottom: 9%; left: -7%; width: 320px; height: 320px; border: 1px solid rgba(0, 184, 200, 0.16); }
.hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
  align-items: center;
  gap: 70px;
}
.eyebrow, .section-label { margin: 0 0 22px; color: #3a4b72; font-size: 11px; font-weight: 800; letter-spacing: 0.19em; }
.eyebrow { display: flex; align-items: center; gap: 9px; }
.eyebrow span { display: inline-block; width: 24px; height: 2px; background: linear-gradient(90deg, var(--cyan), var(--violet)); }
.hero h1 {
  max-width: 720px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(60px, 6.6vw, 96px);
  font-weight: 900;
  line-height: 0.92;
  letter-spacing: -0.075em;
}
.hero h1 small {
  display: block;
  margin: 30px 0 12px;
  color: #52617d;
  font-size: clamp(19px, 2.05vw, 27px);
  font-weight: 660;
  line-height: 1.3;
  letter-spacing: -0.025em;
}
.hero h1 .gradient-text {
  display: block;
  max-width: 760px;
  background: linear-gradient(94deg, #073eaf 0%, #2477ff 42%, #7b32f6 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: clamp(38px, 4.7vw, 66px);
  line-height: 1.08;
  letter-spacing: -0.055em;
}
.hero h1 .gradient-text > span { display: block; }
.hero-lead { max-width: 690px; margin: 30px 0 0; color: #24385f; font-size: clamp(17px, 1.55vw, 20px); font-weight: 620; line-height: 1.78; }
.hero-sub { max-width: 690px; margin: 12px 0 0; color: #66738e; font-size: 14px; line-height: 1.85; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 750;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.button span { font-size: 18px; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-primary { background: linear-gradient(110deg, #0b58f1, #7432ee); box-shadow: 0 16px 35px rgba(63, 68, 224, 0.24); color: #fff; }
.button-secondary { border-color: rgba(20, 51, 104, 0.14); background: rgba(255, 255, 255, 0.7); color: #17335f; }
.button-secondary:hover, .button-secondary:focus-visible { border-color: rgba(32, 92, 229, 0.3); box-shadow: 0 12px 28px rgba(31, 67, 133, 0.08); }

.hero-facts {
  display: grid;
  grid-template-columns: 0.75fr 1.2fr 1.2fr;
  max-width: 720px;
  margin: 38px 0 0;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.hero-facts div { padding-right: 18px; }
.hero-facts div + div { padding-left: 18px; border-left: 1px solid var(--line); }
.hero-facts dt { margin-bottom: 7px; color: #8590a6; font-size: 10px; font-weight: 760; letter-spacing: 0.12em; }
.hero-facts dd { margin: 0; color: #193259; font-size: 12px; font-weight: 700; line-height: 1.55; }

.signal-column {
  position: relative;
  padding: 15px;
  border: 1px solid rgba(35, 78, 151, 0.15);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.66);
  box-shadow: 0 36px 80px rgba(26, 65, 136, 0.13), inset 0 1px 0 #fff;
  backdrop-filter: blur(12px);
}
.signal-caption, .signal-footer { display: flex; align-items: center; justify-content: space-between; color: #657593; font-size: 9px; font-weight: 800; letter-spacing: 0.13em; }
.signal-caption { padding: 6px 7px 14px; }
.live-dot { display: inline-flex; align-items: center; gap: 7px; color: #34528a; letter-spacing: 0.06em; }
.live-dot::before { width: 7px; height: 7px; content: ""; border-radius: 50%; background: #27c58b; box-shadow: 0 0 0 5px rgba(39, 197, 139, 0.12); }
.signal-stage {
  position: relative;
  min-height: 485px;
  overflow: hidden;
  border: 1px solid rgba(28, 71, 143, 0.1);
  border-radius: 23px;
  background: radial-gradient(circle at center, rgba(41, 94, 255, 0.14), transparent 29%), linear-gradient(145deg, #f4f8ff, #e9f2ff 48%, #f6efff);
}
.signal-stage::before {
  position: absolute;
  inset: 0;
  content: "";
  opacity: 0.4;
  background-image: radial-gradient(rgba(31, 80, 164, 0.22) 0.8px, transparent 0.8px);
  background-size: 17px 17px;
  mask-image: radial-gradient(circle, #000, transparent 78%);
}
.orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(38, 92, 192, 0.17); border-radius: 50%; transform: translate(-50%, -50%); }
.orbit::after { position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; content: ""; border-radius: 50%; background: var(--blue); box-shadow: 0 0 18px var(--blue); }
.orbit-one { width: 180px; height: 180px; }
.orbit-two { width: 292px; height: 292px; border-style: dashed; }
.orbit-two::after { top: 50%; right: -4px; left: auto; background: var(--violet); box-shadow: 0 0 18px var(--violet); }
.orbit-three { width: 420px; height: 420px; }
.orbit-three::after { top: auto; bottom: 28px; left: 12%; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); }
.signal-core {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  display: grid;
  width: 158px;
  height: 158px;
  place-items: center;
  padding: 18px;
  overflow: hidden;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 36px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 55px rgba(39, 60, 153, 0.2), inset 0 0 0 1px rgba(53, 97, 205, 0.06);
}
.core-logo { display: block; width: 100%; height: 100%; object-fit: contain; }
.signal-beam { position: absolute; z-index: 1; top: 50%; left: 50%; height: 1px; transform-origin: left; background: linear-gradient(90deg, rgba(48, 101, 230, 0.5), transparent); }
.beam-one { width: 210px; transform: rotate(-35deg); }
.beam-two { width: 220px; transform: rotate(30deg); }
.beam-three { width: 230px; transform: rotate(150deg); }
.signal-node {
  position: absolute;
  z-index: 4;
  display: flex;
  min-width: 112px;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid rgba(38, 82, 158, 0.15);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 24px rgba(45, 78, 139, 0.08);
  backdrop-filter: blur(8px);
}
.signal-node span { color: var(--blue); font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 10px; font-weight: 800; }
.signal-node strong { color: #263b62; font-size: 11px; }
.node-one { top: 12%; right: 8%; }
.node-two { right: 5%; bottom: 12%; }
.node-three { bottom: 10%; left: 5%; }
.signal-footer { justify-content: center; gap: 12px; padding: 14px 8px 3px; color: #526584; letter-spacing: 0.08em; }
.signal-footer i { width: 3px; height: 3px; border-radius: 50%; background: #8b9ab4; }
.hero-ticker {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(1240px, calc(100% - 48px));
  justify-content: space-between;
  gap: 28px;
  margin: 64px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(21, 56, 114, 0.11);
  color: #8090aa;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.section-pad { padding: 118px 0; }
.method-section { position: relative; overflow: hidden; background: #071837; color: #fff; }
.method-section::before { position: absolute; top: -220px; left: 50%; width: 760px; height: 500px; content: ""; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(54, 105, 255, 0.24), transparent 68%); }
.section-heading { position: relative; display: grid; grid-template-columns: 1.15fr 0.85fr; align-items: end; gap: 80px; margin-bottom: 54px; }
.section-heading h2 { margin: 0; font-size: clamp(38px, 5vw, 66px); font-weight: 850; line-height: 1.08; letter-spacing: -0.055em; }
.section-heading > p { margin: 0 0 5px; color: #9ba9c2; font-size: 15px; line-height: 1.85; }
.method-heading .section-label { color: #6e8fce; }
.method-track { position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
.method-card {
  position: relative;
  min-height: 310px;
  padding: 23px 21px 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.045);
  transition: transform 220ms ease, background 220ms ease, border-color 220ms ease;
}
.method-card::before { position: absolute; right: -35px; bottom: -60px; width: 150px; height: 150px; content: ""; border: 1px solid rgba(91, 115, 255, 0.16); border-radius: 50%; }
.method-card:hover { z-index: 2; transform: translateY(-7px); border-color: rgba(91, 130, 255, 0.35); background: rgba(255, 255, 255, 0.075); }
.method-topline { display: flex; align-items: center; justify-content: space-between; min-height: 24px; }
.method-number { background: linear-gradient(90deg, #4ba4ff, #a168ff); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 13px; font-weight: 800; }
.method-arrow { position: relative; right: -29px; color: #536789; font-size: 19px; }
.method-card h3 { margin: 47px 0 7px; font-size: 36px; font-weight: 850; letter-spacing: -0.05em; }
.method-card > strong { display: block; color: #7e9ef0; font-size: 12px; letter-spacing: 0.04em; }
.method-card > p { position: relative; z-index: 1; margin: 28px 0 0; color: #9ba9c0; font-size: 12px; line-height: 1.8; }
.method-line { position: absolute; right: 21px; bottom: 18px; left: 21px; height: 3px; overflow: hidden; border-radius: 99px; background: rgba(255, 255, 255, 0.07); }
.method-line span { display: block; width: 46%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #247bff, #7f38f7); }
.method-card:nth-child(2) .method-line span { width: 56%; }
.method-card:nth-child(3) .method-line span { width: 67%; }
.method-card:nth-child(4) .method-line span { width: 78%; }
.method-card:nth-child(5) .method-line span { width: 92%; }
.method-summary { display: flex; align-items: center; gap: 18px; margin: 24px 0 0; padding: 17px 20px; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 14px; color: #91a0bb; font-size: 12px; line-height: 1.6; }
.method-summary span { flex: none; padding: 5px 9px; border-radius: 7px; background: rgba(93, 88, 255, 0.17); color: #aab9ff; font-size: 9px; font-weight: 800; letter-spacing: 0.12em; }

.light-heading .section-label { color: #607399; }
.light-heading h2 { color: var(--ink); }
.light-heading > p { color: #60708c; }

.about-section { background: #fff; }
.about-layout { display: grid; grid-template-columns: 1.25fr 0.75fr; align-items: start; gap: 70px; }
.editorial-statement { padding-top: 2px; }
.editorial-statement > p { max-width: 760px; margin: 0 0 22px; color: #5b6982; font-size: 15px; line-height: 2; }
.editorial-statement .dropcap { color: #172c51; font-size: clamp(21px, 2vw, 27px); font-weight: 650; line-height: 1.75; letter-spacing: -0.018em; }
.editorial-statement blockquote {
  margin: 35px 0 0;
  padding: 21px 25px;
  border: 0;
  border-left: 3px solid var(--blue);
  background: #f2f6ff;
  color: #405273;
  font-size: 14px;
  line-height: 1.8;
}
.editorial-statement blockquote strong { color: var(--blue); }
.entity-card {
  overflow: hidden;
  border: 1px solid rgba(21, 57, 119, 0.13);
  border-radius: 24px;
  background: #f9fbff;
  box-shadow: 0 24px 60px rgba(30, 63, 123, 0.08);
}
.entity-card-head { display: flex; align-items: center; justify-content: space-between; padding: 17px 20px; border-bottom: 1px solid rgba(20, 58, 123, 0.1); color: #72809a; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 9px; font-weight: 800; letter-spacing: 0.11em; }
.entity-card-head i { padding: 5px 8px; border-radius: 6px; background: #e7f8f4; color: #198a70; font-style: normal; letter-spacing: 0.04em; }
.entity-card dl { margin: 0; padding: 5px 20px; }
.entity-card dl div { display: grid; grid-template-columns: 90px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid rgba(20, 58, 123, 0.08); }
.entity-card dt { color: #8691a6; font-size: 11px; }
.entity-card dd { margin: 0; color: #1c3157; font-size: 13px; font-weight: 720; line-height: 1.5; }
.entity-card dd a { color: #215ed7; }
.entity-card > p { margin: 0; padding: 17px 20px 20px; color: #7c889e; font-size: 11px; line-height: 1.75; }

.why-block { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 72px; margin-top: 118px; padding-top: 95px; border-top: 1px solid var(--line); }
.why-intro h2 { margin: 0; max-width: 430px; color: var(--ink); font-size: clamp(36px, 4.6vw, 58px); font-weight: 850; line-height: 1.12; letter-spacing: -0.055em; }
.why-intro > p:not(.section-label) { margin: 28px 0 0; color: #64718a; font-size: 15px; line-height: 1.9; }
.why-intro .why-summary { padding-top: 22px; border-top: 1px solid var(--line); }
.why-summary strong { color: #1a4cae; }
.problem-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(25, 63, 127, 0.12); border-radius: 24px; background: rgba(25, 63, 127, 0.12); }
.problem-grid article { min-height: 188px; padding: 24px; background: #f9fbff; }
.problem-grid article > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 7px; background: #e7efff; color: #2b67df; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 10px; font-weight: 850; }
.problem-grid h3 { margin: 24px 0 9px; color: #162c51; font-size: 17px; font-weight: 790; letter-spacing: -0.025em; }
.problem-grid p { margin: 0; color: #78849a; font-size: 12px; line-height: 1.75; }

.services-section { background: #f2f5fa; }
.services-heading { margin-bottom: 40px; }
.service-list { border-top: 1px solid rgba(17, 49, 106, 0.15); }
.service-row {
  display: grid;
  grid-template-columns: 46px minmax(180px, 0.75fr) 1.25fr 1fr;
  align-items: start;
  gap: 32px;
  padding: 29px 12px;
  border-bottom: 1px solid rgba(17, 49, 106, 0.13);
  transition: background 180ms ease, padding 180ms ease;
}
.service-row:hover { padding-right: 22px; padding-left: 22px; background: rgba(255, 255, 255, 0.68); }
.service-code { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(29, 88, 202, 0.2); border-radius: 50%; color: #2a66dd; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 10px; font-weight: 850; }
.service-row h3 { margin: 3px 0 0; color: #132b54; font-size: 18px; font-weight: 800; letter-spacing: -0.025em; }
.service-row > p { margin: 1px 0 0; color: #67748a; font-size: 13px; line-height: 1.8; }
.service-row > div { padding-left: 24px; border-left: 1px solid rgba(17, 49, 106, 0.11); }
.service-row small { display: block; margin-bottom: 7px; color: #8a96aa; font-size: 9px; font-weight: 800; letter-spacing: 0.12em; }
.service-row strong { color: #3c4f6e; font-size: 11px; font-weight: 650; line-height: 1.7; }
.service-boundary { display: flex; gap: 16px; margin: 28px 0 0; padding: 17px 20px; border-radius: 13px; background: #e8eef8; color: #66758e; font-size: 12px; line-height: 1.7; }
.service-boundary strong { flex: none; color: #214d9c; }

.evidence-section { position: relative; overflow: hidden; background: #07162f; color: #fff; }
.evidence-section::before { position: absolute; top: -260px; right: -180px; width: 760px; height: 760px; content: ""; border: 1px solid rgba(65, 107, 255, 0.14); border-radius: 50%; box-shadow: inset 0 0 170px rgba(72, 45, 255, 0.08); }
.evidence-layout { position: relative; display: grid; grid-template-columns: 0.82fr 1.18fr; align-items: center; gap: 74px; }
.evidence-copy .section-label { color: #6f8cc8; }
.evidence-copy h2 { margin: 0; max-width: 540px; font-size: clamp(40px, 5vw, 65px); font-weight: 850; line-height: 1.08; letter-spacing: -0.055em; }
.evidence-lead { margin: 28px 0 0; color: #b2bed2; font-size: 16px; font-weight: 600; line-height: 1.9; }
.evidence-principle { margin-top: 35px; padding: 22px 24px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; background: rgba(255, 255, 255, 0.04); }
.evidence-principle h3 { margin: 0 0 9px; color: #a9c4ff; font-size: 14px; }
.evidence-principle p { margin: 0; color: #8f9db5; font-size: 12px; line-height: 1.8; }
.evidence-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px 24px; margin: 30px 0 0; padding: 0; list-style: none; }
.evidence-list li { position: relative; padding-left: 17px; color: #91a0b9; font-size: 11px; line-height: 1.6; }
.evidence-list li::before { position: absolute; top: 0.55em; left: 0; width: 5px; height: 5px; content: ""; border-radius: 50%; background: #568cff; box-shadow: 0 0 12px #568cff; }

.tool-panel { overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.11); border-radius: 26px; background: #0b1021; box-shadow: 0 40px 100px rgba(0, 0, 0, 0.26); }
.tool-titlebar { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; padding: 14px 18px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); color: #8390aa; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 8px; font-weight: 750; letter-spacing: 0.11em; }
.tool-titlebar > div { display: flex; gap: 5px; }
.tool-titlebar > div i { width: 6px; height: 6px; border-radius: 50%; background: #2d3b56; }
.tool-titlebar > div i:nth-child(2) { background: #295eaf; }
.tool-titlebar > div i:nth-child(3) { background: #6d39a9; }
.tool-titlebar b { padding: 4px 7px; border-radius: 5px; background: rgba(44, 205, 163, 0.1); color: #52c6a6; font-size: 7px; letter-spacing: 0.08em; }
.tool-dashboard { display: grid; grid-template-columns: 112px 1fr; min-height: 430px; }
.tool-sidebar { display: flex; flex-direction: column; gap: 7px; padding: 20px 12px; border-right: 1px solid rgba(255, 255, 255, 0.07); background: #0a0e1c; }
.tool-sidebar strong { margin: 2px 8px 20px; color: #fff; font-size: 17px; }
.tool-sidebar span { padding: 9px 8px; border-radius: 7px; color: #69758d; font-size: 8px; }
.tool-sidebar .active { background: linear-gradient(90deg, rgba(35, 106, 255, 0.25), rgba(111, 55, 255, 0.12)); color: #9fbaf6; }
.tool-content { padding: 22px; }
.tool-kicker { display: flex; align-items: center; justify-content: space-between; color: #d9e1f3; font-size: 11px; font-weight: 750; }
.tool-kicker i { padding: 5px 7px; border-radius: 5px; background: rgba(74, 210, 160, 0.1); color: #57cfaa; font-size: 7px; font-style: normal; font-weight: 700; }
.tool-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 18px; }
.tool-metrics > div { position: relative; min-height: 86px; padding: 13px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 10px; background: linear-gradient(145deg, #121a32, #15112c); }
.tool-metrics small { display: block; color: #687691; font-size: 7px; }
.tool-metrics strong { display: block; margin-top: 14px; color: #d9e5ff; font-size: 15px; }
.tool-metrics em { position: absolute; right: -18px; bottom: -30px; width: 75px; height: 75px; border: 1px solid rgba(80, 107, 255, 0.18); border-radius: 50%; }
.tool-log { margin-top: 10px; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 10px; }
.log-head, .tool-log p { display: grid; grid-template-columns: 1fr auto; align-items: center; margin: 0; padding: 10px 12px; border-bottom: 1px solid rgba(255, 255, 255, 0.055); color: #8390a9; font-size: 7px; }
.log-head { background: rgba(255, 255, 255, 0.025); color: #55627b; }
.tool-log p { position: relative; padding-left: 26px; }
.tool-log p:last-child { border-bottom: 0; }
.tool-log p i { position: absolute; left: 12px; width: 5px; height: 5px; border-radius: 50%; background: #526078; }
.tool-log p .ok { background: #3fd0a2; }
.tool-log p .wait { background: #8b5cff; }
.tool-log p b { color: #64718a; font-size: 6px; font-weight: 650; }
.tool-chart { display: flex; height: 74px; align-items: end; gap: 7px; margin-top: 12px; padding: 12px 14px 0; border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 10px; background: linear-gradient(180deg, rgba(46, 62, 113, 0.08), transparent); }
.tool-chart span { flex: 1; min-height: 8px; border-radius: 4px 4px 1px 1px; background: linear-gradient(180deg, #9265ff, #375bd0); box-shadow: 0 0 12px rgba(111, 72, 255, 0.15); }
.tool-note { display: grid; grid-template-columns: 145px 1fr; gap: 20px; padding: 19px 22px 22px; border-top: 1px solid rgba(255, 255, 255, 0.08); background: #0a0f20; }
.tool-note strong { color: #9ab6f0; font-size: 10px; }
.tool-note p { margin: 0; color: #68758d; font-size: 9px; line-height: 1.8; }

.selection-section { background: #fff; }
.selection-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.selection-grid article { position: relative; min-height: 260px; padding: 28px 23px; border-right: 1px solid var(--line); }
.selection-grid article:last-child { border-right: 0; }
.selection-grid article > span { color: #2a66de; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 11px; font-weight: 850; }
.selection-grid h3 { margin: 54px 0 14px; color: #122a52; font-size: 26px; font-weight: 840; letter-spacing: -0.04em; }
.selection-grid p { margin: 0; color: #738097; font-size: 12px; line-height: 1.8; }
.selection-grid article::after { position: absolute; right: 23px; bottom: 20px; left: 23px; height: 2px; content: ""; background: linear-gradient(90deg, #326fff 40%, rgba(50, 111, 255, 0.08) 40%); }
.warning-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 26px; }
.warning-strip strong { margin-right: 8px; color: #8b3342; font-size: 11px; }
.warning-strip span { padding: 8px 10px; border: 1px solid #f2dadd; border-radius: 8px; background: #fff8f8; color: #925563; font-size: 10px; }

.case-section { background: linear-gradient(155deg, #eef5ff, #f9fbff 56%, #f2efff); }
.case-layout { display: grid; grid-template-columns: 1.18fr 0.82fr; align-items: stretch; gap: 70px; }
.case-copy .section-label { color: #61779e; }
.case-copy h2 { margin: 0; max-width: 720px; color: var(--ink); font-size: clamp(40px, 5vw, 64px); font-weight: 850; line-height: 1.1; letter-spacing: -0.055em; }
.case-copy > p:not(.section-label) { max-width: 700px; margin: 25px 0 0; color: #67758d; font-size: 14px; line-height: 1.85; }
.case-facts { display: grid; grid-template-columns: 1.4fr 0.8fr 0.8fr; gap: 1px; margin-top: 34px; overflow: hidden; border: 1px solid rgba(24, 62, 126, 0.13); border-radius: 15px; background: rgba(24, 62, 126, 0.1); }
.case-facts div { padding: 16px; background: rgba(255, 255, 255, 0.72); }
.case-facts small { display: block; margin-bottom: 6px; color: #8793a8; font-size: 8px; font-weight: 780; letter-spacing: 0.1em; }
.case-facts strong { color: #243a60; font-size: 11px; }
.case-story { margin-top: 34px; border-top: 1px solid rgba(24, 62, 126, 0.13); }
.case-story article { display: grid; grid-template-columns: 92px 0.75fr 1.25fr; gap: 22px; padding: 23px 0; border-bottom: 1px solid rgba(24, 62, 126, 0.13); }
.case-story article > span { color: #3469cc; font-size: 10px; font-weight: 800; }
.case-story h3 { margin: 0; color: #20375e; font-size: 15px; line-height: 1.5; }
.case-story p { margin: 0; color: #718097; font-size: 11px; line-height: 1.75; }
.case-result { position: relative; overflow: hidden; padding: 30px; border-radius: 28px; background: #081a3a; box-shadow: 0 35px 80px rgba(29, 55, 121, 0.18); color: #fff; }
.case-result::before { position: absolute; top: -100px; right: -120px; width: 330px; height: 330px; content: ""; border-radius: 50%; background: radial-gradient(circle, rgba(102, 62, 255, 0.42), transparent 68%); }
.case-result-top { position: relative; display: flex; justify-content: space-between; color: #7284a5; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 8px; font-weight: 800; letter-spacing: 0.1em; }
.case-result-top i { padding: 4px 7px; border-radius: 6px; background: rgba(73, 211, 168, 0.1); color: #57caaa; font-style: normal; letter-spacing: 0.04em; }
.result-number { position: relative; display: flex; align-items: baseline; gap: 14px; margin-top: 42px; }
.result-number strong { background: linear-gradient(150deg, #fff, #6f9dff); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 94px; font-weight: 900; line-height: 0.9; letter-spacing: -0.08em; }
.result-number span { color: #9eb0cf; font-size: 14px; font-weight: 700; }
.result-divider { height: 1px; margin: 30px 0; background: rgba(255, 255, 255, 0.1); }
.result-secondary { margin-top: 0; }
.result-secondary strong { font-size: 70px; }
.case-result > p { margin: 28px 0 0; color: #798aa8; font-size: 9px; }
.case-result blockquote { margin: 24px 0 0; padding: 18px; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 13px; background: rgba(255, 255, 255, 0.035); color: #90a0bc; font-size: 10px; line-height: 1.8; }
.case-result blockquote strong { color: #c5d4f1; }
.case-result ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.case-result li { position: relative; padding-left: 14px; color: #788aa8; font-size: 9px; }
.case-result li::before { position: absolute; top: 0.45em; left: 0; width: 5px; height: 5px; content: ""; border-radius: 50%; background: #4b81ef; }

.scope-section { background: #fff; }
.scope-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.fit-card { padding: 34px; border: 1px solid rgba(23, 62, 127, 0.13); border-radius: 24px; background: #f7faff; }
.fit-card > span { display: inline-block; padding: 6px 9px; border-radius: 7px; background: #e6eeff; color: #2762d7; font-size: 9px; font-weight: 850; letter-spacing: 0.12em; }
.fit-card h3 { margin: 26px 0 24px; color: #152d55; font-size: 25px; font-weight: 830; letter-spacing: -0.035em; }
.fit-card ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; margin: 0; padding: 0; list-style: none; }
.fit-card li { position: relative; padding-left: 16px; color: #53647f; font-size: 12px; line-height: 1.65; }
.fit-card li::before { position: absolute; top: 0.55em; left: 0; width: 6px; height: 6px; content: ""; border-radius: 50%; background: #3472e7; }
.fit-card > p { margin: 28px 0 0; padding-top: 22px; border-top: 1px solid rgba(23, 62, 127, 0.11); color: #8190a5; font-size: 10px; line-height: 1.8; }
.fit-card-muted { background: #f8f8fa; }
.fit-card-muted > span { background: #efebed; color: #8a5560; }
.fit-card-muted li::before { background: #aa6e79; }

.faq-section { background: #f1f4f9; }
.faq-layout { display: grid; grid-template-columns: 0.72fr 1.28fr; align-items: start; gap: 80px; }
.faq-title { position: sticky; top: 115px; }
.faq-title h2 { margin: 0; color: var(--ink); font-size: clamp(42px, 5vw, 64px); font-weight: 850; line-height: 1.08; letter-spacing: -0.055em; }
.faq-title > p:not(.section-label) { margin: 24px 0 0; color: #6c7890; font-size: 14px; line-height: 1.85; }
.faq-title > a { display: inline-flex; align-items: center; gap: 28px; margin-top: 32px; padding-bottom: 7px; border-bottom: 1px solid #90a9d9; color: #245ecb; font-size: 12px; font-weight: 750; }
.faq-title > a span { font-size: 16px; }
.faq-list { border-top: 1px solid rgba(22, 56, 116, 0.16); }
.faq-list details { border-bottom: 1px solid rgba(22, 56, 116, 0.14); }
.faq-list summary { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 30px; padding: 18px 4px; color: #1c3359; font-size: 16px; font-weight: 760; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary i { position: relative; flex: none; width: 24px; height: 24px; border: 1px solid rgba(30, 72, 149, 0.22); border-radius: 50%; }
.faq-list summary i::before, .faq-list summary i::after { position: absolute; top: 50%; left: 50%; width: 9px; height: 1px; content: ""; transform: translate(-50%, -50%); background: #3568c8; }
.faq-list summary i::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform 180ms ease; }
.faq-list details[open] summary i::after { transform: translate(-50%, -50%) rotate(0); }
.faq-list details > p { max-width: 760px; margin: -3px 48px 26px 4px; color: #6b7890; font-size: 13px; line-height: 1.9; }

.contact-section { padding: 26px 0 0; background: #f1f4f9; }
.contact-card { position: relative; display: grid; grid-template-columns: 1.2fr 0.55fr 0.7fr; align-items: center; gap: 42px; overflow: hidden; padding: 58px; border-radius: 32px; background: linear-gradient(125deg, #07193a 0%, #0c2450 56%, #30166b 100%); color: #fff; }
.contact-card::before { position: absolute; right: 16%; bottom: -250px; width: 560px; height: 560px; content: ""; border: 1px solid rgba(117, 141, 255, 0.15); border-radius: 50%; box-shadow: inset 0 0 140px rgba(86, 55, 255, 0.13); }
.contact-copy, .qr-card, .contact-entity { position: relative; }
.contact-copy .section-label { color: #7f9ad0; }
.contact-copy h2 { margin: 0; max-width: 620px; font-size: clamp(36px, 4.3vw, 56px); font-weight: 850; line-height: 1.12; letter-spacing: -0.055em; }
.contact-lead { max-width: 670px; margin: 27px 0 0; color: #b6c5df; font-size: 15px; line-height: 1.85; }
.contact-lead strong { color: #fff; }
.contact-copy > p:not(.section-label):not(.contact-lead) { margin: 14px 0 0; color: #8092b0; font-size: 11px; line-height: 1.8; }
.contact-actions { display: flex; gap: 10px; margin-top: 28px; }
.contact-actions > * { display: flex; min-width: 180px; flex-direction: column; padding: 13px 16px; border: 1px solid rgba(255, 255, 255, 0.11); border-radius: 12px; background: rgba(255, 255, 255, 0.055); }
.contact-actions small { margin-bottom: 5px; color: #7188b1; font-size: 8px; font-weight: 800; letter-spacing: 0.1em; }
.contact-actions strong { color: #fff; font-size: 15px; letter-spacing: 0.04em; }
.qr-card { padding: 12px; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 20px; background: rgba(255, 255, 255, 0.07); }
.qr-frame { aspect-ratio: 1 / 1; overflow: hidden; border-radius: 12px; background: #fff; }
.qr-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center 62%; transform: scale(1.48); }
.qr-card > div:last-child { padding: 12px 4px 2px; }
.qr-card strong { display: block; color: #e5ecfb; font-size: 10px; }
.qr-card span { display: block; margin-top: 5px; color: #7182a4; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 7px; letter-spacing: 0.1em; }
.contact-entity { display: grid; grid-template-columns: 72px 1fr; gap: 12px 14px; padding-left: 34px; border-left: 1px solid rgba(255, 255, 255, 0.1); }
.contact-entity span { color: #6f84a9; font-size: 9px; }
.contact-entity strong, .contact-entity a { color: #cbd7eb; font-size: 10px; font-weight: 680; line-height: 1.5; }

.site-footer { padding: 78px 0 30px; background: #06132c; color: #fff; }
.footer-top { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding-bottom: 58px; }
.footer-brand { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; }
.footer-mark { display: block; width: 44px; height: auto; }
.footer-brand > strong { font-size: 21px; letter-spacing: -0.05em; }
.footer-brand > strong span { color: #8752ff; }
.footer-brand p { grid-column: 1 / -1; max-width: 510px; margin: 17px 0 0; color: #7383a0; font-size: 11px; line-height: 1.8; }
.footer-top nav { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 28px; align-content: start; }
.footer-top nav a { color: #8b9ab4; font-size: 11px; }
.footer-top nav a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.08); color: #536481; font-size: 8px; letter-spacing: 0.06em; }

@media (max-width: 1100px) {
  .site-nav a:nth-child(4), .site-nav a:nth-child(5) { display: none; }
  .hero-inner { grid-template-columns: minmax(0, 1fr) 420px; gap: 34px; }
  .hero-facts { grid-template-columns: 1fr; gap: 12px; }
  .hero-facts div, .hero-facts div + div { padding: 0; border: 0; }
  .method-track { grid-template-columns: repeat(3, 1fr); }
  .method-card:nth-child(3) .method-arrow { display: none; }
  .about-layout { gap: 42px; }
  .why-block { gap: 42px; }
  .service-row { grid-template-columns: 46px 0.8fr 1.2fr; gap: 24px; }
  .service-row > div { grid-column: 2 / -1; padding: 18px 0 0; border-top: 1px solid rgba(17, 49, 106, 0.09); border-left: 0; }
  .evidence-layout { grid-template-columns: 1fr; gap: 54px; }
  .evidence-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 38px; }
  .evidence-copy .section-label, .evidence-copy h2, .evidence-copy .evidence-lead { grid-column: 1 / -1; }
  .evidence-principle { grid-column: 1; }
  .evidence-list { grid-column: 2; align-content: start; margin-top: 35px; }
  .tool-panel { width: min(100%, 820px); margin: 0 auto; }
  .selection-grid { grid-template-columns: repeat(3, 1fr); border: 0; gap: 1px; overflow: hidden; border-radius: 20px; background: var(--line); }
  .selection-grid article { border: 0; background: #fff; }
  .case-layout { gap: 38px; }
  .case-story article { grid-template-columns: 78px 0.8fr 1.2fr; gap: 16px; }
  .contact-card { grid-template-columns: 1fr 190px; }
  .contact-entity { grid-column: 1 / -1; grid-template-columns: 72px 1fr 72px 1fr; padding: 24px 0 0; border-top: 1px solid rgba(255, 255, 255, 0.1); border-left: 0; }
}

@media (max-width: 820px) {
  .shell { width: min(100% - 32px, 680px); }
  .site-header { top: 9px; grid-template-columns: 1fr auto; min-height: 60px; padding-left: 14px; border-radius: 17px; }
  .site-nav { display: none; }
  .nav-cta { min-width: auto; padding: 10px 13px; }
  .nav-cta span { display: none; }
  .nav-cta strong { font-size: 12px; }
  .hero { padding-top: 120px; }
  .hero-inner { grid-template-columns: 1fr; gap: 50px; }
  .hero h1 { font-size: clamp(54px, 15vw, 78px); }
  .hero h1 .gradient-text { max-width: 660px; font-size: clamp(38px, 9.5vw, 58px); }
  .signal-column { width: min(100%, 560px); margin: 0 auto; }
  .section-heading { grid-template-columns: 1fr; gap: 18px; }
  .method-track { grid-template-columns: repeat(2, 1fr); }
  .method-card:nth-child(2) .method-arrow, .method-card:nth-child(4) .method-arrow { display: none; }
  .method-card:nth-child(3) .method-arrow { display: inline; }
  .about-layout { grid-template-columns: 1fr; }
  .entity-card { width: min(100%, 620px); }
  .why-block { grid-template-columns: 1fr; margin-top: 86px; padding-top: 75px; }
  .why-intro h2 { max-width: 620px; }
  .service-row { grid-template-columns: 42px 1fr; }
  .service-row > p, .service-row > div { grid-column: 2; }
  .evidence-copy { display: block; }
  .evidence-list { margin-top: 28px; }
  .selection-grid { grid-template-columns: repeat(2, 1fr); }
  .case-layout { grid-template-columns: 1fr; }
  .case-result { width: min(100%, 560px); }
  .scope-grid { grid-template-columns: 1fr; }
  .faq-layout { grid-template-columns: 1fr; gap: 55px; }
  .faq-title { position: static; }
  .contact-card { grid-template-columns: 1fr 180px; gap: 32px; padding: 38px; }
  .contact-entity { grid-template-columns: 72px 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 45px; }
  .footer-bottom { flex-direction: column; gap: 9px; }
}

@media (max-width: 560px) {
  .shell { width: min(100% - 24px, 520px); }
  .brand-mark { width: 37px; }
  .brand-name { font-size: 18px; }
  .nav-cta strong { font-size: 11px; }
  .hero { min-height: auto; padding-bottom: 42px; }
  .eyebrow { font-size: 9px; letter-spacing: 0.12em; }
  .hero h1 { font-size: 52px; letter-spacing: -0.065em; }
  .hero h1 small { margin-top: 25px; font-size: 18px; }
  .hero h1 .gradient-text { font-size: 38px; line-height: 1.14; }
  .hero-lead { margin-top: 24px; font-size: 16px; line-height: 1.75; }
  .hero-sub { font-size: 13px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; justify-content: space-between; }
  .signal-stage { min-height: 390px; }
  .orbit-three { width: 350px; height: 350px; }
  .signal-core { width: 128px; height: 128px; padding: 15px; }
  .signal-node { min-width: auto; padding: 8px 9px; }
  .signal-node strong { font-size: 10px; }
  .hero-ticker { width: calc(100% - 24px); overflow: hidden; }
  .hero-ticker span:nth-child(n + 3) { display: none; }
  .section-pad { padding: 82px 0; }
  .section-heading h2 { font-size: 38px; }
  .method-track { grid-template-columns: 1fr; }
  .method-card { min-height: 245px; }
  .method-card h3 { margin-top: 30px; }
  .method-arrow { right: 0 !important; display: inline !important; transform: rotate(90deg); }
  .method-card:last-child .method-arrow { display: none !important; }
  .method-summary { display: block; }
  .method-summary span { display: inline-block; margin-bottom: 10px; }
  .section-heading { margin-bottom: 38px; }
  .about-layout { gap: 34px; }
  .editorial-statement .dropcap { font-size: 20px; }
  .entity-card dl div { grid-template-columns: 76px 1fr; }
  .why-block { margin-top: 75px; padding-top: 68px; }
  .problem-grid { grid-template-columns: 1fr; }
  .problem-grid article { min-height: 165px; }
  .service-row { display: block; padding: 25px 8px; }
  .service-row:hover { padding-right: 8px; padding-left: 8px; }
  .service-code { margin-bottom: 18px; }
  .service-row h3 { font-size: 19px; }
  .service-row > p { margin-top: 12px; }
  .service-row > div { margin-top: 18px; }
  .service-boundary { display: block; }
  .service-boundary strong { display: block; margin-bottom: 6px; }
  .evidence-copy h2 { font-size: 38px; }
  .evidence-list { grid-template-columns: 1fr; }
  .tool-dashboard { grid-template-columns: 1fr; min-height: auto; }
  .tool-sidebar { display: none; }
  .tool-content { padding: 16px; }
  .tool-metrics { grid-template-columns: 1fr; }
  .tool-metrics > div { min-height: 72px; }
  .tool-log p { grid-template-columns: 1fr; gap: 4px; }
  .tool-log p b { display: block; }
  .tool-note { grid-template-columns: 1fr; gap: 9px; }
  .selection-grid { grid-template-columns: 1fr; }
  .selection-grid article { min-height: 220px; }
  .selection-grid h3 { margin-top: 35px; }
  .warning-strip { display: grid; grid-template-columns: 1fr 1fr; }
  .warning-strip strong { grid-column: 1 / -1; }
  .case-copy h2 { font-size: 38px; }
  .case-facts { grid-template-columns: 1fr; }
  .case-story article { grid-template-columns: 1fr; gap: 8px; }
  .case-story article > span { margin-bottom: 4px; }
  .case-result { padding: 25px; }
  .result-number strong { font-size: 76px; }
  .case-result ul { grid-template-columns: 1fr; }
  .fit-card { padding: 25px; }
  .fit-card h3 { font-size: 22px; }
  .fit-card ul { grid-template-columns: 1fr; }
  .faq-list summary { min-height: 70px; font-size: 14px; }
  .contact-card { grid-template-columns: 1fr; padding: 29px 22px; border-radius: 24px; }
  .contact-copy h2 { font-size: 36px; }
  .contact-actions { display: grid; grid-template-columns: 1fr; }
  .contact-actions > * { min-width: 0; }
  .qr-card { width: min(100%, 230px); }
  .contact-entity { grid-template-columns: 64px 1fr; }
  .site-footer { padding-top: 64px; }
  .footer-top nav { grid-template-columns: repeat(2, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

/* ===== 2026-08-14 polish: contact conversion + QR scan reliability ===== */
::selection { background: rgba(23, 104, 255, 0.18); color: var(--ink); }

.contact-section {
  position: relative;
  overflow: hidden;
  padding: 52px 0 42px;
  background:
    radial-gradient(circle at 15% 15%, rgba(48, 106, 255, 0.08), transparent 32%),
    radial-gradient(circle at 88% 70%, rgba(124, 49, 255, 0.08), transparent 28%),
    #eef3fa;
}
.contact-section::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: 0.3;
  background-image:
    linear-gradient(rgba(34, 75, 141, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 75, 141, 0.05) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}
.contact-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  align-items: stretch;
  gap: 42px;
  overflow: hidden;
  padding: clamp(32px, 5vw, 64px);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 36px;
  background:
    radial-gradient(circle at 82% 15%, rgba(71, 79, 255, 0.22), transparent 27%),
    linear-gradient(132deg, #061632 0%, #0a234c 54%, #27145f 100%);
  box-shadow: 0 34px 90px rgba(8, 31, 72, 0.18);
  color: #fff;
}
.contact-card::before {
  position: absolute;
  right: -120px;
  bottom: -250px;
  width: 560px;
  height: 560px;
  content: "";
  border: 1px solid rgba(135, 156, 255, 0.16);
  border-radius: 50%;
  box-shadow: inset 0 0 160px rgba(91, 55, 255, 0.11);
}
.contact-card::after {
  position: absolute;
  top: -95px;
  left: 42%;
  width: 250px;
  height: 250px;
  content: "";
  border-radius: 50%;
  background: radial-gradient(circle, rgba(39, 129, 255, 0.12), transparent 70%);
}
.contact-copy, .contact-side { position: relative; z-index: 2; }
.contact-copy { align-self: center; max-width: 690px; }
.contact-copy .section-label { color: #82a4e4; }
.contact-copy h2 {
  margin: 0;
  max-width: 700px;
  font-size: clamp(38px, 4.5vw, 60px);
  font-weight: 860;
  line-height: 1.08;
  letter-spacing: -0.06em;
}
.contact-lead {
  max-width: 670px;
  margin: 26px 0 0;
  color: #bdcae0;
  font-size: 15px;
  line-height: 1.9;
}
.contact-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 23px;
}
.contact-checks span {
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.055);
  color: #aebfda;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.contact-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 620px;
  margin-top: 28px;
}
.contact-actions > * {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 88px;
  flex-direction: column;
  justify-content: center;
  padding: 15px 17px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.06);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}
.contact-actions > *:hover { transform: translateY(-2px); border-color: rgba(126, 161, 255, 0.35); background: rgba(255, 255, 255, 0.09); }
.contact-actions small { margin-bottom: 5px; color: #7790bb; font-size: 9px; font-weight: 800; letter-spacing: 0.1em; }
.contact-actions strong { color: #fff; font-size: 18px; letter-spacing: 0.025em; }
.contact-actions em { margin-top: 5px; color: #8498bb; font-size: 9px; font-style: normal; }
.contact-phone::after {
  position: absolute;
  top: 16px;
  right: 16px;
  content: "↗";
  color: #8eb0ff;
  font-size: 16px;
}
.contact-note { margin: 19px 0 0; color: #7388ad; font-size: 11px; line-height: 1.7; }

.contact-side {
  display: grid;
  grid-template-columns: minmax(220px, 0.86fr) minmax(170px, 0.7fr);
  align-items: center;
  gap: 18px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  background: rgba(4, 16, 39, 0.24);
  backdrop-filter: blur(8px);
}
.qr-card {
  position: relative;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.075);
}
.qr-badge {
  position: absolute;
  z-index: 3;
  top: 20px;
  left: 20px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(6, 22, 50, 0.84);
  color: #dce7ff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  backdrop-filter: blur(7px);
}
.qr-frame {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 15px 36px rgba(0, 0, 0, 0.22);
}
.qr-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  transform: none;
  image-rendering: auto;
}
.qr-meta { padding: 12px 4px 1px; }
.qr-meta strong { display: block; color: #f2f6ff; font-size: 12px; }
.qr-meta span { display: block; margin-top: 5px; color: #8299bd; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 8px; letter-spacing: 0.11em; }
.qr-meta small { display: block; margin-top: 7px; color: #7185a7; font-size: 8px; line-height: 1.55; }
.contact-entity {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0;
  border: 0;
}
.contact-entity div {
  padding: 13px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.085);
}
.contact-entity div:last-child { border-bottom: 0; }
.contact-entity span { display: block; margin-bottom: 5px; color: #7187ac; font-size: 8px; font-weight: 700; letter-spacing: 0.08em; }
.contact-entity strong, .contact-entity a { display: block; color: #d8e2f4; font-size: 10px; font-weight: 680; line-height: 1.55; word-break: break-word; }
.contact-entity a:hover { color: #fff; }

@media (max-width: 980px) {
  .contact-card { grid-template-columns: 1fr; gap: 28px; }
  .contact-side { grid-template-columns: minmax(220px, 0.72fr) minmax(180px, 1fr); }
}

@media (max-width: 640px) {
  .contact-section { padding: 28px 0 24px; }
  .contact-card { width: min(100% - 24px, 1240px); padding: 28px 18px; border-radius: 26px; }
  .contact-copy h2 { font-size: 36px; }
  .contact-actions { grid-template-columns: 1fr; }
  .contact-side { grid-template-columns: 1fr; padding: 12px; }
  .qr-card { width: min(100%, 320px); margin: 0 auto; }
  .qr-frame { padding: 10px; }
  .contact-entity { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
}
