
:root {
  --si-ink: #071327;
  --si-ink-2: #0c1c37;
  --si-night: #030916;
  --si-night-2: #071228;
  --si-blue: #315cf6;
  --si-blue-2: #587cff;
  --si-cyan: #72dfea;
  --si-violet: #8d78ff;
  --si-paper: #f5f7fb;
  --si-white: #ffffff;
  --si-line: rgba(11, 28, 55, .13);
  --si-muted: #60708b;
  --si-serif: "Newsreader", Georgia, serif;
  --si-sans: "Manrope", Arial, sans-serif;
  --si-mono: "IBM Plex Mono", Consolas, monospace;
  --si-radius: 30px;
  --si-shadow: 0 32px 80px -42px rgba(3, 9, 22, .42);
  --si-ease: cubic-bezier(.2, .78, .22, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.si-page {
  margin: 0;
  color: var(--si-ink);
  background: var(--si-paper);
  font-family: var(--si-sans);
  font-size: 16px;
  line-height: 1.65;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.si-page img { display: block; max-width: 100%; }
.si-page button, .si-page input, .si-page textarea { font: inherit; }
.si-page button, .si-page a { -webkit-tap-highlight-color: transparent; }
.si-page a { color: inherit; }
.si-page p, .si-page h1, .si-page h2, .si-page h3, .si-page figure, .si-page dl, .si-page dd { margin: 0; }
.si-page ul { margin: 0; padding: 0; }

.si-wrap {
  width: min(1480px, calc(100% - 72px));
  margin-inline: auto;
}

.si-progress {
  position: fixed;
  z-index: 1100;
  inset: 0 0 auto;
  height: 3px;
  pointer-events: none;
  background: rgba(255,255,255,.03);
}

.si-progress i {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, var(--si-blue), var(--si-cyan), var(--si-violet));
  box-shadow: 0 0 18px rgba(114,223,234,.72);
}

.si-section {
  position: relative;
  padding: clamp(92px, 9vw, 150px) 0;
  background: var(--si-paper);
}

.si-section:nth-of-type(even) { background: #fff; }

.si-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px !important;
  color: var(--si-blue);
  font: 600 .73rem/1.35 var(--si-mono);
  letter-spacing: .16em;
  text-transform: uppercase;
}

.si-kicker span { color: #9db0ff; }
.si-kicker i { width: 32px; height: 1px; background: currentColor; }

.si-head {
  position: relative;
  z-index: 2;
  margin-bottom: clamp(46px, 5vw, 78px);
}

.si-head--split {
  display: grid;
  grid-template-columns: minmax(0, 1.34fr) minmax(300px, .66fr);
  align-items: end;
  gap: clamp(42px, 7vw, 112px);
}

.si-head h2 {
  max-width: 970px;
  color: var(--si-ink);
  font: 500 clamp(2.45rem, 4.05vw, 4.15rem)/.98 var(--si-serif);
  letter-spacing: -.047em;
  text-wrap: balance;
}

.si-head__lead {
  margin-bottom: 26px !important;
  color: #52647f;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
  line-height: 1.7;
}

.si-head--light h2 { color: #f3f7ff; }
.si-head--light .si-head__lead { color: rgba(226,234,252,.7); }
.si-head--light .si-kicker { color: #8da6ff; }

.si-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

.si-btn {
  position: relative;
  isolation: isolate;
  min-height: 58px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 16px;
  text-decoration: none;
  color: #fff;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.2;
  box-shadow: 0 20px 45px -22px rgba(49,92,246,.78);
  transition: transform .35s var(--si-ease), box-shadow .35s, border-color .35s;
}

.si-btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(120deg, var(--si-blue), #6683ff 55%, var(--si-cyan));
}

.si-btn::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 54%;
  aspect-ratio: 1;
  left: -58%;
  top: -110%;
  border-radius: 50%;
  background: rgba(255,255,255,.35);
  filter: blur(18px);
  transition: transform .7s var(--si-ease);
}

.si-btn i { font-style: normal; font-size: 1.05rem; transition: transform .35s var(--si-ease); }
.si-btn--ghost { border-color: rgba(194,209,255,.25); color: #eaf0ff; box-shadow: none; }
.si-btn--ghost::before { background: rgba(255,255,255,.055); }
.si-btn--small { min-height: 50px; padding-inline: 18px; font-size: .82rem; }

.si-text-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--si-ink);
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(7,19,39,.26);
  padding-bottom: 7px;
}

.si-text-link span { transition: transform .3s var(--si-ease); }
.si-text-link--light { color: #fff; border-color: rgba(255,255,255,.28); }

@media (hover: hover) and (pointer: fine) {
  .si-btn:hover { transform: translateY(-3px); box-shadow: 0 26px 54px -22px rgba(49,92,246,.92); }
  .si-btn:hover::after { transform: translateX(330%); }
  .si-btn:hover i, .si-text-link:hover span { transform: translate(3px, -3px); }
}

/* Hero */
.si-hero {
  position: relative;
  min-height: min(1000px, 100svh);
  padding: clamp(138px, 12vw, 178px) 0 0;
  color: #fff;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 19%, rgba(49,92,246,.27), transparent 35%),
    radial-gradient(circle at 98% 54%, rgba(114,223,234,.13), transparent 27%),
    linear-gradient(128deg, #030916 0%, #071329 52%, #050b18 100%);
}

.si-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .3;
  background-image: linear-gradient(rgba(132,160,220,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(132,160,220,.1) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 86%);
}

.si-hero::after {
  content: "";
  position: absolute;
  width: 620px;
  height: 620px;
  right: -280px;
  bottom: -310px;
  border-radius: 50%;
  border: 1px solid rgba(114,223,234,.26);
  box-shadow: 0 0 120px rgba(49,92,246,.25), inset 0 0 120px rgba(114,223,234,.08);
}

.si-hero__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.14fr) minmax(450px, .86fr);
  align-items: center;
  gap: clamp(36px, 5vw, 76px);
  padding-bottom: 78px;
}

.si-hero__copy { padding-block: 28px 48px; }

.si-hero h1 {
  max-width: 900px;
  color: #f7f9ff;
  font: 500 clamp(3.4rem, 5.15vw, 5.25rem)/.91 var(--si-serif);
  letter-spacing: -.058em;
  text-wrap: balance;
}

.si-hero__lede { margin-top: 30px; max-width: 720px; }
.si-hero__lede p { color: rgba(226,234,252,.78); font-size: clamp(1rem, 1.25vw, 1.14rem); line-height: 1.67; }
.si-hero__lede p:first-child { color: #fff; font-weight: 700; }
.si-hero__lede p + p { margin-top: 6px; }

.si-hero__proof { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 13px 24px; color: rgba(222,231,250,.62); font: 600 .68rem/1.3 var(--si-mono); letter-spacing: .06em; text-transform: uppercase; }
.si-hero__proof span { display: inline-flex; align-items: center; gap: 8px; }
.si-hero__proof i { width: 6px; height: 6px; border-radius: 50%; background: var(--si-cyan); box-shadow: 0 0 12px var(--si-cyan); }

.si-hero__visual {
  position: relative;
  min-height: 650px;
  border: 1px solid rgba(181,203,255,.2);
  border-radius: 34px;
  box-shadow: 0 42px 110px -34px #000, inset 0 1px rgba(255,255,255,.08);
}

.si-hero__photo { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; background: #0c1830; }
.si-hero__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,9,22,.12), rgba(3,9,22,.82) 70%, #040a16), linear-gradient(90deg, rgba(19,38,76,.62), transparent 55%); }
.si-hero__photo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.06); }

.si-search {
  position: absolute;
  z-index: 3;
  left: -32px;
  right: 24px;
  bottom: 38px;
  overflow: hidden;
  border: 1px solid rgba(166,191,255,.28);
  border-radius: 22px;
  color: var(--si-ink);
  background: rgba(255,255,255,.96);
  box-shadow: 0 34px 80px -30px #000;
  backdrop-filter: blur(16px);
}

.si-search > header, .si-google__browser > header {
  height: 43px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid #e6ebf5;
  color: #8290a5;
  background: #f6f8fc;
  font: 600 .58rem/1 var(--si-mono);
  letter-spacing: .06em;
}

.si-search > header b { margin-right: auto; color: #64748b; font-weight: 600; }
.si-search > header small { color: #67758b; }
.si-dots { display: inline-flex; gap: 5px; }
.si-dots i { width: 7px; height: 7px; border-radius: 50%; background: #ff6961; }
.si-dots i:nth-child(2) { background: #ffcc57; }
.si-dots i:nth-child(3) { background: #4dce79; }

.si-search__bar { margin: 14px 16px 10px; padding: 10px 12px; display: flex; align-items: center; gap: 11px; border: 1px solid #dfe5ef; border-radius: 20px; box-shadow: 0 3px 12px rgba(22,40,78,.08); }
.si-search__bar p { flex: 1; overflow: hidden; color: #2f3d52; font-size: .68rem; white-space: nowrap; text-overflow: ellipsis; }
.si-search__bar kbd { border: 0; color: #8391a6; background: transparent; }
.si-google-mark { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; font: 800 .88rem/1 Arial, sans-serif; background: conic-gradient(#4285f4 0 25%, #34a853 0 43%, #fbbc05 0 68%, #ea4335 0 80%, #4285f4 0); }
.si-google-mark i { width: 11px; height: 11px; display: grid; place-items: center; border-radius: 50%; color: #4285f4; font-style: normal; font-size: .62rem; background: #fff; }

.si-search__results { padding: 0 17px 14px; }
.si-search__results article { position: relative; padding: 10px 12px; border-radius: 11px; }
.si-search__results article span { color: #53677e; font-size: .54rem; }
.si-search__results article b { display: block; color: #1a0dab; font: 500 .72rem/1.25 Arial, sans-serif; }
.si-search__results article p { color: #59687e; font-size: .57rem; line-height: 1.4; }
.si-search__results .is-muted { opacity: .35; filter: blur(.15px); }
.si-search__results .is-target { margin: 3px 0; border: 1px solid rgba(49,92,246,.25); background: linear-gradient(100deg, rgba(49,92,246,.08), rgba(114,223,234,.08)); box-shadow: 0 12px 28px -18px rgba(49,92,246,.7); }
.si-search__results .is-target i { position: absolute; right: 9px; top: 9px; padding: 4px 6px; border-radius: 5px; color: #2345bd; background: #e6ecff; font: 600 .42rem/1 var(--si-mono); font-style: normal; }
.si-search > footer { min-height: 38px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; color: #53657d; background: #f2f5fa; font: 600 .52rem/1 var(--si-mono); letter-spacing: .07em; }
.si-search > footer span { display: flex; align-items: center; gap: 7px; }
.si-search > footer i { width: 6px; height: 6px; border-radius: 50%; background: #41c87b; box-shadow: 0 0 10px #41c87b; }

.si-hero__tag { position: absolute; z-index: 4; right: -18px; top: 34px; padding: 14px 18px; border: 1px solid rgba(152,184,255,.3); border-radius: 15px; background: rgba(4,12,29,.82); backdrop-filter: blur(16px); box-shadow: 0 20px 45px -22px #000; }
.si-hero__tag span { display: block; color: #83dded; font: 600 .52rem/1 var(--si-mono); letter-spacing: .1em; }
.si-hero__tag b { display: block; margin-top: 7px; color: #fff; font-size: .76rem; }

.si-hero__rail { position: relative; z-index: 2; min-height: 58px; padding: 0 max(36px, calc((100% - 1480px)/2)); display: flex; align-items: center; color: rgba(200,214,241,.34); border-top: 1px solid rgba(176,199,255,.11); background: rgba(1,5,13,.35); font: 600 .59rem/1 var(--si-mono); letter-spacing: .14em; }
.si-hero__rail i { flex: 1; height: 1px; margin-inline: 17px; background: linear-gradient(90deg, rgba(114,223,234,.42), transparent); }

/* Load */
.si-load__grid { display: grid; grid-template-columns: minmax(0,.72fr) minmax(500px,1.28fr); gap: clamp(52px, 7vw, 110px); align-items: center; }
.si-pull { max-width: 580px; color: #172640; font: 500 clamp(1.65rem, 2.45vw, 2.6rem)/1.16 var(--si-serif); letter-spacing: -.025em; }
.si-copy-grid { margin-top: 46px; display: grid; gap: 30px; }
.si-copy-grid > div { padding-top: 20px; border-top: 1px solid var(--si-line); }
.si-copy-grid h3 { margin-bottom: 9px !important; font-size: .94rem; }
.si-copy-grid p { color: var(--si-muted); font-size: .93rem; }

.si-process-film { display: grid; grid-template-columns: 1.1fr .9fr; grid-template-rows: repeat(2, 260px); gap: 15px; }
.si-process-film figure { position: relative; overflow: hidden; border-radius: 24px; background: #0a1427; box-shadow: var(--si-shadow); }
.si-process-film .is-large { grid-row: 1 / 3; }
.si-process-film picture, .si-process-film img { width: 100%; height: 100%; }
.si-process-film img { object-fit: cover; transition: transform .8s var(--si-ease), filter .6s; }
.si-process-film figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(3,9,20,.88)); }
.si-process-film figcaption { position: absolute; z-index: 2; left: 21px; right: 21px; bottom: 19px; display: grid; grid-template-columns: auto 1fr; gap: 3px 12px; color: #fff; }
.si-process-film figcaption span { grid-row: 1 / 3; align-self: center; color: #7ce2ed; font: 600 .62rem/1 var(--si-mono); }
.si-process-film figcaption b { font-size: .9rem; }
.si-process-film figcaption small { color: rgba(229,236,250,.65); font-size: .66rem; }
@media (hover:hover) { .si-process-film figure:hover img { transform: scale(1.05); filter: saturate(1.08); } }

/* Discovery */
.si-section.si-discovery, .si-section.si-procurement, .si-section.si-dossier, .si-section.si-confidential, .si-section.si-selection, .si-section.si-method, .si-section.si-faq { color: #eef4ff; background: var(--si-night); }
.si-section.si-discovery::before, .si-section.si-procurement::before, .si-section.si-dossier::before, .si-section.si-method::before, .si-section.si-faq::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .25; background-image: linear-gradient(rgba(116,148,210,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(116,148,210,.1) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, transparent, #000 22%, #000 78%, transparent); }

.si-discovery__desk { position: relative; z-index: 2; padding: 16px; display: grid; grid-template-columns: 350px 1fr; gap: 16px; border: 1px solid rgba(151,179,239,.19); border-radius: 30px; background: linear-gradient(145deg, rgba(17,33,64,.87), rgba(5,13,29,.93)); box-shadow: 0 42px 100px -42px #000, inset 0 1px rgba(255,255,255,.05); }
.si-discovery__desk > nav { display: flex; flex-direction: column; gap: 8px; }
.si-discovery__desk > nav button { padding: 19px 17px; display: grid; grid-template-columns: 34px 1fr; gap: 2px 12px; text-align: left; color: rgba(231,238,252,.65); border: 1px solid transparent; border-radius: 16px; background: transparent; cursor: pointer; transition: background .35s, border-color .35s, color .35s, transform .35s var(--si-ease); }
.si-discovery__desk > nav button span { grid-row: 1 / 3; color: #6f8eff; font: 600 .65rem/1.5 var(--si-mono); }
.si-discovery__desk > nav button b { font-size: .86rem; }
.si-discovery__desk > nav button small { color: inherit; font-size: .67rem; }
.si-discovery__desk > nav button.is-active { color: #fff; border-color: rgba(112,144,255,.3); background: linear-gradient(110deg, rgba(49,92,246,.2), rgba(114,223,234,.07)); transform: translateX(5px); }

.si-discovery__screen { min-height: 510px; display: grid; grid-template-columns: .83fr 1.17fr; overflow: hidden; border: 1px solid rgba(176,198,245,.15); border-radius: 21px; background: #f7f9fd; }
.si-discovery__copy { padding: clamp(36px, 5vw, 72px); color: var(--si-ink); }
.si-discovery__copy > span { color: var(--si-blue); font: 600 .62rem/1 var(--si-mono); letter-spacing: .09em; }
.si-discovery__copy h3 { margin-top: 18px !important; font: 500 clamp(1.9rem, 3vw, 3.25rem)/1.03 var(--si-serif); letter-spacing: -.035em; }
.si-discovery__copy p { margin-top: 20px !important; color: #596a84; font-size: .93rem; }
.si-discovery__copy ul { margin-top: 28px; display: grid; gap: 10px; list-style: none; }
.si-discovery__copy li { position: relative; padding-left: 22px; color: #243551; font-size: .79rem; font-weight: 700; }
.si-discovery__copy li::before { content: ""; position: absolute; left: 0; top: .65em; width: 9px; height: 1px; background: var(--si-blue); }
.si-discovery__screen figure { position: relative; min-height: 440px; overflow: hidden; }
.si-discovery__screen picture, .si-discovery__screen img { width: 100%; height: 100%; }
.si-discovery__screen img { object-fit: cover; transition: opacity .25s, transform .7s var(--si-ease); }
.si-discovery__screen figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #f7f9fd 0, transparent 30%), linear-gradient(180deg, transparent 45%, rgba(3,9,22,.8)); }
.si-discovery__screen figcaption { position: absolute; z-index: 2; left: 28px; bottom: 24px; display: flex; align-items: center; gap: 9px; color: #fff; font-size: .72rem; font-weight: 700; }
.si-discovery__screen figcaption i { width: 7px; height: 7px; border-radius: 50%; background: var(--si-cyan); box-shadow: 0 0 12px var(--si-cyan); }
.si-discovery__note { grid-column: 1 / -1; margin: 2px 9px 8px !important; color: rgba(218,229,248,.48); font-size: .67rem; }
.si-discovery__note b { color: rgba(238,244,255,.8); }

/* Procurement */
.si-procurement { background: linear-gradient(150deg, #061128, #020711 72%); }
.si-procurement__scene { position: relative; z-index: 2; padding: 18px; overflow: hidden; border: 1px solid rgba(157,185,245,.2); border-radius: 32px; background: linear-gradient(145deg, rgba(19,36,67,.88), rgba(4,10,23,.96)); box-shadow: 0 52px 120px -48px #000, inset 0 1px rgba(255,255,255,.06); }
.si-procurement__scene::before { content: ""; position: absolute; width: 650px; height: 650px; left: 24%; top: -330px; border-radius: 50%; background: rgba(49,92,246,.2); filter: blur(80px); pointer-events: none; }
.si-procurement__top { position: relative; z-index: 2; min-height: 48px; padding: 0 14px; display: flex; align-items: center; justify-content: space-between; color: rgba(220,231,252,.58); border-bottom: 1px solid rgba(167,192,241,.13); font: 600 .58rem/1 var(--si-mono); letter-spacing: .08em; }
.si-procurement__top span { display: flex; align-items: center; gap: 9px; }
.si-procurement__top i { width: 7px; height: 7px; border-radius: 50%; background: #42d485; box-shadow: 0 0 12px #42d485; }

.si-blueprint { position: relative; z-index: 2; min-height: 330px; margin: 18px 0; display: grid; grid-template-columns: 1.2fr .8fr; overflow: hidden; border: 1px solid rgba(116,159,255,.3); border-radius: 23px; background: #0b2b61; box-shadow: inset 0 0 80px rgba(49,92,246,.2); }
.si-blueprint::before { content: ""; position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(153,208,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(153,208,255,.35) 1px, transparent 1px); background-size: 24px 24px; }
.si-blueprint__drawing { position: relative; min-height: 330px; }
.si-blueprint__drawing i { position: absolute; left: 50%; top: 50%; width: 215px; height: 130px; transform: translate(-50%,-50%); border: 2px solid rgba(199,231,255,.83); border-radius: 16px 16px 48px 16px; box-shadow: 0 0 28px rgba(114,223,234,.15); }
.si-blueprint__drawing i:nth-child(2) { width: 70px; height: 70px; border-radius: 50%; }
.si-blueprint__drawing i:nth-child(3) { width: 280px; height: 1px; border: 0; border-top: 1px dashed rgba(199,231,255,.55); border-radius: 0; box-shadow: none; }
.si-blueprint__drawing i:nth-child(4) { width: 1px; height: 190px; border: 0; border-left: 1px dashed rgba(199,231,255,.55); border-radius: 0; box-shadow: none; }
.si-blueprint__drawing span { position: absolute; color: rgba(219,240,255,.72); font: 600 .58rem/1 var(--si-mono); }
.si-blueprint__drawing span:nth-of-type(1) { left: 25%; top: 27%; }
.si-blueprint__drawing span:nth-of-type(2) { right: 27%; bottom: 27%; }
.si-blueprint__drawing span:nth-of-type(3) { right: 20%; top: 35%; }
.si-blueprint__brief { position: relative; z-index: 2; margin: 18px; padding: 26px; align-self: stretch; border: 1px solid rgba(191,221,255,.22); border-radius: 18px; background: rgba(5,19,44,.75); backdrop-filter: blur(12px); }
.si-blueprint__brief > span { color: var(--si-cyan); font: 600 .58rem/1 var(--si-mono); letter-spacing: .1em; }
.si-blueprint__brief > b { display: block; margin-top: 12px; font: 500 1.65rem/1.1 var(--si-serif); }
.si-blueprint__brief dl { margin-top: 27px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.si-blueprint__brief dl div { padding-top: 12px; border-top: 1px solid rgba(192,218,255,.17); }
.si-blueprint__brief dt { color: rgba(217,231,250,.5); font: 600 .52rem/1 var(--si-mono); text-transform: uppercase; }
.si-blueprint__brief dd { margin-top: 7px; color: #fff; font-size: .78rem; font-weight: 700; }

.si-routes { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.si-route { position: relative; min-height: 235px; padding: 24px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; gap: 18px; text-align: left; color: rgba(228,236,251,.66); border: 1px solid rgba(161,187,239,.15); border-radius: 20px; background: rgba(9,20,42,.76); cursor: pointer; overflow: hidden; transition: transform .45s var(--si-ease), border-color .35s, background .35s, color .35s; }
.si-route::before { content: ""; position: absolute; inset: auto 0 0; height: 3px; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--si-blue), var(--si-cyan)); transition: transform .45s var(--si-ease); }
.si-route__number { color: #7594ff; font: 600 .65rem/1.4 var(--si-mono); }
.si-route__line { position: absolute; left: 23px; top: 54px; bottom: 25px; width: 1px; background: linear-gradient(var(--si-blue), transparent); }
.si-route div small { color: #7e9cff; font: 600 .52rem/1 var(--si-mono); letter-spacing: .08em; }
.si-route div b { display: block; margin-top: 11px; color: #f4f7ff; font-size: .92rem; }
.si-route div p { margin-top: 9px; font-size: .76rem; line-height: 1.55; }
.si-route div p span { color: #83e0ec; font-weight: 800; }
.si-route strong { grid-column: 2; color: #fff; font: 500 1.45rem/1 var(--si-serif); }
.si-route strong small { display: block; margin-bottom: 8px; color: rgba(213,227,248,.4); font: 600 .48rem/1 var(--si-mono); letter-spacing: .08em; }
.si-route em { position: absolute; left: 24px; right: 24px; bottom: 17px; opacity: 0; color: #cbd7ed; font-size: .67rem; font-style: normal; transform: translateY(8px); transition: opacity .3s, transform .3s; }
.si-route.is-active { color: rgba(238,244,255,.8); border-color: rgba(99,132,255,.52); background: linear-gradient(145deg, rgba(49,92,246,.24), rgba(10,24,52,.94)); transform: translateY(-7px); }
.si-route.is-active::before { transform: scaleX(1); }
@media (hover:hover) { .si-route:hover em { opacity: 1; transform: none; } .si-route:hover strong { opacity: 0; } }

.si-route-detail { position: relative; z-index: 2; margin-top: 12px; padding: 22px 26px; display: grid; grid-template-columns: 220px 1fr 1.25fr; gap: 30px; align-items: center; border: 1px solid rgba(115,147,255,.25); border-radius: 18px; background: linear-gradient(100deg, rgba(49,92,246,.18), rgba(114,223,234,.04)); }
.si-route-detail span { color: #83a0ff; font: 600 .54rem/1.4 var(--si-mono); letter-spacing: .08em; }
.si-route-detail b { color: #fff; font-size: .9rem; }
.si-route-detail p { color: rgba(221,231,250,.62); font-size: .75rem; }
.si-visual-note { position: relative; z-index: 2; margin: 15px 3px 2px !important; color: rgba(216,228,247,.38); font-size: .68rem; }

/* Case */
.si-case__grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 20px; }
.si-case__media { position: relative; min-height: 575px; overflow: hidden; border-radius: 28px; background: #071327; box-shadow: var(--si-shadow); }
.si-case__media > figure { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .65s var(--si-ease), visibility .65s; }
.si-case__media > figure.is-active { opacity: 1; visibility: visible; }
.si-case__media picture, .si-case__media img { width: 100%; height: 100%; }
.si-case__media img { object-fit: cover; }
.si-case__media figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(3,9,22,.9)); }
.si-case__media figcaption { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 34px; color: #fff; }
.si-case__media figcaption span { display: block; color: #83e0ec; font: 600 .58rem/1 var(--si-mono); letter-spacing: .09em; }
.si-case__media figcaption b { display: block; margin-top: 11px; max-width: 480px; font: 500 clamp(1.55rem, 2.6vw, 2.65rem)/1.06 var(--si-serif); }
.si-case__media nav { position: absolute; z-index: 4; top: 23px; right: 23px; display: flex; gap: 8px; }
.si-case__media nav button { width: 30px; height: 5px; padding: 0; border: 0; border-radius: 6px; background: rgba(255,255,255,.35); cursor: pointer; }
.si-case__media nav button.is-active { background: var(--si-cyan); box-shadow: 0 0 12px rgba(114,223,234,.75); }

.si-case__metrics { padding: 25px; display: flex; flex-direction: column; border: 1px solid var(--si-line); border-radius: 28px; background: #fff; box-shadow: var(--si-shadow); }
.si-case__metrics > header { min-height: 42px; display: flex; align-items: center; justify-content: space-between; color: #718099; border-bottom: 1px solid var(--si-line); font: 600 .56rem/1 var(--si-mono); letter-spacing: .07em; }
.si-case__metrics > header span { display: flex; align-items: center; gap: 8px; }
.si-case__metrics > header i { width: 7px; height: 7px; border-radius: 50%; background: #42c67b; box-shadow: 0 0 10px #42c67b; }
.si-case__main { padding: 32px 8px 26px; border-bottom: 1px solid var(--si-line); }
.si-case__main small { color: #687891; font: 600 .58rem/1 var(--si-mono); letter-spacing: .08em; }
.si-case__main strong { display: block; margin-top: 8px; color: var(--si-blue); font: 500 clamp(4.8rem, 7.4vw, 7.4rem)/.85 var(--si-serif); letter-spacing: -.07em; }
.si-case__main p { margin-top: 19px; max-width: 430px; color: #5e6e87; font-size: .83rem; }
.si-case__bars { padding: 27px 8px 18px; display: grid; gap: 21px; }
.si-case__bars article span { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.si-case__bars article b { font-size: .7rem; }
.si-case__bars article small { color: #60718a; font: 600 .6rem/1 var(--si-mono); }
.si-case__bars article > i { display: block; width: 100%; height: 5px; margin-top: 9px; border-radius: 5px; background: #e7ebf3; overflow: hidden; }
.si-case__bars article > i::after { content: ""; display: block; width: var(--value); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--si-blue), var(--si-cyan)); transform-origin: left; }
.si-case__metrics > footer { margin-top: auto; padding: 17px 8px 2px; color: #7b899d; border-top: 1px solid var(--si-line); font-size: .68rem; }
.si-legal-foot { margin-top: 16px !important; color: #66758d; font-size: .69rem; }

.si-mid-cta { margin-top: 34px; padding: clamp(28px, 4vw, 46px); display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px 44px; color: #fff; border-radius: 26px; background: linear-gradient(118deg, #0b1a38, #183b96 58%, #315cf6); box-shadow: 0 30px 70px -35px rgba(24,59,150,.75); overflow: hidden; }
.si-mid-cta > div span { color: #90e2ec; font: 600 .57rem/1 var(--si-mono); letter-spacing: .09em; }
.si-mid-cta h3 { margin-top: 10px !important; max-width: 760px; font: 500 clamp(1.55rem,2.4vw,2.4rem)/1.08 var(--si-serif); }
.si-mid-cta > p { grid-column: 1 / -1; max-width: 920px; color: rgba(225,234,251,.67); font-size: .76rem; }
.si-mid-cta > p b { color: #fff; }

/* Dossier */
.si-dossier__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 330px 1fr; gap: 16px; }
.si-dossier__grid > nav { display: grid; gap: 8px; }
.si-dossier__grid > nav button { padding: 20px; display: grid; grid-template-columns: 34px 1fr; gap: 2px 12px; text-align: left; color: rgba(224,233,249,.61); border: 1px solid rgba(158,185,237,.13); border-radius: 17px; background: rgba(12,25,50,.75); cursor: pointer; transition: transform .35s var(--si-ease), background .35s, border-color .35s; }
.si-dossier__grid > nav button > span { grid-row: 1/3; color: #718fff; font: 600 .62rem/1.5 var(--si-mono); }
.si-dossier__grid > nav b { font-size: .82rem; }
.si-dossier__grid > nav small { color: inherit; font-size: .64rem; }
.si-dossier__grid > nav button.is-active { transform: translateX(6px); color: #fff; border-color: rgba(102,135,255,.42); background: linear-gradient(110deg, rgba(49,92,246,.24), rgba(114,223,234,.06)); }

.si-dossier__sheet { overflow: hidden; border: 1px solid rgba(174,199,245,.2); border-radius: 24px; background: #f7f9fd; color: var(--si-ink); box-shadow: 0 38px 88px -42px #000; }
.si-dossier__sheet > header, .si-dossier__sheet > footer { min-height: 48px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; color: #6b7c94; background: #eef2f8; font: 600 .56rem/1 var(--si-mono); letter-spacing: .07em; }
.si-dossier__sheet > footer { background: #e9eef7; }
.si-dossier__sheet > footer span { display: flex; align-items: center; gap: 8px; }
.si-dossier__sheet > footer i { width: 7px; height: 7px; border-radius: 50%; background: #40c77b; }
.si-dossier__body { min-height: 500px; display: grid; grid-template-columns: 1fr 1fr; }
.si-dossier__body figure { position: relative; overflow: hidden; }
.si-dossier__body picture, .si-dossier__body img { width: 100%; height: 100%; }
.si-dossier__body img { object-fit: cover; transition: opacity .25s, transform .6s var(--si-ease); }
.si-dossier__body figcaption { position: absolute; left: 20px; bottom: 18px; padding: 8px 11px; color: #fff; border: 1px solid rgba(255,255,255,.25); border-radius: 9px; background: rgba(3,9,22,.68); font-size: .62rem; font-weight: 700; backdrop-filter: blur(10px); }
.si-dossier__body > div { padding: clamp(36px, 5vw, 72px); }
.si-dossier__body > div > span { color: var(--si-blue); font: 600 .57rem/1 var(--si-mono); letter-spacing: .08em; }
.si-dossier__body h3 { margin-top: 16px !important; font: 500 clamp(2rem,3vw,3.2rem)/1.02 var(--si-serif); letter-spacing: -.035em; }
.si-dossier__body p { margin-top: 20px; color: #5a6c86; font-size: .86rem; }
.si-dossier__body dl { margin-top: 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.si-dossier__body dl div { padding-top: 13px; border-top: 1px solid var(--si-line); }
.si-dossier__body dt { color: #75849a; font: 600 .53rem/1.3 var(--si-mono); text-transform: uppercase; }
.si-dossier__body dd { margin-top: 8px; color: #263853; font-size: .72rem; font-weight: 700; }

/* Google stage */
.si-google__stage { display: grid; grid-template-columns: 1fr 350px; overflow: hidden; border: 1px solid var(--si-line); border-radius: 30px; background: #fff; box-shadow: var(--si-shadow); }
.si-google__browser { padding-bottom: 28px; }
.si-google__browser > header p { margin-right: auto; }
.si-google__brand { margin: 30px auto 20px; display: flex; justify-content: center; font: 500 2rem/1 Arial, sans-serif; letter-spacing: -2px; }
.si-google__brand span:nth-child(1), .si-google__brand span:nth-child(4) { color: #4285f4; }
.si-google__brand span:nth-child(2), .si-google__brand span:nth-child(6) { color: #ea4335; }
.si-google__brand span:nth-child(3) { color: #fbbc05; }
.si-google__brand span:nth-child(5) { color: #34a853; }
.si-google__query { width: min(620px, calc(100% - 52px)); min-height: 48px; margin: auto; padding: 0 17px; display: flex; align-items: center; gap: 13px; border: 1px solid #dfe4ed; border-radius: 26px; box-shadow: 0 4px 16px rgba(18,39,75,.08); }
.si-google__query > i { width: 13px; height: 13px; border: 2px solid #8794a6; border-radius: 50%; position: relative; }
.si-google__query > i::after { content: ""; position: absolute; width: 6px; height: 2px; right: -5px; bottom: -3px; background: #8794a6; transform: rotate(45deg); }
.si-google__query p { flex: 1; font-size: .78rem; }
.si-google__query kbd { color: #8b97a9; border: 0; background: transparent; }
.si-google__tabs { width: min(620px, calc(100% - 52px)); margin: 18px auto 0; display: flex; gap: 22px; color: #728096; border-bottom: 1px solid #e6eaf0; font-size: .62rem; }
.si-google__tabs b { padding-bottom: 9px; color: #1a73e8; border-bottom: 2px solid #1a73e8; }
.si-google__list { width: min(620px, calc(100% - 52px)); margin: 12px auto 0; }
.si-google__list article { position: relative; padding: 13px 10px; }
.si-google__list article > span { color: #475b72; font-size: .57rem; }
.si-google__list article > b { display: block; color: #1a0dab; font: 400 .9rem/1.35 Arial, sans-serif; }
.si-google__list article > p { color: #52637b; font-size: .62rem; }
.si-google__list .is-blurred { opacity: .28; filter: blur(.2px); }
.si-google__list .is-featured { padding: 16px 16px 16px 52px; border: 1px solid rgba(49,92,246,.25); border-radius: 13px; background: linear-gradient(100deg, rgba(49,92,246,.07), rgba(114,223,234,.07)); box-shadow: 0 14px 34px -24px rgba(49,92,246,.75); }
.si-serp-logo { position: absolute; left: 13px; top: 17px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: #fff; background: linear-gradient(135deg,#183b96,var(--si-cyan)); font: 800 .55rem/1 var(--si-sans); }
.si-google__list em { position: absolute; right: 12px; top: 12px; padding: 5px 7px; border-radius: 6px; color: #2142b6; background: #e5ebff; font: 600 .45rem/1 var(--si-mono); font-style: normal; }
.si-query-stack { padding: 17px; color: #fff; background: linear-gradient(160deg, #081a3b, #030a17); }
.si-query-stack > header { min-height: 46px; padding: 0 6px 12px; display: flex; align-items: center; justify-content: space-between; color: rgba(221,231,249,.52); border-bottom: 1px solid rgba(165,190,239,.15); font: 600 .52rem/1 var(--si-mono); }
.si-query-stack > button { width: 100%; padding: 16px 11px; display: grid; grid-template-columns: 30px 1fr; gap: 2px 10px; text-align: left; color: rgba(225,234,250,.58); border: 1px solid transparent; border-radius: 12px; background: transparent; cursor: pointer; }
.si-query-stack > button span { grid-row: 1/3; color: #6f8fff; font: 600 .57rem/1.4 var(--si-mono); }
.si-query-stack > button b { font-size: .75rem; }
.si-query-stack > button small { color: inherit; font-size: .58rem; }
.si-query-stack > button.is-active { color: #fff; border-color: rgba(100,134,255,.3); background: rgba(49,92,246,.17); }
.si-query-stack > footer { margin: 14px 6px 0; padding-top: 15px; color: rgba(220,230,247,.42); border-top: 1px solid rgba(165,190,239,.14); font-size: .61rem; }

/* Confidential */
.si-confidential__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.si-photo-card { position: relative; min-height: 610px; overflow: hidden; border-radius: 28px; border: 1px solid rgba(167,193,240,.18); }
.si-photo-card picture, .si-photo-card img { width: 100%; height: 100%; }
.si-photo-card img { object-fit: cover; }
.si-photo-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(3,9,22,.9)); }
.si-photo-card figcaption { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 30px; }
.si-photo-card figcaption span { color: var(--si-cyan); font: 600 .56rem/1 var(--si-mono); letter-spacing: .09em; }
.si-photo-card figcaption b { display: block; margin-top: 12px; max-width: 520px; color: #fff; font: 500 clamp(1.7rem,2.8vw,2.8rem)/1.07 var(--si-serif); }
.si-confidential__cards { display: grid; gap: 10px; }
.si-confidential__cards article { position: relative; padding: clamp(28px,4vw,48px); overflow: hidden; border: 1px solid rgba(158,185,237,.15); border-radius: 23px; background: linear-gradient(125deg, rgba(13,28,56,.9), rgba(6,14,30,.85)); transition: transform .4s var(--si-ease), border-color .35s, background .35s; }
.si-confidential__cards article > span { color: #7898ff; font: 600 .54rem/1 var(--si-mono); letter-spacing: .08em; }
.si-confidential__cards h3 { margin-top: 11px !important; color: #fff; font: 500 1.65rem/1.05 var(--si-serif); }
.si-confidential__cards p { margin-top: 10px; max-width: 520px; color: rgba(219,229,247,.61); font-size: .78rem; }
.si-confidential__cards article > i { position: absolute; right: 22px; top: 17px; color: rgba(125,153,218,.2); font: 500 3rem/1 var(--si-serif); font-style: normal; }
@media (hover:hover) { .si-confidential__cards article:hover, .si-confidential__cards article:focus { transform: translateX(-8px); border-color: rgba(107,141,255,.46); background: linear-gradient(125deg, rgba(49,92,246,.22), rgba(6,14,30,.88)); outline: none; } }

/* RFQ */
.si-rfq__stage { display: grid; grid-template-columns: 310px 1fr; gap: 14px; }
.si-rfq__flow { display: grid; gap: 8px; }
.si-rfq__flow button { padding: 20px; display: grid; grid-template-columns: 35px 1fr; gap: 2px 11px; text-align: left; color: #66758d; border: 1px solid var(--si-line); border-radius: 17px; background: #fff; cursor: pointer; transition: transform .35s var(--si-ease), box-shadow .35s, border-color .35s; }
.si-rfq__flow button > span { grid-row: 1/3; color: var(--si-blue); font: 600 .61rem/1.4 var(--si-mono); }
.si-rfq__flow b { font-size: .8rem; }
.si-rfq__flow small { font-size: .62rem; }
.si-rfq__flow button.is-active { transform: translateX(7px); border-color: rgba(49,92,246,.36); box-shadow: 0 18px 36px -28px rgba(49,92,246,.72); color: var(--si-ink); }
.si-rfq__panel { overflow: hidden; border: 1px solid var(--si-line); border-radius: 24px; background: #fff; box-shadow: var(--si-shadow); }
.si-rfq__panel > header, .si-rfq__panel > footer { min-height: 48px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; color: #6c7c94; background: #eef2f7; font: 600 .55rem/1.4 var(--si-mono); letter-spacing: .06em; }
.si-rfq__panel > header span { display: flex; align-items: center; gap: 8px; }
.si-rfq__panel > header i { width: 7px; height: 7px; border-radius: 50%; background: #40c77b; }
.si-rfq__panel > footer { gap: 30px; color: #728198; }
.si-rfq__panel > footer span { max-width: 650px; }
.si-rfq__panel > footer b { color: #43536b; text-align: right; }
.si-rfq__panel-body { min-height: 480px; display: grid; grid-template-columns: .85fr 1.15fr; }
.si-rfq__panel-body figure { overflow: hidden; }
.si-rfq__panel-body picture, .si-rfq__panel-body img { width: 100%; height: 100%; }
.si-rfq__panel-body img { object-fit: cover; transition: opacity .25s, transform .6s var(--si-ease); }
.si-rfq__panel-body > div { padding: clamp(34px,5vw,68px); }
.si-rfq__panel-body > div > span { color: var(--si-blue); font: 600 .56rem/1 var(--si-mono); letter-spacing: .08em; }
.si-rfq__panel-body h3 { margin-top: 15px !important; font: 500 clamp(1.9rem,3vw,3.1rem)/1.03 var(--si-serif); letter-spacing: -.035em; }
.si-rfq__panel-body p { margin-top: 18px; color: #5a6b84; font-size: .84rem; }
.si-rfq__panel-body ul { margin-top: 25px; display: grid; gap: 10px; list-style: none; }
.si-rfq__panel-body li { position: relative; padding-left: 22px; color: #273952; font-size: .75rem; font-weight: 700; }
.si-rfq__panel-body li::before { content: ""; position: absolute; left: 0; top: .65em; width: 10px; height: 1px; background: var(--si-blue); }

/* Selection */
.si-selection__grid { position: relative; z-index: 2; display: grid; grid-template-columns: .92fr 1.08fr; gap: 17px; }
.si-selection__photo { position: relative; min-height: 570px; overflow: hidden; border: 1px solid rgba(168,194,241,.18); border-radius: 27px; }
.si-selection__photo picture, .si-selection__photo img { width: 100%; height: 100%; }
.si-selection__photo img { object-fit: cover; }
.si-selection__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(3,9,22,.88)); }
.si-selection__photo figcaption { position: absolute; z-index: 2; left: 28px; bottom: 27px; }
.si-selection__photo figcaption span { color: var(--si-cyan); font: 600 .54rem/1 var(--si-mono); letter-spacing: .08em; }
.si-selection__photo figcaption b { display: block; margin-top: 10px; max-width: 500px; font: 500 2rem/1.08 var(--si-serif); }
.si-selection__checks { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.si-selection__checks article { position: relative; padding: 28px; display: grid; grid-template-columns: 35px 1fr; align-content: start; gap: 12px; border: 1px solid rgba(160,187,238,.15); border-radius: 22px; background: linear-gradient(140deg, rgba(16,31,60,.88), rgba(6,14,29,.88)); }
.si-selection__checks article > span { color: #7595ff; font: 600 .62rem/1.5 var(--si-mono); }
.si-selection__checks h3 { color: #fff; font-size: .87rem; }
.si-selection__checks p { margin-top: 10px; color: rgba(220,230,248,.58); font-size: .72rem; }
.si-selection__checks article > i { position: absolute; left: 28px; bottom: 23px; color: rgba(121,153,220,.38); font: 600 .48rem/1 var(--si-mono); font-style: normal; letter-spacing: .1em; }
.si-quote-title { margin: 38px 0 12px; color: #fff; font: 500 clamp(1.55rem,2.2vw,2.15rem)/1.08 var(--si-serif); }
.si-quote { position: relative; z-index: 2; margin-top: 18px; overflow: hidden; color: var(--si-ink); border: 1px solid rgba(174,198,242,.22); border-radius: 22px; background: #f7f9fd; }
.si-quote > header, .si-quote > footer { min-height: 45px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; color: #6b7a91; background: #eaf0f8; font: 600 .54rem/1 var(--si-mono); letter-spacing: .07em; }
.si-quote__meta { padding: 19px 20px; display: grid; grid-template-columns: repeat(4,1fr); gap: 15px; border-bottom: 1px solid var(--si-line); }
.si-quote__meta span { color: #263750; font-size: .72rem; font-weight: 800; }
.si-quote__meta small { display: block; margin-bottom: 6px; color: #7c8a9e; font: 600 .5rem/1 var(--si-mono); }
.si-quote__line { padding: 13px 20px; display: flex; justify-content: space-between; color: #5a6b84; border-bottom: 1px solid var(--si-line); font-size: .7rem; }
.si-quote__line b { color: #21334f; }
.si-quote > footer span { display: flex; align-items: center; gap: 8px; }
.si-quote > footer i { width: 7px; height: 7px; border-radius: 50%; background: #ffb951; box-shadow: 0 0 10px #ffb951; }

/* Channels */
.si-channels__board { display: grid; grid-template-columns: .9fr 1.1fr; gap: 17px; }
.si-channels__board > figure { position: relative; min-height: 640px; overflow: hidden; border-radius: 28px; box-shadow: var(--si-shadow); }
.si-channels__board > figure picture, .si-channels__board > figure img { width: 100%; height: 100%; }
.si-channels__board > figure img { object-fit: cover; }
.si-channels__board > figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(3,9,22,.88)); }
.si-channels__board > figure figcaption { position: absolute; z-index: 2; left: 28px; right: 28px; bottom: 28px; color: #fff; }
.si-channels__board > figure span { color: var(--si-cyan); font: 600 .54rem/1 var(--si-mono); letter-spacing: .08em; }
.si-channels__board > figure b { display: block; margin-top: 11px; font: 500 2rem/1.07 var(--si-serif); }
.si-channels__list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.si-channels__list article { position: relative; padding: clamp(27px,3.5vw,43px); border: 1px solid var(--si-line); border-radius: 23px; background: #fff; box-shadow: 0 20px 50px -42px rgba(3,9,22,.55); transition: transform .4s var(--si-ease), border-color .35s; }
.si-channels__list article > span { color: var(--si-blue); font: 600 .53rem/1 var(--si-mono); letter-spacing: .07em; }
.si-channels__list h3 { margin-top: 14px !important; font: 500 1.65rem/1.05 var(--si-serif); }
.si-channels__list p { margin-top: 13px; color: var(--si-muted); font-size: .75rem; }
.si-channels__list article > b { position: absolute; left: clamp(27px,3.5vw,43px); bottom: 26px; color: #78869b; font: 600 .5rem/1 var(--si-mono); letter-spacing: .06em; }
@media (hover:hover) { .si-channels__list article:hover { transform: translateY(-7px); border-color: rgba(49,92,246,.35); } }

/* Method */
.si-method__stage { position: relative; z-index: 2; overflow: hidden; border: 1px solid rgba(163,190,240,.18); border-radius: 28px; background: linear-gradient(140deg, rgba(14,29,57,.9), rgba(5,13,28,.96)); box-shadow: 0 42px 100px -42px #000; }
.si-method__stage > nav { padding: 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; border-bottom: 1px solid rgba(166,191,239,.14); }
.si-method__stage > nav button { padding: 17px; display: grid; grid-template-columns: 35px 1fr; gap: 2px 10px; text-align: left; color: rgba(224,233,249,.56); border: 1px solid transparent; border-radius: 14px; background: transparent; cursor: pointer; }
.si-method__stage > nav span { grid-row: 1/3; color: #7292ff; font: 600 .61rem/1.4 var(--si-mono); }
.si-method__stage > nav b { font-size: .8rem; }
.si-method__stage > nav small { color: inherit; font-size: .61rem; }
.si-method__stage > nav button.is-active { color: #fff; border-color: rgba(103,136,255,.33); background: rgba(49,92,246,.18); }
.si-method__stage > article { min-height: 520px; display: grid; grid-template-columns: 1fr 1fr; }
.si-method__stage figure { position: relative; overflow: hidden; }
.si-method__stage figure picture, .si-method__stage figure img { width: 100%; height: 100%; }
.si-method__stage figure img { object-fit: cover; transition: opacity .25s, transform .65s var(--si-ease); }
.si-method__stage figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(3,9,22,.78)); }
.si-method__stage figure figcaption { position: absolute; z-index: 2; left: 24px; right: 24px; bottom: 22px; color: #fff; font-size: .69rem; font-weight: 700; }
.si-method__stage > article > div { padding: clamp(40px,6vw,82px); }
.si-method__stage > article > div > span { color: #7f9cff; font: 600 .56rem/1 var(--si-mono); letter-spacing: .08em; }
.si-method__stage h3 { margin-top: 17px !important; color: #fff; font: 500 clamp(2rem,3.2vw,3.35rem)/1.02 var(--si-serif); letter-spacing: -.035em; }
.si-method__stage article p { margin-top: 20px; color: rgba(220,230,248,.62); font-size: .84rem; }
.si-method__stage article ul { margin-top: 27px; display: grid; gap: 10px; list-style: none; }
.si-method__stage article li { position: relative; padding-left: 23px; color: #e3ebfa; font-size: .72rem; font-weight: 700; }
.si-method__stage article li::before { content: ""; position: absolute; left: 0; top: .65em; width: 10px; height: 1px; background: var(--si-cyan); }
.si-method__stage > footer { min-height: 54px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; color: rgba(219,229,247,.46); border-top: 1px solid rgba(166,191,239,.14); font-size: .65rem; }
.si-method__stage > footer a { color: #fff; font-weight: 800; text-decoration: none; }
.si-method__stage > footer i { color: var(--si-cyan); font-style: normal; }
.si-method__photos { position: relative; z-index: 2; margin-top: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.si-method__photos figure { position: relative; height: 260px; overflow: hidden; border: 1px solid rgba(166,191,239,.16); border-radius: 21px; }
.si-method__photos picture, .si-method__photos img { width: 100%; height: 100%; }
.si-method__photos img { object-fit: cover; }
.si-method__photos figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(3,9,22,.75)); }
.si-method__photos figcaption { position: absolute; z-index: 2; left: 22px; bottom: 19px; color: #fff; font-size: .75rem; font-weight: 800; }

/* Fit */
.si-fit__grid { display: grid; grid-template-columns: 1fr .82fr 1fr; gap: 14px; }
.si-fit__grid > article { padding: clamp(30px,4vw,52px); border: 1px solid var(--si-line); border-radius: 25px; background: #fff; box-shadow: 0 24px 60px -45px rgba(3,9,22,.5); }
.si-fit__grid article > span { color: var(--si-blue); font: 600 .55rem/1 var(--si-mono); letter-spacing: .08em; }
.si-fit__grid h3 { margin-top: 16px !important; font: 500 clamp(1.7rem,2.7vw,2.7rem)/1.05 var(--si-serif); }
.si-fit__grid ul { margin-top: 28px; display: grid; gap: 13px; list-style: none; }
.si-fit__grid li { position: relative; padding-left: 24px; color: #586982; font-size: .78rem; }
.si-fit__grid li::before { content: ""; position: absolute; left: 0; top: .48em; width: 9px; height: 9px; border: 1px solid var(--si-blue); border-radius: 50%; }
.si-fit__grid figure { position: relative; min-height: 500px; overflow: hidden; border-radius: 25px; }
.si-fit__grid figure picture, .si-fit__grid figure img { width: 100%; height: 100%; }
.si-fit__grid figure img { object-fit: cover; }
.si-fit__grid figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(3,9,22,.86)); }
.si-fit__grid figcaption { position: absolute; z-index: 2; left: 23px; right: 23px; bottom: 23px; color: #fff; }
.si-fit__grid figcaption span { color: var(--si-cyan); font: 600 .53rem/1 var(--si-mono); }
.si-fit__grid figcaption b { display: block; margin-top: 10px; font: 500 1.7rem/1.08 var(--si-serif); }
.si-fit__no { background: #f0f3f8 !important; }

/* FAQ */
.si-faq__layout { position: relative; z-index: 2; display: grid; grid-template-columns: 350px 1fr; gap: 32px; align-items: start; }
.si-faq__map { position: sticky; top: 112px; overflow: hidden; border: 1px solid rgba(160,187,238,.17); border-radius: 23px; background: linear-gradient(145deg, rgba(17,33,64,.88), rgba(6,14,29,.94)); }
.si-faq__map > header { min-height: 76px; padding: 0 23px; display: flex; align-items: center; justify-content: space-between; color: rgba(221,231,249,.55); border-bottom: 1px solid rgba(163,189,239,.14); font: 600 .54rem/1 var(--si-mono); letter-spacing: .08em; }
.si-faq__map > header p { display: flex; align-items: baseline; gap: 5px; }
.si-faq__map > header b { color: #fff; font: 500 2.4rem/1 var(--si-serif); }
.si-faq__map > header small { color: #72839f; }
.si-faq__map nav { padding: 11px; display: grid; gap: 5px; }
.si-faq__map nav button { padding: 14px 13px; display: grid; grid-template-columns: 32px 1fr; gap: 10px; text-align: left; color: rgba(222,232,249,.53); border: 1px solid transparent; border-radius: 12px; background: transparent; cursor: pointer; }
.si-faq__map nav span { color: #718fff; font: 600 .57rem/1.5 var(--si-mono); }
.si-faq__map nav b { font-size: .72rem; }
.si-faq__map nav button.is-active { color: #fff; border-color: rgba(102,135,255,.28); background: rgba(49,92,246,.17); }
.si-faq__map > footer { padding: 18px 23px 22px; color: rgba(221,231,249,.43); border-top: 1px solid rgba(163,189,239,.14); }
.si-faq__map > footer span { display: flex; align-items: center; gap: 8px; font: 600 .5rem/1 var(--si-mono); letter-spacing: .08em; }
.si-faq__map > footer i { width: 6px; height: 6px; border-radius: 50%; background: var(--si-cyan); box-shadow: 0 0 10px var(--si-cyan); }
.si-faq__map > footer p { margin-top: 9px; font-size: .63rem; }
.si-faq__items { border-top: 1px solid rgba(162,188,237,.17); }
.si-faq__items details { border-bottom: 1px solid rgba(162,188,237,.17); }
.si-faq__items summary { min-height: 94px; padding: 24px 9px; display: grid; grid-template-columns: 42px 1fr 36px; align-items: center; gap: 17px; color: #fff; cursor: pointer; list-style: none; }
.si-faq__items summary::-webkit-details-marker { display: none; }
.si-faq__items summary > span { color: #6f8fff; font: 600 .63rem/1 var(--si-mono); }
.si-faq__items summary b { font-size: clamp(.92rem,1.25vw,1.08rem); }
.si-faq__items summary > i { position: relative; width: 32px; height: 32px; border: 1px solid rgba(164,190,239,.22); border-radius: 50%; }
.si-faq__items summary > i::before, .si-faq__items summary > i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 1px; background: #8ba6dd; transform: translate(-50%,-50%); transition: transform .35s var(--si-ease); }
.si-faq__items summary > i::after { transform: translate(-50%,-50%) rotate(90deg); }
.si-faq__items details[open] summary > i::after { transform: translate(-50%,-50%) rotate(0); }
.si-faq__items details > div { display: grid; grid-template-rows: 0fr; opacity: .2; transition: grid-template-rows .45s var(--si-ease), opacity .35s; }
.si-faq__items details > div > p { min-height: 0; overflow: hidden; padding: 0 60px 0 68px; color: rgba(222,232,249,.63); font-size: .87rem; }
.si-faq__items details[open] > div { grid-template-rows: 1fr; opacity: 1; }
.si-faq__items details[open] > div > p { padding-bottom: 32px; }

/* Contact and footer */
.si-contact { position: relative; padding: clamp(105px,10vw,165px) 0; overflow: hidden; color: #fff; background: radial-gradient(circle at 28% 20%, rgba(49,92,246,.28), transparent 34%), radial-gradient(circle at 80% 70%, rgba(114,223,234,.11), transparent 30%), #020713; }
.si-contact::before { content: ""; position: absolute; inset: 0; opacity: .2; background-image: linear-gradient(rgba(120,151,216,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(120,151,216,.11) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent); }
.si-contact__stars { position: absolute; inset: 0; pointer-events: none; }
.si-contact__stars i { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: #fff; box-shadow: 0 0 11px 2px rgba(131,194,255,.75); animation: siTwinkle 4s ease-in-out infinite; }
.si-contact__stars i:nth-child(1) { left: 6%; top: 17%; }.si-contact__stars i:nth-child(2) { left: 14%; top: 67%; animation-delay:-1s }.si-contact__stars i:nth-child(3) { left: 22%; top: 35%; animation-delay:-2s }.si-contact__stars i:nth-child(4) { left: 31%; top: 82%; }.si-contact__stars i:nth-child(5) { left: 40%; top: 13%; animation-delay:-3s }.si-contact__stars i:nth-child(6) { left: 49%; top: 58%; }.si-contact__stars i:nth-child(7) { left: 57%; top: 24%; animation-delay:-1.3s }.si-contact__stars i:nth-child(8) { left: 65%; top: 77%; }.si-contact__stars i:nth-child(9) { left: 74%; top: 12%; animation-delay:-2.5s }.si-contact__stars i:nth-child(10) { left: 81%; top: 45%; }.si-contact__stars i:nth-child(11) { left: 92%; top: 73%; animation-delay:-1.7s }.si-contact__stars i:nth-child(12) { left: 88%; top: 23%; }.si-contact__stars i:nth-child(13) { left: 11%; top: 88%; animation-delay:-2.2s }.si-contact__stars i:nth-child(14) { left: 35%; top: 47%; }.si-contact__stars i:nth-child(15) { left: 53%; top: 90%; animation-delay:-.8s }.si-contact__stars i:nth-child(16) { left: 70%; top: 53%; }.si-contact__stars i:nth-child(17) { left: 96%; top: 38%; animation-delay:-3.1s }.si-contact__stars i:nth-child(18) { left: 3%; top: 44%; }
@keyframes siTwinkle { 0%,100%{opacity:.25;transform:scale(.7)} 50%{opacity:1;transform:scale(1.35)} }
.si-contact__grid { position: relative; z-index: 2; display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(50px,8vw,120px); align-items: start; }
.si-contact__copy h2 { max-width: 680px; font: 500 clamp(2.65rem,4vw,4rem)/.98 var(--si-serif); letter-spacing: -.045em; }
.si-contact__copy > p:not(.si-kicker):not(.si-contact__limit) { margin-top: 24px; max-width: 620px; color: rgba(224,233,250,.67); font-size: .96rem; }
.si-signature { margin-top: 38px; padding-top: 25px; max-width: 580px; border-top: 1px solid rgba(172,198,244,.18); }
.si-signature span { color: #7f9cff; font: 600 .53rem/1 var(--si-mono); letter-spacing: .08em; }
.si-signature b { display: block; margin-top: 10px; font: 500 1.9rem/1 var(--si-serif); }
.si-signature p { margin-top: 8px; color: rgba(222,232,249,.55); font-size: .75rem; }
.si-contact__mail { margin-top: 31px; display: inline-flex; align-items: center; gap: 15px; color: #fff; font-size: .9rem; font-weight: 800; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.25); padding-bottom: 7px; }
.si-contact__mail span { color: var(--si-cyan); }
.si-contact__limit { margin-top: 30px !important; max-width: 600px; color: rgba(220,230,248,.5); font-size: .73rem; }
.si-contact__limit b { color: #fff; }

.si-form { padding: clamp(26px,4vw,43px); border: 1px solid rgba(174,199,244,.2); border-radius: 28px; background: rgba(9,20,42,.78); box-shadow: 0 42px 100px -38px #000, inset 0 1px rgba(255,255,255,.06); backdrop-filter: blur(22px); }
.si-form > header { margin-bottom: 29px; padding-bottom: 21px; border-bottom: 1px solid rgba(170,195,242,.16); }
.si-form > header div { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.si-form > header span, .si-form > header b { color: #8da6ff; font: 600 .53rem/1 var(--si-mono); letter-spacing: .08em; }
.si-form > header b { color: rgba(223,233,250,.47); }
.si-form > header p { margin-top: 10px; color: rgba(223,233,250,.63); font-size: .72rem; }
.si-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.si-form > label:not(.si-consent), .si-form__grid label { display: grid; gap: 8px; margin-bottom: 16px; }
.si-form label > span { color: #e8eefb; font-size: .69rem; font-weight: 800; }
.si-form input, .si-form textarea { width: 100%; color: #fff; border: 1px solid rgba(163,190,239,.2); border-radius: 12px; outline: none; background: rgba(255,255,255,.055); transition: border-color .25s, box-shadow .25s, background .25s; }
.si-form input { height: 50px; padding: 0 14px; }
.si-form textarea { padding: 13px 14px; resize: vertical; }
.si-form input::placeholder, .si-form textarea::placeholder { color: rgba(212,223,242,.33); }
.si-form input:focus, .si-form textarea:focus { border-color: rgba(114,223,234,.65); background: rgba(255,255,255,.075); box-shadow: 0 0 0 3px rgba(114,223,234,.09); }
.si-consent { margin: 6px 0 22px; display: grid; grid-template-columns: 19px 1fr; gap: 10px; align-items: start; }
.si-consent input { width: 17px; height: 17px; margin-top: 3px; }
.si-consent span { color: rgba(220,230,247,.58) !important; font-size: .65rem !important; font-weight: 500 !important; }
.si-consent a { color: #fff; }
.si-form .si-btn { width: 100%; border: 0; cursor: pointer; }
.si-form__status { min-height: 22px; margin-top: 13px !important; color: #8ee6c0; font-size: .68rem; }
.si-form > small { display: block; color: rgba(220,230,247,.4); font-size: .61rem; text-align: center; }
.si-form > small a { color: rgba(235,241,253,.7); }
.si-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.si-footer { padding: 60px 0 26px; color: #dce5f7; background: #01040c; }
.si-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr .7fr; gap: 60px; }
.si-footer__brand { color: #fff; font-size: 1.2rem; font-weight: 800; text-decoration: none; }
.si-footer__brand span { color: #8ba4ff; }
.si-footer__grid > div p { margin-top: 10px; color: #66758f; font-size: .72rem; }
.si-footer nav { display: grid; align-content: start; gap: 9px; }
.si-footer nav a { color: #8b99af; font-size: .7rem; text-decoration: none; }
.si-footer__bottom { margin-top: 45px; padding-top: 20px; display: flex; justify-content: space-between; color: #526079; border-top: 1px solid rgba(160,184,231,.11); font: 600 .55rem/1 var(--si-mono); letter-spacing: .06em; }

/* Motion enhancement, content is visible until JS opts each element in */
.si-pending { opacity: .001; transform: translateY(28px); }
.si-revealed { opacity: 1; transform: none; transition: opacity .85s var(--si-ease), transform .85s var(--si-ease); }
.si-is-swapping { opacity: .15 !important; transform: scale(.985) !important; }

/* V2 · lectura más horizontal, fotografía multisectorial y controles de compra */
.si-head h2 { max-width: 1040px; font-size: clamp(2.15rem, 3.25vw, 3.35rem); line-height: 1; }
.si-hero h1 { max-width: 980px; font-size: clamp(3.25rem, 4.8vw, 4.85rem); line-height: .93; }

.si-hero__photos { position: absolute; inset: 0; overflow: hidden; border-radius: inherit; background: #0c1830; }
.si-hero__photos::after { content: ""; position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(3,9,22,.05), rgba(3,9,22,.74) 72%, #040a16), linear-gradient(90deg, rgba(9,25,55,.54), transparent 62%); }
.si-hero__photos figure { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.04); transition: opacity 1s var(--si-ease), transform 5.8s linear; }
.si-hero__photos figure.is-active { opacity: 1; transform: scale(1); }
.si-hero__photos picture, .si-hero__photos img { width: 100%; height: 100%; }
.si-hero__photos img { object-fit: cover; filter: saturate(.8) contrast(1.05); }
.si-hero__photos figcaption { position: absolute; z-index: 3; top: 25px; left: 25px; padding: 8px 11px; color: rgba(239,246,255,.83); border: 1px solid rgba(174,207,255,.22); border-radius: 999px; background: rgba(4,13,30,.6); backdrop-filter: blur(12px); font: 600 .5rem/1 var(--si-mono); letter-spacing: .08em; }
.si-search__brand, .si-google__brand { margin: 13px auto 2px; display: flex; justify-content: center; font: 500 1.42rem/1 Arial,sans-serif; letter-spacing: -.08em; }
.si-search__brand span:nth-child(1), .si-google__brand span:nth-child(1), .si-search__brand span:nth-child(4), .si-google__brand span:nth-child(4) { color: #4285f4; }
.si-search__brand span:nth-child(2), .si-google__brand span:nth-child(2), .si-search__brand span:nth-child(6), .si-google__brand span:nth-child(6) { color: #ea4335; }
.si-search__brand span:nth-child(3), .si-google__brand span:nth-child(3) { color: #fbbc05; }
.si-search__brand span:nth-child(5), .si-google__brand span:nth-child(5) { color: #34a853; }
.si-search-icon { width: 13px; height: 13px; flex: 0 0 auto; border: 1.8px solid #64748b; border-radius: 50%; position: relative; }
.si-search-icon::after { content: ""; position: absolute; width: 5px; height: 1.8px; right: -4px; bottom: -2px; transform: rotate(45deg); border-radius: 2px; background: #64748b; }

.si-process-film--wide { grid-template-columns: 1.15fr .9fr .9fr; grid-template-rows: repeat(2, 230px); }
.si-process-film--wide .is-large { grid-row: 1 / 3; }

.si-project-switch { position: relative; z-index: 3; margin: 14px 0 0; display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; }
.si-project-switch button { min-height: 54px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; text-align: left; color: rgba(224,234,252,.55); border: 1px solid rgba(174,201,250,.12); border-radius: 13px; background: rgba(6,17,38,.72); cursor: pointer; transition: color .3s, border-color .3s, transform .4s var(--si-ease), background .3s; }
.si-project-switch button span { color: #7594ff; font: 600 .53rem/1 var(--si-mono); }
.si-project-switch button b { font-size: .69rem; }
.si-project-switch button.is-active { color: #fff; border-color: rgba(116,223,234,.45); background: linear-gradient(110deg, rgba(49,92,246,.28), rgba(114,223,234,.1)); transform: translateY(-3px); box-shadow: 0 10px 30px -20px #4ca9ff; }
.si-buying-photo { position: relative; z-index: 2; min-height: 330px; margin: 0; overflow: hidden; }
.si-buying-photo picture, .si-buying-photo img { width: 100%; height: 100%; }
.si-buying-photo img { object-fit: cover; filter: saturate(.88) contrast(1.04); transition: opacity .25s, transform .9s var(--si-ease); }
.si-buying-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 52%, rgba(5,18,43,.62)), linear-gradient(180deg, transparent 55%, rgba(3,9,22,.75)); }
.si-buying-photo figcaption { position: absolute; z-index: 3; left: 20px; bottom: 18px; color: #fff; font: 600 .55rem/1 var(--si-mono); letter-spacing: .09em; }

.si-channel-icon { width: 44px; height: 44px; margin-bottom: 20px; display: grid; place-items: center; color: #315cf6; border: 1px solid rgba(49,92,246,.18); border-radius: 14px; background: linear-gradient(145deg,#f8fbff,#eef3ff); box-shadow: inset 0 1px #fff, 0 15px 30px -24px #315cf6; transition: color .35s, border-color .35s, transform .55s var(--si-ease), box-shadow .35s; }
.si-channel-icon svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
@media (hover:hover) {
  .si-channels__list article:hover .si-channel-icon { color: #0fb7c7; border-color: rgba(15,183,199,.4); transform: translateY(-4px) rotate(-2deg); box-shadow: 0 0 0 7px rgba(114,223,234,.08), 0 20px 34px -22px #0fb7c7; }
  .si-route:hover, .si-route:focus-visible { border-color: rgba(114,223,234,.34); }
}
.si-route.is-active::after { content: ""; position: absolute; left: 16px; right: 16px; bottom: 0; height: 1px; background: linear-gradient(90deg,transparent,#72dfea,transparent); animation: si-route-scan 2.8s ease-in-out infinite; }
@keyframes si-route-scan { 0%,100%{opacity:.2;transform:scaleX(.25)} 50%{opacity:1;transform:scaleX(1)} }
.si-section [data-reveal].si-revealed, .si-section.si-revealed .si-head { animation: si-soft-rise .8s var(--si-ease) both; }
@keyframes si-soft-rise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }

@media (max-width: 1180px) {
  .si-wrap { width: min(100% - 48px, 1120px); }
  .si-hero__grid { grid-template-columns: 1.08fr .92fr; }
  .si-hero h1 { font-size: clamp(3rem,5.2vw,4.6rem); }
  .si-head--split { grid-template-columns: 1.18fr .82fr; gap: 54px; }
  .si-load__grid { grid-template-columns: .8fr 1.2fr; gap: 54px; }
  .si-route { padding: 20px; }
  .si-route-detail { grid-template-columns: 180px 1fr 1.15fr; }
}

@media (max-width: 980px) {
  .si-wrap { width: min(100% - 40px, 900px); }
  .si-section { padding-block: 92px; }
  .si-hero { min-height: auto; padding-top: 135px; }
  .si-hero__grid { grid-template-columns: 1fr; gap: 24px; }
  .si-hero__copy { padding-bottom: 22px; }
  .si-hero h1 { max-width: 880px; font-size: clamp(3.45rem,8.2vw,5.15rem); }
  .si-hero__lede { max-width: 730px; }
  .si-hero__visual { width: min(100%, 760px); min-height: 590px; margin-inline: auto; }
  .si-search { left: 24px; }
  .si-hero__tag { right: 22px; }
  .si-head--split { grid-template-columns: 1fr; gap: 27px; align-items: start; }
  .si-head h2 { max-width: 860px; }
  .si-head--split > div:last-child { max-width: 680px; }
  .si-load__grid, .si-case__grid, .si-confidential__grid, .si-selection__grid, .si-channels__board, .si-contact__grid { grid-template-columns: 1fr; }
  .si-load__story { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; }
  .si-copy-grid { margin-top: 0; }
  .si-process-film { grid-template-rows: repeat(2,230px); }
  .si-discovery__desk, .si-dossier__grid, .si-rfq__stage { grid-template-columns: 1fr; }
  .si-discovery__desk > nav, .si-dossier__grid > nav, .si-rfq__flow { grid-template-columns: repeat(4,1fr); }
  .si-discovery__desk > nav button, .si-dossier__grid > nav button, .si-rfq__flow button { padding: 15px 12px; }
  .si-discovery__desk > nav button.is-active, .si-dossier__grid > nav button.is-active, .si-rfq__flow button.is-active { transform: translateY(-4px); }
  .si-routes { grid-template-columns: 1fr; }
  .si-route { min-height: 170px; }
  .si-route-detail { grid-template-columns: 1fr 1fr; }
  .si-route-detail p { grid-column: 1 / -1; }
  .si-case__media { min-height: 560px; }
  .si-google__stage { grid-template-columns: 1fr; }
  .si-query-stack { display: grid; grid-template-columns: repeat(3,1fr); gap: 5px; }
  .si-query-stack > header, .si-query-stack > footer { grid-column: 1 / -1; }
  .si-selection__photo { min-height: 520px; }
  .si-fit__grid { grid-template-columns: 1fr 1fr; }
  .si-fit__grid figure { grid-row: 1 / 3; grid-column: 2; }
  .si-faq__layout { grid-template-columns: 280px 1fr; gap: 20px; }
  .si-contact__copy { max-width: 720px; }
  .si-project-switch { grid-template-columns: repeat(5,minmax(126px,1fr)); overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 8px; }
  .si-project-switch button { scroll-snap-align: start; }
}

@media (max-width: 720px) {
  .si-wrap { width: min(100% - 30px, 650px); }
  .si-section { padding-block: 76px; }
  .si-head { margin-bottom: 38px; }
  .si-head h2 { font-size: clamp(2.2rem,10vw,3rem); line-height: 1; }
  .si-kicker { margin-bottom: 17px !important; font-size: .61rem; }
  .si-hero { padding-top: 122px; }
  .si-hero h1 { font-size: clamp(2.8rem,13.5vw,4rem); line-height: .93; }
  .si-hero__lede { margin-top: 25px; }
  .si-hero__lede p { font-size: .96rem; }
  .si-actions { display: grid; }
  .si-btn { width: 100%; }
  .si-hero__proof { display: grid; }
  .si-hero__visual { min-height: 545px; border-radius: 25px; }
  .si-search { left: 12px; right: 12px; bottom: 18px; }
  .si-search__results article { padding-inline: 8px; }
  .si-search__results .is-target i { display: none; }
  .si-hero__tag { right: 10px; top: 17px; }
  .si-hero__rail { display: none; }
  .si-load__story, .si-copy-grid { grid-template-columns: 1fr; }
  .si-process-film { grid-template-columns: 1fr 1fr; grid-template-rows: 330px repeat(2,180px); }
  .si-process-film .is-large { grid-column: 1 / -1; grid-row: auto; }
  .si-discovery__desk { padding: 10px; }
  .si-discovery__desk > nav, .si-dossier__grid > nav, .si-rfq__flow { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 5px; }
  .si-discovery__desk > nav button, .si-dossier__grid > nav button, .si-rfq__flow button { min-width: 210px; scroll-snap-align: start; }
  .si-discovery__screen, .si-dossier__body, .si-rfq__panel-body, .si-method__stage > article { grid-template-columns: 1fr; }
  .si-discovery__screen figure { min-height: 300px; order: -1; }
  .si-discovery__screen figure::after { background: linear-gradient(180deg, transparent 50%, #f7f9fd); }
  .si-discovery__copy, .si-dossier__body > div, .si-rfq__panel-body > div, .si-method__stage > article > div { padding: 30px 24px; }
  .si-blueprint { grid-template-columns: 1fr; }
  .si-buying-photo { min-height: 280px; }
  .si-blueprint__brief { margin-top: 0; }
  .si-route { min-height: 190px; }
  .si-route-detail { grid-template-columns: 1fr; gap: 9px; }
  .si-route-detail p { grid-column: auto; }
  .si-case__media { min-height: 430px; }
  .si-case__metrics { padding: 19px; }
  .si-mid-cta { grid-template-columns: 1fr; }
  .si-mid-cta > p { grid-column: auto; }
  .si-dossier__body figure { min-height: 320px; }
  .si-dossier__body dl { grid-template-columns: 1fr; }
  .si-google__browser { overflow: hidden; }
  .si-google__query, .si-google__tabs, .si-google__list { width: calc(100% - 28px); }
  .si-google__list .is-featured { padding-right: 10px; }
  .si-google__list em { display: none; }
  .si-query-stack { display: flex; overflow-x: auto; }
  .si-query-stack > header, .si-query-stack > footer { min-width: 100%; }
  .si-query-stack > button { min-width: 185px; }
  .si-photo-card { min-height: 450px; }
  .si-rfq__panel-body figure { min-height: 300px; }
  .si-rfq__panel > footer { padding-block: 13px; align-items: flex-start; flex-direction: column; }
  .si-selection__photo { min-height: 420px; }
  .si-selection__checks, .si-channels__list { grid-template-columns: 1fr; }
  .si-selection__checks article { min-height: 185px; }
  .si-quote__meta { grid-template-columns: 1fr 1fr; }
  .si-channels__board > figure { min-height: 450px; }
  .si-channels__list article { min-height: 230px; }
  .si-method__stage > nav { grid-template-columns: 1fr; }
  .si-method__stage > article figure { min-height: 330px; }
  .si-method__photos { grid-template-columns: 1fr; }
  .si-fit__grid { grid-template-columns: 1fr; }
  .si-fit__grid figure { grid-row: auto; grid-column: auto; min-height: 410px; }
  .si-faq__layout { grid-template-columns: 1fr; }
  .si-faq__map { position: relative; top: 0; }
  .si-faq__map nav { grid-template-columns: 1fr 1fr; }
  .si-faq__items summary { grid-template-columns: 32px 1fr 32px; gap: 10px; }
  .si-faq__items details > div > p { padding-left: 42px; padding-right: 12px; }
  .si-contact { padding-block: 86px; }
  .si-contact__copy h2 { font-size: clamp(2.5rem,11.5vw,3.6rem); }
  .si-form__grid { grid-template-columns: 1fr; gap: 0; }
  .si-footer__grid { grid-template-columns: 1fr; gap: 32px; }
}

@media (max-width: 420px) {
  .si-wrap { width: calc(100% - 24px); }
  .si-hero h1 { font-size: 2.68rem; }
  .si-hero__visual { min-height: 500px; }
  .si-search__bar { margin-inline: 10px; }
  .si-search__results { padding-inline: 11px; }
  .si-process-film { grid-template-columns: 1fr; grid-template-rows: 300px repeat(4,190px); }
  .si-process-film .is-large { grid-column: auto; }
  .si-procurement__scene { padding: 10px; }
  .si-blueprint__brief dl { grid-template-columns: 1fr 1fr; }
  .si-buying-photo { min-height: 240px; }
  .si-route { padding: 18px; }
  .si-route__line { left: 18px; }
  .si-case__media { min-height: 370px; }
  .si-case__media figcaption { left: 20px; right: 20px; bottom: 24px; }
  .si-case__main strong { font-size: 5.1rem; }
  .si-google__brand { margin-top: 23px; }
  .si-google__list article > p { max-width: 92%; }
  .si-selection__checks article { padding: 23px; }
  .si-quote__line { gap: 20px; }
  .si-quote__line b { text-align: right; }
  .si-faq__map nav { grid-template-columns: 1fr; }
  .si-form { padding: 22px 17px; }
  .si-footer__bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .si-pending { opacity: 1 !important; transform: none !important; }
}

/* Astra: readable search and an editorial, fully explorable client website. */
.si-hero h1 { font-size: clamp(3rem,4.55vw,4.65rem); line-height: .99; letter-spacing: -.047em; }
.si-hero__proof { font-size: .76rem; line-height: 1.5; letter-spacing: .015em; color: #c8d4ed; }
.si-hero__visual { min-height: 690px; }
.si-search { left: -38px; right: 16px; bottom: 32px; border-radius: 23px; }
.si-search__brand { margin: 20px auto 13px; font-size: 2rem; }
.si-search__bar { padding: 13px 15px; margin-inline: 20px; border-radius: 25px; }
.si-search__bar p { white-space: normal; font-size: .87rem; line-height: 1.5; }
.si-search__results { padding: 0 20px 20px; }
.si-search__results article { padding: 12px; }
.si-search__results article span { font-size: .65rem; overflow-wrap: anywhere; }
.si-search__results article b { margin-top: 5px; font-size: 1.06rem; line-height: 1.3; }
.si-search__results article p { margin-top: 5px; font-size: .79rem; line-height: 1.5; }
.si-search__results .is-muted { padding-block: 8px; }
.si-search__results .is-muted b { font-size: .83rem; }
.si-search__results .is-muted p { display: none; }
.si-search__results .is-target { padding: 17px 14px; }
.si-search__results .is-target i { position: static; display: inline-block; margin-top: 10px; padding: 5px 7px; font-size: .52rem; }
.si-search > footer { min-height: 44px; font-size: .6rem; }
.si-hero__tag { top: 24px; right: 18px; }
.si-hero__tag span { font-size: .6rem; }
.si-hero__tag b { font-size: .86rem; }
.si-hero__photos figcaption { top: 130px; font-size: .62rem; }
.si-pull em { color: #315cf6; font-style: normal; }
.si-process-film--wide figure { transition: box-shadow .6s, transform .65s var(--si-ease); }
.si-process-film--wide figure.is-lit { box-shadow: 0 24px 45px -22px #2e468766; }
.si-process-film--wide figure.is-lit img { transform: scale(1.06); filter: saturate(1.1); }
.si-studio { background: #071121 !important; overflow: clip; }
.si-studio .si-head h2 { max-width: 900px; }
.si-studio__stage { --client-accent: #245743; --client-paper: #eff3ed; position: relative; }
.si-studio__controls { display: flex; align-items: center; gap: 22px; justify-content: space-between; margin-bottom: 30px; }
.si-studio__controls nav { display: flex; flex-wrap: wrap; gap: 8px; }
.si-studio__controls nav button { min-height: 54px; display: flex; align-items: center; gap: 12px; padding: 12px 18px; border: 1px solid #ffffff29; border-radius: 12px; color: #c2cede; background: #ffffff04; font-size: .88rem; font-weight: 700; cursor: pointer; transition: color .25s, background .25s, border-color .25s, transform .25s; }
.si-studio__controls nav button span { font: 500 .68rem var(--si-mono); color: #8292ab; }
.si-studio__controls nav button.is-active { background: #fff; color: #172336; border-color: #fff; box-shadow: 0 8px 28px #0002; }
.si-studio__controls nav button.is-active span { color: #315cf6; }
.si-studio__pause { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 12px; border: 0; border-radius: 8px; color: #c9d6e8; background: transparent; font-size: .8rem; cursor: pointer; white-space: nowrap; }
.si-studio__search { display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; padding: 22px 30px; margin: 0 42px 22px; border: 1px solid #a5bce830; border-radius: 18px; color: #e6ecf7; background: #0c1c32; }
.si-studio__search > span { display: flex; align-items: center; gap: 15px; color: #b9cae4; font: 500 .63rem var(--si-mono); letter-spacing: .07em; }
.si-studio__search .si-search-icon { border-color: #86a8ff; }
.si-studio__search .si-search-icon::after { background: #86a8ff; }
.si-studio__search p { font-size: 1rem; line-height: 1.4; font-weight: 600; }
.si-studio__search > b { color: #91b2ff; font-size: 1.75rem; font-weight: 400; }
.si-studio__browser { position: relative; overflow: hidden; border: 1px solid #ffffff4d; border-radius: 19px; background: #f5f6f8; box-shadow: 0 48px 95px -30px #000a, 0 0 0 7px #ffffff06; }
.si-studio__browser > header { display: grid; grid-template-columns: 90px 1fr 130px; align-items: center; gap: 16px; padding: 15px 22px; border-bottom: 1px solid #d9dee4; background: #e8ecf0; }
.si-studio__browser > header p { justify-self: center; min-width: 45%; padding: 7px 20px; overflow-wrap: anywhere; text-align: center; border: 1px solid #dde2e8; border-radius: 7px; color: #536077; background: #fff; font-size: .72rem; }
.si-studio__browser > header small { color: #59697a; text-align: right; font: 500 .56rem var(--si-mono); letter-spacing: .08em; }
.si-client-site { color: #18251d; background: var(--client-paper); }
.si-client-site--plastics { --client-accent: #315a93; --client-paper: #f1f5fb; color: #182b46; }
.si-client-site--textile { --client-accent: #8a4c34; --client-paper: #f7f1e7; color: #392a22; }
.si-client-site--engineering { --client-accent: #383c76; --client-paper: #f4f3f8; color: #24253a; }
.si-studio__stage.is-enhanced .si-client-site:not(.is-active) { display: none; }
.si-studio__stage:not(.is-enhanced) .si-studio__controls { display: none; }
.si-studio__stage.is-enhanced .si-client-site.is-active { animation: si-client-arrive .65s var(--si-ease) both; }
.si-client-site__nav { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 24px 38px; border-bottom: 1px solid #243d261a; }
.si-client-site__nav > div { display: flex; align-items: center; gap: 14px; }
.si-client-site__nav b { color: var(--client-accent); font-size: 1.7rem; line-height: 1; letter-spacing: -.065em; font-weight: 800; }
.si-client-site__nav b i { font-size: .55rem; font-style: normal; vertical-align: top; }
.si-client-site__nav small { max-width: 100px; color: #667167; font-size: .66rem; line-height: 1.5; }
.si-client-site__nav > span { margin-left: auto; font-size: .72rem; }
.si-client-site__nav > span i { padding-inline: 12px; font-style: normal; opacity: .35; }
.si-client-site button { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 46px; padding: 12px 18px; border: 1px solid var(--client-accent); border-radius: 5px; color: #fff; background: var(--client-accent); font-size: .75rem; font-weight: 700; cursor: pointer; transition: transform .25s, box-shadow .25s; }
.si-client-site button i { font-size: 1.15rem; font-style: normal; font-weight: 500; }
.si-client-site__hero { display: grid; grid-template-columns: .95fr 1.05fr; min-height: 460px; }
.si-client-site__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 44px 38px 42px; }
.si-client-site__copy > span { max-width: 100%; color: var(--client-accent); font: 600 .6rem/1.55 var(--si-mono); letter-spacing: .07em; }
.si-client-site__copy h3 { margin: 23px 0 21px; font: 500 clamp(2.15rem,3.4vw,3.65rem)/1.02 var(--si-serif); letter-spacing: -.04em; text-wrap: balance; }
.si-client-site__copy p { max-width: 390px; color: #56635c; font-size: .9rem; line-height: 1.75; }
.si-client-site__copy button { margin-top: 26px; min-height: 51px; font-size: .81rem; }
.si-client-site__copy > small { margin-top: 12px; color: #667167; font-size: .63rem; }
.si-client-site__hero figure { position: relative; min-width: 0; overflow: hidden; margin: 25px 25px 25px 0; border-radius: 5px; background: #c7cfca; }
.si-client-site__hero picture { display: block; height: 100%; }
.si-client-site__hero img { width: 100%; height: 100%; object-fit: cover; }
.si-client-site__hero figcaption { position: absolute; left: 19px; right: 19px; bottom: 18px; display: flex; align-items: center; gap: 9px; width: fit-content; padding: 10px 13px; border: 1px solid #ffffff4d; border-radius: 4px; color: #fff; background: #14231ecc; backdrop-filter: blur(15px); font-size: .66rem; }
.si-client-site__hero figcaption i { width: 5px; height: 5px; border-radius: 50%; background: #a6d7b2; }
.si-client-site__bottom { display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 32px; padding: 25px 38px 29px; border-top: 1px solid #243d261a; background: #ffffff75; }
.si-client-site__bottom dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.si-client-site__bottom dt { margin-bottom: 5px; color: #697269; font-size: .63rem; }
.si-client-site__bottom dd { font-size: .74rem; font-weight: 700; line-height: 1.4; }
.si-client-site__bottom > p { display: flex; align-items: center; gap: 15px; padding-left: 28px; border-left: 1px solid #243d2626; color: #56635c; font-size: .76rem; line-height: 1.6; }
.si-client-site__bottom > p span { color: var(--client-accent); font-size: 1.3rem; }
.si-studio__outcome { display: grid; grid-template-columns: .85fr 1.15fr; gap: 55px; align-items: start; padding: 43px 42px 10px; }
.si-studio__explain > span { display: block; margin-bottom: 13px; color: #8aa6f4; font: 600 .62rem var(--si-mono); letter-spacing: .09em; }
.si-studio__explain p { max-width: 400px; min-height: 102px; color: #d0daec; font-size: 1rem; line-height: 1.75; }
.si-studio__explain a { display: inline-flex; gap: 26px; margin-top: 19px; color: #fff; font-size: .82rem; font-weight: 700; text-decoration: none; border-bottom: 1px solid #92aff066; padding-bottom: 7px; }
.si-studio__explain a i { font-style: normal; }
.si-studio__message { padding: 23px 25px; border: 1px solid #a3bcdf38; border-radius: 16px; background: #142238; box-shadow: 0 16px 35px #0002; transition: border-color .3s, box-shadow .3s, transform .5s; }
.si-studio__message.is-highlighted { border-color: #a6c5ff; box-shadow: 0 0 0 4px #659cff26,0 22px 50px #0004; transform: translateY(-5px); }
.si-studio__message header span { display: flex; align-items: center; gap: 9px; color: #9cb7d8; font: 500 .57rem/1.5 var(--si-mono); letter-spacing: .05em; }
.si-studio__message header i { height: 6px; width: 6px; border-radius: 50%; background: #a1d6c2; }
.si-studio__message header b { display: block; margin-top: 12px; color: #a8b9d0; font-size: .67rem; font-weight: 500; }
.si-studio__message > p { margin-top: 14px; color: #ecf2fc; font-size: .9rem; line-height: 1.7; }
.si-studio__message footer { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 18px; padding-top: 15px; border-top: 1px solid #ffffff1f; color: #a8bdcf; font-size: .64rem; }
.si-studio__message footer i { font-size: 1.35rem; font-style: normal; color: #c9daf4; }
.si-studio .si-visual-note { max-width: 950px; margin: 28px auto 0; padding-inline: 20px; color: #8a9ab3; text-align: center; font-size: .69rem; line-height: 1.65; }
.si-studio button:focus-visible, .si-studio a:focus-visible, .si-studio__message:focus-visible { outline: 3px solid #769bff; outline-offset: 5px; }
@keyframes si-client-arrive { from { opacity: .45; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (hover: hover) and (pointer: fine) {
  .si-studio__controls nav button:hover { transform: translateY(-3px); border-color: #b2c8ef; }
  .si-client-site button:hover { transform: translateY(-3px); box-shadow: 0 8px 20px #182c2826; }
}
@media (max-width: 1180px) {
  .si-studio__controls { gap: 12px; }
  .si-studio__controls nav button { padding: 11px 12px; font-size: .77rem; gap: 8px; }
  .si-client-site__nav { padding-inline: 26px; }
  .si-client-site__nav > span { display: none; }
  .si-client-site__copy { padding-inline: 28px; }
  .si-client-site__hero { min-height: 430px; }
  .si-client-site__bottom { padding-inline: 28px; }
  .si-studio__outcome { gap: 30px; padding-inline: 20px; }
}
@media (max-width: 980px) {
  .si-hero h1 { font-size: clamp(3.4rem,7.4vw,4.8rem); max-width: 900px; }
  .si-hero__visual { min-height: 640px; }
  .si-search { left: 24px; right: 24px; max-width: 600px; margin-inline: auto; }
  .si-studio__controls { align-items: flex-start; }
  .si-studio__controls nav { display: grid; grid-template-columns: repeat(2,1fr); flex: 1; }
  .si-studio__pause span { display: none; }
  .si-studio__search { margin-inline: 12px; gap: 20px; }
  .si-studio__search > span { max-width: 110px; font-size: .56rem; }
  .si-client-site__hero { grid-template-columns: 1fr 1fr; }
  .si-client-site__copy h3 { font-size: 2.5rem; }
  .si-client-site__copy p { font-size: .83rem; }
  .si-client-site__bottom { grid-template-columns: 1fr; gap: 18px; }
  .si-client-site__bottom > p { border-left: 0; border-top: 1px solid #243d261a; padding: 15px 0 0; }
  .si-studio__outcome { grid-template-columns: 1fr 1fr; gap: 24px; }
}
@media (max-width: 720px) {
  .si-hero h1 { font-size: clamp(2.65rem,10.6vw,3.6rem); line-height: 1; }
  .si-hero__proof { display: flex; font-size: .69rem; gap: 10px 18px; }
  .si-hero__visual { min-height: 570px; }
  .si-search { left: 10px; right: 10px; bottom: 16px; border-radius: 16px; }
  .si-search__brand { font-size: 1.75rem; margin-block: 17px 10px; }
  .si-search__bar { margin-inline: 12px; padding: 10px 12px; }
  .si-search__bar p { font-size: .77rem; }
  .si-search__results { padding: 0 10px 13px; }
  .si-search__results article b { font-size: .94rem; }
  .si-search__results article p { font-size: .74rem; }
  .si-search__results .is-target { padding: 13px 11px; }
  .si-search__results .is-target i { display: inline-block; font-size: .48rem; }
  .si-hero__photos figcaption { display: none; }
  .si-hero__tag { top: 18px; right: 14px; left: 14px; width: fit-content; }
  .si-studio .si-wrap { width: calc(100% - 32px); }
  .si-studio__controls nav button { justify-content: flex-start; font-size: .69rem; line-height: 1.4; padding: 10px; }
  .si-studio__controls nav button span { font-size: .59rem; }
  .si-studio__controls { gap: 6px; margin-bottom: 20px; }
  .si-studio__pause { padding-inline: 6px; }
  .si-studio__search { grid-template-columns: 1fr auto; gap: 10px; padding: 18px 20px; margin: 0 0 19px; border-radius: 13px; }
  .si-studio__search > span { max-width: none; grid-column: 1/-1; font-size: .58rem; }
  .si-studio__search p { font-size: .82rem; }
  .si-studio__search > b { font-size: 1.4rem; }
  .si-studio__browser { border-radius: 13px; }
  .si-studio__browser > header { grid-template-columns: 34px 1fr; gap: 8px; padding: 12px 10px; }
  .si-studio__browser > header .si-dots { gap: 3px; }
  .si-studio__browser > header .si-dots i { width: 6px; height: 6px; }
  .si-studio__browser > header p { min-width: 100%; padding: 6px; font-size: .57rem; }
  .si-studio__browser > header small { display: none; }
  .si-client-site__nav { padding: 19px; gap: 12px; }
  .si-client-site__nav b { font-size: 1.4rem; }
  .si-client-site__nav small { display: none; }
  .si-client-site__nav button { min-height: 38px; padding: 8px 10px; gap: 8px; font-size: .58rem; }
  .si-client-site__hero { grid-template-columns: 1fr; }
  .si-client-site__copy { padding: 30px 23px 24px; }
  .si-client-site__copy > span { font-size: .54rem; }
  .si-client-site__copy h3 { font-size: 2.45rem; margin-block: 18px; }
  .si-client-site__copy p { font-size: .83rem; }
  .si-client-site__copy button { margin-top: 20px; font-size: .72rem; }
  .si-client-site__hero figure { height: 235px; margin: 0 16px 18px; }
  .si-client-site__hero figcaption { left: 12px; right: 12px; bottom: 12px; font-size: .59rem; }
  .si-client-site__bottom { padding: 20px; }
  .si-client-site__bottom dl { gap: 10px; }
  .si-client-site__bottom dt { font-size: .57rem; }
  .si-client-site__bottom dd { font-size: .66rem; }
  .si-client-site__bottom > p { font-size: .7rem; }
  .si-studio__outcome { grid-template-columns: 1fr; padding: 30px 4px 0; gap: 25px; }
  .si-studio__explain p { max-width: none; min-height: 0; font-size: .94rem; }
  .si-studio__message { padding: 22px; }
  .si-studio__message > p { font-size: .83rem; }
  .si-studio .si-visual-note { padding-inline: 4px; font-size: .64rem; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .si-studio__stage.is-enhanced .si-client-site.is-active { animation: none; }
  .si-studio__pause { display: none; }
  .si-studio button, .si-studio__message, .si-process-film--wide figure { transition: none; }
}
