@charset "UTF-8";
:root {
  color-scheme:dark;
  font-size:100%;
  --space-section:clamp(2.5rem,5vw,5rem);
  --space-content:clamp(1.25rem,3vw,2.5rem);
  --type-caption:.75rem;
  --type-control:.875rem;
  --bg:#080f18;
  --panel:#111e2c;
  --text:#eaf2f8;
  --muted:#9aafc1;
  --line:#25384a;
  --accent:#83c7f5;
  --blue:#a9c8d7;
  --font-text:Constantia,Georgia,"Microsoft YaHei","PingFang SC",serif;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --press-duration:140ms;
  font-family:var(--font-text);
  font-variant-numeric:lining-nums;
  font-synthesis:none;
}
* {
  box-sizing:border-box;
}
html {
  scroll-padding-top:28px;
}
body {
  margin:0;
  background:#101a26;
  color:var(--text);
  font-size:0.875rem;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
}
a,button {
  -webkit-tap-highlight-color:transparent;
}
button,a {
  touch-action:manipulation;
}
button {
  cursor:pointer;
}
a:focus-visible,button:focus-visible,video:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:6px;
}
::selection {
  background:#245c8e;
  color:#fff;
}
.skip {
  position:fixed;
  top:-70px;
  left:20px;
  padding:16px;
  background:#fff;
  color:#111;
  z-index:10;
}
.skip:focus {
  top:10px;
}
.skip:not(:focus) {
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
  padding: 0;
}
.page-shell {
  max-width:1800px;
  margin:12px auto 0;
  border:1px solid #243346;
  border-radius:30px 30px 0 0;
  background:var(--bg);
  padding:0 28px;
  overflow:hidden;
}
.nav {
  min-height:100px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.wordmark {
  font-size:1.6875rem;
  letter-spacing:-.03em;
  white-space:nowrap;
}
.nav nav {
  display:flex;
  gap:5px;
}
.nav nav a {
  background:#132131;
  padding:13px 27px;
  border-radius:100px;
  transition:transform var(--press-duration) var(--ease-out),background-color 160ms ease;
}
.nav-cta {
  background:#eaf2f8;
  color:#14283b;
  border-radius:100px;
  padding:14px 25px;
}
.nav-cta span {
  margin-left:24px;
}
.hero {
  position:relative;
  height:clamp(520px,56vw,780px);
  isolation:isolate;
  border-radius:25px;
  overflow:hidden;
  background:#061326;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-art {
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(ellipse at 8% 0%,#3972a044,transparent 40%),#061123;
}
#scene {
  height:100%;
  width:100%;
  display:block;
  position:absolute;
  inset:0;
}
.orb-fallback {
  position:absolute;
  width:70%;
  aspect-ratio:1;
  left:15%;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:radial-gradient(circle,transparent 25%,#468fe81c 52%,#9bd9ff90 65%,transparent 70%);
  box-shadow:inset 0 0 90px #4b9cfa22;
  opacity:1;
  transition:opacity .8s;
}
.scene-ready .orb-fallback {
  opacity:0;
}
.hero-vignette {
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#051222b3,transparent 30%,transparent 80%,#07182a44);
  pointer-events:none;
}
.hero-top,.hero-bottom {
  position:absolute;
  left:32px;
  right:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.hero-top {
  top:28px;
  font-size:0.625rem;
  letter-spacing:1.7px;
  color:#bfd6eb;
}
.hero-top>span:first-child {
  display:flex;
  gap:10px;
  align-items:center;
}
.live-dot,.research-dot i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#a5daff;
  display:inline-block;
}
.hero h1 {
  font-weight:400;
  font-size:clamp(3.75rem,12.1vw,11.75rem);
  letter-spacing:-.045em;
  margin:0 0 30px;
  line-height:1;
  color:#e5f2ffdc;
  text-shadow:0 2px 32px #031d3930;
  pointer-events:none;
}
.hero-bottom {
  bottom:30px;
  align-items:flex-end;
}
.eyebrow {
  font-size:0.625rem;
  font-weight:400;
  letter-spacing:1.7px;
  line-height:1.7;
}
.hero-bottom p {
  margin:9px 0 0;
  font-size:1.5rem;
  font-weight:400;
  letter-spacing:2px;
}
.motion-toggle {
  border:1px solid #ffffff40;
  background:#091a2e77;
  color:#e4f2ff;
  border-radius:30px;
  padding:10px 15px;
  display:flex;
  gap:10px;
  align-items:center;
  font-size:0.6875rem;
  backdrop-filter:blur(12px);
}
.intro {
  display:grid;
  grid-template-columns:1.45fr .65fr 1fr;
  gap:16px;
  padding:24px 0 78px;
}
.intro-copy {
  padding:6px 50px 0 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.intro-copy>p {
  font-size:1.75rem;
  line-height:1.45;
  margin:0 0 14px;
  letter-spacing:1px;
}
.intro-detail {
  font-size:0.8125rem;
  color:#b3c8d9;
  line-height:1.9;
  max-width:400px;
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:45px;
  border-radius:60px;
  padding:18px 24px;
  font-size:0.8125rem;
  transition:transform var(--press-duration) var(--ease-out),background-color 160ms ease;
}
.button.light {
  background:#eaf2f8;
  color:#122131;
}
.intro-copy .button {
  margin-top:28px;
}
.intro-card {
  border-radius:25px;
  background:#122131;
  box-shadow:inset 0 0 0 1px #a6d6f60e;
  padding:27px;
  min-height:265px;
  display:flex;
  flex-direction:column;
}
.intro-card .eyebrow {
  color:#a9c3d8;
  font-size:0.5625rem;
}
.x1-card strong {
  font-size:5.375rem;
  letter-spacing:-.04em;
  line-height:1.15;
  font-weight:400;
  margin-top:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.x1-card strong span {
  font-size:1.625rem;
  letter-spacing:0;
  color:#99b9d1;
}
.x1-card>span:nth-last-child(2) {
  font-size:0.8125rem;
  margin:7px 0 17px;
}
.status {
  font-size:0.625rem;
  color:#a8c9e1;
  display:flex;
  align-items:center;
  gap:7px;
}
.status i {
  height:5px;
  width:5px;
  border-radius:50%;
  background:#9fcdf0;
}
.philosophy p {
  font-size:1.5rem;
  font-weight:400;
  line-height:1.65;
  margin:28px 0;
}
.tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:auto;
}
.tags span {
  font-size:0.6875rem;
  border-radius:30px;
  background:#20384d;
  padding:10px 13px;
}
.section {
  padding:58px 40px;
  scroll-margin-top:20px;
}
.section-top {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
}
.small-tag {
  font-size:0.5625rem;
  letter-spacing:1px;
  border:1px solid currentColor;
  opacity:1;
  border-radius:30px;
  padding:7px 12px;
}
.product {
  background:#d5e3ed;
  border-radius:26px;
  color:#233f55;
  padding-bottom:20px;
}
.product-heading,.section-heading {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:flex-end;
  margin:40px 0;
}
.section h2 {
  font-weight:400;
  font-size:clamp(2.25rem,4vw,3.875rem);
  line-height:1.3;
  letter-spacing:-1.8px;
  margin:0;
}
.product h2 span {
  color:#66849c;
}
.product-heading>p,.section-heading>p {
  line-height:1.9;
  font-size:0.8125rem;
  max-width:310px;
  margin:0 0 7px;
  color:#45627a;
}
.video-wrap {
  position:relative;
  border-radius:18px;
  overflow:hidden;
  background:#304e5f;
}
.video-wrap video {
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:contain;
}
.video-note {
  position:absolute;
  top:21px;
  left:23px;
  font-size:0.5625rem;
  letter-spacing:1.7px;
  color:#e0edf0;
  pointer-events:none;
  text-shadow:0 1px 5px #142e3a;
}
.product-caption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:15px 0;
  font-size:0.625rem;
  color:#45627a;
}
.product-details {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  padding:25px 0 20px;
}
.product-details>div {
  position:relative;
  padding-left:50px;
}
.index {
  position:absolute;
  left:0;
  top:4px;
  font-size:0.6875rem;
  border-top:1px solid #6b838f;
  padding-top:8px;
}
.product-details h3 {
  font-size:1.25rem;
  font-weight:400;
  margin:0 0 12px;
}
.product-details p {
  font-size:0.75rem;
  line-height:1.9;
  max-width:420px;
  color:#45627a;
  margin:0;
}
.experience {
  padding-top:100px;
  padding-bottom:85px;
}
.section-heading h2 span {
  color:#93b4cf;
}
.section-heading>p {
  color:#a2bcd0;
}
.steps {
  padding:0;
  margin:55px 0 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  list-style:none;
  border-top:1px solid var(--line);
}
.steps li {
  padding:26px 25px 10px 0;
  display:flex;
  flex-direction:column;
}
.steps li+li {
  border-left:1px solid var(--line);
  padding-left:25px;
}
.step-no {
  font-size:2rem;
  color:#a7cbe5;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.step-no span {
  font-size:1.125rem;
  color:#8aa9c3;
}
.steps h3 {
  font-size:1.25rem;
  font-weight:400;
  line-height:1.5;
  margin:28px 0 13px;
}
.steps p {
  font-size:0.75rem;
  color:#a6bbce;
  line-height:2;
  margin:0 0 30px;
}
.step-foot {
  font-size:0.5rem;
  letter-spacing:1.1px;
  margin-top:auto;
  color:#91aac1;
  white-space:nowrap;
}
.experience-note {
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding-top:30px;
  margin-top:38px;
  border-top:1px solid var(--line);
}
.note-symbol {
  color:#abcce5;
  font-size:1.5rem;
}
.experience-note p {
  font-size:0.875rem;
  margin:0;
  line-height:1.8;
}
.experience-note p span {
  display:block;
  color:#96afc5;
  font-size:0.6875rem;
  margin-top:6px;
}
.privacy {
  background:#102236;
  border:1px solid #a6d6f619;
  border-radius:26px;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:80px;
  padding-top:55px;
  padding-bottom:55px;
  background-image:radial-gradient(ellipse at 0 100%,#2a659455,transparent 65%);
}
.privacy-intro .eyebrow {
  color:#a7cbe5;
}
.privacy-symbol {
  margin:35px 0 25px;
  width:45px;
  height:54px;
}
.privacy-symbol svg {
  width:100%;
  height:100%;
  stroke:#a6d6f6;
  stroke-width:2;
}
.privacy h2 {
  font-size:3rem;
}
.privacy h2 span {
  color:#a8c9e1;
}
.privacy-intro>p {
  font-size:0.75rem;
  line-height:2;
  color:#a4bed3;
  margin:22px 0 0;
}
.privacy-list {
  align-self:center;
}
.privacy-list article {
  display:flex;
  gap:26px;
  padding:30px 0;
  border-bottom:1px solid #2d465e;
}
.privacy-list article:first-child {
  padding-top:0;
}
.privacy-list article:last-child {
  border:0;
  padding-bottom:0;
}
.privacy-list article>span {
  font-size:0.625rem;
  color:#90b8d8;
  line-height:28px;
}
.privacy-list h3 {
  font-size:1.3125rem;
  font-weight:400;
  margin:0 0 13px;
}
.privacy-list p {
  font-size:0.75rem;
  line-height:2;
  color:#a6bfd4;
  margin:0;
  max-width:440px;
}
.research {
  padding-top:100px;
  padding-bottom:65px;
}
.research-dot {
  color:#a7c4db;
  font-size:0.625rem;
  display:flex;
  gap:8px;
  align-items:center;
}
.research-dot i {
  background:#83c7f5;
}
.research-rows {
  margin-top:50px;
}
.research-rows article {
  display:grid;
  grid-template-columns:45px 1fr 1.3fr;
  gap:22px;
  align-items:start;
  padding:30px 0;
  border-top:1px solid var(--line);
}
.row-no {
  font-size:0.625rem;
  color:#91aac1;
  line-height:29px;
}
.research-rows h3 {
  font-size:1.375rem;
  font-weight:400;
  margin:0;
  line-height:1.5;
}
.research-rows p {
  font-size:0.75rem;
  line-height:2;
  margin:0;
  color:#a3bdd1;
}
.research-label {
  grid-column:2/4;
  font-size:0.5rem;
  letter-spacing:1.5px;
  color:#91aac1;
  margin-top:-8px;
}
.closing {
  position:relative;
  margin:20px 0 0;
  text-align:center;
  overflow:hidden;
  border-radius:25px;
  background:radial-gradient(ellipse at 50% 150%,#20486b 0%,#102133 45%,#0c1929 75%);
  padding:65px 20px 80px;
}
.closing .eyebrow {
  color:#a5c5e0;
  font-size:0.5625rem;
}
.closing h2 {
  font-size:clamp(2.0625rem,4.3vw,3.875rem);
  font-weight:400;
  line-height:1.5;
  letter-spacing:-2px;
  margin:24px 0 32px;
}
.closing-line {
  position:absolute;
  bottom:-150px;
  width:800px;
  height:200px;
  border:1px solid #72b6e855;
  border-radius:50%;
  left:50%;
  transform:translateX(-50%);
  box-shadow:0 0 35px #71bfff15;
  pointer-events:none;
}
footer {
  padding:45px 12px 24px;
}
.footer-top {
  display:flex;
  gap:30px;
  align-items:center;
}
.footer-top img {
  object-fit:contain;
  width:108px;
  height:98px;
  background:#e5eff7;
  padding:10px;
  border-radius:14px;
  display:block;
}
.footer-top p {
  font-size:0.75rem;
  line-height:2;
  color:#adc5d9;
}
.footer-top p span {
  font-size:0.625rem;
  color:#91aac1;
}
.back-top {
  margin-left:auto;
  font-size:0.6875rem;
  border-bottom:1px solid #7199bb;
  padding:9px 0;
}
.disclaimer {
  margin:30px 0 22px;
  font-size:0.625rem;
  line-height:1.8;
  color:#9bb3c7;
}
.disclaimer p {
  margin:3px 0;
}
.footer-bottom {
  border-top:1px solid var(--line);
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:0.5625rem;
  color:#91aac1;
  letter-spacing:1px;
}
@media(min-width:1600px) {
  .page-shell {
    padding:0 36px;
  }
  .hero h1 {
    font-size:11.875rem;
  }
  .intro {
    grid-template-columns:1.5fr .7fr 1fr;
  }
  .section {
    padding-left:65px;
    padding-right:65px;
  }
}
@media(max-width:1000px) {
  .page-shell {
    padding:0 20px;
  }
  .nav nav a {
    padding:12px 18px;
  }
  .nav-cta {
    padding:12px 17px;
    font-size:0.6875rem;
  }
  .nav-cta span {
    margin-left:10px;
  }
  .intro {
    grid-template-columns:1fr 1fr;
  }
  .intro-copy {
    grid-column:1/3;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 30px;
    padding-right:0;
  }
  .intro-copy>p {
    grid-row:1/3;
  }
  .intro-copy .button {
    margin-top:4px;
    justify-self:start;
  }
  .intro-detail {
    max-width:none;
  }
  .intro-card {
    min-height:240px;
  }
  .section {
    padding-left:26px;
    padding-right:26px;
  }
  .steps {
    grid-template-columns:1fr 1fr;
    gap:30px 0;
  }
  .steps li:nth-child(3) {
    border-left:0;
    padding-left:0;
  }
  .steps li:nth-child(n+3) {
    border-top:1px solid var(--line);
  }
  .privacy {
    gap:40px;
  }
  .privacy h2 {
    font-size:2.5rem;
  }
  .product-details {
    gap:30px;
  }
  .research-rows {
    margin-top:36px;
  }
  .research-rows article {
    grid-template-columns:30px 1fr 1.2fr;
    gap:16px;
  }
  .research-rows h3 {
    font-size:1.1875rem;
  }
}
@media(max-width:640px) {
  html {
    scroll-padding-top:15px;
  }
  .page-shell {
    margin:5px 5px 0;
    border-radius:20px 20px 0 0;
    padding:0 12px;
  }
  .nav {
    min-height:109px;
    flex-wrap:wrap;
    gap:10px;
    padding:16px 2px;
  }
  .wordmark {
    font-size:1.5rem;
  }
  .nav-cta {
    font-size:0.625rem;
    padding:10px 13px;
  }
  .nav nav {
    order:3;
    width:100%;
    gap:5px;
  }
  .nav nav a {
    font-size:0.6875rem;
    flex:1;
    text-align:center;
    padding:10px;
  }
  .hero {
    height:520px;
    border-radius:18px;
  }
  .hero h1 {
    font-size:14.1vw;
    letter-spacing:-.045em;
    margin-bottom:15px;
  }
  .hero-top,.hero-bottom {
    left:19px;
    right:19px;
  }
  .hero-top {
    top:22px;
    font-size:0.5rem;
    letter-spacing:1px;
  }
  .hero-top>span:last-child {
    display:none;
  }
  .hero-bottom {
    bottom:24px;
    align-items:flex-end;
  }
  .hero-bottom .eyebrow {
    font-size:0.4375rem;
    letter-spacing:.7px;
  }
  .hero-bottom p {
    font-size:1.25rem;
    letter-spacing:0;
  }
  .motion-toggle {
    padding:10px 11px;
    gap:6px;
    font-size:0.625rem;
  }
  .motion-toggle #motion-label {
    display:none;
  }
  .intro {
    padding:23px 0 48px;
    gap:10px;
  }
  .intro-copy {
    display:flex;
    gap:0;
    padding:0 7px 15px;
  }
  .intro-copy>p {
    font-size:1.5625rem;
  }
  .intro-detail {
    font-size:0.75rem;
    max-width:320px;
  }
  .intro-copy .button {
    margin-top:22px;
  }
  .intro-card {
    min-height:215px;
    padding:19px 16px;
    border-radius:18px;
  }
  .intro-card .eyebrow {
    font-size:0.4375rem;
    letter-spacing:.9px;
  }
  .x1-card strong {
    font-size:4.3125rem;
    margin-top:20px;
  }
  .x1-card strong span {
    font-size:1.25rem;
  }
  .x1-card>span:nth-last-child(2) {
    font-size:0.6875rem;
  }
  .status {
    font-size:0.5rem;
    gap:5px;
  }
  .philosophy p {
    font-size:1.0625rem;
    margin:21px 0 17px;
  }
  .tags {
    gap:4px;
  }
  .tags span {
    font-size:0.5625rem;
    padding:7px 9px;
  }
  .section {
    padding:32px 19px;
    border-radius:20px;
  }
  .section-top {
    gap:12px;
    align-items:flex-start;
  }
  .section-top>.eyebrow {
    font-size:0.5rem;
    letter-spacing:1px;
  }
  .small-tag {
    font-size:0.4375rem;
    letter-spacing:0;
    padding:5px 7px;
    white-space:nowrap;
  }
  .product .section-top .small-tag {
    display:none;
  }
  .product-heading,.section-heading {
    display:block;
    margin:28px 0;
  }
  .section h2 {
    font-size:2.1875rem;
    letter-spacing:-1px;
  }
  .product-heading>p,.section-heading>p {
    font-size:0.75rem;
    margin:20px 0 0;
    max-width:100%;
  }
  .video-wrap {
    border-radius:12px;
    margin:0 -7px;
  }
  .video-note {
    top:11px;
    left:11px;
    font-size:0.375rem;
    letter-spacing:1px;
  }
  .product-caption {
    font-size:0.5rem;
    line-height:1.7;
  }
  .product-caption>span:last-child {
    max-width:130px;
    text-align:right;
  }
  .product-details {
    grid-template-columns:1fr;
    gap:26px;
    padding:16px 0 0;
  }
  .product-details>div {
    padding-left:34px;
  }
  .product-details h3 {
    font-size:1.125rem;
    margin-bottom:8px;
  }
  .product-details p {
    font-size:0.6875rem;
  }
  .experience {
    padding-top:60px;
    padding-bottom:50px;
  }
  .steps {
    margin-top:34px;
    gap:23px 0;
  }
  .steps li {
    padding:20px 15px 0 0;
  }
  .steps li+li {
    padding-left:16px;
    padding-right:0;
  }
  .step-no {
    font-size:1.6875rem;
  }
  .steps h3 {
    font-size:1.0625rem;
    margin:22px 0 10px;
  }
  .steps p {
    font-size:0.6875rem;
    margin-bottom:24px;
    line-height:1.9;
  }
  .step-foot {
    font-size:0.375rem;
    letter-spacing:.5px;
    white-space:normal;
  }
  .experience-note {
    gap:10px;
    margin-top:30px;
    padding-top:24px;
  }
  .experience-note p {
    font-size:0.75rem;
  }
  .experience-note p span {
    font-size:0.625rem;
  }
  .privacy {
    display:block;
    padding:32px 24px;
  }
  .privacy-symbol {
    width:36px;
    height:43px;
    margin:28px 0 20px;
  }
  .privacy h2 {
    font-size:2.3125rem;
  }
  .privacy-intro>p {
    font-size:0.6875rem;
  }
  .privacy-list {
    margin-top:32px;
  }
  .privacy-list article {
    gap:18px;
    padding:24px 0;
  }
  .privacy-list h3 {
    font-size:1.125rem;
  }
  .privacy-list p {
    font-size:0.6875rem;
  }
  .research {
    padding-top:60px;
    padding-bottom:25px;
  }
  .research-dot {
    font-size:0.5rem;
    white-space:nowrap;
    gap:5px;
  }
  .research-dot i {
    width:4px;
    height:4px;
  }
  .research .section-top .eyebrow {
    max-width:190px;
  }
  .research-rows article {
    grid-template-columns:25px 1fr;
    padding:24px 0;
    gap:12px;
  }
  .research-rows h3 {
    font-size:1.1875rem;
  }
  .research-rows p {
    grid-column:2;
    font-size:0.6875rem;
  }
  .research-label {
    grid-column:2;
    margin-top:0;
    font-size:0.4375rem;
  }
  .closing {
    padding:45px 18px 55px;
    border-radius:20px;
  }
  .closing .eyebrow {
    font-size:0.4375rem;
    letter-spacing:.8px;
  }
  .closing h2 {
    font-size:2rem;
    letter-spacing:-1px;
    margin:25px 0;
  }
  .button {
    font-size:0.75rem;
    padding:16px 21px;
    gap:30px;
  }
  footer {
    padding:30px 5px 20px;
  }
  .footer-top {
    gap:17px;
  }
  .footer-top img {
    width:86px;
    height:80px;
    padding:8px;
    border-radius:10px;
  }
  .footer-top p {
    font-size:0.625rem;
  }
  .footer-top p span {
    font-size:0.5rem;
  }
  .back-top {
    font-size:0.5625rem;
    white-space:nowrap;
  }
  .disclaimer {
    font-size:0.5625rem;
  }
  .footer-bottom {
    font-size:0.4375rem;
    letter-spacing:.3px;
  }
  .footer-bottom>span:last-child {
    max-width:150px;
    text-align:right;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
  }
  .button:hover {
    transform:none;
  }
}
/* Language control and longer English copy. */
.nav-actions {
  display:flex;
  align-items:center;
  gap:10px;
}
.language-toggle {
  min-width:46px;
  min-height:44px;
  border:1px solid #38526b;
  border-radius:30px;
  padding:10px 13px;
  color:#c6e1f5;
  background:#122131;
  font-size:0.6875rem;
  white-space:nowrap;
}
.language-toggle[hidden] {
  display:none;
}
html[lang="en"] .hero-bottom p {
  font-size:clamp(1.0625rem,2vw,1.5625rem);
  letter-spacing:0;
  line-height:1.4;
}
html[lang="en"] .section h2 {
  letter-spacing:-1.7px;
  font-size:clamp(2.0625rem,3.7vw,3.5rem);
}
html[lang="en"] .product-heading>p,html[lang="en"] .section-heading>p {
  max-width:340px;
}
html[lang="en"] .status {
  line-height:1.6;
  align-items:baseline;
}
html[lang="en"] .status i {
  flex-shrink:0;
}
html[lang="en"] .philosophy p {
  font-size:1.375rem;
}
html[lang="en"] .steps h3 {
  line-height:1.4;
}
@media(max-width:1050px) and (min-width:641px) {
  .nav {
    flex-wrap:wrap;
    padding:20px 0;
    gap:14px;
  }
  .nav nav {
    order:3;
    justify-content:center;
    width:100%;
  }
  .nav-actions {
    margin-left:auto;
  }
}
@media(max-width:640px) {
  .nav {
    gap:12px 6px;
  }
  .nav-actions {
    gap:6px;
  }
  .language-toggle {
    min-width:40px;
    min-height:40px;
    padding:8px;
    font-size:0.625rem;
  }
  .nav-cta {
    font-size:0.5625rem;
    padding:11px;
  }
  .nav-cta span {
    margin-left:5px;
  }
  .wordmark {
    font-size:1.375rem;
  }
  html[lang="en"] .nav-cta {
    max-width:114px;
    line-height:1.5;
    text-align:center;
  }
  html[lang="en"] .nav-cta span {
    display:none;
  }
  html[lang="en"] .hero-bottom p {
    max-width:240px;
    font-size:1.1875rem;
  }
  html[lang="en"] .section h2 {
    font-size:2.125rem;
    letter-spacing:-1px;
  }
  html[lang="en"] .philosophy p {
    font-size:1rem;
    line-height:1.5;
  }
  html[lang="en"] .intro-card {
    padding:18px 13px;
  }
  html[lang="en"] .privacy-list h3 {
    font-size:1.125rem;
  }
  html[lang="en"] .footer-top {
    flex-wrap:wrap;
  }
  html[lang="en"] .footer-top p {
    max-width:165px;
  }
  html[lang="en"] .back-top {
    margin-left:0;
  }
  html[lang="en"] .closing h2 {
    font-size:1.875rem;
  }
  html[lang="en"] .research-dot {
    white-space:normal;
    max-width:95px;
    line-height:1.5;
  }
  html[lang="en"] .steps h3 {
    font-size:1.0625rem;
  }
}
@media(max-width:360px) {
  .nav-cta {
    font-size:0.5rem;
    padding:10px 8px;
  }
  .nav-actions {
    gap:4px;
  }
  .wordmark {
    font-size:1.1875rem;
  }
  html[lang="en"] .nav-cta {
    max-width:92px;
  }
  .language-toggle {
    min-width:36px;
    padding:8px 6px;
  }
  html[lang="en"] .hero-bottom p {
    max-width:200px;
  }
  html[lang="en"] .section h2 {
    font-size:1.8125rem;
  }
}

/* Shared type rhythm and restrained interaction, informed by emil-design-eng. */
:is(h1,h2,h3) { text-wrap: balance; }
:is(.intro-detail,.product-details p,.steps p,.privacy-list p,.research-rows p) {
  font-size: 0.875rem;
  line-height: 1.85;
  max-width: 65ch;
  text-wrap: pretty;
}
:is(.product-heading,.section-heading) > p { font-size: 0.875rem; }
:is(.eyebrow,.intro-card .eyebrow,.hero-top,.step-foot,.research-label,.closing .eyebrow) {
  font-size: 0.6875rem;
  letter-spacing: .11em;
}
:is(.small-tag,.status,.research-dot,.product-caption,.video-note,.footer-top p span,.disclaimer,.footer-bottom) {
  font-size: 0.75rem;
  line-height: 1.65;
}
:is(.step-no,.row-no,.index) { font-variant-numeric: lining-nums tabular-nums; }
:is(.intro-card,.product-heading > *, .section-heading > *, .steps li,.research-rows article > *) { min-width: 0; }
:is(.wordmark,.nav nav a,.nav-cta,.language-toggle,.motion-toggle,.button,.back-top) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
:is(.button,.nav-cta,.language-toggle,.motion-toggle) {
  transition: transform var(--press-duration) var(--ease-out), background-color 160ms ease;
}
.language-toggle { min-width: 44px; flex-shrink: 0; }
:is(.button,.nav-cta,.language-toggle,.motion-toggle,.nav nav a):active:not(:focus-visible) { transform: scale(.97); }
:is(a,button):focus-visible { transition: none; }
@media (hover: hover) and (pointer: fine) {
  .nav nav a:hover { background: #233a50; }
  .language-toggle:hover { background: #24415c; }
  .motion-toggle:hover { background: #ffffff18; }
  :is(.button.light,.nav-cta):hover { background: #cbe7fa; }
  .x1-card:hover { box-shadow: inset 0 0 0 1px #a6d6f640; }
}
html[lang="en"] :is(.intro-detail,.product-details p,.steps p,.privacy-list p,.research-rows p,.privacy-intro > p,.product-heading > p,.section-heading > p) {
  font-size: 1rem;
  line-height: 1.75;
}
html[lang="en"] :is(.section h2,.closing h2) { letter-spacing: -.025em; line-height: 1.16; }
html[lang="en"] .intro-copy > p { letter-spacing: -.015em; }
html[lang="en"] :is(.nav nav a,.nav-cta,.button) { font-size: 0.9375rem; }
html[lang="en"] .hero-bottom p { font-size: clamp(1.25rem,2vw,1.75rem); }
html[lang="en"] .footer-top p { font-size: 0.875rem; }
@media (max-width: 640px) {
  :is(.intro-detail,.product-details p,.steps p,.privacy-list p,.research-rows p) { font-size: 0.8125rem; }
  html[lang="en"] :is(.intro-detail,.product-details p,.steps p,.privacy-list p,.research-rows p,.privacy-intro > p,.product-heading > p,.section-heading > p) { font-size: 0.9375rem; }
  :is(.eyebrow,.intro-card .eyebrow,.hero-top,.step-foot,.research-label,.closing .eyebrow) { font-size: 0.625rem; letter-spacing: .07em; }
  :is(.small-tag,.status,.research-dot,.product-caption,.video-note,.footer-top p span,.disclaimer,.footer-bottom) { font-size: 0.6875rem; }
  :is(.hero-top,.section-top) { line-height: 1.6; }
  .hero-bottom .eyebrow { font-size: 0.5625rem; letter-spacing: .06em; }
  .hero-bottom > div { flex: 1; min-width: 0; }
  .hero-bottom { gap: 12px; }
  .motion-toggle { flex-shrink: 0; min-width: 44px; }
  .status { align-items: baseline; }
  .status i { flex-shrink: 0; }
  .step-foot { white-space: normal; }
  .small-tag { white-space: normal; text-align: center; }
  .section-top > .eyebrow { font-size: 0.625rem; }
  .tags span { font-size: 0.6875rem; }
  html[lang="en"] .nav nav a { font-size: 0.8125rem; }
  html[lang="en"] .nav-cta { font-size: 0.75rem; max-width: 112px; }
  html[lang="en"] .button { font-size: 0.875rem; }
  html[lang="en"] .steps { grid-template-columns: 1fr; gap: 0; }
  html[lang="en"] .steps li { border-left: 0; border-top: 1px solid var(--line); padding: 24px 0; }
  html[lang="en"] .steps li:first-child { border-top: 0; }
  html[lang="en"] .hero-bottom p { font-size: 1.3125rem; }
  .footer-top { flex-wrap: wrap; }
  .footer-top p { max-width: 160px; }
  .back-top { font-size: 0.75rem; }
}
@media (max-width: 360px) {
  html[lang="en"] .nav-cta { max-width: 94px; }
  .nav-actions { gap: 4px; }
  html[lang="en"] .hero-bottom p { font-size: 1.25rem; }
  .intro { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  :is(.button,.nav-cta,.language-toggle,.motion-toggle,.nav nav a):active:not(:focus-visible) { transform: none; }
}
/* Supplied model studies and app concept screens. */
.model-study { padding-top: 84px; padding-bottom: 38px; }
.model-layout { display: grid; grid-template-columns: .85fr 1.35fr; gap: 56px; align-items: center; margin-top: 34px; }
.model-copy h2 span { color: #93b4cf; }
.model-copy > p { max-width: 42ch; color: var(--muted); font-size: 0.875rem; line-height: 1.85; margin: 24px 0; }
.model-controls { display: flex; flex-direction: column; gap: 8px; max-width: 300px; margin: 30px 0; }
.model-controls[hidden],.model-view[hidden] { display: none; }
.model-controls button { min-height: 48px; padding: 13px 18px; border: 1px solid #a6d6f622; border-radius: 12px; background: transparent; color: #abc5da; text-align: left; line-height: 1.5; transition: transform var(--press-duration) var(--ease-out), background-color 160ms ease; }
.model-controls button[aria-pressed="true"] { background: #e3eff8; color: #19374f; border-color: transparent; }
.model-controls button:active:not(:focus-visible) { transform: scale(.98); }
.model-controls button:focus-visible { transition: none; }
.model-copy .model-detail { font-size: 0.75rem; color: #93aec4; border-top: 1px solid var(--line); padding-top: 22px; }
.model-stage { min-width: 0; border-radius: 20px; overflow: hidden; background: #142536; box-shadow: 0 0 0 1px #a6d6f618; }
.model-view { margin: 0; }
.model-view img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; background: #3b4449; }
.model-view figcaption { min-height: 104px; padding: 22px 26px; }
.model-view figcaption .eyebrow { color: #a2c7e1; }
.model-view figcaption p { font-size: 0.8125rem; line-height: 1.7; margin: 8px 0 0; }
.asset-note { margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: #93aec4; font-size: 0.75rem; line-height: 1.85; max-width: 100ch; }
.app-showcase { background: #dae6ef; color: #213e54; border-radius: 26px; margin-bottom: 70px; }
.app-showcase .section-heading h2 span { color: #66849c; }
.app-showcase .section-heading > p { color: #45627a; }
.app-gallery { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 22px; }
.app-card { margin: 0; background: #fff; border-radius: 22px; padding: 28px 28px 24px; box-shadow: 0 0 0 1px #24435b10,0 12px 40px #24435b08; min-width: 0; }
.app-card-heading .eyebrow { color: #506f88; }
.app-card h3 { font-size: 1.5rem; font-weight: 400; margin: 10px 0 24px; line-height: 1.35; }
.app-image { max-width: 310px; margin: 0 auto; }
.app-image img { display: block; width: 100%; height: auto; }
.app-card figcaption { font-size: 0.8125rem; line-height: 1.8; margin: 24px auto 0; color: #587287; max-width: 40ch; }
.app-context { border-top: 1px solid #213e5426; margin-top: 32px; padding-top: 22px; display: grid; grid-template-columns: 1fr 1.5fr; gap: 40px; }
.app-context p { margin: 0; font-size: 0.875rem; line-height: 1.85; }
.app-context #app-note { color: #45627a; font-size: 0.75rem; }
html[lang="en"] :is(.model-copy > p,.model-view figcaption p,.app-card figcaption,.app-context p) { font-size: 1rem; }
html[lang="en"] :is(.model-copy .model-detail,.asset-note,.app-context #app-note) { font-size: 0.8125rem; }
@media (hover: hover) and (pointer: fine) {
  .model-controls button:not([aria-pressed="true"]):hover { background: #20394f; }
}
@media (max-width: 1000px) {
  .model-layout { gap: 26px; grid-template-columns: 1fr 1.2fr; }
  .model-controls { margin: 22px 0; }
  .app-card { padding: 22px 20px; }
}
@media (max-width: 760px) {
  .model-layout { grid-template-columns: 1fr; gap: 22px; }
  .model-copy > p { max-width: 65ch; }
  .model-controls { flex-direction: row; max-width: none; gap: 6px; }
  .model-controls button { flex: 1; min-width: 0; text-align: center; padding: 12px 8px; font-size: 0.75rem; }
  .model-copy .model-detail { margin-bottom: 0; }
  .app-context { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 640px) {
  .model-study { padding-top: 50px; padding-bottom: 16px; }
  .model-layout { margin-top: 26px; }
  .model-copy > p { font-size: 0.8125rem; }
  .model-view figcaption { padding: 18px; min-height: 110px; }
  .asset-note { font-size: 0.6875rem; }
  .model-stage { border-radius: 15px; }
  .app-showcase { border-radius: 20px; margin-bottom: 35px; }
  .app-gallery { grid-template-columns: 1fr; gap: 18px; }
  .app-card { border-radius: 16px; padding: 24px 18px; }
  .app-card h3 { font-size: 1.375rem; }
  .app-image { max-width: 300px; }
  .app-context { margin-top: 24px; }
  html[lang="en"] :is(.model-copy > p,.model-view figcaption p,.app-card figcaption) { font-size: 0.9375rem; }
  html[lang="en"] .model-controls button { font-size: 0.8125rem; }
  .nav nav a { padding-left: 8px; padding-right: 8px; }
  html[lang="en"] .nav nav a { font-size: 0.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .model-controls button:active:not(:focus-visible) { transform: none; }
}
/* Direct contact and confirmed launch target. */
.contact { padding-top: 60px; padding-bottom: 64px; border-top: 1px solid var(--line); }
.contact-layout { display: grid; grid-template-columns: 1.45fr 1fr; align-items: center; gap: 60px; margin-top: 35px; }
.contact-copy > p { color: var(--muted); font-size: 0.875rem; line-height: 1.85; max-width: 42ch; margin: 24px 0; }
.contact-email { display: inline-flex; align-items: center; gap: 26px; min-height: 48px; padding: 12px 0; border-bottom: 1px solid #7199bb; font-size: clamp(1.25rem,2.5vw,2.25rem); color: #d7ebfa; }
.contact-email > span:first-child { overflow-wrap: anywhere; }
.contact-email > span:last-child { font-size: 1.375rem; }
.launch-card { background: var(--panel); border: 1px solid #a6d6f619; border-radius: 24px; padding: 32px; }
.launch-card .eyebrow { color: #a8c9e1; }
#launch-label { margin: 18px 0 4px; color: #adc5d9; font-size: 0.875rem; }
.launch-card strong { display: block; font-size: clamp(4rem,7vw,6.25rem); font-weight: 400; letter-spacing: -.04em; line-height: 1.15; font-variant-numeric: lining-nums; }
#launch-note { color: #9aafc1; font-size: 0.75rem; line-height: 1.8; margin: 20px 0 0; max-width: 40ch; }
html[lang="en"] .contact-copy > p { font-size: 1rem; }
html[lang="en"] #launch-note { font-size: 0.875rem; }
@media (hover: hover) and (pointer: fine) { .contact-email:hover { color: #83c7f5; } }
@media (max-width: 760px) {
  .contact-layout { grid-template-columns: 1fr; gap: 28px; }
  .contact { padding-top: 40px; padding-bottom: 40px; }
  .launch-card { padding: 25px; border-radius: 18px; }
  .contact-email { gap: 16px; font-size: clamp(1.25rem,5.6vw,2rem); }
}
/* Inline product film: no native timeline, one accessible playback control. */
.video-toggle { position: absolute; right: 22px; bottom: 22px; display: inline-flex; align-items: center; gap: 10px; min-width: 130px; min-height: 44px; padding: 12px 18px; border-radius: 30px; border: 1px solid #d1e7f755; background: #0a2038dc; color: #eff7fc; font-size: 0.8125rem; transition: transform var(--press-duration) var(--ease-out), background-color 160ms ease; }
.video-toggle[hidden],.video-error[hidden] { display: none; }
.video-toggle:active:not(:focus-visible) { transform: scale(.97); }
.video-toggle:focus-visible { outline-color: #fff; transition: none; }
.video-error { position: absolute; inset: auto 0 84px; padding: 20px; text-align: center; color: #eff7fc; background: #0a2038ed; font-size: 0.875rem; line-height: 1.7; }
.video-error p { margin: 0 0 8px; }
.video-error a,.video-direct { text-decoration: underline; text-underline-offset: 4px; }
.video-direct { position: absolute; bottom: 20px; left: 20px; background: #0a2038ed; color: #fff; padding: 12px; }
@media (hover: hover) and (pointer: fine) { .video-toggle:hover { background: #24415c; } }
@media (max-width: 640px) { .video-toggle { right: 12px; bottom: 12px; padding: 10px 14px; min-width: 112px; font-size: 0.75rem; } .video-error { bottom: 66px; padding: 10px; font-size: 0.75rem; } }
@media (prefers-reduced-motion: reduce) { .video-toggle:active:not(:focus-visible) { transform: none; } }
/* Research: form explorer, illustrative distribution, and evidence context. */
.science-intro { max-width: 760px; margin: 0 0 40px; }
.science-intro > p { font-size: 0.9375rem; line-height: 1.9; color: #aec4d5; margin: 14px 0 0; text-wrap: pretty; }
.bsfs-explorer { background: #dce9f2; color: #19364c; border-radius: 26px; padding: 34px; }
.bsfs-explorer-head { display: flex; justify-content: space-between; align-items: start; gap: 24px; }
.bsfs-explorer h3,.science-evidence h3,.science-method h3,.science-ongoing h3 { font-size: clamp(1.5rem,2.6vw,2.25rem); font-weight: 400; line-height: 1.25; letter-spacing: -.02em; margin: 12px 0 0; }
.science-pill { display: inline-block; border: 1px solid #6888a14a; border-radius: 20px; padding: 7px 12px; font-size: 0.6875rem; line-height: 1.6; flex-shrink: 0; }
.bsfs-defs { position: absolute; overflow: hidden; }
.bsfs-focus { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: center; margin: 30px 0; }
.bsfs-art { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 260px; border-radius: 20px; background: radial-gradient(ellipse at 50% 90%,#30597a,#102a40 85%); overflow: hidden; color: #b9d4e9; }
.bsfs-art > svg { width: 225px; height: 180px; position: relative; z-index: 1; }
.bsfs-art > .eyebrow { position: relative; z-index: 1; font-size: 0.5625rem; letter-spacing: .14em; margin-top: 10px; }
.bsfs-watermark { position: absolute; right: 13px; top: 6px; color: #9fc5e00c; font-size: 10rem; line-height: 1; letter-spacing: -.06em; }
:is(.bsfs-art,.bsfs-type) svg { fill: #b9d4e91f; stroke: currentColor; stroke-width: 2.4; stroke-linejoin: round; stroke-linecap: round; }
:is(.bsfs-art,.bsfs-type) .form-line { fill: none; stroke-width: 1.7; }
.bsfs-description { min-width: 0; }
.bsfs-description > .eyebrow { color: #42647f; }
.bsfs-description h4 { font-size: clamp(1.75rem,3.1vw,2.75rem); line-height: 1.18; font-weight: 400; letter-spacing: -.025em; margin: 13px 0 16px; }
.bsfs-description > p { color: #46627a; line-height: 1.8; font-size: 0.9375rem; max-width: 42ch; min-height: 54px; margin: 0; }
.bsfs-feature { border-top: 1px solid #23425a26; margin-top: 23px; padding-top: 18px; display: grid; gap: 9px; }
.bsfs-feature > span { font-size: 0.75rem; color: #45627a; }
.bsfs-feature strong { font-size: 1.0625rem; font-weight: 400; line-height: 1.5; }
.bsfs-controls[hidden] { display: none; }
.bsfs-controls > label { display: block; font-size: 0.8125rem; color: #496b85; margin-bottom: 4px; }
#bsfs-range { display: block; appearance: none; -webkit-appearance: none; width: 100%; height: 44px; margin: 0; background: transparent; cursor: pointer; touch-action: pan-y; border-radius: 6px; }
#bsfs-range::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: #9ab5c9; }
#bsfs-range::-moz-range-track { height: 4px; border-radius: 4px; background: #9ab5c9; }
#bsfs-range::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #1c5379; border: 3px solid #f3f8fc; box-shadow: 0 1px 5px #12334c4a; margin-top: -10px; }
#bsfs-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #1c5379; border: 3px solid #f3f8fc; box-shadow: 0 1px 5px #12334c4a; }
#bsfs-range:focus-visible { outline: 2px solid #255a80; outline-offset: 4px; }
.bsfs-axis { display: flex; justify-content: space-between; gap: 20px; font-size: 0.75rem; color: #496b85; }
.bsfs-types { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 12px; margin-top: 24px; }
.bsfs-type { border: 1px solid #476a8733; border-radius: 13px; display: flex; flex-direction: column; align-items: center; gap: 2px; background: #f2f7fb88; color: #476c88; padding: 8px 4px; min-height: 72px; font-size: 0.9375rem; }
.bsfs-type svg { display: block; width: 64px; max-width: 100%; height: 48px; }
.bsfs-type[aria-pressed="true"] { background: #173c58; border-color: #173c58; color: #e6f5ff; box-shadow: 0 0 0 3px #dce9f2,0 0 0 5px #537e9e; }
.bsfs-type:focus-visible { outline-color: #255a80; }
.science-small { font-size: 0.75rem; line-height: 1.8; color: #98b1c5; }
.bsfs-controls .science-small { color: #45627a; margin: 24px 0 0; }
.science-evidence { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; margin-top: 65px; }
.science-reasons { margin-top: 30px; }
.science-reasons article { display: flex; gap: 20px; padding: 22px 0; border-top: 1px solid var(--line); }
.science-reasons article > span { color: #82a6c4; font-size: 0.75rem; padding-top: 4px; }
.science-reasons h4 { font-size: 1.25rem; font-weight: 400; line-height: 1.4; margin: 0 0 9px; }
.science-reasons p { font-size: 0.875rem; line-height: 1.9; color: #a5bdcf; margin: 0; max-width: 55ch; }
.bsfs-distribution { background: #112437; border: 1px solid #90c4eb1c; border-radius: 22px; padding: 28px; }
.chart-top { display: flex; gap: 16px; align-items: center; justify-content: space-between; }
.chart-top > .eyebrow { font-size: 0.5625rem; color: #96bad4; }
.chart-top .science-pill { color: #b7d5e9; font-size: 0.625rem; }
.bsfs-distribution > h3 { font-size: 1.75rem; margin-top: 24px; }
.bsfs-distribution > p:not(.science-small):not(.chart-selection) { color: #a5bdcf; font-size: 0.875rem; line-height: 1.9; margin: 16px 0 0; }
.distribution-figure { margin: 30px 0 0; }
.distribution-figure svg { width: 100%; height: auto; display: block; overflow: visible; font-family: var(--font-text); }
.chart-grid { stroke: #cce7fb12; fill: none; stroke-width: 1; }
.chart-tick { fill: #89a9c2; text-anchor: end; font-size: 0.75rem; }
.bar-track { fill: #c5e6fc05; }
.bar-fill { fill: #456a87; }
.bar-count { fill: #acc4d6; text-anchor: middle; font-size: 0.9375rem; }
.bar-category { fill: #99b6cc; text-anchor: middle; font-size: 1.0625rem; }
.bsfs-bar.is-selected .bar-fill { fill: #b2dbf9; }
.bsfs-bar.is-selected .bar-category,.bsfs-bar.is-selected .bar-count { fill: #e7f6ff; font-weight: 700; }
.distribution-figure figcaption { font-size: 0.6875rem; color: #a5bdcf; line-height: 1.6; margin-top: 8px; }
.chart-selection { background: #bfdff90a; border-left: 2px solid #b2dbf9; padding: 13px 16px; margin: 24px 0 15px; color: #c5e3f8; font-size: 0.9375rem; line-height: 1.6; }
.science-method { margin: 65px 0 35px; }
.science-method-heading { max-width: 730px; }
.science-method-heading > p { color: #a5bdcf; font-size: 0.875rem; line-height: 1.9; margin: 18px 0 0; }
.science-pipeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 28px; }
.science-pipeline article { border: 1px solid #96bfe91c; border-radius: 18px; padding: 26px 22px; }
.science-pipeline article.science-active-cue { background: #142a40; border-color: #8dc8ef55; }
.science-pipeline .eyebrow { font-size: 0.5625rem; color: #93b9d5; }
.science-pipeline h4 { font-weight: 400; font-size: 1.25rem; line-height: 1.4; margin: 20px 0 12px; }
.science-pipeline p { color: #a5bdcf; font-size: 0.875rem; line-height: 1.9; margin: 0; }
.science-pipeline p.science-small { border-top: 1px solid var(--line); padding-top: 14px; margin-top: 16px; font-size: 0.75rem; }
.science-reference { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.science-reference summary { cursor: pointer; padding: 21px 0; font-size: 1.0625rem; line-height: 1.6; min-height: 44px; }
.science-reference summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.bsfs-table-scroll { overflow-x: auto; padding-bottom: 24px; }
.bsfs-table-scroll table { border-collapse: collapse; width: 100%; font-size: 0.8125rem; line-height: 1.8; text-align: left; }
.bsfs-table-scroll caption { text-align: left; color: #9fbad0; padding-bottom: 18px; font-size: 0.75rem; }
.bsfs-table-scroll :is(td,th) { border-bottom: 1px solid var(--line); padding: 12px 15px 12px 0; }
.bsfs-table-scroll th { font-weight: 400; color: #cae0f1; }
.bsfs-table-scroll td { color: #a5bdcf; }
.science-sources { padding: 26px 0 0; }
.science-sources > p { font-size: 0.75rem; color: #97b1c5; line-height: 1.8; margin: 12px 0; }
.science-sources a { display: block; width: fit-content; padding: 12px 0; min-height: 44px; font-size: 0.8125rem; color: #b6d8ef; text-decoration: underline; text-underline-offset: 4px; line-height: 1.6; overflow-wrap: anywhere; }
.science-ongoing { margin-top: 58px; }
.science-ongoing + .research-rows { margin-top: 28px; }
html[lang="en"] :is(.science-intro > p,.bsfs-description > p,.science-reasons p,.bsfs-distribution > p:not(.science-small),.science-method-heading > p,.science-pipeline p:not(.science-small)) { font-size: 1rem; line-height: 1.8; }
@media (hover:hover) and (pointer:fine) { .bsfs-type:not([aria-pressed="true"]):hover { background: #fff; } .science-sources a:hover { color: #fff; } }
@media (max-width:1000px) {
  .science-evidence { gap: 28px; }
  .bsfs-explorer { padding: 26px; }
  .bsfs-focus { gap: 28px; }
  .science-pipeline { gap: 10px; }
  .science-pipeline article { padding: 22px 18px; }
}
@media (max-width:760px) {
  .science-evidence { grid-template-columns: 1fr; margin-top: 45px; }
  .science-pipeline { grid-template-columns: 1fr; }
  .bsfs-focus { grid-template-columns: .85fr 1.15fr; gap: 22px; }
  .bsfs-art { min-height: 225px; }
  .bsfs-art > svg { width: 160px; height: 145px; }
  .bsfs-explorer-head { display: block; }
  .bsfs-explorer-head .science-pill { margin-top: 18px; }
}
@media (max-width:640px) {
  .science-intro { margin-bottom: 28px; }
  .science-intro > p { font-size: 0.8125rem; }
  .bsfs-explorer { padding: 22px 16px; margin: 0 -12px; border-radius: 20px; }
  .bsfs-focus { grid-template-columns: 1fr; gap: 22px; margin: 24px 0; }
  .bsfs-art { min-height: 190px; }
  .bsfs-art > svg { width: 170px; height: 140px; }
  .bsfs-art .eyebrow { margin-top: 0; }
  .bsfs-watermark { font-size: 9.0625rem; }
  .bsfs-description h4 { font-size: 1.875rem; margin: 10px 0; min-height: 2.36em; }
  .bsfs-description > p { min-height: 5.4em; font-size: 0.875rem; }
  .bsfs-feature { margin-top: 18px; padding-top: 14px; }
  .bsfs-feature strong { font-size: 1rem; min-height: 3em; }
  .bsfs-types { gap: 6px; grid-template-columns: repeat(4,minmax(0,1fr)); row-gap: 12px; }
  .bsfs-type { min-height: 70px; }
  .bsfs-controls > label { font-size: 0.75rem; }
  .bsfs-axis { font-size: 0.6875rem; }
  .science-pill { font-size: 0.625rem; }
  .bsfs-distribution { padding: 22px 16px; margin: 0 -12px; }
  .chart-top { gap: 10px; }
  .chart-top .eyebrow { max-width: 130px; line-height: 1.6; }
  .bsfs-distribution > h3 { font-size: 1.6875rem; }
  .distribution-figure { margin-top: 24px; }
  .distribution-figure .chart-tick { font-size: 1.3125rem; }
  .distribution-figure .bar-count { font-size: 1.4375rem; }
  .distribution-figure .bar-category { font-size: 1.5625rem; }
  .science-method { margin-top: 45px; }
  .science-pipeline article { padding: 24px 20px; }
  .science-pipeline h4 { margin-top: 14px; }
  .science-reasons article { gap: 15px; }
  .science-reasons p { font-size: 0.8125rem; }
  .science-reference summary { font-size: 0.9375rem; }
  .bsfs-table-scroll table { font-size: 0.75rem; }
  .bsfs-table-scroll :is(th,td):first-child { min-width: 38px; }
  .bsfs-table-scroll :is(th,td):last-child { min-width: 60px; padding-right: 0; }
  .science-ongoing { margin-top: 42px; }
  html[lang="en"] :is(.science-intro > p,.bsfs-description > p,.science-reasons p,.bsfs-distribution > p:not(.science-small),.science-method-heading > p,.science-pipeline p:not(.science-small)) { font-size: 0.9375rem; }
}

/* Apple-design review: readable hierarchy, aligned groups, and scalable text. */
:is(p,figcaption) { overflow-wrap: break-word; }
:is(h2,h3,h4) { overflow-wrap: anywhere; }
:is(.model-copy,.model-stage,.privacy-intro,.privacy-list,.contact-copy,.science-why,.bsfs-distribution,.bsfs-description) { min-width: 0; }
:is(.product-heading,.section-heading) { align-items: end; }
:is(.product-heading,.section-heading) > h2 { flex: 1; min-width: 0; }
:is(.product-heading,.section-heading) > p { flex: 0 1 22rem; }
:is(.section,.intro-card,.launch-card) { min-width: 0; }
:is(.eyebrow,.intro-card .eyebrow,.section-top > .eyebrow,.hero-top,.hero-bottom .eyebrow,.closing .eyebrow,.science-pipeline .eyebrow,.bsfs-art > .eyebrow,.chart-top > .eyebrow) {
  font-size: var(--type-caption);
  letter-spacing: .07em;
  line-height: 1.6;
}
:is(.small-tag,.science-pill,.chart-top .science-pill,.status,.research-dot,.product-caption,.video-note,.disclaimer,.asset-note,.footer-bottom,.step-foot,.research-label,.distribution-figure figcaption) {
  font-size: var(--type-caption);
  line-height: 1.7;
}
:is(.nav nav a,.nav-cta,.language-toggle,.motion-toggle,.video-toggle,.back-top) { font-size: var(--type-control); }
.nav nav { flex-wrap: wrap; }
.nav-actions { flex-shrink: 0; }
:is(.nav-cta,.language-toggle) { flex-shrink: 0; }
html[lang="en"] .nav-cta { max-width: none; }
:is(.section-top,.chart-top) { flex-wrap: wrap; row-gap: .75rem; }
:is(.small-tag,.science-pill) { white-space: normal; max-width: 100%; }
:is(.research-dot,.live-dot,.status i) { flex-shrink: 0; }
:is(.experience,.research) { padding-top: var(--space-section); }
.privacy { padding-inline: var(--space-content); }
.section-top + :is(.section-heading,.product-heading) { margin-top: 2rem; }
.product-details { padding-bottom: 1.5rem; }
.app-card { display: flex; flex-direction: column; }
.app-card-heading { min-height: 6.25rem; }
.app-image { width: 100%; max-width: 19.375rem; aspect-ratio: 674/1324; display: flex; align-items: center; justify-content: center; }
.app-image img { max-height: 100%; object-fit: contain; }
.app-card figcaption { width: 100%; margin-top: 1.5rem; }
.footer-top { flex-wrap: wrap; }
.footer-top > a:first-child { flex-shrink: 0; }
.footer-top p { font-size: .875rem; }
.footer-top p span { font-size: var(--type-caption); }
.bsfs-type:active:not(:focus-visible) { box-shadow: inset 0 0 0 2px #255a80; }
.bsfs-type[aria-pressed="true"]:active:not(:focus-visible) { box-shadow: inset 0 0 0 2px #dce9f2; }
.science-reference summary:active { color: #d1ebfc; }
@media (max-width: 1050px) {
  .nav { gap: .75rem 1rem; }
  .nav nav { gap: .375rem; }
  .nav nav a { flex: 1 1 auto; }
  .intro-copy > p { grid-row: auto; }
}
@media (max-width: 760px) {
  .science-intro > .eyebrow { max-width: 30ch; display: block; }
  .model-copy > p { max-width: 60ch; }
  .model-controls { flex-wrap: wrap; }
  .model-controls button { flex-basis: 5rem; }
}
@media (max-width: 640px) {
  .nav { display: flex; flex-wrap: wrap; padding-block: 1rem; gap: .75rem; }
  .wordmark { font-size: 1.375rem; }
  .nav-actions { gap: .5rem; margin-left: auto; max-width: 100%; flex-wrap: wrap; justify-content: flex-end; }
  :is(.nav-cta,.language-toggle) { padding: .625rem .75rem; min-width: 2.75rem; }
  .nav-cta span { display: none; }
  html[lang="en"] .nav-cta { font-size: .875rem; max-width: none; }
  .nav nav { display: flex; flex-wrap: wrap; width: 100%; }
  .nav nav a,html[lang="en"] .nav nav a { font-size: .875rem; flex: 1 1 auto; min-width: max-content; padding: .625rem .75rem; }
  .hero { min-height: 32.5rem; }
  .hero-top { flex-wrap: wrap; }
  .hero-bottom .eyebrow { display: none; }
  .hero-bottom { gap: 1rem; }
  .hero-bottom p { line-height: 1.5; }
  .intro-copy { padding-inline: .5rem; }
  .intro-card { padding: 1.25rem; }
  .section { padding-inline: 1.25rem; }
  .section-top { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .section-top > .eyebrow,.research .section-top .eyebrow { max-width: 35ch; }
  html[lang="en"] .research-dot { max-width: none; }
  .small-tag { text-align: left; padding: .375rem .75rem; }
  .product .section-top .small-tag { display: inline-block; }
  :is(.product-heading,.section-heading) { margin-block: 1.75rem; }
  :is(.product-heading,.section-heading) > p { margin-top: 1.25rem; }
  .product-caption { flex-direction: column; gap: .375rem; }
  .product-caption > span:last-child { max-width: none; text-align: left; }
  .video-note { max-width: 75%; font-size: .6875rem; }
  .steps { grid-template-columns: 1fr; gap: 0; }
  .steps li,.steps li+li { border-left: 0; border-top: 1px solid var(--line); padding: 1.5rem 0; }
  .steps li:first-child { border-top: 0; }
  .steps h3 { margin-top: 1rem; }
  .steps p { margin-bottom: 1rem; }
  .privacy-intro > p { font-size: .875rem; }
  .experience-note p span { font-size: .75rem; }
  .app-card-heading { min-height: auto; }
  .app-card { padding: 1.5rem 1.125rem; }
  .app-card figcaption { margin-top: 1.25rem; }
  .chart-top { align-items: flex-start; }
  .chart-top > .eyebrow { max-width: 16ch; }
  .bsfs-explorer-head .science-pill { margin-top: 1rem; }
  .bsfs-explorer,.bsfs-distribution { margin-inline: 0; }
  .bsfs-art > .eyebrow { font-size: .6875rem; }
  .bsfs-description > p { min-height: 5.4em; }
  .science-ongoing + .research-rows { margin-top: 1.5rem; }
  .research-rows article { grid-template-columns: 1.5rem minmax(0,1fr); }
  .research-label { overflow-wrap: anywhere; }
  .footer-top { gap: 1rem; }
  .footer-top p,html[lang="en"] .footer-top p { max-width: none; flex: 1 1 10rem; }
  .footer-bottom { flex-direction: column; gap: .625rem; }
  .footer-bottom > span:last-child { max-width: none; text-align: left; }
}
@media (max-width: 420px) {
  .intro { grid-template-columns: minmax(0,1fr); }
  .intro-copy { grid-column: auto; }
  .intro-card { min-height: 0; }
  .x1-card strong { margin-top: .75rem; }
  .philosophy p { margin: 1.25rem 0; }
  .bsfs-types { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .chart-top { flex-direction: column; }
  .chart-top > .eyebrow { max-width: none; }
  .contact-email { gap: .625rem; max-width: 100%; }
}
@media (prefers-reduced-transparency: reduce) {
  .motion-toggle,.video-toggle { background: #102b42; backdrop-filter: none; }
  .video-error { background: #102b42; }
  .hero h1 { color: #e5f2ff; }
}
@media (prefers-contrast: more) {
  :root { --muted: #c8dfee; --line: #7a9cb9; }
  :is(.intro-detail,.steps p,.privacy-list p,.research-rows p,.science-reasons p,.science-method-heading > p,.science-pipeline p,.bsfs-distribution > p,.disclaimer,.asset-note,.model-copy > p,.footer-top p,.science-small) { color: #d5e7f4; }
  :is(.product-heading > p,.product-details p,.product-caption,.app-card figcaption,.app-context #app-note,.app-showcase .section-heading > p,.bsfs-description > p,.bsfs-controls .science-small,.bsfs-axis,.bsfs-controls > label,.bsfs-feature > span) { color: #203c52; }
  :is(.intro-card,.launch-card,.model-stage,.science-pipeline article,.bsfs-distribution,.privacy) { border: 1px solid #9abed8; }
  .bsfs-type { border: 1px solid #345c7a; }
  .motion-toggle,.video-toggle { background: #092137; border-color: #d4e9f9; }
}
.social-link { display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; padding: .7rem 1rem; border: 1px solid #7199bb; border-radius: 999px; color: #cde5f5; font-size: .875rem; transition: transform var(--press-duration) var(--ease-out), background-color 160ms ease, color 160ms ease; }
.social-link:active:not(:focus-visible) { transform: scale(.97); }
.social-link:focus-visible { transition: none; }
@media (hover:hover) and (pointer:fine) { .social-link:hover { background: #173a56; color: #fff; } }
@media (max-width:640px) { .footer-top { align-items: flex-start; } .social-link { margin-left: auto; } }
@media (prefers-reduced-motion:reduce) { .social-link:active:not(:focus-visible) { transform: none; } }
