:root {
  --ino-ink: #101a2d;
  --ino-copy: #617086;
  --ino-red: #d63846;
  --ino-red-soft: #fff0f2;
  --ino-green: #2f6d61;
  --ino-green-soft: #edf5f2;
  --ino-paper: #fffefd;
  --ino-wash: #f5f7f7;
  --ino-sand: #f0e5d2;
  --ino-line: #d7e0e5;
  --ino-max: 1180px;
}

.ino-hero,
.ino-evidence,
.ino-record,
.ino-contract,
.ino-delivery,
.ino-stack,
.ino-faq,
.ino-editorial {
  color: var(--ino-ink);
  font-family: "Plus Jakarta Sans", sans-serif;
}

.ino-shell {
  width: min(var(--ino-max), calc(100% - 3rem));
  margin-inline: auto;
}

.ino-kicker {
  margin: 0;
  color: var(--ino-red);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ino-hero {
  padding: 6.55rem 0 2.6rem;
  border-bottom: 1px solid var(--ino-line);
  background: linear-gradient(135deg, #fff 0%, #fff 55%, #f3f6f6 100%);
}

.ino-status {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-block: 1px solid var(--ino-line);
  color: var(--ino-copy);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ino-status span:last-child { color: var(--ino-green); }

.ino-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(2.25rem, 5vw, 5.2rem);
  padding-top: 2.6rem;
}

.ino-hero__layout > * { min-width: 0; }

.ino-hero__copy h1 {
  max-width: 12ch;
  margin: .72rem 0 1rem;
  font-size: clamp(2.7rem, 4.8vw, 4.55rem);
  font-weight: 800;
  line-height: .99;
  letter-spacing: -.06em;
}

.ino-hero__copy h1 em {
  color: var(--ino-red);
  font-style: normal;
}

.ino-hero__lead {
  max-width: 40rem;
  margin: 0;
  color: var(--ino-copy);
  font-size: clamp(1rem, 1.3vw, 1.16rem);
  line-height: 1.62;
}

.ino-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.55rem;
}

.ino-actions a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: .75rem 1.1rem;
  border: 1px solid var(--ino-line);
  border-radius: 7px;
  color: var(--ino-ink);
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}

.ino-actions a:first-child {
  border-color: var(--ino-ink);
  background: var(--ino-ink);
  color: #fff;
}

.ino-actions a:hover { border-color: var(--ino-red); color: var(--ino-red); }
.ino-actions a:first-child:hover { background: var(--ino-red); color: #fff; }

.ino-hero__visual {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--ino-line);
  border-radius: 20px;
  background: var(--ino-wash);
  box-shadow: 0 25px 58px rgba(16, 26, 45, .11);
}

.ino-hero__visual picture,
.ino-hero__visual img { display: block; width: 100%; }

.ino-hero__visual img {
  aspect-ratio: 8 / 5;
  object-fit: contain;
  background: var(--ino-wash);
}

.ino-hero__visual figcaption {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 1rem;
  padding: .82rem 1rem;
  border-top: 1px solid var(--ino-line);
  background: #fff;
  color: var(--ino-copy);
  font-size: .72rem;
  line-height: 1.48;
}

.ino-hero__visual figcaption strong { color: var(--ino-ink); }

.ino-evidence {
  padding: 1.65rem 0;
  border-bottom: 1px solid var(--ino-line);
  background: #fff;
}

.ino-evidence__layout {
  display: grid;
  grid-template-columns: minmax(15rem, .82fr) minmax(0, 1.25fr) minmax(13rem, .72fr);
  border-block: 1px solid var(--ino-line);
}

.ino-evidence__layout > * {
  min-width: 0;
  padding: 1.1rem 1.2rem;
}

.ino-evidence__layout > * + * { border-left: 1px solid var(--ino-line); }
.ino-evidence__layout header { padding-left: 0; }

.ino-evidence h2 {
  max-width: 22ch;
  margin: .48rem 0 0;
  font-size: 1.42rem;
  font-weight: 800;
  line-height: 1.14;
  letter-spacing: -.035em;
}

.ino-evidence article strong {
  display: block;
  font-size: .9rem;
  line-height: 1.42;
}

