/* [project]/apps/web/src/styles/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: var(--font-narrow), "Archivo Narrow", "Arial Narrow", Arial, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --font-weight-light: 300;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --radius-md: 8px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --color-ink: #2a322e;
    --color-ink-light: #46514c;
    --color-orange: #e98017;
    --color-orange-light: #f4ad68;
    --color-orange-mid: #d67918;
    --color-orange-dark: #b65a0b;
    --color-paper: #e6e6e6;
    --color-muted: #6f746f;
    --color-muted-light: #777b77;
    --color-error: #e85b4d;
    --color-success: #70b836;
    --color-positive: #47a86b;
    --color-negative: #df5f52;
    --color-surface-dark: #46514c;
    --color-surface-medium: #59635e;
    --color-border: #2a322ec2;
    --color-border-light: #2a322e8c;
    --color-border-subtle: #2a322e59;
    --font-display: var(--font-black), "Archivo Black", "Archivo Narrow", "Arial Narrow", Arial, sans-serif;
    --letter-spacing-wide: 1.3px;
    --layout-content: 1180px;
    --layout-wide: 1240px;
    --layout-page: 1388px;
    --gutter: 28px;
    --gutter-mobile: 16px;
    --margin-x-desktop: 0px;
    --margin-x-tablet: 40px;
    --margin-x-mobile: 20px;
    --margin-x-mobile-sm: 16px;
    --section-gap-desktop: 96px;
    --type-display-size: 88px;
    --type-display-tracking: -.04em;
    --type-display-lh: 1.05;
    --type-h2-size: 53px;
    --type-h2-tracking: -.03em;
    --type-h2-lh: 1.12;
    --type-body-size: 19px;
    --type-body-lh: 1.47;
    --type-meta-size: 13px;
    --type-meta-lh: 1.35;
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }

  html, body {
    background: var(--color-paper);
    min-height: 100%;
    color: var(--color-ink);
    font-family: var(--font-sans);
    font-weight: var(--font-weight-light);
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricprecision;
    margin: 0;
  }

  body {
    overflow-x: hidden;
  }

  button, input, textarea {
    font: inherit;
  }

  button {
    cursor: pointer;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  a {
    color: inherit;
    text-decoration: none;
  }
}

@layer components {
  .text-eyebrow {
    color: var(--color-muted-light);
    letter-spacing: 2.1px;
    text-transform: uppercase;
    font-size: 11px;
    line-height: 1.1;
    font-weight: var(--font-weight-light);
  }

  .text-eyebrow-orange {
    color: var(--color-orange);
    letter-spacing: 2.1px;
    text-transform: uppercase;
    font-size: 11px;
    line-height: 1.1;
    font-weight: var(--font-weight-light);
  }

  .site-title {
    letter-spacing: 0;
    margin: 0;
    font-size: 92px;
    font-weight: 300;
    line-height: .9;
  }

  .site-title strong {
    color: var(--color-orange);
    letter-spacing: 0;
    font-weight: 900;
  }

  .section-title {
    letter-spacing: -1.1px;
    margin: 0;
    font-size: 66px;
    font-weight: 300;
    line-height: 1;
  }

  .type-display {
    letter-spacing: -1.4px;
    font-size: 59px;
    font-weight: 900;
    line-height: .92;
  }

  .type-heading {
    color: var(--color-orange);
    letter-spacing: -.6px;
    font-size: 44px;
    font-weight: 800;
    line-height: .92;
  }

  .type-light {
    letter-spacing: -.7px;
    font-size: 42px;
    font-weight: 300;
    line-height: .92;
  }

  .text-body {
    font-size: 22px;
    line-height: 1.22;
  }

  .text-micro {
    font-size: 18px;
    line-height: 1.25;
  }

  .layout-page {
    width: 100%;
    max-width: var(--layout-page);
    margin-inline: auto;
  }

  .layout-content {
    width: 100%;
    max-width: var(--layout-content);
    margin-inline: auto;
  }

  .layout-wide {
    width: 100%;
    max-width: var(--layout-wide);
  }

  .grid-container {
    width: 100%;
    max-width: var(--layout-page);
    padding-inline: var(--margin-x-desktop);
    margin-inline: auto;
  }

  .section-gap {
    margin-bottom: var(--section-gap-desktop);
  }

  .type-display {
    font-family: var(--font-display);
    font-size: var(--type-display-size);
    font-weight: var(--font-weight-black);
    line-height: var(--type-display-lh);
    letter-spacing: var(--type-display-tracking);
  }

  .type-h2 {
    font-family: var(--font-display);
    font-size: var(--type-h2-size);
    font-weight: var(--font-weight-black);
    line-height: var(--type-h2-lh);
    letter-spacing: var(--type-h2-tracking);
  }

  .type-body {
    font-size: var(--type-body-size);
    font-weight: var(--font-weight-light);
    line-height: var(--type-body-lh);
    letter-spacing: 0;
    max-width: 700px;
  }

  .type-meta {
    font-size: var(--type-meta-size);
    font-weight: var(--font-weight-light);
    line-height: var(--type-meta-lh);
    letter-spacing: var(--letter-spacing-wide);
  }

  .btn-base {
    border: 0;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    transition: background-color .2s, color .2s, border-color .2s;
    display: inline-flex;
  }

  .btn-primary {
    background: var(--color-orange);
    min-height: 70px;
    color: var(--color-ink);
    border-radius: 19px;
    padding: 0 31px;
    font-size: 26px;
    line-height: 1;
  }

  .btn-primary:hover {
    background: var(--color-orange-mid);
  }

  .btn-secondary {
    background: var(--color-white);
    min-height: 70px;
    color: var(--color-orange);
    border: 2px solid var(--color-ink);
    border-radius: 19px;
    padding: 0 31px;
    font-size: 26px;
    line-height: 1;
  }

  .btn-secondary:hover {
    background: var(--color-paper);
  }

  .btn-compact {
    background: var(--color-orange);
    width: 209px;
    height: 44px;
    color: var(--color-ink);
    text-transform: uppercase;
    border-radius: 0;
    font-size: 13px;
    line-height: 1;
  }

  .btn-compact:hover {
    background: var(--color-orange-mid);
  }

  .btn-ghost {
    background: var(--color-orange);
    min-height: 60px;
    color: var(--color-ink);
    border-radius: 19px;
    padding: 0 26px;
    font-size: 18px;
    line-height: 1;
  }

  .btn-ghost:hover {
    background: var(--color-orange-mid);
  }

  .tertiary-link {
    color: var(--color-orange);
    background: none;
    border: 0;
    align-items: center;
    gap: 8px;
    padding: 0;
    font-size: 33px;
    line-height: 1;
    transition: transform .2s, gap .2s;
    display: inline-flex;
  }

  .tertiary-link:hover {
    gap: 12px;
    transform: translateX(2px);
  }

  .strategy-card {
    color: var(--color-white);
    background: var(--color-surface-dark);
    border-radius: 14px;
    padding: 38px 35px;
    transition: background-color .2s;
  }

  .strategy-card:hover {
    background: var(--color-ink);
  }

  .strategy-card .number {
    color: var(--color-orange);
    font-size: 65px;
    font-weight: 300;
    line-height: .85;
    display: block;
  }

  .strategy-card h3 {
    letter-spacing: 2px;
    margin: 18px 0 25px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
  }

  .strategy-card p {
    margin: 0;
    font-size: 18px;
    line-height: 1.22;
  }

  .story-card {
    background: var(--color-white);
    border-radius: 14px;
    grid-template-rows: 224px 1fr;
    display: grid;
    overflow: hidden;
  }

  .story-card-image {
    object-fit: cover;
    background: var(--color-surface-dark);
    width: 100%;
    height: 224px;
  }

  .story-copy {
    padding: 14px 18px;
  }

  .story-copy .eyebrow {
    color: var(--color-orange);
    margin-bottom: 8px;
  }

  .story-copy h3 {
    margin: 0 0 6px;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.02;
  }

  .story-copy p {
    margin: 0;
    font-size: 14px;
    line-height: 1.08;
  }

  .cta-wrap {
    border-bottom: 2px solid var(--line);
    padding: 50px 0 70px;
  }

  .cta-band {
    width: 100%;
    max-width: 1100px;
    height: auto;
    min-height: 360px;
    color: var(--color-white);
    background: linear-gradient(#000000b8, #000000b8),
      var(--color-black);
    text-align: center;
    background-image: linear-gradient(#000000b8, #000000b8), url("/images/cta/cta-band.jpg");
    background-position: center;
    background-size: cover;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 44px 28px;
    display: flex;
    position: relative;
    overflow: hidden;
  }

  .cta-band h3 {
    letter-spacing: -1px;
    margin: 0 0 26px;
    font-size: 52px;
    font-weight: 300;
    line-height: 1;
  }

  .cta-band h3 strong {
    color: var(--color-orange);
    font-weight: 700;
  }

  .cta-band p {
    width: 100%;
    max-width: 740px;
    margin: 0 0 28px;
    font-size: 19px;
    line-height: 1.2;
  }

  .ds-footer {
    background: var(--color-ink);
    color: var(--color-white);
  }

  .ds-footer-top {
    width: 100%;
    min-height: 160px;
    max-width: var(--layout-page);
    grid-template-columns: 270px 210px 210px repeat(3, 1fr);
    gap: 22px;
    margin-inline: auto;
    padding: 34px 0;
    display: grid;
  }

  @media (max-width: 900px) {
    .ds-footer-top {
      grid-template-columns: 1fr 1fr 1fr;
      gap: 28px 20px;
    }
  }

  @media (max-width: 640px) {
    .ds-footer-top {
      padding: 24px var(--gutter) 24px;
      grid-template-columns: 1fr 1fr;
      gap: 28px 24px;
    }

    .ds-footer-brand {
      grid-column: 1 / -1;
    }

    .ds-footer-brand-logo {
      margin-inline: auto;
      display: block;
    }

    .ds-footer-brand small {
      text-align: center;
      margin-top: 16px;
    }

    .ds-socials {
      justify-content: center;
    }

    .ds-footer-column:last-child {
      grid-column: 1 / -1;
    }

    .ds-footer-column:last-child ul {
      flex-wrap: wrap;
      justify-content: center;
      gap: 0 20px;
      display: flex;
    }

    .ds-footer-bottom {
      height: auto;
      padding: 16px var(--gutter) 20px;
      flex-direction: column;
      align-items: center;
      gap: 10px;
    }

    .ds-legal {
      justify-content: center;
      gap: 24px;
    }
  }

  .ds-footer-brand-logo {
    width: 210px;
    height: auto;
    display: block;
  }

  .ds-footer-brand small {
    color: var(--color-white);
    margin-top: 20px;
    font-size: 17px;
    font-weight: 300;
    line-height: 1.45;
    display: block;
  }

  .ds-socials {
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
    display: flex;
  }

  .ds-socials > a, .ds-socials > span {
    width: 30px;
    height: 30px;
    color: var(--color-ink);
    background: var(--color-orange);
    border-radius: 50%;
    place-items: center;
    transition: transform .2s, background-color .2s;
    display: grid;
  }

  .ds-socials > a:hover {
    background: var(--color-orange-mid);
    transform: scale(1.08);
  }

  .ds-socials > a svg {
    width: 16px;
    height: 16px;
  }

  .ds-footer-column h4 {
    color: var(--color-orange);
    margin: 0 0 14px;
    font-size: 19px;
    font-weight: 700;
  }

  .ds-footer-column ul {
    margin: 0;
    padding: 0;
    font-size: 17px;
    line-height: 1.8;
    list-style: none;
  }

  .ds-footer-column a {
    transition: color .2s;
  }

  .ds-footer-column a:hover {
    color: var(--color-orange);
  }

  .ds-footer-bottom {
    color: #ffffffbf;
    width: 100%;
    height: 52px;
    max-width: var(--layout-page);
    border-top: 2px solid #ffffff73;
    justify-content: space-between;
    align-items: flex-end;
    margin: 0 auto;
    padding-bottom: 18px;
    font-size: 14px;
    display: flex;
  }

  .ds-legal {
    gap: 30px;
    display: flex;
  }

  .ds-legal a:hover {
    color: var(--color-orange);
  }

  .token-card-dark, .token-card-orange, .token-card-flat-black, .token-card-flat-white {
    color: var(--color-white);
    padding: 25px 22px;
    font-size: 19px;
    line-height: 1;
    position: relative;
    overflow: hidden;
  }

  .token-card-dark {
    background: var(--color-ink);
    height: 200px;
  }

  .token-card-orange {
    height: 200px;
    color: var(--color-ink);
    background: var(--color-orange);
  }

  .token-card-flat-black {
    background: var(--color-black);
    height: 102px;
  }

  .token-card-flat-white {
    height: 102px;
    color: var(--color-ink);
    background: var(--color-white);
  }

  .token-card-dark .token-meta, .token-card-orange .token-meta, .token-card-flat-black .token-meta, .token-card-flat-white .token-meta {
    z-index: 2;
    justify-content: space-between;
    display: flex;
    position: relative;
  }

  .token-card-dark .swatches, .token-card-orange .swatches {
    height: 99px;
    display: flex;
    position: absolute;
    inset: auto 0 0;
  }

  .token-card-dark .swatches span, .token-card-orange .swatches span {
    width: 33.333%;
  }

  .token-card-dark .dark-swatches span:first-child {
    background: #5b6862;
  }

  .token-card-dark .dark-swatches span:nth-child(2) {
    background: #414b46;
  }

  .token-card-dark .dark-swatches span:nth-child(3) {
    background: #1e2522;
  }

  .token-card-orange .orange-swatches span:first-child {
    background: var(--color-orange-light);
  }

  .token-card-orange .orange-swatches span:nth-child(2) {
    background: var(--color-orange-mid);
  }

  .token-card-orange .orange-swatches span:nth-child(3) {
    background: var(--color-orange-dark);
  }

  .form-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    display: grid;
  }

  .form-card {
    min-height: 580px;
    color: var(--color-ink);
    background: var(--color-white);
    border-radius: 39px;
    padding: 39px 31px 26px;
  }

  .form-card.dark {
    color: var(--color-white);
    background: var(--color-surface-dark);
  }

  .field {
    margin-bottom: 15px;
  }

  .field label {
    margin-bottom: 3px;
    font-size: 15px;
    line-height: 1;
    display: block;
  }

  .field input, .field textarea {
    border: 0;
    border-bottom: 2px solid var(--color-orange);
    width: 100%;
    height: 37px;
    color: inherit;
    background: none;
    border-radius: 0;
    outline: 0;
    padding: 0 7px;
    font-size: 17px;
    display: block;
  }

  .field textarea {
    border: 2px solid var(--color-orange);
    resize: none;
    height: 83px;
  }

  .field.error input {
    border: 2px solid var(--color-error);
  }

  .error-text {
    color: var(--color-error);
    margin: 4px 0 0;
    font-size: 11px;
    line-height: 1;
  }

  .submit-btn {
    width: 324px;
    height: 66px;
    color: var(--color-ink);
    background: var(--color-orange);
    border: 0;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    margin: 20px auto 0;
    font-size: 21px;
    font-weight: 700;
    display: flex;
  }

  .form-card.dark .submit-btn {
    color: var(--color-orange);
    background: var(--color-white);
  }

  .overlay-band {
    width: 100%;
    min-height: 370px;
    color: var(--color-white);
    background: var(--color-black);
    padding: 40px 61px 42px;
  }

  .overlay-band .section-title {
    color: var(--color-white);
    margin-bottom: 23px;
    margin-left: 25px;
  }

  .overlay-grid {
    grid-template-columns: 440px 1fr;
    align-items: start;
    gap: 37px;
    display: grid;
  }

  .confirm-card {
    min-height: 162px;
    color: var(--color-white);
    text-align: center;
    background: linear-gradient(135deg, #f39b24, #c94e08);
    border-radius: 25px;
    padding: 25px 29px;
  }

  .warning-icon {
    width: 34px;
    height: 31px;
    margin: 0 auto 7px;
    display: block;
  }

  .confirm-card h3 {
    margin: 0 0 7px;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
  }

  .confirm-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.16;
  }

  .toast-stack {
    gap: 12px;
    display: grid;
  }

  .success-toast {
    height: 48px;
    color: var(--color-ink);
    background: var(--color-white);
    border-radius: 22px;
    align-items: center;
    padding: 0 14px;
    font-size: 14px;
    display: flex;
  }

  .success-dot {
    width: 16px;
    height: 16px;
    color: var(--color-white);
    background: var(--color-success);
    border-radius: 50%;
    place-items: center;
    margin-right: 10px;
    font-size: 10px;
    display: grid;
  }

  .close-btn {
    margin-left: auto;
    font-size: 18px;
  }

  .cookie-toast {
    min-height: 102px;
    color: var(--color-ink);
    background: var(--color-white);
    border-radius: 18px;
    grid-template-columns: 1fr 124px;
    align-items: center;
    gap: 25px;
    padding: 16px 19px;
    font-size: 14px;
    line-height: 1.12;
    display: grid;
  }

  .cookie-actions {
    gap: 7px;
    display: grid;
  }

  .cookie-actions button {
    border: 2px solid var(--color-ink);
    height: 30px;
    color: var(--color-ink);
    background: var(--color-white);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
  }

  .cookie-actions button:first-child {
    border-color: var(--color-orange);
    background: var(--color-orange);
    color: var(--color-ink);
  }

  .logo-showcase {
    grid-template-rows: repeat(3, 143px) 152px;
    grid-template-columns: minmax(0, 1fr);
    width: 1020px;
    height: 581px;
    display: grid;
    overflow: visible;
  }

  .logo-row {
    grid-template-columns: 44.5% 27% 28.5%;
    align-items: center;
    width: 100%;
    min-width: 0;
    display: grid;
  }

  .logo-row--inverse {
    background: var(--color-black);
    width: 1200px;
    margin-left: -90px;
    padding-inline: 90px;
  }

  .logo-cell {
    justify-content: center;
    align-items: center;
    height: 100%;
    display: flex;
  }

  .logo-cell img {
    width: auto;
    height: auto;
    display: block;
  }

  .logo-cell--signature img {
    width: 260px;
    max-height: 73px;
    transform: translateX(3px);
  }

  .logo-cell--wordmark img {
    width: 263px;
    max-height: 60px;
    transform: translateX(-5px);
  }

  .logo-cell--symbol img {
    width: 112px;
    max-height: 82px;
    transform: translateX(-10px);
  }

  .logo-row--inverse .logo-cell--signature img {
    width: 260px;
  }

  .logo-row--inverse .logo-cell--symbol img {
    width: 112px;
  }

  .logo-row:first-child .logo-cell {
    transform: translateY(-33px);
  }

  .logo-row:nth-child(2) .logo-cell {
    transform: translateY(-22px);
  }

  .logo-row:nth-child(3) .logo-cell {
    transform: translateY(-11px);
  }

  .style-notes {
    width: 965px;
    max-width: 100%;
    margin-left: 27px;
  }

  .style-notes h3 {
    margin: 0 0 17px;
    font-size: 25px;
    font-weight: 300;
    line-height: 1;
  }

  .style-notes p {
    margin: 0;
    font-size: 16px;
    line-height: 1.25;
  }

  .status {
    min-width: 66px;
    height: 22px;
    color: var(--color-ink);
    background: var(--color-orange);
    text-transform: uppercase;
    border-radius: 22px;
    justify-content: center;
    align-items: center;
    padding: 0 9px;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
  }

  .status-light {
    background: #f0f0f0;
  }

  .text-positive {
    color: var(--color-positive);
  }

  .text-negative {
    color: var(--color-negative);
  }

  .eyebrow {
    color: var(--color-orange);
    letter-spacing: 2.1px;
    text-transform: uppercase;
    font-size: 11px;
    line-height: 1.1;
    font-weight: var(--font-weight-light);
    margin: 0;
  }
}

@layer utilities {
  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .top-0 {
    top: 0;
  }

  .right-0 {
    right: 0;
  }

  .left-0 {
    left: 0;
  }

  .z-50 {
    z-index: 50;
  }

  .col-4 {
    grid-column: 4;
  }

  .col-6 {
    grid-column: 6;
  }

  .col-8 {
    grid-column: 8;
  }

  .m-0 {
    margin: 0;
  }

  .mx-auto {
    margin-inline: auto;
  }

  .mt-1 {
    margin-top: var(--spacing);
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }

  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }

  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }

  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }

  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }

  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }

  .mt-\[58px\] {
    margin-top: 58px;
  }

  .mt-auto {
    margin-top: auto;
  }

  .mb-0 {
    margin-bottom: 0;
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }

  .mb-9 {
    margin-bottom: calc(var(--spacing) * 9);
  }

  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }

  .mb-\[18px\] {
    margin-bottom: 18px;
  }

  .mb-\[26px\] {
    margin-bottom: 26px;
  }

  .mb-\[27px\] {
    margin-bottom: 27px;
  }

  .mb-\[29px\] {
    margin-bottom: 29px;
  }

  .mb-\[32px\] {
    margin-bottom: 32px;
  }

  .mb-\[33px\] {
    margin-bottom: 33px;
  }

  .mb-\[39px\] {
    margin-bottom: 39px;
  }

  .mb-\[40px\] {
    margin-bottom: 40px;
  }

  .mb-\[64px\] {
    margin-bottom: 64px;
  }

  .mb-\[65px\] {
    margin-bottom: 65px;
  }

  .mb-\[69px\] {
    margin-bottom: 69px;
  }

  .mb-\[92px\] {
    margin-bottom: 92px;
  }

  .mb-\[95px\] {
    margin-bottom: 95px;
  }

  .mb-\[111px\] {
    margin-bottom: 111px;
  }

  .mb-\[123px\] {
    margin-bottom: 123px;
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-12 {
    height: calc(var(--spacing) * 12);
  }

  .h-\[38px\] {
    height: 38px;
  }

  .h-\[42px\] {
    height: 42px;
  }

  .h-\[48px\] {
    height: 48px;
  }

  .h-\[53px\] {
    height: 53px;
  }

  .h-\[56px\] {
    height: 56px;
  }

  .h-\[62px\] {
    height: 62px;
  }

  .h-\[100px\] {
    height: 100px;
  }

  .h-\[308px\] {
    height: 308px;
  }

  .w-\[62px\] {
    width: 62px;
  }

  .w-auto {
    width: auto;
  }

  .w-full {
    width: 100%;
  }

  .max-w-\[660px\] {
    max-width: 660px;
  }

  .max-w-\[1388px\] {
    max-width: 1388px;
  }

  .grow {
    flex-grow: 1;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .place-items-center {
    place-items: center;
  }

  .items-center {
    align-items: center;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .gap-9 {
    gap: calc(var(--spacing) * 9);
  }

  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }

  .gap-12 {
    gap: calc(var(--spacing) * 12);
  }

  .gap-\[18px\] {
    gap: 18px;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-\[13px\] {
    border-radius: 13px;
  }

  .rounded-\[22px\] {
    border-radius: 22px;
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-x-2 {
    border-inline-style: var(--tw-border-style);
    border-inline-width: 2px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }

  .border-border-light {
    border-color: var(--color-border-light);
  }

  .border-border-subtle {
    border-color: var(--color-border-subtle);
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-paper {
    background-color: var(--color-paper);
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-3 {
    padding: calc(var(--spacing) * 3);
  }

  .p-9 {
    padding: calc(var(--spacing) * 9);
  }

  .p-\[25px_23px\] {
    padding: 25px 23px;
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .px-\[21px\] {
    padding-inline: 21px;
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }

  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }

  .pt-12 {
    padding-top: calc(var(--spacing) * 12);
  }

  .pt-\[41px\] {
    padding-top: 41px;
  }

  .pt-\[44px\] {
    padding-top: 44px;
  }

  .pt-\[45px\] {
    padding-top: 45px;
  }

  .pt-\[56px\] {
    padding-top: 56px;
  }

  .pt-\[58px\] {
    padding-top: 58px;
  }

  .pt-\[145px\] {
    padding-top: 145px;
  }

  .pt-\[200px\] {
    padding-top: 200px;
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .pb-24 {
    padding-bottom: calc(var(--spacing) * 24);
  }

  .pb-\[63px\] {
    padding-bottom: 63px;
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .font-display {
    font-family: var(--font-display);
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[12px\] {
    font-size: 12px;
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .text-\[16px\] {
    font-size: 16px;
  }

  .text-\[17px\] {
    font-size: 17px;
  }

  .text-\[18px\] {
    font-size: 18px;
  }

  .text-\[19px\] {
    font-size: 19px;
  }

  .text-\[21px\] {
    font-size: 21px;
  }

  .text-\[22px\] {
    font-size: 22px;
  }

  .text-\[32px\] {
    font-size: 32px;
  }

  .text-\[64px\] {
    font-size: 64px;
  }

  .text-\[clamp\(36px\,5\.5vw\,66px\)\] {
    font-size: clamp(36px, 5.5vw, 66px);
  }

  .text-\[clamp\(48px\,8vw\,92px\)\] {
    font-size: clamp(48px, 8vw, 92px);
  }

  .leading-\[0\.9\] {
    --tw-leading: .9;
    line-height: .9;
  }

  .leading-\[0\.95\] {
    --tw-leading: .95;
    line-height: .95;
  }

  .leading-\[1\.12\] {
    --tw-leading: 1.12;
    line-height: 1.12;
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }

  .tracking-\[1\.3px\] {
    --tw-tracking: 1.3px;
    letter-spacing: 1.3px;
  }

  .tracking-\[1px\] {
    --tw-tracking: 1px;
    letter-spacing: 1px;
  }

  .text-black {
    color: var(--color-black);
  }

  .text-ink {
    color: var(--color-ink);
  }

  .text-muted {
    color: var(--color-muted);
  }

  .text-negative {
    color: var(--color-negative);
  }

  .text-orange {
    color: var(--color-orange);
  }

  .text-positive {
    color: var(--color-positive);
  }

  .text-white {
    color: var(--color-white);
  }

  .uppercase {
    text-transform: uppercase;
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  @media (hover: hover) {
    .group-hover\:gap-3:is(:where(.group):hover *) {
      gap: calc(var(--spacing) * 3);
    }

    .group-hover\:text-orange:is(:where(.group):hover *), .hover\:text-orange:hover {
      color: var(--color-orange);
    }

    .hover\:text-orange-dark:hover {
      color: var(--color-orange-dark);
    }

    .hover\:ring-2:hover {
      --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }

    .hover\:ring-orange:hover {
      --tw-ring-color: var(--color-orange);
    }
  }

  @media (min-width: 640px) {
    .sm\:block {
      display: block;
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sm\:flex-row {
      flex-direction: row;
    }

    .sm\:font-light {
      --tw-font-weight: var(--font-weight-light);
      font-weight: var(--font-weight-light);
    }
  }

  @media (min-width: 768px) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .md\:grid-cols-\[1\.4fr_1fr\] {
      grid-template-columns: 1.4fr 1fr;
    }
  }

  @media (min-width: 900px) {
    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }
  }

  .font-display {
    font-family: var(--font-display);
    letter-spacing: -.5px;
    font-weight: 400;
  }

  .ruled {
    border-top: 2px solid var(--color-border);
  }
}

@media (max-width: 1023px) {
  .grid-container {
    padding-inline: var(--margin-x-tablet);
  }
}

@media (max-width: 743px) {
  .grid-container {
    padding-inline: var(--margin-x-mobile);
  }
}

@media (max-width: 479px) {
  .grid-container {
    padding-inline: var(--margin-x-mobile-sm);
  }
}

@keyframes ds-fade-up {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ds-fade-down {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ds-fade-left {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes ds-fade-right {
  from {
    opacity: 0;
    transform: translateX(30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes ds-scale-in {
  from {
    opacity: 0;
    transform: scale(.92);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes ds-blur-in {
  from {
    opacity: 0;
    filter: blur(6px);
  }

  to {
    opacity: 1;
    filter: blur();
  }
}

@keyframes ds-spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes ds-pulse {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.06);
  }
}

@keyframes ds-glow-pulse {
  0%, 100% {
    box-shadow: 0 0 #e9801700;
  }

  50% {
    box-shadow: 0 0 20px 4px #e9801759;
  }
}

@keyframes ds-shake {
  0%, 100% {
    transform: translateX(0);
  }

  15% {
    transform: translateX(-4px);
  }

  30% {
    transform: translateX(4px);
  }

  45% {
    transform: translateX(-3px);
  }

  60% {
    transform: translateX(3px);
  }

  75% {
    transform: translateX(-1px);
  }
}

@keyframes ds-slide-in-right {
  from {
    opacity: 0;
    transform: translateX(60px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes ds-slide-up {
  from {
    opacity: 0;
    transform: translateY(40px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ds-bar-fill {
  from {
    width: 0;
  }

  to {
    width: 87px;
  }
}

@keyframes ds-check-pop {
  0% {
    transform: scale(0);
  }

  60% {
    transform: scale(1.3);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes ds-toggle-knob {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(24px);
  }
}

@keyframes ds-number-count {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes ds-icon-float {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-6px);
  }
}

@keyframes ds-border-glow {
  0%, 100% {
    border-color: var(--color-orange);
  }

  50% {
    border-color: var(--color-orange-light);
  }
}

@keyframes ds-stamp {
  0% {
    opacity: 0;
    transform: scale(1.6)rotate(-8deg);
  }

  60% {
    opacity: 1;
    transform: scale(.95)rotate(1deg);
  }

  100% {
    opacity: 1;
    transform: scale(1)rotate(0);
  }
}

html.js [data-animate] {
  opacity: 0;
}

html.js [data-animate="fade-up"] {
  transform: translateY(28px);
}

html.js [data-animate="fade-down"] {
  transform: translateY(-20px);
}

html.js [data-animate="fade-left"] {
  transform: translateX(-30px);
}

html.js [data-animate="fade-right"] {
  transform: translateX(30px);
}

html.js [data-animate="scale-in"] {
  transform: scale(.92);
}

html.js [data-animate="blur-in"] {
  filter: blur(6px);
}

[data-animate].in-view {
  animation-duration: .6s;
  animation-timing-function: cubic-bezier(.22, 1, .36, 1);
  animation-fill-mode: both;
}

[data-animate="fade-up"].in-view {
  animation-name: ds-fade-up;
}

[data-animate="fade-down"].in-view {
  animation-name: ds-fade-down;
}

[data-animate="fade-left"].in-view {
  animation-name: ds-fade-left;
}

[data-animate="fade-right"].in-view {
  animation-name: ds-fade-right;
}

[data-animate="scale-in"].in-view {
  animation-name: ds-scale-in;
}

[data-animate="blur-in"].in-view {
  animation-name: ds-blur-in;
}

.ds-hero-enter {
  animation: .7s cubic-bezier(.22, 1, .36, 1) both ds-fade-up;
}

.ds-hero-enter-delay-1 {
  animation: .7s cubic-bezier(.22, 1, .36, 1) .15s both ds-fade-up;
}

.ds-hero-enter-delay-2 {
  animation: .7s cubic-bezier(.22, 1, .36, 1) .3s both ds-fade-up;
}

.btn-base {
  transition: background-color .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}

.btn-base:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #0000001f;
}

.btn-base:active {
  box-shadow: none;
  transform: translateY(0);
}

.btn-primary {
  transition: background-color .2s, transform .2s, box-shadow .2s;
}

.btn-primary:hover {
  animation: 2s ease-in-out infinite ds-glow-pulse;
}

.btn-outline-dark {
  transition: background-color .2s, color .2s, transform .2s, box-shadow .2s;
}

.btn-outline-dark:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px #00000026;
  background: var(--color-ink) !important;
  color: #fff !important;
}

.ds-spinner {
  border: 3px dotted var(--color-ink);
  border-radius: 50%;
  width: 27px;
  height: 27px;
  animation: 1.2s linear infinite ds-spin;
  display: inline-block;
}

.ds-toggle {
  background: var(--color-orange);
  cursor: pointer;
  border-radius: 30px;
  width: 51px;
  height: 27px;
  padding: 4px;
  transition: background .3s;
  display: block;
}

.ds-toggle .ds-toggle-knob {
  background: #fff;
  border-radius: 50%;
  width: 19px;
  height: 19px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: block;
}

.ds-toggle:hover .ds-toggle-knob {
  transform: translateX(4px);
}

.ds-checkbox {
  color: #fff;
  background: var(--color-orange);
  border-radius: 3px;
  place-items: center;
  width: 17px;
  height: 17px;
  font-size: 11px;
  animation: .4s cubic-bezier(.34, 1.56, .64, 1) both ds-check-pop;
  display: grid;
}

.ds-radio-active {
  border: 5px solid var(--color-orange);
  background: #fff;
  border-radius: 50%;
  width: 17px;
  height: 17px;
  animation: .35s cubic-bezier(.34, 1.56, .64, 1) both ds-check-pop;
  display: inline-block;
}

.story-card {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s;
}

.story-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px #0000001a;
}

.strategy-card {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1), background-color .2s, box-shadow .3s;
}

.strategy-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px #00000026;
}

.token-card-dark, .token-card-orange, .token-card-flat-black, .token-card-flat-white {
  transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s;
}

.token-card-dark:hover, .token-card-orange:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px #0000001f;
}

.grid .rounded-md {
  transition: transform .2s cubic-bezier(.22, 1, .36, 1), box-shadow .2s;
}

.grid .rounded-md:hover {
  transform: translateY(-2px)scale(1.02);
  box-shadow: 0 4px 12px #0000001a;
}

.form-card {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s;
}

.form-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px #0000001a;
}

.confirm-card {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s;
}

.confirm-card:hover {
  transform: translateY(-3px)scale(1.01);
  box-shadow: 0 8px 24px #e9801740;
}

.confirm-card .warning-icon {
  animation: 3s ease-in-out infinite ds-icon-float;
}

.toast-stack .success-toast, .toast-stack .cookie-toast {
  animation: .5s cubic-bezier(.22, 1, .36, 1) both ds-slide-in-right;
}

.toast-stack .cookie-toast {
  animation-delay: .15s;
}

.success-dot {
  transition: transform .2s cubic-bezier(.34, 1.56, .64, 1);
}

.success-toast:hover .success-dot {
  transform: scale(1.2);
}

.close-btn {
  cursor: pointer;
  transition: transform .2s, color .2s;
}

.close-btn:hover {
  color: var(--color-error);
  transform: scale(1.3);
}

.cookie-actions button {
  transition: background .2s, color .2s, transform .15s, box-shadow .2s;
}

.cookie-actions button:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px #0000001f;
}

.cookie-actions button:active {
  transform: translateY(0);
}

.tab-active {
  position: relative;
}

.tab-active:after {
  content: "";
  background: var(--color-orange);
  width: 100%;
  height: 3px;
  animation: .3s both ds-bar-fill;
  position: absolute;
  bottom: -2px;
  left: 0;
}

button[class*="text-[17px][pb-2]"] {
  transition: color .2s;
  position: relative;
}

button[class*="text-[17px][pb-2]"]:hover {
  color: var(--color-orange) !important;
}

.ds-accordion-trigger:hover {
  background: #ffffff0a;
}

.accordion-content {
  opacity: 1;
  max-height: 200px;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.accordion-content.collapsed {
  opacity: 0;
  max-height: 0;
}

.accordion-icon {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
  display: inline-block;
}

.accordion-icon.rotated {
  transform: rotate(45deg);
}

.stepper-bar {
  background: var(--color-orange);
  width: 0;
  height: 2px;
  display: block;
}

.stepper-bar.animate {
  animation: .8s cubic-bezier(.22, 1, .36, 1) both ds-bar-fill;
}

.stepper-circle {
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1), box-shadow .3s;
}

.stepper-circle:hover {
  transform: scale(1.15);
  box-shadow: 0 0 12px #e9801766;
}

.cta-band {
  transition: transform .3s;
}

.cta-band:hover {
  transform: scale(1.005);
}

.cta-band .btn-compact {
  transition: background .2s, transform .2s, box-shadow .3s;
}

.cta-band .btn-compact:hover {
  animation: 2s ease-in-out infinite ds-glow-pulse;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px #e9801766;
}

.logo-row .logo-cell img {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1), filter .3s;
}

.logo-row:hover .logo-cell img {
  filter: brightness(1.08);
}

.logo-cell {
  transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}

.logo-cell:hover img {
  transform: scale(1.05) !important;
}

.logo-row:first-child {
  animation-delay: 0s;
}

.logo-row:nth-child(2) {
  animation-delay: .1s;
}

.logo-row:nth-child(3) {
  animation-delay: .2s;
}

.logo-row:nth-child(4) {
  animation-delay: .3s;
}

.page-num {
  cursor: pointer;
  transition: background .2s, color .2s, transform .15s;
}

.page-num:hover {
  transform: scale(1.1);
}

.breadcrumb-link {
  transition: color .2s, transform .15s;
}

.breadcrumb-link:hover {
  color: var(--color-orange);
  transform: translateX(2px);
}

.chip {
  cursor: pointer;
  transition: background .2s, color .2s, transform .15s, box-shadow .2s;
}

.chip:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px #00000026;
}

.overlay-band .section-title {
  animation: .5s cubic-bezier(.22, 1, .36, 1) both ds-stamp;
}

.media-video {
  position: relative;
  overflow: hidden;
}

.media-video:after {
  content: "";
  opacity: 0;
  background: #00000040;
  transition: opacity .3s;
  position: absolute;
  inset: 0;
}

.media-video:hover:after {
  opacity: 1;
}

table tbody tr {
  transition: background .2s;
}

table tbody tr:hover {
  background: #e980170d;
}

.status {
  transition: transform .2s cubic-bezier(.34, 1.56, .64, 1);
}

.status:hover {
  transform: scale(1.08);
}

.field input:focus, .field textarea:focus {
  border-color: var(--color-orange-mid);
  transition: border-color .2s, box-shadow .2s;
  box-shadow: 0 2px 8px #e9801733;
}

.submit-btn {
  transition: background .2s, transform .2s, box-shadow .3s;
}

.submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px #e980174d;
}

.submit-btn:active {
  transform: translateY(0);
}

.style-notes {
  transition: border-color .3s;
}

.style-notes:hover {
  border-color: var(--color-orange);
}

.qtv-grid {
  gap: var(--gutter);
  grid-template-columns: repeat(12, 1fr);
  width: 100%;
  display: grid;
}

.qtv-col-1 {
  grid-column: span 1;
}

.qtv-col-2 {
  grid-column: span 2;
}

.qtv-col-3 {
  grid-column: span 3;
}

.qtv-col-4 {
  grid-column: span 4;
}

.qtv-col-5 {
  grid-column: span 5;
}

.qtv-col-6 {
  grid-column: span 6;
}

.qtv-col-7 {
  grid-column: span 7;
}

.qtv-col-8 {
  grid-column: span 8;
}

.qtv-col-9 {
  grid-column: span 9;
}

.qtv-col-10 {
  grid-column: span 10;
}

.qtv-col-11 {
  grid-column: span 11;
}

.qtv-col-12 {
  grid-column: span 12;
}

.qtv-col-content {
  grid-column: span 8;
  max-width: 700px;
}

.qtv-col-narrow {
  grid-column: span 6;
  max-width: 600px;
}

.qtv-space-prox-1 {
  margin-bottom: 16px;
}

.qtv-space-prox-2 {
  margin-bottom: 32px;
}

.qtv-space-prox-3 {
  margin-bottom: 40px;
}

.qtv-type-display {
  font-family: var(--font-display);
  font-size: var(--type-display-size);
  font-weight: var(--font-weight-black);
  line-height: var(--type-display-lh);
  letter-spacing: var(--type-display-tracking);
}

.qtv-type-h2 {
  font-family: var(--font-display);
  font-size: var(--type-h2-size);
  font-weight: var(--font-weight-black);
  line-height: var(--type-h2-lh);
  letter-spacing: var(--type-h2-tracking);
}

.qtv-type-body {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  letter-spacing: 0;
}

.qtv-type-meta {
  font-size: var(--type-meta-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-meta-lh);
  letter-spacing: var(--letter-spacing-wide);
}

@media (max-width: 1023px) {
  .qtv-type-display {
    font-size: 56px;
  }

  .qtv-type-h2 {
    font-size: 36px;
  }
}

@media (max-width: 743px) {
  .qtv-grid {
    gap: var(--gutter-mobile);
    grid-template-columns: repeat(4, 1fr);
  }

  .qtv-col-1, .qtv-col-2, .qtv-col-3, .qtv-col-4, .qtv-col-5, .qtv-col-6, .qtv-col-7, .qtv-col-8, .qtv-col-9, .qtv-col-10, .qtv-col-11, .qtv-col-12, .qtv-col-content, .qtv-col-narrow {
    grid-column: span 4;
    max-width: none;
  }

  .qtv-type-display {
    letter-spacing: -.03em;
    font-size: 44px;
  }

  .qtv-type-h2 {
    letter-spacing: -.02em;
    font-size: 28px;
  }

  .qtv-type-body {
    font-size: 16px;
  }
}

@media (max-width: 479px) {
  .qtv-type-display {
    font-size: 40px;
  }

  .qtv-type-h2 {
    font-size: 26px;
  }
}

.home-section {
  box-sizing: border-box;
  width: 100%;
  min-height: 100dvh;
}

.home-section--compact {
  min-height: auto;
}

.home-section--medium {
  min-height: 70dvh;
}

.home-section--dark {
  background: var(--color-ink-light);
  flex-direction: column;
  display: flex;
}

.home-hero {
  padding: 140px 0 80px;
}

.home-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 7fr 5fr;
  align-items: center;
  gap: 40px;
  min-height: 600px;
  margin: 0 auto;
  display: grid;
}

.home-hero-title {
  font-family: var(--font-display);
  font-size: clamp(40px, 5.5vw, 72px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 24px;
  line-height: 1.05;
}

.home-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-ink);
  max-width: 520px;
  margin: 0 0 36px;
}

.home-hero-ctas {
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
  display: flex;
}

.home-hero-micro {
  color: var(--color-muted);
  letter-spacing: 1.3px;
  font-size: 12px;
}

.home-hero-visual {
  position: relative;
}

.home-hero-visual-inner {
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.home-hero-photo {
  border-radius: 16px;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.home-hero-photo-img, .home-hero-photo-video {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.home-hero-photo-video {
  display: none;
}

.home-hero-shape {
  background: var(--color-orange);
  opacity: .15;
  pointer-events: none;
  border-radius: 50%;
  width: 160px;
  height: 160px;
  position: absolute;
  bottom: -20px;
  right: -20px;
}

.home-hero-label {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #ffffffeb;
  border-radius: 8px;
  padding: 8px 16px;
  position: absolute;
  bottom: 16px;
  left: 16px;
}

.trust-bar {
  border-top: 1px solid var(--color-border-subtle);
  border-bottom: 1px solid var(--color-border-subtle);
  padding: 20px 0;
}

.trust-bar-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0 auto;
  display: grid;
}

.trust-bar-item {
  align-items: center;
  gap: 10px;
  display: flex;
}

.trust-bar-icon {
  color: var(--color-orange);
  flex-shrink: 0;
}

.trust-bar-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
}

.needs-selector {
  padding: 96px 0;
}

.needs-selector-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.needs-selector-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 48px;
  line-height: 1.1;
}

.needs-selector-grid {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  display: grid;
}

.needs-card {
  background: var(--color-paper);
  color: var(--color-ink);
  border-radius: 16px;
  flex-direction: column;
  padding: 32px 28px;
  text-decoration: none;
  transition: background .25s, transform .25s, box-shadow .25s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.needs-card:hover {
  background: var(--color-white);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px #2a322e14;
}

.needs-card-number {
  letter-spacing: 1.3px;
  color: var(--color-orange);
  margin-bottom: 16px;
  font-size: 12px;
}

.needs-card-icon {
  color: var(--color-orange);
  margin-bottom: 16px;
}

.needs-card-title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  margin: 0 0 8px;
  line-height: 1.1;
}

.needs-card-service {
  color: var(--color-muted);
  letter-spacing: .5px;
  margin-bottom: 16px;
  font-size: 13px;
}

.needs-card-arrow {
  color: var(--color-orange);
  margin-top: auto;
  font-size: 20px;
  transition: transform .25s;
}

.needs-card:hover .needs-card-arrow {
  transform: translateX(6px);
}

.pillars-home {
  padding: 96px 0;
}

.pillars-home-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pillars-home-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 48px;
  line-height: 1.1;
}

.pillars-home-grid {
  grid-template-columns: 2fr 1fr 1fr;
  gap: 20px;
  display: grid;
}

.pillars-home-card {
  color: var(--color-ink);
  border-radius: 16px;
  flex-direction: column;
  text-decoration: none;
  transition: transform .25s, box-shadow .25s;
  display: flex;
  overflow: hidden;
}

.pillars-home-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px #2a322e1a;
}

.pillars-home-card--large {
  background: var(--color-ink);
  color: var(--color-white);
  padding: 0;
}

.pillars-home-card--small {
  background: var(--color-paper);
  padding: 0;
}

.pillars-home-card-number {
  letter-spacing: 1.3px;
  color: var(--color-orange);
  padding: 24px 28px 0;
  font-size: 12px;
  display: block;
}

.pillars-home-card--large .pillars-home-card-number {
  color: var(--color-orange);
}

.pillars-home-card-visual {
  background: linear-gradient(135deg, var(--color-surface-dark), var(--color-ink));
  width: 100%;
  height: 200px;
  position: relative;
  overflow: hidden;
}

.pillars-home-card--small .pillars-home-card-visual {
  background: linear-gradient(135deg, var(--color-border-subtle), var(--color-paper));
  height: 140px;
}

.pillars-home-card-title {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  margin: 0;
  padding: 20px 28px 0;
  line-height: 1.1;
}

.pillars-home-card-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 8px 0 0;
  padding: 0 28px;
  line-height: 1.5;
}

.pillars-home-card--large .pillars-home-card-desc {
  color: #ffffffb3;
}

.pillars-home-card-link {
  color: var(--color-orange);
  margin-top: auto;
  padding: 20px 28px 24px;
  font-size: 16px;
  font-weight: 700;
  transition: gap .25s;
  display: block;
}

.method-section {
  padding: 96px 0;
}

.method-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.method-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 56px;
  line-height: 1.1;
}

.method-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  display: grid;
  position: relative;
}

.method-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.method-step {
  padding-top: 52px;
  position: relative;
}

.method-step-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.method-step-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 8px;
}

.method-step-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.featured-case-home {
  padding: 96px 0;
}

.featured-case-home-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.featured-case-home-poster {
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.featured-case-home-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.1;
}

.featured-case-home-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-ink);
  margin: 0;
}

.trust-proof {
  padding: 96px 0;
}

.trust-proof-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.trust-proof-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  text-align: center;
  margin: 0 0 40px;
  line-height: 1.1;
}

.trust-proof-logos {
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin-bottom: 48px;
  display: grid;
}

.trust-proof-logo {
  background: var(--color-ink);
  height: 84px;
  color: var(--color-muted);
  opacity: 0;
  animation: .6s forwards trust-proof-fade-up;
  animation-delay: var(--logo-delay, 0s);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  transition: background .25s, transform .25s;
  display: flex;
  transform: translateY(12px);
}

.trust-proof-logo-img {
  object-fit: contain;
  filter: grayscale() brightness(0) invert();
  opacity: .92;
  width: auto;
  max-width: 82%;
  max-height: 54px;
}

.trust-proof-logo:hover {
  background: var(--color-ink-light);
  transform: translateY(-3px);
}

@keyframes trust-proof-fade-up {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.trust-proof-testimonial {
  text-align: center;
  background: var(--color-paper);
  border-radius: 16px;
  max-width: 700px;
  margin: 0 auto;
  padding: 40px;
}

.trust-proof-quote p {
  font-size: clamp(17px, 2vw, 22px);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0 0 20px;
  font-style: italic;
  line-height: 1.5;
}

.trust-proof-author {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.trust-proof-author-name {
  font-size: 15px;
  font-weight: var(--font-weight-bold);
  color: var(--color-ink);
}

.trust-proof-author-role {
  color: var(--color-muted);
  font-size: 13px;
}

.resource-section {
  padding: 96px 0;
}

.resource-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.resource-cover {
  aspect-ratio: 3 / 4;
  border-radius: 12px;
  width: 100%;
  max-height: 380px;
  position: relative;
  overflow: hidden;
}

.resource-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 12px;
  line-height: 1.1;
}

.resource-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 28px;
}

.resource-form {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.resource-input {
  border: 2px solid var(--color-border-subtle);
  background: var(--color-white);
  min-width: 200px;
  height: 64px;
  font-size: 17px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  border-radius: 17px;
  outline: none;
  flex: 1;
  padding: 0 20px;
  transition: border-color .2s;
}

.resource-input:focus {
  border-color: var(--color-orange);
}

.resource-input::placeholder {
  color: var(--color-muted);
}

.resource-btn {
  flex-shrink: 0;
}

.resource-success {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-success);
  background: #70b83614;
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  display: flex;
}

.blog-highlights {
  padding: 96px 0;
}

.blog-highlights-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.blog-highlights-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 48px;
  line-height: 1.1;
}

.blog-highlights-grid {
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  display: grid;
}

.blog-card {
  color: var(--color-ink);
  background: var(--color-paper);
  border-radius: 16px;
  flex-direction: column;
  text-decoration: none;
  transition: transform .25s, box-shadow .25s;
  display: flex;
  overflow: hidden;
}

.blog-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px #2a322e14;
}

.blog-card--featured {
  grid-row: 1 / 3;
}

.blog-card--featured .blog-card-visual {
  height: 300px;
}

.blog-card-visual {
  background: linear-gradient(135deg, var(--color-paper), var(--color-border-subtle));
  width: 100%;
  height: 180px;
  position: relative;
  overflow: hidden;
}

.blog-card-copy {
  flex-direction: column;
  flex: 1;
  padding: 20px 24px 24px;
  display: flex;
}

.blog-card-category {
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--color-orange);
  margin-bottom: 8px;
  font-size: 11px;
}

.blog-card-title {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 8px;
  line-height: 1.15;
}

.blog-card-excerpt {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  flex: 1;
  margin: 0 0 16px;
  line-height: 1.5;
}

.blog-card-link {
  color: var(--color-orange);
  font-size: 16px;
  font-weight: 700;
}

.faq-section {
  padding: 96px 0;
}

.faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.faq-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  text-align: center;
  margin: 0 0 48px;
  line-height: 1.1;
}

.faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.faq-trigger:hover {
  color: var(--color-orange);
}

.faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.faq-icon--open {
  transform: rotate(45deg);
}

.faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.final-cta {
  background: var(--color-ink-light);
  color: var(--color-white);
  background-image: linear-gradient(#0a0c0ed1, #0a0c0ed1), url("/images/cta/cta-band.jpg");
  background-position: center;
  background-size: cover;
  flex: 1;
  justify-content: center;
  align-items: center;
  display: flex;
}

.final-cta-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.final-cta-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.final-cta-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: #ffffffbf;
  max-width: 560px;
  margin: 0 auto 36px;
}

.final-cta-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  display: flex;
}

@media (max-width: 1023px) {
  .home-hero-inner {
    grid-template-columns: 1fr;
    gap: 40px;
    min-height: auto;
  }

  .home-hero {
    padding: 120px 0 60px;
  }

  .home-hero-visual {
    order: -1;
  }

  .home-hero-visual-inner {
    aspect-ratio: 16 / 9;
  }

  .trust-bar-inner {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .pillars-home-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .pillars-home-card--large .pillars-home-card-visual {
    height: 200px;
  }

  .pillars-home-card--small .pillars-home-card-visual {
    height: 160px;
  }

  .method-timeline {
    grid-template-columns: 1fr 1fr;
    gap: 40px 32px;
  }

  .method-track {
    display: none;
  }

  .method-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .method-step-dot {
    position: absolute;
    top: 0;
    left: 0;
  }

  .featured-case-home-inner, .resource-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .resource-cover {
    max-height: 320px;
  }

  .trust-proof-logos {
    grid-template-columns: repeat(3, 1fr);
  }

  .blog-highlights-grid {
    grid-template-columns: 1fr;
  }

  .blog-card--featured {
    grid-row: auto;
  }

  .blog-card--featured .blog-card-visual {
    height: 220px;
  }
}

@media (max-width: 640px) {
  .home-hero {
    padding: 100px 0 48px;
  }

  .home-hero-ctas {
    flex-direction: column;
  }

  .home-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .needs-selector {
    padding: 64px 0;
  }

  .needs-selector-grid {
    grid-template-columns: 1fr;
  }

  .pillars-home, .method-section {
    padding: 64px 0;
  }

  .method-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .featured-case-home, .trust-proof {
    padding: 64px 0;
  }

  .trust-proof-logos {
    grid-template-columns: repeat(2, 1fr);
  }

  .trust-proof-testimonial {
    padding: 24px;
  }

  .resource-section {
    padding: 64px 0;
  }

  .resource-form {
    flex-direction: column;
  }

  .resource-input {
    width: 100%;
  }

  .blog-highlights, .faq-section, .final-cta {
    padding: 64px 0;
  }

  .final-cta-buttons {
    flex-direction: column;
    align-items: center;
  }

  .final-cta-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.sv-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.sv-hero {
  padding: 140px 0 80px;
}

.sv-hero-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.sv-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 60px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.sv-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 auto 32px;
}

.sv-hero-diagram {
  justify-content: center;
  margin-top: 56px;
  display: flex;
}

.sv-objective {
  padding: 96px 0;
}

.sv-objective-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.sv-pills {
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px;
  display: flex;
}

.sv-pill {
  border: 2px solid var(--color-border-subtle);
  background: var(--color-white);
  font-size: 15px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  border-radius: 100px;
  padding: 10px 24px;
  transition: all .25s;
}

.sv-pill:hover {
  border-color: var(--color-orange);
  color: var(--color-orange);
}

.sv-pill--active {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-ink);
  font-weight: 700;
}

.sv-objective-card {
  background: var(--color-paper);
  border-radius: 16px;
  padding: 32px;
}

.sv-objective-card-pillar {
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--color-orange);
  margin-bottom: 16px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.sv-objective-card-services {
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
  display: flex;
}

.sv-objective-card-service {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  padding-left: 16px;
  position: relative;
}

.sv-objective-card-service:before {
  content: "";
  background: var(--color-orange);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.sv-objective-card-link {
  color: var(--color-orange);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: color .25s;
}

.sv-objective-card-link:hover {
  color: var(--color-orange-dark);
}

.sv-pillar {
  padding: 96px 0;
}

.sv-pillar-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 7fr 5fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.sv-pillar-inner--reverse {
  grid-template-columns: 5fr 7fr;
}

.sv-pillar-inner--reverse .sv-pillar-copy {
  order: 2;
}

.sv-pillar-inner--reverse .sv-pillar-visual {
  order: 1;
}

.sv-pillar-number {
  letter-spacing: 1.3px;
  color: var(--color-orange);
  margin-bottom: 12px;
  font-size: 12px;
  display: block;
}

.sv-pillar-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.1;
}

.sv-pillar-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 20px;
}

.sv-pillar-services {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.sv-pillar-chip {
  background: var(--color-paper);
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  border-radius: 100px;
  padding: 6px 16px;
}

.sv-pillar-visual-box {
  background: var(--color-ink);
  color: var(--color-white);
  border-radius: 16px;
  padding: 40px 32px;
}

.sv-pillar-visual-label {
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--color-orange);
  margin-bottom: 12px;
  font-size: 11px;
  display: block;
}

.sv-pillar-visual-text {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #ffffffd9;
  margin: 0;
  line-height: 1.6;
}

.sv-combine {
  padding: 96px 0;
}

.sv-combine-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.sv-combine-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

.sv-combine-card {
  background: var(--color-paper);
  border-radius: 16px;
  padding: 32px 28px;
  transition: transform .25s, box-shadow .25s;
}

.sv-combine-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px #2a322e14;
}

.sv-combine-card-number {
  letter-spacing: 1.3px;
  color: var(--color-orange);
  margin-bottom: 12px;
  font-size: 12px;
  display: block;
}

.sv-combine-card-title {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.5vw, 24px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 6px;
  line-height: 1.1;
}

.sv-combine-card-subtitle {
  color: var(--color-orange);
  margin-bottom: 12px;
  font-size: 13px;
  font-weight: 700;
  display: block;
}

.sv-combine-card-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 16px;
  line-height: 1.5;
}

.sv-combine-card-tags {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.sv-combine-tag {
  background: var(--color-white);
  font-size: 12px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  border-radius: 100px;
  padding: 4px 12px;
}

.sv-process {
  padding: 96px 0;
}

.sv-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.sv-process-timeline {
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.sv-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.sv-process-step {
  padding-top: 52px;
  position: relative;
}

.sv-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.sv-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.sv-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.sv-faq {
  padding: 96px 0;
}

.sv-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.sv-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.sv-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.sv-faq-trigger:hover {
  color: var(--color-orange);
}

.sv-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.sv-faq-icon--open {
  transform: rotate(45deg);
}

.sv-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.sv-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.sv-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

@media (max-width: 1023px) {
  .sv-hero {
    padding: 120px 0 60px;
  }

  .sv-pillar-inner, .sv-pillar-inner--reverse {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .sv-pillar-inner--reverse .sv-pillar-copy {
    order: 1;
  }

  .sv-pillar-inner--reverse .sv-pillar-visual {
    order: 2;
  }

  .sv-combine-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .sv-process-timeline {
    grid-template-columns: 1fr 1fr;
    gap: 40px 24px;
  }

  .sv-process-track {
    display: none;
  }

  .sv-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .sv-process-dot {
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media (max-width: 640px) {
  .sv-hero {
    padding: 100px 0 48px;
  }

  .sv-objective {
    padding: 64px 0;
  }

  .sv-pills {
    flex-direction: column;
  }

  .sv-pill {
    text-align: center;
    width: 100%;
  }

  .sv-pillar, .sv-combine, .sv-process {
    padding: 64px 0;
  }

  .sv-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .sv-faq {
    padding: 64px 0;
  }
}

.gm-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.gm-hero {
  padding: 140px 0 80px;
}

.gm-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 7fr 5fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.gm-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 13px;
  display: flex;
}

.gm-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.gm-breadcrumb a:hover {
  color: var(--color-orange);
}

.gm-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.gm-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.gm-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.gm-hero-micro {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
}

.gm-hero-visual {
  justify-content: center;
  display: flex;
}

.gm-hero-diagram {
  width: 100%;
  max-width: 400px;
}

.gm-problem-inner {
  max-width: var(--layout-page);
  padding: 96px var(--gutter);
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.gm-problem-text {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0;
}

.gm-problem-boxes {
  align-items: center;
  gap: 24px;
  display: flex;
}

.gm-problem-box {
  border-radius: 12px;
  flex: 1;
  padding: 24px;
  position: relative;
}

.gm-problem-box--disconnected {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
}

.gm-problem-box--connected {
  background: var(--color-paper);
  border: 2px solid var(--color-orange);
}

.gm-problem-box-label {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-muted);
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  display: block;
}

.gm-problem-box-items {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.gm-problem-box-items span {
  background: var(--color-white);
  font-size: 12px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  border-radius: 6px;
  padding: 4px 10px;
}

.gm-problem-box-x {
  background: var(--color-border-subtle);
  width: 28px;
  height: 28px;
  color: var(--color-muted);
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  display: grid;
  position: absolute;
  top: -8px;
  right: -8px;
}

.gm-problem-box-check {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: -8px;
  right: -8px;
}

.gm-problem-arrow {
  color: var(--color-muted);
  flex-shrink: 0;
  font-size: 24px;
}

.gm-problem-caption {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  text-align: center;
  margin: 20px 0 0;
}

.gm-benefits {
  padding: 96px 0;
}

.gm-benefits-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gm-benefits-grid {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  display: grid;
}

.gm-benefit-card {
  background: var(--color-paper);
  border-radius: 16px;
  padding: 32px;
  transition: transform .25s, box-shadow .25s;
}

.gm-benefit-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px #2a322e14;
}

.gm-benefit-icon {
  color: var(--color-orange);
  margin-bottom: 16px;
  display: block;
}

.gm-benefit-title {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 8px;
}

.gm-benefit-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.gm-services {
  padding: 96px 0;
}

.gm-services-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gm-services-list {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.gm-service-card {
  background: var(--color-paper);
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
  display: flex;
}

.gm-service-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px #2a322e0f;
}

.gm-service-card-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.gm-service-card-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.gm-service-card-arrow {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-left: 20px;
  font-size: 20px;
  transition: transform .2s;
}

.gm-service-card:hover .gm-service-card-arrow {
  transform: translateX(4px);
}

.gm-process {
  padding: 96px 0;
}

.gm-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gm-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.gm-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.gm-process-step {
  padding-top: 52px;
  position: relative;
}

.gm-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.gm-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.gm-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.gm-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.gm-scenario {
  padding: 96px 0;
}

.gm-scenario-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 7fr 5fr;
  align-items: stretch;
  gap: 32px;
  margin: 0 auto;
  display: grid;
}

.gm-scenario-dark {
  background: var(--color-ink);
  color: var(--color-white);
  border-radius: 16px;
  padding: 40px 36px;
}

.gm-scenario-title {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-white);
  margin: 0 0 16px;
  line-height: 1.1;
}

.gm-scenario-text {
  font-size: 16px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  margin: 0;
  line-height: 1.6;
}

.gm-entry-card {
  background: var(--color-paper);
  border-radius: 16px;
  flex-direction: column;
  padding: 32px 28px;
  display: flex;
}

.gm-entry-label {
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--color-orange);
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.gm-entry-title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 12px;
  line-height: 1.1;
}

.gm-entry-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 16px;
  line-height: 1.6;
}

.gm-entry-features {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.gm-entry-features span {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
}

.gm-faq {
  padding: 96px 0;
}

.gm-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gm-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.gm-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.gm-faq-trigger:hover {
  color: var(--color-orange);
}

.gm-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.gm-faq-icon--open {
  transform: rotate(45deg);
}

.gm-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.gm-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.gm-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.gm-final-cta {
  background: var(--color-ink);
  padding: 96px 0;
}

.gm-final-cta-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.gm-final-cta-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.gm-final-cta-title .text-orange {
  color: var(--color-orange);
}

.gm-final-cta-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.gm-final-cta-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.gm-final-cta .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.gm-final-cta .btn-primary:hover {
  background: var(--color-orange-dark);
}

.gm-final-cta .btn-secondary {
  color: var(--color-white);
  background: none;
  border: 2px solid #ffffff4d;
}

.gm-final-cta .btn-secondary:hover {
  background: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-ink);
}

@media (max-width: 1023px) {
  .gm-hero {
    padding: 120px 0 60px;
  }

  .gm-hero-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .gm-hero-visual {
    order: -1;
  }

  .gm-hero-copy {
    text-align: left;
  }

  .gm-hero-desc {
    max-width: none;
  }

  .gm-hero-ctas {
    justify-content: flex-start;
  }

  .gm-problem-inner {
    padding: 64px var(--gutter);
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .gm-problem-boxes {
    flex-direction: column;
  }

  .gm-problem-arrow {
    transform: rotate(90deg);
  }

  .gm-scenario-inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .gm-hero {
    padding: 100px 0 48px;
  }

  .gm-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .gm-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .gm-benefits {
    padding: 64px 0;
  }

  .gm-benefits-grid {
    grid-template-columns: 1fr;
  }

  .gm-services, .gm-process {
    padding: 64px 0;
  }

  .gm-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .gm-process-track {
    display: none;
  }

  .gm-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .gm-process-dot {
    top: 0;
    left: 0;
  }

  .gm-scenario {
    padding: 64px 0;
  }

  .gm-scenario-dark {
    padding: 32px 24px;
  }

  .gm-entry-card {
    padding: 28px 24px;
  }

  .gm-faq, .gm-final-cta {
    padding: 64px 0;
  }

  .gm-final-cta-buttons {
    flex-direction: column;
    align-items: center;
  }

  .gm-final-cta-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.bm-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.bm-hero {
  padding: 140px 0 80px;
}

.bm-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 7fr 5fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.bm-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 13px;
  display: flex;
}

.bm-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.bm-breadcrumb a:hover {
  color: var(--color-orange);
}

.bm-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.bm-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.bm-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.bm-hero-micro {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
}

.bm-hero-visual {
  justify-content: center;
  display: flex;
}

.bm-hero-diagram {
  width: 100%;
  max-width: 400px;
}

.bm-problem-inner {
  max-width: var(--layout-page);
  padding: 96px var(--gutter);
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.bm-problem-text {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0;
}

.bm-problem-boxes {
  align-items: center;
  gap: 24px;
  display: flex;
}

.bm-problem-box {
  border-radius: 12px;
  flex: 1;
  padding: 24px;
  position: relative;
}

.bm-problem-box--disconnected {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
}

.bm-problem-box--connected {
  background: var(--color-paper);
  border: 2px solid var(--color-orange);
}

.bm-problem-box-label {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-muted);
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  display: block;
}

.bm-problem-box-items {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.bm-problem-box-items span {
  background: var(--color-white);
  font-size: 12px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  border-radius: 6px;
  padding: 4px 10px;
}

.bm-problem-box-x {
  background: var(--color-border-subtle);
  width: 28px;
  height: 28px;
  color: var(--color-muted);
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  display: grid;
  position: absolute;
  top: -8px;
  right: -8px;
}

.bm-problem-box-check {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: -8px;
  right: -8px;
}

.bm-problem-arrow {
  color: var(--color-muted);
  flex-shrink: 0;
  font-size: 24px;
}

.bm-problem-caption {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  text-align: center;
  margin: 20px 0 0;
}

.bm-benefits {
  padding: 96px 0;
}

.bm-benefits-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.bm-benefits-grid {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  display: grid;
}

.bm-benefit-card {
  background: var(--color-paper);
  border-radius: 16px;
  padding: 32px;
  transition: transform .25s, box-shadow .25s;
}

.bm-benefit-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px #2a322e14;
}

.bm-benefit-icon {
  color: var(--color-orange);
  margin-bottom: 16px;
  display: block;
}

.bm-benefit-title {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 8px;
}

.bm-benefit-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.bm-services {
  padding: 96px 0;
}

.bm-services-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.bm-services-list {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.bm-service-card {
  background: var(--color-paper);
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
  display: flex;
}

.bm-service-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px #2a322e0f;
}

.bm-service-card-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.bm-service-card-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.bm-service-card-arrow {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-left: 20px;
  font-size: 20px;
  transition: transform .2s;
}

.bm-service-card:hover .bm-service-card-arrow {
  transform: translateX(4px);
}

.bm-process {
  padding: 96px 0;
}

.bm-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.bm-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.bm-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.bm-process-step {
  padding-top: 52px;
  position: relative;
}

.bm-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.bm-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.bm-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.bm-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.bm-scenario {
  padding: 96px 0;
}

.bm-scenario-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 7fr 5fr;
  align-items: stretch;
  gap: 32px;
  margin: 0 auto;
  display: grid;
}

.bm-scenario-dark {
  background: var(--color-ink);
  color: var(--color-white);
  border-radius: 16px;
  padding: 40px 36px;
}

.bm-scenario-title {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-white);
  margin: 0 0 16px;
  line-height: 1.1;
}

.bm-scenario-text {
  font-size: 16px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  margin: 0;
  line-height: 1.6;
}

.bm-entry-card {
  background: var(--color-paper);
  border-radius: 16px;
  flex-direction: column;
  padding: 32px 28px;
  display: flex;
}

.bm-entry-label {
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--color-orange);
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.bm-entry-title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 12px;
  line-height: 1.1;
}

.bm-entry-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 16px;
  line-height: 1.6;
}

.bm-entry-features {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.bm-entry-features span {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
}

.bm-faq {
  padding: 96px 0;
}

.bm-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.bm-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.bm-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.bm-faq-trigger:hover {
  color: var(--color-orange);
}

.bm-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.bm-faq-icon--open {
  transform: rotate(45deg);
}

.bm-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.bm-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.bm-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.bm-final-cta {
  background: var(--color-ink);
  padding: 96px 0;
}

.bm-final-cta-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.bm-final-cta-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.bm-final-cta-title .text-orange {
  color: var(--color-orange);
}

.bm-final-cta-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.bm-final-cta-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.bm-final-cta .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.bm-final-cta .btn-primary:hover {
  background: var(--color-orange-dark);
}

.bm-final-cta .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.bm-final-cta .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .bm-hero {
    padding: 120px 0 60px;
  }

  .bm-hero-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .bm-hero-visual {
    order: -1;
  }

  .bm-hero-copy {
    text-align: left;
  }

  .bm-hero-desc {
    max-width: none;
  }

  .bm-hero-ctas {
    justify-content: flex-start;
  }

  .bm-problem-inner {
    padding: 64px var(--gutter);
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .bm-problem-boxes {
    flex-direction: column;
  }

  .bm-problem-arrow {
    transform: rotate(90deg);
  }

  .bm-scenario-inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .bm-hero {
    padding: 100px 0 48px;
  }

  .bm-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .bm-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .bm-benefits {
    padding: 64px 0;
  }

  .bm-benefits-grid {
    grid-template-columns: 1fr;
  }

  .bm-services, .bm-process {
    padding: 64px 0;
  }

  .bm-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .bm-process-track {
    display: none;
  }

  .bm-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .bm-process-dot {
    top: 0;
    left: 0;
  }

  .bm-scenario {
    padding: 64px 0;
  }

  .bm-scenario-dark {
    padding: 32px 24px;
  }

  .bm-entry-card {
    padding: 28px 24px;
  }

  .bm-faq, .bm-final-cta {
    padding: 64px 0;
  }

  .bm-final-cta-buttons {
    flex-direction: column;
    align-items: center;
  }

  .bm-final-cta-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.td-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.td-hero {
  padding: 140px 0 80px;
}

.td-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 7fr 5fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.td-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 13px;
  display: flex;
}

.td-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.td-breadcrumb a:hover {
  color: var(--color-orange);
}

.td-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.td-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.td-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.td-hero-micro {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
}

.td-hero-visual {
  justify-content: center;
  display: flex;
}

.td-hero-diagram {
  width: 100%;
  max-width: 400px;
}

.td-problem-inner {
  max-width: var(--layout-page);
  padding: 96px var(--gutter);
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.td-problem-text {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0;
}

.td-problem-boxes {
  align-items: center;
  gap: 24px;
  display: flex;
}

.td-problem-box {
  border-radius: 12px;
  flex: 1;
  padding: 24px;
  position: relative;
}

.td-problem-box--disconnected {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
}

.td-problem-box--connected {
  background: var(--color-paper);
  border: 2px solid var(--color-orange);
}

.td-problem-box-label {
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-muted);
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  display: block;
}

.td-problem-box-items {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.td-problem-box-items span {
  background: var(--color-white);
  font-size: 12px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  border-radius: 6px;
  padding: 4px 10px;
}

.td-problem-box-x {
  background: var(--color-border-subtle);
  width: 28px;
  height: 28px;
  color: var(--color-muted);
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  display: grid;
  position: absolute;
  top: -8px;
  right: -8px;
}

.td-problem-box-check {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: -8px;
  right: -8px;
}

.td-problem-arrow {
  color: var(--color-muted);
  flex-shrink: 0;
  font-size: 24px;
}

.td-problem-caption {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  text-align: center;
  margin: 20px 0 0;
}

.td-benefits {
  padding: 96px 0;
}

.td-benefits-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.td-benefits-grid {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  display: grid;
}

.td-benefit-card {
  background: var(--color-paper);
  border-radius: 16px;
  padding: 32px;
  transition: transform .25s, box-shadow .25s;
}

.td-benefit-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px #2a322e14;
}

.td-benefit-icon {
  color: var(--color-orange);
  margin-bottom: 16px;
  display: block;
}

.td-benefit-title {
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 8px;
}

.td-benefit-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.td-services {
  padding: 96px 0;
}

.td-services-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.td-services-list {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.td-service-card {
  background: var(--color-paper);
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 24px 28px;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
  display: flex;
}

.td-service-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 24px #2a322e0f;
}

.td-service-card-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.td-service-card-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.td-service-card-arrow {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-left: 20px;
  font-size: 20px;
  transition: transform .2s;
}

.td-service-card:hover .td-service-card-arrow {
  transform: translateX(4px);
}

.td-process {
  padding: 96px 0;
}

.td-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.td-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.td-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.td-process-step {
  padding-top: 52px;
  position: relative;
}

.td-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.td-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.td-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.td-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.td-scenario {
  padding: 96px 0;
}

.td-scenario-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 7fr 5fr;
  align-items: stretch;
  gap: 32px;
  margin: 0 auto;
  display: grid;
}

.td-scenario-dark {
  background: var(--color-ink);
  color: var(--color-white);
  border-radius: 16px;
  padding: 40px 36px;
}

.td-scenario-title {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-white);
  margin: 0 0 16px;
  line-height: 1.1;
}

.td-scenario-text {
  font-size: 16px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  margin: 0;
  line-height: 1.6;
}

.td-entry-card {
  background: var(--color-paper);
  border-radius: 16px;
  flex-direction: column;
  padding: 32px 28px;
  display: flex;
}

.td-entry-label {
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: var(--color-orange);
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.td-entry-title {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 12px;
  line-height: 1.1;
}

.td-entry-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 16px;
  line-height: 1.6;
}

.td-entry-features {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.td-entry-features span {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
}

.td-faq {
  padding: 96px 0;
}

.td-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.td-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.td-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.td-faq-trigger:hover {
  color: var(--color-orange);
}

.td-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.td-faq-icon--open {
  transform: rotate(45deg);
}

.td-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.td-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.td-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.td-final-cta {
  background: var(--color-ink);
  padding: 96px 0;
}

.td-final-cta-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.td-final-cta-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.td-final-cta-title .text-orange {
  color: var(--color-orange);
}

.td-final-cta-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.td-final-cta-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.td-final-cta .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.td-final-cta .btn-primary:hover {
  background: var(--color-orange-dark);
}

.td-final-cta .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.td-final-cta .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .td-hero {
    padding: 120px 0 60px;
  }

  .td-hero-inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .td-hero-visual {
    order: -1;
  }

  .td-hero-copy {
    text-align: left;
  }

  .td-hero-desc {
    max-width: none;
  }

  .td-hero-ctas {
    justify-content: flex-start;
  }

  .td-problem-inner {
    padding: 64px var(--gutter);
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .td-problem-boxes {
    flex-direction: column;
  }

  .td-problem-arrow {
    transform: rotate(90deg);
  }

  .td-scenario-inner {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

@media (max-width: 640px) {
  .td-hero {
    padding: 100px 0 48px;
  }

  .td-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .td-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .td-benefits {
    padding: 64px 0;
  }

  .td-benefits-grid {
    grid-template-columns: 1fr;
  }

  .td-services, .td-process {
    padding: 64px 0;
  }

  .td-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .td-process-track {
    display: none;
  }

  .td-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .td-process-dot {
    top: 0;
    left: 0;
  }

  .td-scenario {
    padding: 64px 0;
  }

  .td-scenario-dark {
    padding: 32px 24px;
  }

  .td-entry-card {
    padding: 28px 24px;
  }

  .td-faq, .td-final-cta {
    padding: 64px 0;
  }

  .td-final-cta-buttons {
    flex-direction: column;
    align-items: center;
  }

  .td-final-cta-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.pd-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.pd-hero {
  padding: 140px 0 80px;
}

.pd-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pd-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.pd-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.pd-breadcrumb a:hover {
  color: var(--color-orange);
}

.pd-hero-content {
  max-width: 720px;
}

.pd-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.pd-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.pd-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.pd-hero-micro {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
}

.pd-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.pd-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.pd-signals {
  padding: 96px 0;
}

.pd-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pd-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.pd-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.pd-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
}

.pd-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.pd-results {
  padding: 96px 0;
}

.pd-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pd-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.pd-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.pd-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.pd-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.pd-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.pd-scope {
  padding: 96px 0;
}

.pd-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pd-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.pd-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.pd-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.pd-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.pd-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.pd-process {
  padding: 96px 0;
}

.pd-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pd-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.pd-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.pd-process-step {
  padding-top: 52px;
  position: relative;
}

.pd-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.pd-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.pd-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.pd-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.pd-faq {
  padding: 96px 0;
}

.pd-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pd-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.pd-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.pd-faq-trigger:hover {
  color: var(--color-orange);
}

.pd-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.pd-faq-icon--open {
  transform: rotate(45deg);
}

.pd-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.pd-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.pd-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.pd-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.pd-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.pd-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.pd-conversion-title .text-orange {
  color: var(--color-orange);
}

.pd-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.pd-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.pd-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.pd-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.pd-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.pd-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

.pd-conversion-micro {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: #ffffff80;
  margin: 20px 0 0;
}

@media (max-width: 1023px) {
  .pd-hero {
    padding: 120px 0 60px;
  }

  .pd-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .pd-hero {
    padding: 100px 0 48px;
  }

  .pd-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .pd-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .pd-signals {
    padding: 64px 0;
  }

  .pd-signals-grid {
    grid-template-columns: 1fr;
  }

  .pd-results {
    padding: 64px 0;
  }

  .pd-results-grid {
    grid-template-columns: 1fr;
  }

  .pd-scope, .pd-process {
    padding: 64px 0;
  }

  .pd-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .pd-process-track {
    display: none;
  }

  .pd-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .pd-process-dot {
    top: 0;
    left: 0;
  }

  .pd-faq, .pd-conversion {
    padding: 64px 0;
  }

  .pd-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .pd-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.rs-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.rs-hero {
  padding: 140px 0 80px;
}

.rs-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rs-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.rs-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.rs-breadcrumb a:hover {
  color: var(--color-orange);
}

.rs-hero-content {
  max-width: 720px;
}

.rs-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.rs-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.rs-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.rs-hero-micro {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
}

.rs-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.rs-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.rs-signals {
  padding: 96px 0;
}

.rs-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rs-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.rs-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.rs-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
}

.rs-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.rs-results {
  padding: 96px 0;
}

.rs-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rs-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.rs-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.rs-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.rs-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.rs-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.rs-scope {
  padding: 96px 0;
}

.rs-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rs-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.rs-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.rs-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.rs-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.rs-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.rs-process {
  padding: 96px 0;
}

.rs-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rs-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.rs-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.rs-process-step {
  padding-top: 52px;
  position: relative;
}

.rs-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.rs-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.rs-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.rs-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.rs-faq {
  padding: 96px 0;
}

.rs-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rs-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.rs-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.rs-faq-trigger:hover {
  color: var(--color-orange);
}

.rs-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.rs-faq-icon--open {
  transform: rotate(45deg);
}

.rs-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.rs-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.rs-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.rs-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.rs-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.rs-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.rs-conversion-title .text-orange {
  color: var(--color-orange);
}

.rs-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.rs-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.rs-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.rs-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.rs-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.rs-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

.rs-conversion-micro {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: #ffffff80;
  margin: 20px 0 0;
}

@media (max-width: 1023px) {
  .rs-hero {
    padding: 120px 0 60px;
  }

  .rs-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .rs-hero {
    padding: 100px 0 48px;
  }

  .rs-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .rs-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .rs-signals {
    padding: 64px 0;
  }

  .rs-signals-grid {
    grid-template-columns: 1fr;
  }

  .rs-results {
    padding: 64px 0;
  }

  .rs-results-grid {
    grid-template-columns: 1fr;
  }

  .rs-scope, .rs-process {
    padding: 64px 0;
  }

  .rs-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .rs-process-track {
    display: none;
  }

  .rs-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .rs-process-dot {
    top: 0;
    left: 0;
  }

  .rs-faq, .rs-conversion {
    padding: 64px 0;
  }

  .rs-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .rs-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.mc-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.mc-hero {
  padding: 140px 0 80px;
}

.mc-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.mc-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.mc-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.mc-breadcrumb a:hover {
  color: var(--color-orange);
}

.mc-hero-content {
  max-width: 720px;
}

.mc-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.mc-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.mc-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.mc-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.mc-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.mc-signals {
  padding: 96px 0;
}

.mc-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.mc-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.mc-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.mc-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
}

.mc-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.mc-results {
  padding: 96px 0;
}

.mc-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.mc-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.mc-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.mc-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.mc-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.mc-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.mc-scope {
  padding: 96px 0;
}

.mc-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.mc-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.mc-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.mc-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.mc-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.mc-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.mc-process {
  padding: 96px 0;
}

.mc-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.mc-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.mc-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.mc-process-step {
  padding-top: 52px;
  position: relative;
}

.mc-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.mc-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.mc-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.mc-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.mc-faq {
  padding: 96px 0;
}

.mc-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.mc-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.mc-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.mc-faq-trigger:hover {
  color: var(--color-orange);
}

.mc-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.mc-faq-icon--open {
  transform: rotate(45deg);
}

.mc-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.mc-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.mc-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.mc-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.mc-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.mc-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.mc-conversion-title .text-orange {
  color: var(--color-orange);
}

.mc-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.mc-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.mc-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.mc-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.mc-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.mc-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .mc-hero {
    padding: 120px 0 60px;
  }

  .mc-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .mc-hero {
    padding: 100px 0 48px;
  }

  .mc-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .mc-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .mc-signals {
    padding: 64px 0;
  }

  .mc-signals-grid {
    grid-template-columns: 1fr;
  }

  .mc-results {
    padding: 64px 0;
  }

  .mc-results-grid {
    grid-template-columns: 1fr;
  }

  .mc-scope, .mc-process {
    padding: 64px 0;
  }

  .mc-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .mc-process-track {
    display: none;
  }

  .mc-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .mc-process-dot {
    top: 0;
    left: 0;
  }

  .mc-faq, .mc-conversion {
    padding: 64px 0;
  }

  .mc-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .mc-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.seo-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.seo-hero {
  padding: 140px 0 80px;
}

.seo-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.seo-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.seo-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.seo-breadcrumb a:hover {
  color: var(--color-orange);
}

.seo-hero-content {
  max-width: 720px;
}

.seo-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.seo-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.seo-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.seo-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.seo-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.seo-signals {
  padding: 96px 0;
}

.seo-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.seo-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.seo-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.seo-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
}

.seo-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.seo-results {
  padding: 96px 0;
}

.seo-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.seo-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.seo-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.seo-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.seo-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.seo-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.seo-scope {
  padding: 96px 0;
}

.seo-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.seo-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.seo-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.seo-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.seo-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.seo-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.seo-process {
  padding: 96px 0;
}

.seo-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.seo-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.seo-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.seo-process-step {
  padding-top: 52px;
  position: relative;
}

.seo-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.seo-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.seo-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.seo-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.seo-faq {
  padding: 96px 0;
}

.seo-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.seo-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.seo-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.seo-faq-trigger:hover {
  color: var(--color-orange);
}

.seo-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.seo-faq-icon--open {
  transform: rotate(45deg);
}

.seo-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.seo-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.seo-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.seo-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.seo-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.seo-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.seo-conversion-title .text-orange {
  color: var(--color-orange);
}

.seo-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.seo-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.seo-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.seo-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.seo-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.seo-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .seo-hero {
    padding: 120px 0 60px;
  }

  .seo-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .seo-hero {
    padding: 100px 0 48px;
  }

  .seo-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .seo-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .seo-signals {
    padding: 64px 0;
  }

  .seo-signals-grid {
    grid-template-columns: 1fr;
  }

  .seo-results {
    padding: 64px 0;
  }

  .seo-results-grid {
    grid-template-columns: 1fr;
  }

  .seo-scope, .seo-process {
    padding: 64px 0;
  }

  .seo-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .seo-process-track {
    display: none;
  }

  .seo-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .seo-process-dot {
    top: 0;
    left: 0;
  }

  .seo-faq, .seo-conversion {
    padding: 64px 0;
  }

  .seo-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .seo-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.am-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.am-hero {
  padding: 140px 0 80px;
}

.am-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.am-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.am-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.am-breadcrumb a:hover {
  color: var(--color-orange);
}

.am-hero-content {
  max-width: 720px;
}

.am-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.am-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.am-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.am-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.am-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.am-signals {
  padding: 96px 0;
}

.am-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.am-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.am-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.am-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
}

.am-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.am-results {
  padding: 96px 0;
}

.am-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.am-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.am-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.am-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.am-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.am-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.am-scope {
  padding: 96px 0;
}

.am-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.am-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.am-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.am-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.am-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.am-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.am-process {
  padding: 96px 0;
}

.am-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.am-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.am-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.am-process-step {
  padding-top: 52px;
  position: relative;
}

.am-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.am-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.am-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.am-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.am-faq {
  padding: 96px 0;
}

.am-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.am-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.am-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.am-faq-trigger:hover {
  color: var(--color-orange);
}

.am-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.am-faq-icon--open {
  transform: rotate(45deg);
}

.am-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.am-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.am-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.am-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.am-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.am-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.am-conversion-title .text-orange {
  color: var(--color-orange);
}

.am-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.am-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.am-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.am-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.am-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.am-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .am-hero {
    padding: 120px 0 60px;
  }

  .am-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .am-hero {
    padding: 100px 0 48px;
  }

  .am-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .am-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .am-signals {
    padding: 64px 0;
  }

  .am-signals-grid {
    grid-template-columns: 1fr;
  }

  .am-results {
    padding: 64px 0;
  }

  .am-results-grid {
    grid-template-columns: 1fr;
  }

  .am-scope, .am-process {
    padding: 64px 0;
  }

  .am-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .am-process-track {
    display: none;
  }

  .am-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .am-process-dot {
    top: 0;
    left: 0;
  }

  .am-faq, .am-conversion {
    padding: 64px 0;
  }

  .am-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .am-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.em-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.em-hero {
  padding: 140px 0 80px;
}

.em-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.em-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.em-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.em-breadcrumb a:hover {
  color: var(--color-orange);
}

.em-hero-content {
  max-width: 720px;
}

.em-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.em-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.em-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.em-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.em-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.em-signals {
  padding: 96px 0;
}

.em-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.em-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.em-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.em-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
}

.em-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.em-results {
  padding: 96px 0;
}

.em-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.em-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.em-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.em-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.em-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.em-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.em-scope {
  padding: 96px 0;
}

.em-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.em-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.em-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.em-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.em-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.em-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.em-process {
  padding: 96px 0;
}

.em-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.em-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.em-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.em-process-step {
  padding-top: 52px;
  position: relative;
}

.em-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.em-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.em-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.em-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.em-faq {
  padding: 96px 0;
}

.em-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.em-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.em-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.em-faq-trigger:hover {
  color: var(--color-orange);
}

.em-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.em-faq-icon--open {
  transform: rotate(45deg);
}

.em-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.em-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.em-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.em-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.em-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.em-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.em-conversion-title .text-orange {
  color: var(--color-orange);
}

.em-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.em-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.em-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.em-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.em-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.em-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .em-hero {
    padding: 120px 0 60px;
  }

  .em-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .em-hero {
    padding: 100px 0 48px;
  }

  .em-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .em-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .em-signals {
    padding: 64px 0;
  }

  .em-signals-grid {
    grid-template-columns: 1fr;
  }

  .em-results {
    padding: 64px 0;
  }

  .em-results-grid {
    grid-template-columns: 1fr;
  }

  .em-scope, .em-process {
    padding: 64px 0;
  }

  .em-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .em-process-track {
    display: none;
  }

  .em-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .em-process-dot {
    top: 0;
    left: 0;
  }

  .em-faq, .em-conversion {
    padding: 64px 0;
  }

  .em-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .em-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.iv-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.iv-hero {
  padding: 140px 0 80px;
}

.iv-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.iv-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.iv-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.iv-breadcrumb a:hover {
  color: var(--color-orange);
}

.iv-hero-content {
  max-width: 720px;
}

.iv-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.iv-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.iv-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.iv-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.iv-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.iv-signals {
  padding: 96px 0;
}

.iv-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.iv-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.iv-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.iv-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
}

.iv-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.iv-results {
  padding: 96px 0;
}

.iv-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.iv-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.iv-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.iv-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.iv-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.iv-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.iv-scope {
  padding: 96px 0;
}

.iv-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.iv-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.iv-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.iv-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.iv-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.iv-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.iv-process {
  padding: 96px 0;
}

.iv-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.iv-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.iv-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.iv-process-step {
  padding-top: 52px;
  position: relative;
}

.iv-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.iv-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.iv-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.iv-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.iv-faq {
  padding: 96px 0;
}

.iv-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.iv-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.iv-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.iv-faq-trigger:hover {
  color: var(--color-orange);
}

.iv-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.iv-faq-icon--open {
  transform: rotate(45deg);
}

.iv-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.iv-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.iv-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.iv-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.iv-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.iv-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.iv-conversion-title .text-orange {
  color: var(--color-orange);
}

.iv-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.iv-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.iv-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.iv-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.iv-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.iv-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .iv-hero {
    padding: 120px 0 60px;
  }

  .iv-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .iv-hero {
    padding: 100px 0 48px;
  }

  .iv-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .iv-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .iv-signals {
    padding: 64px 0;
  }

  .iv-signals-grid {
    grid-template-columns: 1fr;
  }

  .iv-results {
    padding: 64px 0;
  }

  .iv-results-grid {
    grid-template-columns: 1fr;
  }

  .iv-scope, .iv-process {
    padding: 64px 0;
  }

  .iv-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .iv-process-track {
    display: none;
  }

  .iv-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .iv-process-dot {
    top: 0;
    left: 0;
  }

  .iv-faq, .iv-conversion {
    padding: 64px 0;
  }

  .iv-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .iv-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.nm-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.nm-hero {
  padding: 140px 0 80px;
}

.nm-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nm-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.nm-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.nm-breadcrumb a:hover {
  color: var(--color-orange);
}

.nm-hero-content {
  max-width: 720px;
}

.nm-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.nm-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.nm-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.nm-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.nm-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.nm-signals {
  padding: 96px 0;
}

.nm-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nm-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.nm-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.nm-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 900;
}

.nm-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.nm-results {
  padding: 96px 0;
}

.nm-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nm-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.nm-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.nm-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.nm-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.nm-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.nm-scope {
  padding: 96px 0;
}

.nm-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nm-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.nm-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.nm-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.nm-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.nm-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.nm-process {
  padding: 96px 0;
}

.nm-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nm-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.nm-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.nm-process-step {
  padding-top: 52px;
  position: relative;
}

.nm-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.nm-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.nm-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.nm-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.nm-faq {
  padding: 96px 0;
}

.nm-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nm-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.nm-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.nm-faq-trigger:hover {
  color: var(--color-orange);
}

.nm-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.nm-faq-icon--open {
  transform: rotate(45deg);
}

.nm-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.nm-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.nm-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.nm-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.nm-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.nm-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.nm-conversion-title .text-orange {
  color: var(--color-orange);
}

.nm-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.nm-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.nm-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.nm-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.nm-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.nm-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .nm-hero {
    padding: 120px 0 60px;
  }

  .nm-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .nm-hero {
    padding: 100px 0 48px;
  }

  .nm-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .nm-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .nm-signals {
    padding: 64px 0;
  }

  .nm-signals-grid {
    grid-template-columns: 1fr;
  }

  .nm-results {
    padding: 64px 0;
  }

  .nm-results-grid {
    grid-template-columns: 1fr;
  }

  .nm-scope, .nm-process {
    padding: 64px 0;
  }

  .nm-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .nm-process-track {
    display: none;
  }

  .nm-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .nm-process-dot {
    top: 0;
    left: 0;
  }

  .nm-faq, .nm-conversion {
    padding: 64px 0;
  }

  .nm-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .nm-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.pa-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.pa-hero {
  padding: 140px 0 80px;
}

.pa-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pa-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.pa-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.pa-breadcrumb a:hover {
  color: var(--color-orange);
}

.pa-hero-content {
  max-width: 720px;
}

.pa-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.pa-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.pa-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.pa-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.pa-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.pa-signals {
  padding: 96px 0;
}

.pa-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pa-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.pa-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.pa-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 900;
}

.pa-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.pa-results {
  padding: 96px 0;
}

.pa-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pa-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.pa-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.pa-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.pa-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.pa-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.pa-scope {
  padding: 96px 0;
}

.pa-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pa-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.pa-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.pa-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.pa-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.pa-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.pa-process {
  padding: 96px 0;
}

.pa-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pa-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.pa-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.pa-process-step {
  padding-top: 52px;
  position: relative;
}

.pa-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.pa-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.pa-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.pa-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.pa-faq {
  padding: 96px 0;
}

.pa-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pa-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.pa-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.pa-faq-trigger:hover {
  color: var(--color-orange);
}

.pa-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.pa-faq-icon--open {
  transform: rotate(45deg);
}

.pa-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.pa-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.pa-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.pa-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.pa-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.pa-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.pa-conversion-title .text-orange {
  color: var(--color-orange);
}

.pa-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.pa-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.pa-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.pa-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.pa-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.pa-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .pa-hero {
    padding: 120px 0 60px;
  }

  .pa-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .pa-hero {
    padding: 100px 0 48px;
  }

  .pa-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .pa-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .pa-signals {
    padding: 64px 0;
  }

  .pa-signals-grid {
    grid-template-columns: 1fr;
  }

  .pa-results {
    padding: 64px 0;
  }

  .pa-results-grid {
    grid-template-columns: 1fr;
  }

  .pa-scope, .pa-process {
    padding: 64px 0;
  }

  .pa-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .pa-process-track {
    display: none;
  }

  .pa-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .pa-process-dot {
    top: 0;
    left: 0;
  }

  .pa-faq, .pa-conversion {
    padding: 64px 0;
  }

  .pa-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .pa-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.dw-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.dw-hero {
  padding: 140px 0 80px;
}

.dw-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.dw-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.dw-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.dw-breadcrumb a:hover {
  color: var(--color-orange);
}

.dw-hero-content {
  max-width: 720px;
}

.dw-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.dw-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.dw-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.dw-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.dw-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.dw-signals {
  padding: 96px 0;
}

.dw-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.dw-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.dw-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.dw-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 900;
}

.dw-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.dw-results {
  padding: 96px 0;
}

.dw-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.dw-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.dw-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.dw-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.dw-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.dw-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.dw-scope {
  padding: 96px 0;
}

.dw-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.dw-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.dw-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.dw-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.dw-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.dw-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.dw-process {
  padding: 96px 0;
}

.dw-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.dw-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.dw-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.dw-process-step {
  padding-top: 52px;
  position: relative;
}

.dw-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.dw-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.dw-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.dw-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.dw-faq {
  padding: 96px 0;
}

.dw-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.dw-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.dw-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.dw-faq-trigger:hover {
  color: var(--color-orange);
}

.dw-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.dw-faq-icon--open {
  transform: rotate(45deg);
}

.dw-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.dw-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.dw-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.dw-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.dw-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.dw-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.dw-conversion-title .text-orange {
  color: var(--color-orange);
}

.dw-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.dw-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.dw-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.dw-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.dw-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.dw-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .dw-hero {
    padding: 120px 0 60px;
  }

  .dw-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .dw-hero {
    padding: 100px 0 48px;
  }

  .dw-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .dw-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .dw-signals {
    padding: 64px 0;
  }

  .dw-signals-grid {
    grid-template-columns: 1fr;
  }

  .dw-results {
    padding: 64px 0;
  }

  .dw-results-grid {
    grid-template-columns: 1fr;
  }

  .dw-scope, .dw-process {
    padding: 64px 0;
  }

  .dw-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .dw-process-track {
    display: none;
  }

  .dw-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .dw-process-dot {
    top: 0;
    left: 0;
  }

  .dw-faq, .dw-conversion {
    padding: 64px 0;
  }

  .dw-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .dw-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.ux-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.ux-hero {
  padding: 140px 0 80px;
}

.ux-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ux-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.ux-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.ux-breadcrumb a:hover {
  color: var(--color-orange);
}

.ux-hero-content {
  max-width: 720px;
}

.ux-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.ux-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.ux-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.ux-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.ux-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.ux-signals {
  padding: 96px 0;
}

.ux-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ux-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ux-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.ux-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 900;
}

.ux-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.ux-results {
  padding: 96px 0;
}

.ux-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ux-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ux-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.ux-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.ux-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ux-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ux-scope {
  padding: 96px 0;
}

.ux-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ux-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.ux-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.ux-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.ux-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ux-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ux-process {
  padding: 96px 0;
}

.ux-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ux-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.ux-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.ux-process-step {
  padding-top: 52px;
  position: relative;
}

.ux-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.ux-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.ux-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.ux-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ux-faq {
  padding: 96px 0;
}

.ux-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ux-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.ux-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.ux-faq-trigger:hover {
  color: var(--color-orange);
}

.ux-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.ux-faq-icon--open {
  transform: rotate(45deg);
}

.ux-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.ux-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.ux-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.ux-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.ux-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.ux-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.ux-conversion-title .text-orange {
  color: var(--color-orange);
}

.ux-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.ux-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.ux-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.ux-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.ux-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.ux-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .ux-hero {
    padding: 120px 0 60px;
  }

  .ux-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .ux-hero {
    padding: 100px 0 48px;
  }

  .ux-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .ux-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .ux-signals {
    padding: 64px 0;
  }

  .ux-signals-grid {
    grid-template-columns: 1fr;
  }

  .ux-results {
    padding: 64px 0;
  }

  .ux-results-grid {
    grid-template-columns: 1fr;
  }

  .ux-scope, .ux-process {
    padding: 64px 0;
  }

  .ux-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ux-process-track {
    display: none;
  }

  .ux-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .ux-process-dot {
    top: 0;
    left: 0;
  }

  .ux-faq, .ux-conversion {
    padding: 64px 0;
  }

  .ux-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .ux-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.ec-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.ec-hero {
  padding: 140px 0 80px;
}

.ec-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ec-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.ec-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.ec-breadcrumb a:hover {
  color: var(--color-orange);
}

.ec-hero-content {
  max-width: 720px;
}

.ec-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.ec-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.ec-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.ec-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.ec-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.ec-signals {
  padding: 96px 0;
}

.ec-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ec-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ec-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.ec-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 900;
}

.ec-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.ec-results {
  padding: 96px 0;
}

.ec-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ec-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ec-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.ec-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.ec-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ec-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ec-scope {
  padding: 96px 0;
}

.ec-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ec-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.ec-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.ec-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.ec-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ec-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ec-process {
  padding: 96px 0;
}

.ec-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ec-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.ec-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.ec-process-step {
  padding-top: 52px;
  position: relative;
}

.ec-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.ec-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.ec-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.ec-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ec-faq {
  padding: 96px 0;
}

.ec-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ec-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.ec-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.ec-faq-trigger:hover {
  color: var(--color-orange);
}

.ec-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.ec-faq-icon--open {
  transform: rotate(45deg);
}

.ec-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.ec-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.ec-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.ec-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.ec-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.ec-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.ec-conversion-title .text-orange {
  color: var(--color-orange);
}

.ec-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.ec-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.ec-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.ec-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.ec-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.ec-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .ec-hero {
    padding: 120px 0 60px;
  }

  .ec-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .ec-hero {
    padding: 100px 0 48px;
  }

  .ec-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .ec-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .ec-signals {
    padding: 64px 0;
  }

  .ec-signals-grid {
    grid-template-columns: 1fr;
  }

  .ec-results {
    padding: 64px 0;
  }

  .ec-results-grid {
    grid-template-columns: 1fr;
  }

  .ec-scope, .ec-process {
    padding: 64px 0;
  }

  .ec-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ec-process-track {
    display: none;
  }

  .ec-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .ec-process-dot {
    top: 0;
    left: 0;
  }

  .ec-faq, .ec-conversion {
    padding: 64px 0;
  }

  .ec-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .ec-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.ac-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.ac-hero {
  padding: 140px 0 80px;
}

.ac-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ac-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.ac-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.ac-breadcrumb a:hover {
  color: var(--color-orange);
}

.ac-hero-content {
  max-width: 720px;
}

.ac-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.ac-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.ac-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.ac-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.ac-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.ac-signals {
  padding: 96px 0;
}

.ac-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ac-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ac-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.ac-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 900;
}

.ac-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.ac-results {
  padding: 96px 0;
}

.ac-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ac-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ac-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.ac-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.ac-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ac-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ac-scope {
  padding: 96px 0;
}

.ac-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ac-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.ac-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.ac-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.ac-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ac-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ac-process {
  padding: 96px 0;
}

.ac-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ac-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.ac-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.ac-process-step {
  padding-top: 52px;
  position: relative;
}

.ac-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.ac-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.ac-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.ac-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ac-faq {
  padding: 96px 0;
}

.ac-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ac-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.ac-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.ac-faq-trigger:hover {
  color: var(--color-orange);
}

.ac-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.ac-faq-icon--open {
  transform: rotate(45deg);
}

.ac-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.ac-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.ac-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.ac-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.ac-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.ac-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.ac-conversion-title .text-orange {
  color: var(--color-orange);
}

.ac-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.ac-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.ac-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.ac-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.ac-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.ac-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .ac-hero {
    padding: 120px 0 60px;
  }

  .ac-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .ac-hero {
    padding: 100px 0 48px;
  }

  .ac-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .ac-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .ac-signals {
    padding: 64px 0;
  }

  .ac-signals-grid {
    grid-template-columns: 1fr;
  }

  .ac-results {
    padding: 64px 0;
  }

  .ac-results-grid {
    grid-template-columns: 1fr;
  }

  .ac-scope, .ac-process {
    padding: 64px 0;
  }

  .ac-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ac-process-track {
    display: none;
  }

  .ac-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .ac-process-dot {
    top: 0;
    left: 0;
  }

  .ac-faq, .ac-conversion {
    padding: 64px 0;
  }

  .ac-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .ac-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.ct-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.ct-hero {
  padding: 140px 0 80px;
}

.ct-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ct-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.ct-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.ct-breadcrumb a:hover {
  color: var(--color-orange);
}

.ct-hero-content {
  max-width: 720px;
}

.ct-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.ct-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.ct-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.ct-hero-visual {
  justify-content: center;
  margin-top: 48px;
  display: flex;
}

.ct-hero-diagram {
  width: 100%;
  max-width: 360px;
}

.ct-signals {
  padding: 96px 0;
}

.ct-signals-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ct-signals-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ct-signal-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.ct-signal-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 900;
}

.ct-signal-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.ct-results {
  padding: 96px 0;
}

.ct-results-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ct-results-grid {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ct-result-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.ct-result-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.ct-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ct-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ct-scope {
  padding: 96px 0;
}

.ct-scope-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ct-scope-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.ct-scope-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.ct-scope-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 28px;
}

.ct-scope-item-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ct-scope-item-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ct-process {
  padding: 96px 0;
}

.ct-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ct-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.ct-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.ct-process-step {
  padding-top: 52px;
  position: relative;
}

.ct-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.ct-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.ct-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.ct-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ct-faq {
  padding: 96px 0;
}

.ct-faq-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ct-faq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.ct-faq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.ct-faq-trigger:hover {
  color: var(--color-orange);
}

.ct-faq-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.ct-faq-icon--open {
  transform: rotate(45deg);
}

.ct-faq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.ct-faq-body--open {
  opacity: 1;
  max-height: 300px;
}

.ct-faq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.ct-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.ct-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.ct-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.ct-conversion-title .text-orange {
  color: var(--color-orange);
}

.ct-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.ct-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.ct-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.ct-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.ct-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.ct-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .ct-hero {
    padding: 120px 0 60px;
  }

  .ct-hero-visual {
    margin-top: 32px;
  }
}

@media (max-width: 640px) {
  .ct-hero {
    padding: 100px 0 48px;
  }

  .ct-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .ct-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .ct-signals {
    padding: 64px 0;
  }

  .ct-signals-grid {
    grid-template-columns: 1fr;
  }

  .ct-results {
    padding: 64px 0;
  }

  .ct-results-grid {
    grid-template-columns: 1fr;
  }

  .ct-scope, .ct-process {
    padding: 64px 0;
  }

  .ct-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ct-process-track {
    display: none;
  }

  .ct-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .ct-process-dot {
    top: 0;
    left: 0;
  }

  .ct-faq, .ct-conversion {
    padding: 64px 0;
  }

  .ct-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .ct-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.cx-hero {
  padding: 140px 0 80px;
}

.cx-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.cx-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.cx-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.cx-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.cx-filters {
  padding: 0 0 48px;
}

.cx-filters-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.cx-filters-group {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.cx-filters-label {
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  text-transform: uppercase;
  letter-spacing: .05em;
  min-width: 72px;
}

.cx-filters-chips {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.cx-chip {
  border: 1px solid var(--color-border-subtle);
  font-size: 13px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  cursor: pointer;
  background: none;
  border-radius: 999px;
  padding: 6px 14px;
  transition: all .2s;
}

.cx-chip:hover {
  border-color: var(--color-orange);
  color: var(--color-ink);
}

.cx-chip--active {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-ink);
  font-weight: var(--font-weight-black);
}

.cx-filters-clear {
  font-size: 13px;
  font-family: var(--font-sans);
  color: var(--color-orange);
  cursor: pointer;
  text-underline-offset: 3px;
  background: none;
  border: none;
  padding: 4px 0;
  text-decoration: underline;
}

.cx-featured {
  padding: 96px 0;
}

.cx-featured-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.cx-featured-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.1;
}

.cx-featured-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.cx-featured-visual {
  justify-content: center;
  margin-bottom: 24px;
  display: flex;
}

.cx-featured-video-placeholder {
  aspect-ratio: 16 / 9;
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  cursor: pointer;
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 640px;
  transition: border-color .2s;
  display: flex;
}

.cx-featured-video-placeholder:hover {
  border-color: var(--color-orange);
}

.cx-featured-play {
  width: 48px;
  height: 48px;
  color: var(--color-orange);
}

.cx-featured-play-label {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
}

.cx-featured-tags {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
  display: flex;
}

.cx-tag {
  color: var(--color-orange);
  font-size: 12px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  padding: 4px 10px;
  display: inline-block;
}

.cx-tag--sm {
  padding: 3px 8px;
  font-size: 11px;
}

.cx-grid {
  padding: 96px 0;
}

.cx-grid-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.cx-grid-cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

.cx-card {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  flex-direction: column;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
  display: flex;
  overflow: hidden;
}

.cx-card:hover {
  border-color: var(--color-orange);
  box-shadow: 0 4px 24px #ff7a0014;
}

.cx-card-visual {
  aspect-ratio: 16 / 10;
  background: var(--color-muted);
  opacity: 1;
  position: relative;
  overflow: hidden;
}

.cx-card-body {
  flex-direction: column;
  flex: 1;
  padding: 20px;
  display: flex;
}

.cx-card-tags {
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
  display: flex;
}

.cx-card-title {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.cx-card-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  flex: 1;
  margin: 0 0 16px;
  line-height: 1.5;
}

.cx-card-link {
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
}

.cx-empty {
  text-align: center;
  padding: 64px 0;
}

.cx-empty-text {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 24px;
}

.cx-social-proof {
  padding: 96px 0;
}

.cx-social-proof-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.cx-social-proof-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 48px;
  line-height: 1.1;
}

.cx-social-proof-logos {
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 40px;
  display: flex;
}

.cx-social-proof-logo {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 48px;
  display: flex;
}

.cx-social-proof-logo span {
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-muted);
  letter-spacing: -.01em;
}

.cx-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.cx-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.cx-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.cx-conversion-title .text-orange {
  color: var(--color-orange);
}

.cx-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.cx-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.cx-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.cx-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.cx-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.cx-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .cx-hero {
    padding: 120px 0 60px;
  }

  .cx-grid-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .cx-hero {
    padding: 100px 0 48px;
  }

  .cx-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .cx-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .cx-featured, .cx-grid {
    padding: 64px 0;
  }

  .cx-grid-cards {
    grid-template-columns: 1fr;
  }

  .cx-social-proof {
    padding: 64px 0;
  }

  .cx-social-proof-logos {
    gap: 16px 24px;
  }

  .cx-social-proof-logo {
    width: 100px;
    height: 40px;
  }

  .cx-conversion {
    padding: 64px 0;
  }

  .cx-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .cx-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.ylm-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.ylm-hero {
  padding: 140px 0 80px;
}

.ylm-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ylm-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.ylm-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.ylm-breadcrumb a:hover {
  color: var(--color-orange);
}

.ylm-hero-tags {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  display: flex;
}

.ylm-hero-content {
  max-width: 720px;
}

.ylm-hero-title {
  font-family: var(--font-display);
  font-size: clamp(40px, 6vw, 64px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.05;
}

.ylm-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 520px;
  margin: 0 0 32px;
}

.ylm-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.ylm-summary {
  padding: 96px 0;
}

.ylm-summary-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ylm-summary-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.ylm-summary-card {
  background: var(--color-paper);
  border-radius: 12px;
  padding: 28px;
}

.ylm-summary-label {
  font-size: 12px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 8px;
  display: block;
}

.ylm-summary-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.6;
}

.ylm-idea {
  padding: 96px 0;
}

.ylm-idea-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ylm-idea-text {
  font-size: clamp(18px, 2.5vw, 22px);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.6;
}

.ylm-process {
  padding: 96px 0;
}

.ylm-process-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ylm-process-timeline {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
  position: relative;
}

.ylm-process-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.ylm-process-step {
  padding-top: 52px;
  position: relative;
}

.ylm-process-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.ylm-process-dot span {
  font-size: 13px;
  font-weight: 900;
}

.ylm-process-step-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.ylm-process-step-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ylm-pieza {
  padding: 96px 0;
}

.ylm-pieza-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ylm-pieza-video {
  justify-content: center;
  margin-bottom: 24px;
  display: flex;
}

.ylm-pieza-video-placeholder {
  aspect-ratio: 16 / 9;
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  cursor: pointer;
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 800px;
  transition: border-color .2s;
  display: flex;
}

.ylm-pieza-video-placeholder:hover {
  border-color: var(--color-orange);
}

.ylm-pieza-play {
  width: 56px;
  height: 56px;
  color: var(--color-orange);
}

.ylm-pieza-play-label {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
}

.ylm-pieza-transcript-toggle {
  font-size: 14px;
  font-family: var(--font-sans);
  color: var(--color-orange);
  cursor: pointer;
  text-underline-offset: 3px;
  background: none;
  border: none;
  padding: 8px 0;
  text-decoration: underline;
}

.ylm-pieza-transcript {
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1);
  overflow: hidden;
}

.ylm-pieza-transcript--open {
  max-height: 400px;
}

.ylm-pieza-transcript-inner {
  background: var(--color-paper);
  border-radius: 12px;
  padding: 24px;
}

.ylm-pieza-transcript-inner p {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 8px;
  line-height: 1.6;
}

.ylm-learnings {
  padding: 96px 0;
}

.ylm-learnings-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ylm-learnings-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.ylm-learnings-card {
  background: var(--color-paper);
  border-radius: 12px;
  padding: 28px;
}

.ylm-learnings-num {
  color: var(--color-orange);
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 900;
  display: block;
}

.ylm-learnings-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.ylm-learnings-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ylm-credits {
  background: var(--color-paper);
  padding: 96px 0;
}

.ylm-credits-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ylm-credits-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 48px;
  display: grid;
}

.ylm-credits-item {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.ylm-credits-role {
  font-size: 12px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.ylm-credits-name {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
}

.ylm-credits-next {
  border-top: 1px solid var(--color-border-subtle);
  border-bottom: 1px solid var(--color-border-subtle);
  justify-content: space-between;
  align-items: center;
  margin-bottom: 48px;
  padding: 24px 0;
  display: flex;
}

.ylm-credits-next-label {
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.ylm-credits-next-link {
  font-size: 15px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
  text-decoration: none;
  transition: color .2s;
}

.ylm-credits-next-link:hover {
  color: var(--color-orange-dark);
}

.ylm-credits-cta {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

@media (max-width: 1023px) {
  .ylm-hero {
    padding: 120px 0 60px;
  }

  .ylm-process-timeline {
    grid-template-columns: repeat(2, 1fr);
  }

  .ylm-process-track {
    display: none;
  }

  .ylm-process-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .ylm-process-dot {
    margin-bottom: 12px;
    display: inline-flex;
    position: relative;
    top: 0;
    left: 0;
  }
}

@media (max-width: 640px) {
  .ylm-hero {
    padding: 100px 0 48px;
  }

  .ylm-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .ylm-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .ylm-summary {
    padding: 64px 0;
  }

  .ylm-summary-grid {
    grid-template-columns: 1fr;
  }

  .ylm-idea, .ylm-process {
    padding: 64px 0;
  }

  .ylm-process-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ylm-pieza, .ylm-learnings {
    padding: 64px 0;
  }

  .ylm-learnings-grid {
    grid-template-columns: 1fr;
  }

  .ylm-credits {
    padding: 64px 0;
  }

  .ylm-credits-grid {
    grid-template-columns: 1fr;
  }

  .ylm-credits-next {
    text-align: center;
    flex-direction: column;
    gap: 12px;
  }

  .ylm-credits-cta {
    flex-direction: column;
    align-items: center;
  }

  .ylm-credits-cta .btn-base {
    text-align: center;
    width: 100%;
  }
}

.nb-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.nb-hero {
  padding: 140px 0 80px;
}

.nb-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nb-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.nb-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.nb-breadcrumb a:hover {
  color: var(--color-orange);
}

.nb-hero-content {
  max-width: 720px;
}

.nb-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.nb-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.nb-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.nb-manifesto {
  padding: 96px 0;
}

.nb-manifesto-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.nb-manifesto-text {
  font-family: var(--font-display);
  font-size: clamp(22px, 3vw, 30px);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.nb-thinking {
  padding: 96px 0;
}

.nb-thinking-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nb-thinking-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  display: grid;
}

.nb-thinking-card {
  background: var(--color-paper);
  border-radius: 12px;
  padding: 28px;
}

.nb-thinking-num {
  color: var(--color-orange);
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 900;
  display: block;
}

.nb-thinking-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.nb-thinking-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.nb-capabilities {
  padding: 96px 0;
}

.nb-capabilities-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nb-capabilities-list {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.nb-capabilities-item {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 24px 28px;
  display: flex;
}

.nb-capabilities-num {
  color: var(--color-orange);
  flex-shrink: 0;
  min-width: 28px;
  font-size: 13px;
  font-weight: 900;
}

.nb-capabilities-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.nb-capabilities-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.nb-workflow {
  padding: 96px 0;
}

.nb-workflow-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.nb-workflow-timeline {
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  display: grid;
  position: relative;
}

.nb-workflow-track {
  background: var(--color-border-subtle);
  height: 2px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
}

.nb-workflow-step {
  padding-top: 52px;
  position: relative;
}

.nb-workflow-dot {
  background: var(--color-orange);
  width: 40px;
  height: 40px;
  color: var(--color-ink);
  z-index: 1;
  border-radius: 50%;
  place-items: center;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}

.nb-workflow-dot span {
  font-size: 13px;
  font-weight: 900;
}

.nb-workflow-step-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.nb-workflow-step-desc {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.nb-culture {
  background: var(--color-ink);
  padding: 96px 0;
}

.nb-culture-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.nb-culture .nb-section-title {
  color: var(--color-white);
}

.nb-culture-text {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 560px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.nb-culture-cta {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.nb-culture .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.nb-culture .btn-primary:hover {
  background: var(--color-orange-dark);
}

.nb-culture .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.nb-culture .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .nb-hero {
    padding: 120px 0 60px;
  }

  .nb-workflow-timeline {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .nb-hero {
    padding: 100px 0 48px;
  }

  .nb-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .nb-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .nb-manifesto, .nb-thinking {
    padding: 64px 0;
  }

  .nb-thinking-grid {
    grid-template-columns: 1fr;
  }

  .nb-capabilities, .nb-workflow {
    padding: 64px 0;
  }

  .nb-workflow-timeline {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .nb-workflow-track {
    display: none;
  }

  .nb-workflow-step {
    padding-top: 0;
    padding-left: 56px;
  }

  .nb-workflow-dot {
    top: 0;
    left: 0;
  }

  .nb-culture {
    padding: 64px 0;
  }

  .nb-culture-cta {
    flex-direction: column;
    align-items: center;
  }

  .nb-culture-cta .btn-base {
    text-align: center;
    width: 100%;
  }
}

.bl-hero {
  padding: 140px 0 80px;
}

.bl-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.bl-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.bl-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.bl-breadcrumb a:hover {
  color: var(--color-orange);
}

.bl-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.bl-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.bl-hero-search {
  max-width: 480px;
}

.bl-search-box {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  transition: border-color .2s;
  display: flex;
}

.bl-search-box:focus-within {
  border-color: var(--color-orange);
}

.bl-search-icon {
  width: 20px;
  height: 20px;
  color: var(--color-muted);
  flex-shrink: 0;
}

.bl-search-input {
  font-size: 15px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  background: none;
  border: none;
  outline: none;
  flex: 1;
}

.bl-search-input::placeholder {
  color: var(--color-muted);
}

.bl-filters {
  padding: 0 0 48px;
}

.bl-filters-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.bl-filters-chips {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.bl-featured {
  padding: 96px 0;
}

.bl-featured-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.bl-featured-badge {
  color: var(--color-orange);
  font-size: 12px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 20px;
  padding: 4px 10px;
  display: inline-block;
}

.bl-featured-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  max-width: 720px;
  margin: 0 0 16px;
  line-height: 1.1;
}

.bl-featured-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 16px;
}

.bl-featured-meta {
  gap: 16px;
  margin-bottom: 24px;
  display: flex;
}

.bl-meta-item {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
}

.bl-articles {
  padding: 96px 0;
}

.bl-articles-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.bl-articles-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

.bl-article-card {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  flex-direction: column;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
  display: flex;
  overflow: hidden;
}

.bl-article-card:hover {
  border-color: var(--color-orange);
  box-shadow: 0 4px 24px #ff7a0014;
}

.bl-article-visual {
  aspect-ratio: 16 / 10;
  background: var(--color-muted);
  opacity: 1;
  position: relative;
  overflow: hidden;
}

.bl-article-body {
  flex-direction: column;
  flex: 1;
  padding: 20px;
  display: flex;
}

.bl-article-meta {
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  display: flex;
}

.bl-article-title {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.bl-article-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  flex: 1;
  margin: 0 0 16px;
  line-height: 1.5;
}

.bl-article-link {
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
}

.bl-empty {
  text-align: center;
  padding: 64px 0;
}

.bl-empty-text {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
}

.bl-newsletter {
  background: var(--color-ink);
  padding: 96px 0;
}

.bl-newsletter-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.bl-newsletter-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.bl-newsletter-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 500px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.bl-newsletter-form {
  gap: 12px;
  max-width: 480px;
  margin: 0 auto;
  display: flex;
}

.bl-newsletter-input {
  font-size: 15px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-white);
  background: none;
  border: 1px solid #fff3;
  border-radius: 12px;
  outline: none;
  flex: 1;
  padding: 14px 16px;
  transition: border-color .2s;
}

.bl-newsletter-input::placeholder {
  color: #ffffff80;
}

.bl-newsletter-input:focus {
  border-color: var(--color-orange);
}

.bl-newsletter-btn {
  flex-shrink: 0;
}

.bl-newsletter .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.bl-newsletter .btn-primary:hover {
  background: var(--color-orange-dark);
}

.bl-newsletter-success {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: var(--color-orange);
  margin: 0;
}

@media (max-width: 1023px) {
  .bl-hero {
    padding: 120px 0 60px;
  }

  .bl-articles-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .bl-hero {
    padding: 100px 0 48px;
  }

  .bl-featured, .bl-articles {
    padding: 64px 0;
  }

  .bl-articles-grid {
    grid-template-columns: 1fr;
  }

  .bl-newsletter {
    padding: 64px 0;
  }

  .bl-newsletter-form {
    flex-direction: column;
  }

  .bl-newsletter-btn {
    text-align: center;
    width: 100%;
  }
}

.ar-hero {
  padding: 140px 0 60px;
}

.ar-hero-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ar-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.ar-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.ar-breadcrumb a:hover {
  color: var(--color-orange);
}

.ar-hero-badge {
  color: var(--color-orange);
  font-size: 12px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 20px;
  padding: 4px 10px;
  display: inline-block;
}

.ar-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.1;
}

.ar-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 16px;
}

.ar-hero-meta {
  gap: 8px;
  display: flex;
}

.ar-layout-body {
  max-width: 960px;
  padding: 0 var(--gutter);
  grid-template-columns: 220px 1fr;
  align-items: start;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.ar-toc {
  position: sticky;
  top: 120px;
}

.ar-toc-inner {
  background: var(--color-paper);
  border-radius: 12px;
  padding: 20px;
}

.ar-toc-title {
  font-size: 12px;
  font-weight: var(--font-weight-black);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 12px;
  display: block;
}

.ar-toc-list {
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.ar-toc-link {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  border-left: 2px solid #0000;
  border-radius: 6px;
  padding: 4px 8px;
  text-decoration: none;
  transition: all .2s;
  display: block;
}

.ar-toc-link:hover {
  color: var(--color-ink);
  background: #ff7a000d;
}

.ar-toc-link--active {
  color: var(--color-orange);
  font-weight: var(--font-weight-black);
  border-left-color: var(--color-orange);
  background: #ff7a000d;
}

.ar-content {
  padding: 48px 0 96px;
}

.ar-content-inner {
  max-width: 680px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ar-section {
  margin-bottom: 48px;
}

.ar-section-title {
  font-family: var(--font-display);
  font-size: clamp(22px, 3vw, 28px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.2;
}

.ar-text {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.7;
}

.ar-cta-inline {
  text-align: center;
  margin-top: 48px;
}

.ar-checklist {
  padding: 96px 0;
}

.ar-checklist-inner {
  max-width: 680px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ar-checklist-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
  display: flex;
}

.ar-checklist-title {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0;
  line-height: 1.1;
}

.ar-checklist-progress {
  font-size: 14px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
}

.ar-checklist-items {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.ar-checklist-item {
  cursor: pointer;
  background: var(--color-paper);
  border-radius: 10px;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  transition: background .2s;
  display: flex;
}

.ar-checklist-item:hover {
  background: #ff7a000d;
}

.ar-checklist-checkbox {
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.ar-checklist-check {
  border: 2px solid var(--color-border-subtle);
  border-radius: 6px;
  flex-shrink: 0;
  place-items: center;
  width: 22px;
  height: 22px;
  transition: all .2s;
  display: grid;
}

.ar-checklist-check--done {
  background: var(--color-orange);
  border-color: var(--color-orange);
}

.ar-checklist-check--done:after {
  content: "✓";
  color: var(--color-ink);
  font-size: 12px;
  font-weight: 700;
}

.ar-checklist-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  transition: all .2s;
}

.ar-checklist-text--done {
  color: var(--color-muted);
  text-decoration: line-through;
}

.ar-author {
  padding: 48px 0;
}

.ar-author-inner {
  max-width: 680px;
  padding: 0 var(--gutter);
  align-items: center;
  gap: 16px;
  margin: 0 auto;
  display: flex;
}

.ar-author-avatar {
  background: var(--color-orange);
  border-radius: 50%;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}

.ar-author-info {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.ar-author-name {
  font-size: 15px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
}

.ar-author-role {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
}

.ar-related {
  padding: 96px 0;
}

.ar-related-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ar-related-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 32px;
  line-height: 1.1;
}

.ar-related-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.ar-related-card {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  text-decoration: none;
  transition: border-color .2s;
  display: flex;
}

.ar-related-card:hover {
  border-color: var(--color-orange);
}

.ar-related-card-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  margin: 0;
}

@media (max-width: 1023px) {
  .ar-hero {
    padding: 120px 0 48px;
  }

  .ar-layout-body {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ar-toc {
    position: static;
  }
}

@media (max-width: 640px) {
  .ar-hero {
    padding: 100px 0 32px;
  }

  .ar-content {
    padding: 32px 0 64px;
  }

  .ar-checklist, .ar-related {
    padding: 64px 0;
  }

  .ar-related-grid {
    grid-template-columns: 1fr;
  }
}

.rc-hero {
  padding: 140px 0 80px;
}

.rc-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rc-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.rc-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.rc-breadcrumb a:hover {
  color: var(--color-orange);
}

.rc-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.rc-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0;
}

.rc-featured {
  padding: 96px 0;
}

.rc-featured-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  grid-template-columns: 1fr 360px;
  align-items: center;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.rc-featured-badge {
  color: var(--color-orange);
  font-size: 12px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 16px;
  padding: 4px 10px;
  display: inline-block;
}

.rc-featured-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.1;
}

.rc-featured-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 12px;
}

.rc-featured-format {
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
}

.rc-featured-form {
  background: var(--color-paper);
  border-radius: 12px;
  flex-direction: column;
  gap: 12px;
  padding: 28px;
  display: flex;
}

.rc-featured-input {
  border: 1px solid var(--color-border-subtle);
  font-size: 15px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  background: none;
  border-radius: 10px;
  outline: none;
  padding: 14px 16px;
  transition: border-color .2s;
}

.rc-featured-input::placeholder {
  color: var(--color-muted);
}

.rc-featured-input:focus {
  border-color: var(--color-orange);
}

.rc-featured-btn {
  text-align: center;
  width: 100%;
}

.rc-featured-success {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-orange);
  text-align: center;
  margin: 0;
}

.rc-library {
  padding: 96px 0;
}

.rc-library-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rc-library-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.rc-resource-card {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  gap: 16px;
  padding: 24px;
  text-decoration: none;
  transition: border-color .2s;
  display: flex;
}

.rc-resource-card:hover {
  border-color: var(--color-orange);
}

.rc-resource-icon {
  background: #ff7a0014;
  border-radius: 10px;
  flex-shrink: 0;
  place-items: center;
  width: 48px;
  height: 48px;
  font-size: 28px;
  display: grid;
}

.rc-resource-body {
  flex: 1;
}

.rc-resource-meta {
  margin-bottom: 8px;
}

.rc-resource-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.rc-resource-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 12px;
  line-height: 1.5;
}

.rc-howto {
  padding: 96px 0;
}

.rc-howto-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.rc-howto-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.rc-howto-card {
  background: var(--color-paper);
  text-align: center;
  border-radius: 12px;
  padding: 28px;
}

.rc-howto-num {
  color: var(--color-orange);
  margin-bottom: 8px;
  font-size: 28px;
  font-weight: 900;
  display: block;
}

.rc-howto-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 6px;
}

.rc-howto-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 1023px) {
  .rc-hero {
    padding: 120px 0 60px;
  }

  .rc-featured-inner {
    grid-template-columns: 1fr;
  }

  .rc-library-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .rc-hero {
    padding: 100px 0 48px;
  }

  .rc-featured, .rc-library {
    padding: 64px 0;
  }

  .rc-library-grid {
    grid-template-columns: 1fr;
  }

  .rc-resource-card {
    flex-direction: column;
  }

  .rc-howto {
    padding: 64px 0;
  }

  .rc-howto-grid {
    grid-template-columns: 1fr;
  }
}

.gk-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.gk-hero {
  padding: 140px 0 80px;
}

.gk-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gk-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.gk-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.gk-breadcrumb a:hover {
  color: var(--color-orange);
}

.gk-hero-content {
  max-width: 720px;
}

.gk-hero-badge {
  color: var(--color-orange);
  font-size: 12px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 20px;
  padding: 4px 10px;
  display: inline-block;
}

.gk-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.gk-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0;
}

.gk-benefits {
  padding: 96px 0;
}

.gk-benefits-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gk-benefits-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.gk-benefits-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.gk-benefits-icon {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.gk-benefits-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.gk-benefits-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.gk-questions {
  padding: 96px 0;
}

.gk-questions-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gk-questions-list {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.gk-questions-item {
  background: var(--color-paper);
  border-radius: 10px;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px;
  display: flex;
}

.gk-questions-num {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: 900;
  font-family: var(--font-display);
  flex-shrink: 0;
  min-width: 24px;
}

.gk-questions-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.gk-trust {
  padding: 96px 0;
}

.gk-trust-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gk-trust-faq {
  flex-direction: column;
  display: flex;
}

.gk-trust-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.gk-trust-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(16px, 2vw, 19px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.gk-trust-trigger:hover {
  color: var(--color-orange);
}

.gk-trust-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.gk-trust-icon--open {
  transform: rotate(45deg);
}

.gk-trust-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.gk-trust-body--open {
  opacity: 1;
  max-height: 300px;
}

.gk-trust-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

@media (max-width: 1023px) {
  .gk-hero {
    padding: 120px 0 60px;
  }
}

@media (max-width: 640px) {
  .gk-hero {
    padding: 100px 0 48px;
  }

  .gk-benefits {
    padding: 64px 0;
  }

  .gk-benefits-grid {
    grid-template-columns: 1fr;
  }

  .gk-questions, .gk-trust {
    padding: 64px 0;
  }
}

.fq-hero {
  padding: 140px 0 60px;
}

.fq-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.fq-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.fq-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.fq-breadcrumb a:hover {
  color: var(--color-orange);
}

.fq-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.fq-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0;
}

.fq-search {
  padding: 0 0 48px;
}

.fq-search-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.fq-search-box {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  max-width: 480px;
  padding: 12px 16px;
  transition: border-color .2s;
  display: flex;
}

.fq-search-box:focus-within {
  border-color: var(--color-orange);
}

.fq-search-icon {
  width: 20px;
  height: 20px;
  color: var(--color-muted);
  flex-shrink: 0;
}

.fq-search-input {
  font-size: 15px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  background: none;
  border: none;
  outline: none;
  flex: 1;
}

.fq-search-input::placeholder {
  color: var(--color-muted);
}

.fq-categories {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  display: flex;
}

.fq-list {
  padding: 48px 0 96px;
}

.fq-list-inner {
  max-width: 800px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.fq-category {
  margin-bottom: 48px;
}

.fq-category:last-child {
  margin-bottom: 0;
}

.fq-category-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  border-bottom: 2px solid var(--color-orange);
  margin: 0 0 16px;
  padding-bottom: 12px;
  display: inline-block;
}

.fq-category-items {
  flex-direction: column;
  display: flex;
}

.fq-item {
  border-bottom: 1px solid var(--color-border-subtle);
}

.fq-trigger {
  width: 100%;
  min-height: 64px;
  font-size: clamp(15px, 2vw, 17px);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  transition: color .2s;
  display: flex;
}

.fq-trigger:hover {
  color: var(--color-orange);
}

.fq-trigger-icon {
  color: var(--color-orange);
  flex-shrink: 0;
  place-items: center;
  width: 32px;
  height: 32px;
  font-size: 24px;
  transition: transform .3s cubic-bezier(.34, 1.56, .64, 1);
  display: grid;
}

.fq-trigger-icon--open {
  transform: rotate(45deg);
}

.fq-body {
  opacity: 0;
  max-height: 0;
  transition: max-height .4s cubic-bezier(.22, 1, .36, 1), opacity .3s;
  overflow: hidden;
}

.fq-body--open {
  opacity: 1;
  max-height: 300px;
}

.fq-body p {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
  padding: 0;
  line-height: 1.6;
}

.fq-conversion {
  background: var(--color-ink);
  padding: 96px 0;
}

.fq-conversion-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.fq-conversion-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.1;
}

.fq-conversion-title .text-orange {
  color: var(--color-orange);
}

.fq-conversion-desc {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  max-width: 500px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.fq-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.fq-conversion .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.fq-conversion .btn-primary:hover {
  background: var(--color-orange-dark);
}

.fq-conversion .btn-secondary {
  color: var(--color-white);
  border: 2px solid #ffffff4d;
}

.fq-conversion .btn-secondary:hover {
  border-color: var(--color-white);
}

@media (max-width: 1023px) {
  .fq-hero {
    padding: 120px 0 48px;
  }
}

@media (max-width: 640px) {
  .fq-hero {
    padding: 100px 0 32px;
  }

  .fq-list {
    padding: 32px 0 64px;
  }

  .fq-conversion {
    padding: 64px 0;
  }

  .fq-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }

  .fq-conversion-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.co-section-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.co-hero {
  padding: 140px 0 80px;
}

.co-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.co-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.co-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.co-breadcrumb a:hover {
  color: var(--color-orange);
}

.co-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.co-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
}

.co-hero-ctas {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.co-form {
  padding: 96px 0;
}

.co-form-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.co-form-layout {
  grid-template-columns: 5fr 7fr;
  align-items: start;
  gap: 48px;
  display: grid;
}

.co-form-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 32px;
  line-height: 1.1;
}

.co-form-steps {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.co-form-step {
  gap: 12px;
  display: flex;
}

.co-form-step-num {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 900;
  display: grid;
}

.co-form-step-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.co-form-container {
  background: var(--color-paper);
  border-radius: 16px;
  padding: 32px;
}

.co-form-form {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.co-form-row {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.co-form-field {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.co-form-label {
  font-size: 12px;
  font-weight: var(--font-weight-black);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.co-form-input {
  border: 1px solid var(--color-border-subtle);
  font-size: 15px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  background: none;
  border-radius: 10px;
  outline: none;
  padding: 12px 14px;
  transition: border-color .2s;
}

.co-form-input::placeholder {
  color: var(--color-muted);
}

.co-form-input:focus {
  border-color: var(--color-orange);
}

.co-form-select {
  appearance: none;
  cursor: pointer;
}

.co-form-textarea {
  resize: vertical;
  min-height: 100px;
}

.co-form-submit {
  align-self: flex-start;
}

.co-form-success {
  text-align: center;
  padding: 48px 0;
}

.co-form-success-icon {
  background: var(--color-orange);
  width: 56px;
  height: 56px;
  color: var(--color-ink);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 700;
  display: inline-flex;
}

.co-form-success-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  margin: 0 0 8px;
}

.co-form-success-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
}

.co-other {
  padding: 96px 0;
}

.co-other-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.co-other-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  display: grid;
}

.co-other-card {
  background: var(--color-paper);
  border: 1px solid var(--color-border-subtle);
  border-radius: 12px;
  flex-direction: column;
  gap: 6px;
  padding: 24px;
  text-decoration: none;
  transition: border-color .2s;
  display: flex;
}

.co-other-card:hover {
  border-color: var(--color-orange);
}

.co-other-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0;
}

.co-other-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  flex: 1;
  margin: 0;
  line-height: 1.5;
}

.co-info {
  background: var(--color-paper);
  padding: 96px 0;
}

.co-info-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.co-info-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  display: grid;
}

.co-info-item {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.co-info-label {
  font-size: 12px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.co-info-value {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  text-decoration: none;
  transition: color .2s;
}

.co-info-value:hover {
  color: var(--color-orange);
}

@media (max-width: 1023px) {
  .co-hero {
    padding: 120px 0 60px;
  }

  .co-form-layout {
    grid-template-columns: 1fr;
  }

  .co-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .co-hero {
    padding: 100px 0 48px;
  }

  .co-hero-ctas {
    flex-direction: column;
    width: 100%;
  }

  .co-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .co-form {
    padding: 64px 0;
  }

  .co-form-row {
    grid-template-columns: 1fr;
  }

  .co-other {
    padding: 64px 0;
  }

  .co-other-grid {
    grid-template-columns: 1fr;
  }

  .co-info {
    padding: 64px 0;
  }

  .co-info-grid {
    grid-template-columns: 1fr;
  }
}

.sp-hero {
  padding: 140px 0 60px;
}

.sp-hero-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.sp-breadcrumb {
  color: var(--color-muted);
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.sp-breadcrumb a {
  color: var(--color-muted);
  text-decoration: none;
  transition: color .2s;
}

.sp-breadcrumb a:hover {
  color: var(--color-orange);
}

.sp-hero-badge {
  color: var(--color-orange);
  font-size: 12px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 20px;
  padding: 4px 10px;
  display: inline-block;
}

.sp-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.1;
}

.sp-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  max-width: 600px;
  margin: 0;
}

.sp-form {
  padding: 64px 0 96px;
}

.sp-form-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.sp-form-layout {
  grid-template-columns: 4fr 8fr;
  align-items: start;
  gap: 48px;
  display: grid;
}

.sp-form-sidebar {
  background: var(--color-paper);
  border-radius: 16px;
  padding: 28px;
  position: sticky;
  top: 120px;
}

.sp-form-sidebar-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 12px;
}

.sp-form-sidebar-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 24px;
  line-height: 1.5;
}

.sp-form-sidebar-links {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.sp-form-sidebar-links .btn-base {
  text-align: center;
  width: 100%;
}

.sp-stepper {
  align-items: center;
  gap: 0;
  margin-bottom: 32px;
  display: flex;
}

.sp-step {
  align-items: center;
  gap: 8px;
  display: flex;
}

.sp-step-num {
  border: 2px solid var(--color-border-subtle);
  width: 28px;
  height: 28px;
  color: var(--color-muted);
  border-radius: 50%;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  transition: all .2s;
  display: grid;
}

.sp-step--active .sp-step-num {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-ink);
}

.sp-step-label {
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.sp-step--active .sp-step-label {
  color: var(--color-ink);
}

.sp-step-line {
  background: var(--color-border-subtle);
  flex: 1;
  height: 2px;
  margin: 0 16px;
}

.sp-form-form {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.sp-form-submit {
  align-self: flex-start;
}

.sp-form-buttons {
  gap: 12px;
  display: flex;
}

.sp-consent {
  cursor: pointer;
  align-items: flex-start;
  gap: 10px;
  padding: 8px 0;
  display: flex;
}

.sp-consent-checkbox {
  width: 18px;
  height: 18px;
  accent-color: var(--color-orange);
  flex-shrink: 0;
  margin-top: 2px;
}

.sp-consent-text {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  line-height: 1.5;
}

.sp-form-success {
  text-align: center;
  padding: 64px 0;
}

.sp-form-success-icon {
  background: var(--color-orange);
  width: 64px;
  height: 64px;
  color: var(--color-ink);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: 700;
  display: inline-flex;
}

.sp-form-success-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  margin: 0 0 12px;
}

.sp-form-success-text {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  max-width: 420px;
  margin: 0 auto;
  line-height: 1.6;
}

@media (max-width: 1023px) {
  .sp-hero {
    padding: 120px 0 48px;
  }

  .sp-form-layout {
    grid-template-columns: 1fr;
  }

  .sp-form-sidebar {
    position: static;
  }
}

@media (max-width: 640px) {
  .sp-hero {
    padding: 100px 0 32px;
  }

  .sp-form {
    padding: 48px 0 64px;
  }

  .sp-form-buttons {
    flex-direction: column;
  }

  .sp-form-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.ag-hero {
  min-height: 70dvh;
  padding: 120px var(--gutter) 64px;
  color: var(--color-white);
  background-image: linear-gradient(#0a0c0ed9, #0a0c0ed9), url("/images/cta/cta-band.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.ag-hero-inner {
  width: 100%;
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ag-breadcrumb {
  color: #ffffffb3;
  align-items: center;
  gap: 8px;
  margin-bottom: 32px;
  font-size: 13px;
  display: flex;
}

.ag-breadcrumb a {
  color: #ffffffb3;
  text-decoration: none;
  transition: color .2s;
}

.ag-breadcrumb a:hover {
  color: var(--color-orange);
}

.ag-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  margin: 0 0 20px;
  line-height: 1.08;
}

.ag-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: #fffc;
  max-width: 560px;
  margin: 0 0 12px;
}

.ag-hero-micro {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: #ffffffb3;
  margin: 0;
  font-style: italic;
}

.ag-booking {
  background: var(--color-paper);
  padding: 96px 0;
}

.ag-booking-inner {
  width: 100%;
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ag-booking-card {
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: 20px;
  max-width: 960px;
  margin: 0 auto;
  padding: 48px 44px;
  box-shadow: 0 24px 60px -30px #0a0c0e40;
}

.ag-booking-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.ag-booking-step {
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 28px;
  display: flex;
}

.ag-booking-step-num {
  background: var(--color-orange);
  width: 32px;
  height: 32px;
  color: var(--color-ink);
  font-size: 15px;
  font-weight: var(--font-weight-black);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  line-height: 1;
  display: grid;
}

.ag-booking-step-head {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.ag-booking-step-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  margin: 0;
}

.ag-booking-step-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.ag-calendar-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 40px;
  display: grid;
}

.ag-calendar-main {
  flex-direction: column;
  display: flex;
}

.ag-calendar-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  display: flex;
}

.ag-calendar-nav {
  border: 1px solid var(--color-border-subtle);
  cursor: pointer;
  width: 36px;
  height: 36px;
  color: var(--color-ink);
  background: none;
  border-radius: 8px;
  place-items: center;
  font-size: 16px;
  transition: border-color .2s;
  display: grid;
}

.ag-calendar-nav:hover {
  border-color: var(--color-orange);
}

.ag-calendar-month {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  margin: 0;
}

.ag-calendar-days {
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  display: grid;
}

.ag-calendar-day-name {
  font-size: 11px;
  font-weight: var(--font-weight-black);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  text-align: center;
  padding: 8px 0;
}

.ag-calendar-day {
  aspect-ratio: 1;
  font-size: 14px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  background: none;
  border: 1px solid #0000;
  border-radius: 8px;
  place-items: center;
  transition: all .2s;
  display: grid;
}

.ag-calendar-day:hover:not(.ag-calendar-day--disabled):not(.ag-calendar-day--empty) {
  border-color: var(--color-orange);
}

.ag-calendar-day--selected {
  background: var(--color-orange);
  color: var(--color-ink);
  font-weight: var(--font-weight-black);
}

.ag-calendar-day--disabled {
  opacity: .3;
  cursor: not-allowed;
}

.ag-calendar-day--empty {
  cursor: default;
}

.ag-calendar-side {
  flex-direction: column;
  display: flex;
}

.ag-calendar-hours {
  border-left: 1px solid var(--color-border-subtle);
  padding-left: 40px;
}

.ag-calendar-hours-title {
  font-size: 14px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin: 0 0 16px;
}

.ag-calendar-hours-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  display: grid;
}

.ag-calendar-hour {
  border: 1px solid var(--color-border-subtle);
  font-size: 14px;
  font-family: var(--font-sans);
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  cursor: pointer;
  text-align: center;
  background: none;
  border-radius: 8px;
  padding: 10px 8px;
  transition: all .2s;
}

.ag-calendar-hour:hover:not(.ag-calendar-hour--unavailable) {
  border-color: var(--color-orange);
}

.ag-calendar-hour--selected {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-ink);
  font-weight: var(--font-weight-black);
}

.ag-calendar-hour--unavailable {
  opacity: .4;
  cursor: not-allowed;
  background: repeating-linear-gradient(-45deg, #0000 0 6px, #0a0c0e0d 6px 12px);
  text-decoration: line-through;
}

.ag-calendar-hour--unavailable.ag-calendar-hour--selected {
  background: var(--color-orange);
  opacity: 1;
  text-decoration: none;
}

.ag-calendar-legend {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin: 16px 0 0;
  display: flex;
}

.ag-legend-dot {
  vertical-align: middle;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  display: inline-block;
}

.ag-legend-dot--on {
  background: var(--color-orange);
}

.ag-legend-dot--off {
  background: #0a0c0e40;
}

.ag-calendar-empty {
  min-height: 220px;
  font-size: 16px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  text-align: center;
  justify-content: center;
  align-items: center;
  margin: 0;
  line-height: 1.6;
  display: flex;
}

.ag-booking-connector {
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
  align-items: center;
  gap: 12px;
  margin: 44px 0 40px;
  font-size: 13px;
  display: flex;
}

.ag-booking-connector:before, .ag-booking-connector:after {
  content: "";
  background: var(--color-border-subtle);
  flex: 1;
  height: 1px;
}

.ag-booking-connector-dot {
  font-size: 18px;
  line-height: 1;
}

.ag-form-form {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.ag-booking-submit {
  align-self: flex-start;
  margin-top: 8px;
}

.ag-booking-error {
  color: #b3341f;
  font-size: 14px;
  font-weight: var(--font-weight-light);
  background: #dc3c281a;
  border: 1px solid #dc3c284d;
  border-radius: 8px;
  margin: 0;
  padding: 12px 16px;
  line-height: 1.5;
}

.ag-booking-confirm {
  text-align: center;
}

.ag-form-success-icon {
  background: var(--color-orange);
  width: 64px;
  height: 64px;
  color: var(--color-ink);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: 700;
  display: inline-flex;
}

.ag-form-success-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  margin: 0 0 12px;
}

.ag-form-success-text {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  max-width: 420px;
  margin: 0 auto 32px;
  line-height: 1.6;
}

.ag-summary {
  border: 1px solid var(--color-border-subtle);
  text-align: left;
  border-radius: 12px;
  max-width: 480px;
  margin: 0 auto 32px;
  overflow: hidden;
}

.ag-summary-row {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  font-size: 15px;
  display: flex;
}

.ag-summary-row + .ag-summary-row {
  border-top: 1px solid var(--color-border-subtle);
}

.ag-summary-row span {
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
}

.ag-summary-row strong {
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  text-align: right;
}

.ag-summary-reset {
  margin: 0 auto;
}

.ag-what {
  padding: 96px 0;
}

.ag-what-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ag-what-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 40px;
  line-height: 1.1;
}

.ag-what-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.ag-what-card {
  background: var(--color-paper);
  border-radius: 12px;
  padding: 28px;
}

.ag-what-label {
  font-size: 12px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 8px;
  display: block;
}

.ag-what-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.6;
}

@media (max-width: 1023px) {
  .ag-hero {
    padding: 100px var(--gutter) 48px;
  }
}

@media (max-width: 760px) {
  .ag-booking {
    padding: 64px 0;
  }

  .ag-booking-card {
    padding: 32px 24px;
  }

  .ag-calendar-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ag-calendar-hours {
    border-left: none;
    border-top: 1px solid var(--color-border-subtle);
    padding-top: 28px;
    padding-left: 0;
  }
}

@media (max-width: 640px) {
  .ag-hero {
    padding: 80px var(--gutter) 32px;
  }

  .ag-calendar-hours-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ag-booking .co-form-row {
    grid-template-columns: 1fr;
  }

  .ag-booking-submit {
    text-align: center;
    width: 100%;
  }

  .ag-what {
    padding: 64px 0;
  }

  .ag-what-grid {
    grid-template-columns: 1fr;
  }
}

.gt-hero {
  text-align: center;
  padding: 180px 0 120px;
}

.gt-hero-inner {
  max-width: 600px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gt-hero-badge {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 6px 14px;
  display: inline-block;
}

.gt-hero-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 52px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.gt-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 32px;
}

.gt-hero-ctas {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 64px;
  display: flex;
}

.gt-steps {
  text-align: left;
  flex-direction: column;
  gap: 16px;
  max-width: 400px;
  margin: 0 auto;
  display: flex;
}

.gt-step {
  gap: 12px;
  display: flex;
}

.gt-step-num {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  display: grid;
}

.gt-step-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

@media (max-width: 640px) {
  .gt-hero {
    padding: 140px 0 80px;
  }

  .gt-hero-ctas {
    flex-direction: column;
    align-items: center;
  }

  .gt-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }
}

.gr-hero {
  text-align: center;
  padding: 180px 0 120px;
}

.gr-hero-inner {
  max-width: 600px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.gr-hero-badge {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 6px 14px;
  display: inline-block;
}

.gr-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.gr-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 32px;
}

.gr-hero-ctas {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-bottom: 64px;
  display: flex;
}

.gr-summary {
  background: var(--color-paper);
  text-align: left;
  border-radius: 16px;
  margin-bottom: 48px;
  padding: 28px;
}

.gr-summary-item {
  border-bottom: 1px solid var(--color-border-subtle);
  justify-content: space-between;
  padding: 10px 0;
  display: flex;
}

.gr-summary-item:last-child {
  border-bottom: none;
}

.gr-summary-label {
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-muted);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.gr-summary-value {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
}

.gr-prep {
  text-align: left;
  margin-bottom: 48px;
}

.gr-prep-title {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  margin: 0 0 8px;
}

.gr-prep-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 20px;
}

.gr-prep-list {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.gr-prep-item {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  align-items: flex-start;
  gap: 10px;
  display: flex;
}

.gr-prep-check {
  background: var(--color-orange);
  width: 22px;
  height: 22px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 700;
  display: grid;
}

.gr-hero-footer {
  border-top: 1px solid var(--color-border-subtle);
  padding-top: 32px;
}

@media (max-width: 640px) {
  .gr-hero {
    padding: 140px 0 80px;
  }

  .gr-hero-ctas {
    flex-direction: column;
    align-items: center;
  }

  .gr-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .gr-summary-item {
    flex-direction: column;
    gap: 2px;
  }
}

.lp-hero {
  text-align: center;
  background: var(--color-paper);
  padding: 160px 0 80px;
}

.lp-hero-inner {
  max-width: 720px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.lp-hero-badge {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 6px 14px;
  display: inline-block;
}

.lp-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.lp-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 32px;
}

.lp-hero-cta {
  display: inline-block;
}

.lp-offer {
  padding: 96px 0;
}

.lp-offer-inner {
  max-width: 600px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.lp-offer-card {
  background: var(--color-paper);
  text-align: center;
  border: 2px solid var(--color-orange);
  border-radius: 16px;
  padding: 40px;
}

.lp-offer-badge {
  background: var(--color-orange);
  color: var(--color-ink);
  font-size: 12px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  border-radius: 999px;
  margin-bottom: 16px;
  padding: 4px 10px;
  display: inline-block;
}

.lp-offer-title {
  font-family: var(--font-display);
  font-size: clamp(24px, 3vw, 32px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 12px;
  line-height: 1.1;
}

.lp-offer-desc {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 16px;
  line-height: 1.6;
}

.lp-offer-price {
  color: var(--color-orange);
  font-size: 22px;
  font-weight: 900;
}

.lp-benefits {
  padding: 96px 0;
}

.lp-benefits-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.lp-benefits-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  text-align: center;
  margin: 0 0 40px;
  line-height: 1.1;
}

.lp-benefits-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  display: grid;
}

.lp-benefits-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  display: flex;
}

.lp-benefits-check {
  background: var(--color-orange);
  width: 28px;
  height: 28px;
  color: var(--color-ink);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
  display: grid;
}

.lp-benefits-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.lp-benefits-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.lp-form {
  background: var(--color-ink);
  padding: 96px 0;
}

.lp-form-inner {
  max-width: 720px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.lp-form-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-white);
  text-align: center;
  margin: 0 0 32px;
  line-height: 1.1;
}

.lp-form-title .text-orange {
  color: var(--color-orange);
}

.lp-form-form {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.lp-form-form .co-form-label {
  color: #fff9;
}

.lp-form-form .co-form-input {
  color: var(--color-white);
  border-color: #fff3;
}

.lp-form-form .co-form-input::placeholder {
  color: #fff6;
}

.lp-form-form .co-form-input:focus {
  border-color: var(--color-orange);
}

.lp-form-form .co-form-select {
  appearance: none;
}

.lp-form-form .sp-consent-text {
  color: #fff9;
}

.lp-form-submit {
  align-self: flex-start;
}

.lp-form .btn-primary {
  background: var(--color-orange);
  color: var(--color-ink);
}

.lp-form .btn-primary:hover {
  background: var(--color-orange-dark);
}

.lp-form-success {
  text-align: center;
  padding: 64px 0;
}

.lp-form-success-icon {
  background: var(--color-orange);
  width: 64px;
  height: 64px;
  color: var(--color-ink);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
  font-size: 28px;
  font-weight: 700;
  display: inline-flex;
}

.lp-form-success-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: var(--font-weight-black);
  color: var(--color-white);
  margin: 0 0 12px;
}

.lp-form-success-text {
  font-size: 17px;
  font-weight: var(--font-weight-light);
  color: #fffc;
  margin: 0;
  line-height: 1.6;
}

@media (max-width: 1023px) {
  .lp-hero {
    padding: 140px 0 60px;
  }
}

@media (max-width: 640px) {
  .lp-hero {
    padding: 120px 0 48px;
  }

  .lp-offer, .lp-benefits {
    padding: 64px 0;
  }

  .lp-benefits-grid {
    grid-template-columns: 1fr;
  }

  .lp-form {
    padding: 64px 0;
  }

  .lp-form .co-form-row {
    grid-template-columns: 1fr;
  }

  .lp-form-submit {
    text-align: center;
    width: 100%;
  }
}

.ind-hero {
  text-align: center;
  background: var(--color-paper);
  padding: 180px 0 120px;
}

.ind-hero-inner {
  max-width: 720px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ind-hero-badge {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 6px 14px;
  display: inline-block;
}

.ind-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.ind-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 32px;
}

.ind-hero-ctas {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.ind-retos {
  padding: 96px 0;
}

.ind-retos-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ind-retos-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  text-align: center;
  margin: 0 0 40px;
  line-height: 1.1;
}

.ind-retos-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  display: grid;
}

.ind-retos-card {
  background: var(--color-paper);
  border-radius: 12px;
  align-items: flex-start;
  gap: 14px;
  padding: 28px;
  display: flex;
}

.ind-retos-num {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
  flex-shrink: 0;
  line-height: 1;
}

.ind-retos-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-ink);
  margin: 0;
  line-height: 1.5;
}

.ind-ruta {
  padding: 96px 0;
}

.ind-ruta-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.ind-ruta-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  text-align: center;
  margin: 0 0 40px;
  line-height: 1.1;
}

.ind-ruta-steps {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
  display: flex;
}

.ind-ruta-step {
  background: var(--color-paper);
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  display: flex;
}

.ind-ruta-step-num {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  color: var(--color-orange);
}

.ind-ruta-step-title {
  font-size: 15px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0;
}

.ind-ruta-arrow {
  color: var(--color-muted);
  font-size: 18px;
}

@media (max-width: 1023px) {
  .ind-hero {
    padding: 140px 0 80px;
  }
}

@media (max-width: 640px) {
  .ind-hero {
    padding: 120px 0 64px;
  }

  .ind-hero-ctas {
    flex-direction: column;
    align-items: center;
  }

  .ind-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .ind-retos {
    padding: 64px 0;
  }

  .ind-retos-grid {
    grid-template-columns: 1fr;
  }

  .ind-ruta {
    padding: 64px 0;
  }

  .ind-ruta-steps {
    flex-direction: column;
    align-items: stretch;
  }

  .ind-ruta-arrow {
    text-align: center;
    transform: rotate(90deg);
  }
}

.lg-hero {
  text-align: center;
  background: var(--color-paper);
  padding: 180px 0 48px;
}

.lg-hero-inner {
  max-width: 720px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.lg-hero-badge {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 6px 14px;
  display: inline-block;
}

.lg-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.08;
}

.lg-hero-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.lg-content {
  max-width: var(--layout-page);
  padding: 48px var(--gutter) 96px;
  grid-template-columns: 200px 1fr;
  gap: 48px;
  margin: 0 auto;
  display: grid;
}

.lg-toc {
  align-self: start;
  position: sticky;
  top: 100px;
}

.lg-toc-title {
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--color-muted);
  margin: 0 0 12px;
}

.lg-toc-list {
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.lg-toc-item {
  border-left: 2px solid #0000;
  padding-left: 12px;
}

.lg-toc-item--active {
  border-left-color: var(--color-orange);
}

.lg-toc-link {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  text-decoration: none;
  transition: color .15s;
}

.lg-toc-link:hover {
  color: var(--color-ink);
}

.lg-toc-item--active .lg-toc-link {
  color: var(--color-ink);
  font-weight: var(--font-weight-black);
}

.lg-sections {
  flex-direction: column;
  gap: 40px;
  display: flex;
}

.lg-section {
  scroll-margin-top: 100px;
}

.lg-section-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 12px;
}

.lg-section-text {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.7;
}

@media (max-width: 767px) {
  .lg-hero {
    padding: 140px 0 32px;
  }

  .lg-content {
    padding: 32px var(--gutter) 64px;
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .lg-toc {
    position: static;
  }

  .lg-toc-list {
    flex-flow: wrap;
    gap: 8px;
  }

  .lg-toc-item {
    border-bottom: 2px solid #0000;
    border-left: none;
    padding-bottom: 4px;
    padding-left: 0;
  }

  .lg-toc-item--active {
    border-bottom-color: var(--color-orange);
  }
}

.e404-hero {
  text-align: center;
  background: var(--color-paper);
  padding: 180px 0 120px;
}

.e404-hero-inner {
  max-width: 720px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.e404-hero-badge {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 6px 14px;
  display: inline-block;
}

.e404-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.e404-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 32px;
}

.e404-hero-ctas {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.e404-routes {
  padding: 96px 0;
}

.e404-routes-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.e404-routes-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  text-align: center;
  margin: 0 0 40px;
  line-height: 1.1;
}

.e404-routes-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  display: grid;
}

.e404-routes-card {
  background: var(--color-paper);
  border: 1px solid #0000;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
  display: flex;
}

.e404-routes-card:hover {
  border-color: var(--color-orange);
  box-shadow: var(--shadow-card-hover);
}

.e404-routes-label {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  letter-spacing: -.01em;
}

.e404-routes-arrow {
  color: var(--color-orange);
  font-size: 18px;
}

@media (max-width: 1023px) {
  .e404-hero {
    padding: 140px 0 80px;
  }

  .e404-routes-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .e404-hero {
    padding: 120px 0 64px;
  }

  .e404-hero-ctas {
    flex-direction: column;
    align-items: center;
  }

  .e404-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .e404-routes {
    padding: 64px 0;
  }

  .e404-routes-grid {
    grid-template-columns: 1fr;
  }
}

.sr-hero {
  text-align: center;
  background: var(--color-paper);
  padding: 180px 0 48px;
}

.sr-hero-inner {
  max-width: 720px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.sr-hero-badge {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 6px 14px;
  display: inline-block;
}

.sr-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.08;
}

.sr-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0;
}

.sr-content {
  max-width: var(--layout-page);
  padding: 0 var(--gutter) 96px;
  margin: 0 auto;
}

.sr-search {
  gap: 8px;
  margin-bottom: 24px;
  display: flex;
}

.sr-search-input {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: var(--font-weight-light);
  border: 1px solid var(--color-border-subtle);
  background: var(--color-white);
  color: var(--color-ink);
  border-radius: 10px;
  outline: none;
  flex: 1;
  padding: 14px 16px;
  transition: border-color .15s;
}

.sr-search-input:focus {
  border-color: var(--color-orange);
}

.sr-search-btn {
  flex-shrink: 0;
}

.sr-filters {
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
  display: flex;
}

.sr-filter-btn {
  border: 1px solid var(--color-border-subtle);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .02em;
  color: var(--color-muted);
  cursor: pointer;
  background: none;
  border-radius: 999px;
  padding: 8px 16px;
  transition: all .15s;
}

.sr-filter-btn:hover {
  border-color: var(--color-ink);
  color: var(--color-ink);
}

.sr-filter-btn--active {
  background: var(--color-ink);
  color: var(--color-white);
  border-color: var(--color-ink);
}

.sr-count {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 24px;
}

.sr-results {
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  display: grid;
}

.sr-result-card {
  background: var(--color-paper);
  border: 1px solid #0000;
  border-radius: 12px;
  flex-direction: column;
  gap: 8px;
  padding: 24px;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
  display: flex;
}

.sr-result-card:hover {
  border-color: var(--color-orange);
  box-shadow: var(--shadow-card-hover);
}

.sr-result-type {
  font-size: 11px;
  font-weight: var(--font-weight-black);
  letter-spacing: .04em;
  text-transform: uppercase;
  border-radius: 6px;
  width: fit-content;
  padding: 3px 8px;
  display: inline-block;
}

.sr-type-sv {
  color: var(--color-orange);
  background: #ff7a001a;
}

.sr-type-cx {
  color: #3b82f6;
  background: #3b82f61a;
}

.sr-type-ar {
  color: #10b981;
  background: #10b9811a;
}

.sr-type-rc {
  color: #8b5cf6;
  background: #8b5cf61a;
}

.sr-type-pg {
  color: #6b7280;
  background: #6b72801a;
}

.sr-result-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.01em;
  color: var(--color-ink);
  margin: 0;
}

.sr-result-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.sr-empty {
  text-align: center;
  padding: 64px 0;
}

.sr-empty-text {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  margin: 0 0 8px;
}

.sr-empty-hint {
  font-size: 15px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0 0 24px;
}

@media (max-width: 1023px) {
  .sr-hero {
    padding: 140px 0 32px;
  }

  .sr-results {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .sr-hero {
    padding: 120px 0 24px;
  }

  .sr-search {
    flex-direction: column;
  }

  .sr-results {
    grid-template-columns: 1fr;
  }
}

.ck-overlay {
  z-index: 9999;
  pointer-events: none;
  justify-content: center;
  padding: 16px;
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
}

.ck-modal {
  pointer-events: auto;
  background: var(--color-white);
  border: 1px solid var(--color-border-subtle);
  border-radius: 16px;
  width: 100%;
  max-width: 560px;
  padding: 20px;
  box-shadow: 0 8px 32px #0000001f;
}

.ck-header {
  gap: 10px;
  margin-bottom: 12px;
  display: flex;
}

.ck-icon {
  flex-shrink: 0;
  margin-top: 1px;
  font-size: 20px;
}

.ck-title {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 4px;
}

.ck-desc {
  font-size: 13px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.4;
}

.ck-details {
  background: var(--color-paper);
  border-radius: 10px;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
  padding: 12px;
  display: flex;
}

.ck-detail-row {
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.ck-detail-label {
  font-size: 14px;
  font-weight: var(--font-weight-black);
  color: var(--color-ink);
  display: block;
}

.ck-detail-hint {
  font-size: 12px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
}

.ck-toggle {
  background: var(--color-border-subtle);
  cursor: pointer;
  border: none;
  border-radius: 12px;
  flex-shrink: 0;
  width: 44px;
  height: 24px;
  padding: 0;
  transition: background .2s;
  position: relative;
}

.ck-toggle--on {
  background: var(--color-orange);
}

.ck-toggle--locked {
  opacity: .6;
  cursor: default;
}

.ck-toggle-knob {
  background: var(--color-white);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  transition: transform .2s;
  position: absolute;
  top: 2px;
  left: 2px;
  box-shadow: 0 1px 3px #0000001a;
}

.ck-toggle--on .ck-toggle-knob {
  transform: translateX(20px);
}

.ck-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.ck-btn {
  flex-shrink: 0;
  border-radius: 10px !important;
  min-height: auto !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
}

.ck-details-btn {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  color: var(--color-muted);
  cursor: pointer;
  text-underline-offset: 3px;
  background: none;
  border: none;
  text-decoration: underline;
}

.ck-details-btn:hover {
  color: var(--color-ink);
}

@media (max-width: 640px) {
  .ck-overlay {
    padding: 8px;
  }

  .ck-modal {
    padding: 16px;
  }

  .ck-actions {
    flex-direction: column;
  }

  .ck-actions .btn-base {
    text-align: center;
    width: 100%;
  }
}

.en-hero {
  text-align: center;
  background: var(--color-paper);
  padding: 180px 0 120px;
}

.en-hero-inner {
  max-width: 720px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.en-hero-badge {
  color: var(--color-orange);
  font-size: 13px;
  font-weight: var(--font-weight-black);
  letter-spacing: .03em;
  text-transform: uppercase;
  background: #ff7a001a;
  border-radius: 999px;
  margin-bottom: 24px;
  padding: 6px 14px;
  display: inline-block;
}

.en-hero-title {
  font-family: var(--font-display);
  font-size: clamp(32px, 5vw, 48px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  line-height: 1.08;
}

.en-hero-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 32px;
}

.en-hero-ctas {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

.en-services {
  padding: 96px 0;
}

.en-services-inner {
  max-width: var(--layout-page);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.en-services-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  text-align: center;
  margin: 0 0 40px;
  line-height: 1.1;
}

.en-services-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  display: grid;
}

.en-services-card {
  background: var(--color-paper);
  border: 1px solid #0000;
  border-radius: 12px;
  flex-direction: column;
  gap: 8px;
  padding: 28px;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
  display: flex;
}

.en-services-card:hover {
  border-color: var(--color-orange);
  box-shadow: var(--shadow-card-hover);
}

.en-services-card-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: var(--font-weight-black);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0;
}

.en-services-card-desc {
  font-size: 14px;
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  margin: 0;
  line-height: 1.5;
}

.en-services-card-arrow {
  color: var(--color-orange);
  margin-top: auto;
  font-size: 18px;
}

.en-cta {
  text-align: center;
  background: var(--color-paper);
  padding: 96px 0;
}

.en-cta-inner {
  max-width: 600px;
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.en-cta-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: var(--font-weight-black);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 16px;
  line-height: 1.1;
}

.en-cta-desc {
  font-size: var(--type-body-size);
  font-weight: var(--font-weight-light);
  line-height: var(--type-body-lh);
  color: var(--color-muted);
  margin: 0 0 32px;
}

.en-cta-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  display: flex;
}

@media (max-width: 1023px) {
  .en-hero {
    padding: 140px 0 80px;
  }

  .en-services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .en-hero {
    padding: 120px 0 64px;
  }

  .en-hero-ctas {
    flex-direction: column;
    align-items: center;
  }

  .en-hero-ctas .btn-base {
    text-align: center;
    width: 100%;
  }

  .en-services {
    padding: 64px 0;
  }

  .en-services-grid {
    grid-template-columns: 1fr;
  }

  .en-cta {
    padding: 64px 0;
  }

  .en-cta-buttons {
    flex-direction: column;
    align-items: center;
  }

  .en-cta-buttons .btn-base {
    text-align: center;
    width: 100%;
  }
}

.pt-hero {
  background: var(--color-paper);
  padding: 140px 0 48px;
}

.pt-hero-inner {
  max-width: var(--layout-wide);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pt-hero-title {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  font-size: clamp(40px, 5.5vw, 79px);
  font-weight: 900;
  line-height: .95;
}

.pt-hero-desc {
  font-family: var(--font-sans);
  color: var(--color-ink);
  max-width: 640px;
  margin: 0;
  font-size: 19px;
  font-weight: 300;
  line-height: 1.47;
}

.pt-filters {
  background: var(--color-paper);
  padding: 0 0 32px;
}

.pt-filters-inner {
  max-width: var(--layout-wide);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pt-filters-group {
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.pt-filters-label {
  font-family: var(--font-sans);
  letter-spacing: 2.1px;
  text-transform: uppercase;
  color: var(--color-muted);
  min-width: 70px;
  font-size: 12px;
  font-weight: 700;
}

.pt-filters-chips {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.pt-chip {
  font-family: var(--font-sans);
  letter-spacing: .5px;
  border: 1px solid var(--color-border-subtle);
  color: var(--color-muted);
  cursor: pointer;
  background: none;
  border-radius: 9999px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
  transition: all .2s;
}

.pt-chip:hover {
  border-color: var(--color-orange);
  color: var(--color-orange);
}

.pt-chip--active {
  background: var(--color-orange);
  border-color: var(--color-orange);
  color: var(--color-white);
}

.pt-filters-clear {
  font-family: var(--font-sans);
  color: var(--color-muted);
  cursor: pointer;
  text-underline-offset: 3px;
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 700;
  text-decoration: underline;
}

.pt-filters-clear:hover {
  color: var(--color-orange);
}

.pt-masonry {
  background: var(--color-paper);
  padding: 0 0 96px;
}

.pt-masonry-inner {
  max-width: var(--layout-wide);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pt-masonry-grid {
  grid-template-columns: repeat(12, 1fr);
  grid-auto-flow: dense;
  gap: 20px;
  display: grid;
}

.pt-card--large {
  grid-column: span 8;
  height: 600px;
}

.pt-card--small {
  grid-column: span 4;
  height: 600px;
}

.pt-card--medium {
  grid-column: span 6;
  height: 500px;
}

.pt-card--full {
  grid-column: span 12;
  height: 500px;
}

.pt-card--trio {
  grid-column: span 4;
  height: 400px;
}

.pt-card {
  background: var(--color-surface-dark);
  border-radius: 12px;
  text-decoration: none;
  display: block;
  position: relative;
  overflow: hidden;
}

.pt-card-visual {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.pt-card-visual-inner {
  background: linear-gradient(135deg, var(--color-surface-dark), var(--color-ink));
  width: 100%;
  height: 100%;
  transition: transform .7s cubic-bezier(.25, .46, .45, .94);
  position: relative;
  overflow: hidden;
}

.pt-card:hover .pt-card-visual-inner {
  transform: scale(1.05);
}

.pt-card-overlay {
  opacity: 0;
  background: linear-gradient(to top, #000000d9 0%, #0003 40%, #0000 100%);
  flex-direction: column;
  justify-content: flex-end;
  padding: 32px;
  transition: opacity .5s;
  display: flex;
  position: absolute;
  inset: 0;
}

.pt-card:hover .pt-card-overlay {
  opacity: 1;
}

.pt-card-overlay-content {
  transition: transform .5s;
  transform: translateY(16px);
}

.pt-card:hover .pt-card-overlay-content {
  transform: translateY(0);
}

.pt-card-tag {
  font-family: var(--font-sans);
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 1px solid var(--color-orange);
  background: var(--color-orange);
  color: var(--color-white);
  border-radius: 9999px;
  margin-bottom: 12px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.pt-card-title {
  font-family: var(--font-display);
  color: var(--color-white);
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.pt-empty {
  text-align: center;
  padding: 80px 0;
}

.pt-empty-text {
  font-family: var(--font-sans);
  color: var(--color-muted);
  margin: 0 0 24px;
  font-size: 18px;
  font-weight: 300;
}

.pt-load-more {
  justify-content: center;
  margin-top: 64px;
  display: flex;
}

.pt-load-more-btn {
  border: 1px solid var(--color-border-subtle);
  background: var(--color-white);
  cursor: pointer;
  border-radius: 9999px;
  align-items: center;
  gap: 16px;
  padding: 20px 48px;
  transition: all .3s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.pt-load-more-btn:before {
  content: "";
  background: var(--color-ink);
  transition: transform .3s;
  position: absolute;
  inset: 0;
  transform: translateY(100%);
}

.pt-load-more-btn:hover:before {
  transform: translateY(0);
}

.pt-load-more-text {
  font-family: var(--font-sans);
  text-transform: uppercase;
  letter-spacing: 1.3px;
  color: var(--color-ink);
  z-index: 1;
  font-size: 14px;
  font-weight: 700;
  transition: color .3s;
  position: relative;
}

.pt-load-more-btn:hover .pt-load-more-text {
  color: var(--color-white);
}

.pt-load-more-icon {
  color: var(--color-orange);
  z-index: 1;
  font-size: 20px;
  transition: color .3s;
  position: relative;
}

.pt-social-proof {
  background: var(--color-paper);
  padding: 96px 0;
}

.pt-social-proof-inner {
  max-width: var(--layout-wide);
  padding: 0 var(--gutter);
  margin: 0 auto;
}

.pt-social-proof-title {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--color-ink);
  margin: 0 0 48px;
  font-size: clamp(32px, 4vw, 55px);
  font-weight: 900;
  line-height: 1.1;
}

.pt-social-proof-logos {
  flex-wrap: wrap;
  align-items: center;
  gap: 32px;
  display: flex;
}

.pt-social-proof-logo {
  font-family: var(--font-sans);
  color: var(--color-muted);
  letter-spacing: 1.3px;
  font-size: 16px;
  font-weight: 300;
}

.pt-conversion {
  background: var(--color-surface-dark);
  padding: 96px 0;
}

.pt-conversion-inner {
  max-width: var(--layout-wide);
  padding: 0 var(--gutter);
  text-align: center;
  margin: 0 auto;
}

.pt-conversion-title {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--color-white);
  margin: 0 0 20px;
  font-size: clamp(32px, 4vw, 55px);
  font-weight: 900;
  line-height: 1.1;
}

.pt-conversion-desc {
  font-family: var(--font-sans);
  color: #ffffffbf;
  max-width: 640px;
  margin: 0 auto 32px;
  font-size: 19px;
  font-weight: 300;
  line-height: 1.47;
}

.pt-conversion-buttons {
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  display: flex;
}

@media (max-width: 1024px) {
  .pt-card--large, .pt-card--small, .pt-card--medium, .pt-card--full, .pt-card--trio {
    grid-column: span 6;
    height: 400px;
  }

  .pt-masonry-grid {
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .pt-hero {
    padding: 120px 0 32px;
  }

  .pt-card--large, .pt-card--small, .pt-card--medium, .pt-card--full, .pt-card--trio {
    grid-column: span 12;
    height: 300px;
  }

  .pt-masonry-grid {
    gap: 12px;
  }

  .pt-filters-group {
    flex-direction: column;
    align-items: flex-start;
  }

  .pt-conversion-buttons {
    flex-direction: column;
    align-items: center;
  }
}

.cs-section {
  min-height: 70vh;
  padding: 160px var(--gutter) 96px;
  background: var(--color-paper);
  align-items: center;
  display: flex;
}

.cs-inner {
  max-width: var(--layout-content);
  width: 100%;
  margin: 0 auto;
}

.cs-title {
  font-family: var(--font-display);
  letter-spacing: -.03em;
  color: var(--color-ink);
  margin: 0 0 20px;
  font-size: clamp(36px, 5vw, 66px);
  font-weight: 900;
  line-height: .95;
}

.cs-desc {
  font-family: var(--font-sans);
  color: var(--color-muted);
  max-width: 560px;
  margin: 0 0 32px;
  font-size: 19px;
  font-weight: 300;
  line-height: 1.47;
}

.cs-actions {
  flex-wrap: wrap;
  gap: 16px;
  display: flex;
}

@media (max-width: 640px) {
  .cs-section {
    padding-top: 130px;
  }

  .cs-actions .btn-base {
    text-align: center;
    width: 100%;
  }
}

.am-conversion, .ac-conversion, .cx-conversion, .ct-conversion, .mc-conversion, .dw-conversion, .ec-conversion, .em-conversion, .fq-conversion, .iv-conversion, .nm-conversion, .pt-conversion, .pa-conversion, .pd-conversion, .rs-conversion, .seo-conversion, .ux-conversion, .gm-final-cta, .bm-final-cta, .td-final-cta, .final-cta {
  min-height: 70dvh;
  padding: 80px var(--gutter);
  background-image: linear-gradient(#0a0c0ed1, #0a0c0ed1), url("/images/cta/cta-band.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

@media (max-width: 640px) {
  .am-conversion, .ac-conversion, .cx-conversion, .ct-conversion, .mc-conversion, .dw-conversion, .ec-conversion, .em-conversion, .fq-conversion, .iv-conversion, .nm-conversion, .pt-conversion, .pa-conversion, .pd-conversion, .rs-conversion, .seo-conversion, .ux-conversion, .gm-final-cta, .bm-final-cta, .td-final-cta, .final-cta {
    min-height: auto;
    padding: 72px var(--gutter);
  }
}

.bl-newsletter, .nb-culture {
  min-height: 70dvh;
  padding: 80px var(--gutter);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.bl-newsletter {
  background-image: linear-gradient(#0a0c0ed1, #0a0c0ed1), url("/images/home/blog-1.jpg");
}

.nb-culture {
  background-image: linear-gradient(#0a0c0ed1, #0a0c0ed1), url("/images/nosotros/nosotros-cultura.jpg");
}

@media (max-width: 640px) {
  .bl-newsletter, .nb-culture {
    min-height: auto;
    padding: 72px var(--gutter);
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

/* [project]/apps/web/src/app/archivocondensed_722f9404.module.css [app-client] (css) */
@font-face {
  font-family: archivoCondensed;
  src: url("../media/Archivo_Condensed_Light-s.p.2hfz48mpooh2v.ttf") format("truetype");
  font-display: swap;
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: archivoCondensed;
  src: url("../media/Archivo_Condensed_ExtraBold-s.p.3dikrhyeog_zy.ttf") format("truetype");
  font-display: swap;
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: archivoCondensed;
  src: url("../media/Archivo_Condensed_Black-s.p.0hny292d9z7l8.ttf") format("truetype");
  font-display: swap;
  font-weight: 900;
  font-style: normal;
}

@font-face {
  font-family: archivoCondensed Fallback;
  src: local(Arial);
  ascent-override: 115.28%;
  descent-override: 27.57%;
  line-gap-override: 0.0%;
  size-adjust: 76.16%;
}

.archivocondensed_722f9404-module__67dViq__className {
  font-family: archivoCondensed, archivoCondensed Fallback;
}

.archivocondensed_722f9404-module__67dViq__variable {
  --font-narrow: "archivoCondensed", "archivoCondensed Fallback";
}

/* [project]/apps/web/src/app/archivocondensedblack_d6c8d3d.module.css [app-client] (css) */
@font-face {
  font-family: archivoCondensedBlack;
  src: url("../media/Archivo_Condensed_Black-s.p.0hny292d9z7l8.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: archivoCondensedBlack Fallback;
  src: local(Arial);
  ascent-override: 94.52%;
  descent-override: 22.61%;
  line-gap-override: 0.0%;
  size-adjust: 92.89%;
}

.archivocondensedblack_d6c8d3d-module__xXVEga__className {
  font-family: archivoCondensedBlack, archivoCondensedBlack Fallback;
}

.archivocondensedblack_d6c8d3d-module__xXVEga__variable {
  --font-black: "archivoCondensedBlack", "archivoCondensedBlack Fallback";
}

/*# sourceMappingURL=apps_web_src_1ccnxzf._.css.map*/