.ino-evidence article p,
.ino-evidence aside p {
  margin: .42rem 0 0;
  color: var(--ino-copy);
  font-size: .8rem;
  line-height: 1.55;
}

.ino-evidence aside {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ino-evidence a {
  width: fit-content;
  margin-top: .7rem;
  color: var(--ino-ink);
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none;
  text-underline-offset: .22em;
}

.ino-evidence a:hover { color: var(--ino-red); text-decoration: underline; }

.ino-record {
  padding: clamp(3.6rem, 7vw, 6.2rem) 0;
  background: var(--ino-wash);
}

.ino-section-heading {
  display: grid;
  grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: end;
  margin-bottom: 2rem;
}

.ino-section-heading h2 {
  max-width: 12ch;
  margin: .55rem 0 0;
  font-size: clamp(2.25rem, 4.1vw, 4rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.058em;
}

.ino-section-heading > p {
  max-width: 46rem;
  margin: 0;
  color: var(--ino-copy);
  font-size: 1rem;
  line-height: 1.65;
}

.ino-record__ledger {
  border-block: 1px solid var(--ino-line);
  background: #fff;
}

.ino-record__row {
  display: grid;
  grid-template-columns: 4.2rem minmax(12rem, .78fr) minmax(0, 1.22fr);
  align-items: start;
  min-height: 120px;
  border-bottom: 1px solid var(--ino-line);
}

.ino-record__row:last-child { border-bottom: 0; }
.ino-record__row > * { min-width: 0; padding: 1.4rem 1.6rem; }

.ino-record__row > span {
  color: var(--ino-red);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.ino-record__row h3 {
  margin: 0;
  font-size: 1.12rem;
  font-weight: 800;
  line-height: 1.3;
}

.ino-record__row p {
  margin: 0;
  color: var(--ino-copy);
  font-size: .91rem;
  line-height: 1.58;
}

.ino-contract {
  padding: clamp(3.5rem, 7vw, 6rem) 0;
  border-bottom: 1px solid var(--ino-line);
  background: #fff;
}

.ino-contract__layout {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}

.ino-contract__copy h2 {
  max-width: 11ch;
  margin: .55rem 0 1rem;
  font-size: clamp(2.2rem, 4vw, 3.9rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.058em;
}

.ino-contract__copy > p:not(.ino-kicker) {
  max-width: 34rem;
  margin: 0;
  color: var(--ino-copy);
  line-height: 1.65;
}

.ino-tradeoff {
  margin-top: 1.6rem;
  padding: 1rem 1.05rem;
  border-left: 4px solid var(--ino-red);
  background: var(--ino-red-soft);
  color: #83404a;
  font-size: .82rem;
  line-height: 1.55;
}

.ino-contract__sheet {
  overflow: hidden;
  border: 1px solid var(--ino-line);
  border-radius: 18px;
  background: var(--ino-paper);
  box-shadow: 0 20px 48px rgba(16, 26, 45, .08);
}

.ino-contract__sheet header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 54px;
  padding: .8rem 1.15rem;
  border-bottom: 1px solid var(--ino-line);
  background: var(--ino-wash);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ino-contract__sheet header span:last-child { color: var(--ino-red); }

.ino-contract__line {
  display: grid;
  grid-template-columns: minmax(9rem, .65fr) minmax(0, 1.35fr);
  border-bottom: 1px solid var(--ino-line);
}

.ino-contract__line:last-child { border-bottom: 0; }
.ino-contract__line > * { min-width: 0; padding: 1.05rem 1.15rem; }

.ino-contract__line strong {
  font-size: .84rem;
  line-height: 1.42;
}

.ino-contract__line p {
  margin: 0;
  color: var(--ino-copy);
  font-size: .84rem;
  line-height: 1.52;
}

.ino-delivery {
  padding: clamp(3.5rem, 7vw, 5.8rem) 0;
  background: var(--ino-wash);
}

.ino-delivery__top {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 2rem;
  align-items: end;
  margin-bottom: 1.8rem;
}

.ino-delivery h2 {
  max-width: 14ch;
  margin: .55rem 0 0;
  font-size: clamp(2.1rem, 3.7vw, 3.55rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.055em;
}

.ino-delivery__top > p {
  max-width: 44rem;
  margin: 0;
  color: var(--ino-copy);
  line-height: 1.65;
}

.ino-delivery__list { border-top: 1px solid var(--ino-line); }

.ino-delivery__item {
  display: grid;
  grid-template-columns: 4rem minmax(11rem, .75fr) minmax(0, 1.25fr) minmax(10rem, .58fr);
  align-items: center;
  border-bottom: 1px solid var(--ino-line);
  background: #fff;
}

.ino-delivery__item > * { min-width: 0; padding: 1.05rem 1.15rem; }
.ino-delivery__item > span { color: var(--ino-red); font-size: .74rem; font-weight: 800; }
.ino-delivery__item h3 { margin: 0; font-size: .92rem; font-weight: 800; }
.ino-delivery__item p { margin: 0; color: var(--ino-copy); font-size: .8rem; line-height: 1.48; }
.ino-delivery__item strong { color: var(--ino-green); font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; }

.ino-stack {
  padding: 1.15rem 0;
  border-block: 1px solid var(--ino-line);
  background: #fff;
}

.ino-stack__layout {
  display: grid;
  grid-template-columns: minmax(14rem, .8fr) minmax(0, 1.2fr);
  gap: 2rem;
  align-items: center;
}

.ino-stack h2 { margin: 0; font-size: 1rem; font-weight: 800; }
.ino-stack p { margin: .3rem 0 0; color: var(--ino-copy); font-size: .78rem; line-height: 1.5; }

.ino-stack ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ino-stack li {
  padding: .52rem .72rem;
  border: 1px solid var(--ino-line);
  border-radius: 999px;
  color: var(--ino-ink);
  font-size: .72rem;
  font-weight: 800;
}

.ino-faq {
  padding: clamp(3.5rem, 7vw, 5.8rem) 0;
  border-bottom: 1px solid var(--ino-line);
  background: #fff;
}

.ino-faq__layout {
  display: grid;
  grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: start;
}

.ino-faq h2 {
  max-width: 10ch;
  margin: .55rem 0 1rem;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.058em;
}

.ino-faq__intro {
  margin: 0;
  color: var(--ino-copy);
  line-height: 1.65;
}

.ino-faq details { border-top: 1px solid var(--ino-line); }
.ino-faq details:last-child { border-bottom: 1px solid var(--ino-line); }

.ino-faq summary {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) 2rem;
  align-items: center;
  gap: .75rem;
  min-height: 70px;
  padding: .75rem 0;
  cursor: pointer;
  list-style: none;
  font-size: .9rem;
  font-weight: 800;
}

.ino-faq summary::-webkit-details-marker { display: none; }
.ino-faq summary span:first-child { color: var(--ino-red); font-size: .72rem; }
.ino-faq summary::after { content: "+"; color: var(--ino-red); font-size: 1.7rem; font-weight: 400; text-align: center; }
.ino-faq details[open] summary::after { content: "−"; }
.ino-faq details p { margin: 0; padding: 0 2.8rem 1.15rem 3.35rem; color: var(--ino-copy); font-size: .86rem; line-height: 1.65; }

.ino-editorial {
  padding: 1.6rem 0 1.9rem;
  background: var(--ino-wash);
}

.ino-editorial__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
}

.ino-editorial h2 { margin: 0; font-size: 1.05rem; font-weight: 800; }
.ino-editorial p { margin: .42rem 0 0; color: var(--ino-copy); font-size: .8rem; line-height: 1.55; }

.ino-editorial nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .45rem;
}

.ino-editorial a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: .62rem .78rem;
  border-bottom: 1px solid var(--ino-line);
  color: var(--ino-ink);
  font-size: .76rem;
  font-weight: 800;
  text-decoration: none;
}

.ino-editorial a:hover { border-color: var(--ino-red); color: var(--ino-red); }

.ino-hero a:focus-visible,
.ino-evidence a:focus-visible,
.ino-faq summary:focus-visible,
.ino-editorial a:focus-visible {
  outline: 3px solid rgba(214, 56, 70, .32);
  outline-offset: 3px;
}

.ino-hero *,
.ino-evidence *,
.ino-record *,
.ino-contract *,
.ino-delivery *,
.ino-stack *,
.ino-faq *,
.ino-editorial * {
  box-sizing: border-box;
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 920px) {
  .ino-hero__layout,
  .ino-contract__layout,
  .ino-faq__layout { grid-template-columns: 1fr; }

  .ino-hero__copy h1 { max-width: 14ch; }
  .ino-hero__visual { width: min(100%, 720px); margin-inline: auto; }

  .ino-evidence__layout { grid-template-columns: 1fr 1fr; }
  .ino-evidence__layout header { grid-column: 1 / -1; padding-left: 1.2rem; border-bottom: 1px solid var(--ino-line); }
  .ino-evidence__layout aside { border-left: 1px solid var(--ino-line); }

  .ino-section-heading,
  .ino-delivery__top { grid-template-columns: 1fr; gap: 1.2rem; }
  .ino-section-heading h2,
  .ino-delivery h2 { max-width: 16ch; }

  .ino-delivery__item { grid-template-columns: 3.4rem minmax(10rem, .72fr) minmax(0, 1.28fr); }
  .ino-delivery__item strong { grid-column: 2 / -1; padding-top: 0; }
}

@media (max-width: 680px) {
  .ino-shell { width: min(100% - 2rem, var(--ino-max)); }
  .ino-hero { padding-top: 5.85rem; padding-bottom: 1.7rem; }
  .ino-status { min-height: 36px; font-size: .58rem; }
  .ino-status span:last-child { display: none; }
  .ino-hero__layout { gap: 1.55rem; padding-top: 1.5rem; }
  .ino-hero__copy h1 { max-width: 12ch; font-size: clamp(2.35rem, 12vw, 3.25rem); line-height: .98; }
  .ino-actions { display: grid; grid-template-columns: 1fr; }
  .ino-actions a { width: 100%; }

  .ino-hero__visual { border-radius: 15px; }
  .ino-hero__visual img { aspect-ratio: 3 / 4; }
  .ino-hero__visual figcaption { grid-template-columns: 1fr; gap: .35rem; }

  .ino-evidence { padding: 1.25rem 0; }
  .ino-evidence__layout { grid-template-columns: 1fr; }
  .ino-evidence__layout > * { padding: .9rem .8rem; border-left: 0 !important; }
  .ino-evidence__layout > * + * { border-top: 1px solid var(--ino-line); }
  .ino-evidence__layout header { grid-column: auto; }

  .ino-record,
  .ino-contract,
  .ino-delivery,
  .ino-faq { padding: 3.2rem 0; }

  .ino-section-heading h2,
  .ino-contract__copy h2,
  .ino-delivery h2,
  .ino-faq h2 { font-size: clamp(2.1rem, 10vw, 3rem); }

  .ino-record__row { grid-template-columns: 3.2rem minmax(0, 1fr); min-height: 0; }
  .ino-record__row > * { padding: .95rem .75rem; }
  .ino-record__row > p { grid-column: 2; padding-top: 0; }

  .ino-contract__line { grid-template-columns: 1fr; }
  .ino-contract__line > * { padding: .85rem 1rem; }
  .ino-contract__line p { padding-top: 0; }

  .ino-delivery__item { grid-template-columns: 3rem minmax(0, 1fr); }
  .ino-delivery__item > * { padding: .82rem .7rem; }
  .ino-delivery__item p,
  .ino-delivery__item strong { grid-column: 2; padding-top: 0; }

  .ino-stack__layout { grid-template-columns: 1fr; gap: .8rem; }
  .ino-stack ul { justify-content: flex-start; }

  .ino-faq summary { grid-template-columns: 2rem minmax(0, 1fr) 1.6rem; min-height: 64px; }
  .ino-faq details p { padding: 0 1.8rem 1rem 2.75rem; }

  .ino-editorial__layout { grid-template-columns: 1fr; gap: 1rem; }
  .ino-editorial nav { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .ino-hero *,
  .ino-evidence *,
  .ino-record *,
  .ino-contract *,
  .ino-delivery *,
  .ino-stack *,
  .ino-faq *,
  .ino-editorial * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
