/* Frontend R2-4 — Responsive + Motion + Final Polish */

/* ---------- Global R2 homepage rhythm ---------- */

#page-home {
  overflow-x:hidden;
}

#page-home .r2-brand-statement,
#page-home .r2-ecosystem,
#page-home .dussie-home-story,
#page-home .r2-tech-layer,
#page-home .r2-trust-layer,
#page-home .r2-newsroom-layer,
#page-home .r2-honors-layer {
  scroll-margin-top:96px;
}

#page-home .r2-section-index {
  position:relative;
}

#page-home .r2-section-index::before {
  transform-origin:left center;
}

#page-home .r2-polish-section {
  position:relative;
}

#page-home .r2-polish-section::after {
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(92%,1180px);
  height:1px;
  transform:translateX(-50%);
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(108,137,194,.09) 18%,
      rgba(37,230,200,.08) 50%,
      rgba(108,137,194,.08) 82%,
      transparent
    );
}

#page-home .r2-honors-layer.r2-polish-section::after {
  display:none;
}

/* ---------- Hero finishing ---------- */

#page-home .hero h1 {
  max-width:1120px;
  margin-left:auto;
  margin-right:auto;
  text-wrap:balance;
}

#page-home .hero .lead {
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
}

#page-home .r2-hero-actions {
  position:relative;
  z-index:2;
}

#page-home .r2-hero-action {
  min-width:140px;
}

#page-home .hero-mock {
  max-width:940px;
  margin-left:auto;
  margin-right:auto;
}

/* ---------- Company Story video ---------- */

#page-home .dussie-home-story video {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
}

#page-home .dussie-home-story .r2-company-story-index {
  max-width:max-content;
  margin-left:auto;
  margin-right:auto;
}

/* ---------- Technology / trust / editorial finishing ---------- */

#page-home .r2-tech-row,
#page-home .r2-news-item,
#page-home .r2-trust-card,
#page-home .r2-honor-item {
  -webkit-tap-highlight-color:transparent;
}

#page-home .r2-tech-row:focus-visible,
#page-home .r2-news-item:focus-visible,
#page-home .r2-trust-card:focus-visible,
#page-home .r2-hero-action:focus-visible,
#page-home .r2-section-action a:focus-visible,
#page-home .r2-tech-footer a:focus-visible {
  outline:2px solid rgba(77,218,255,.92);
  outline-offset:4px;
}

#page-home .r2-news-copy h3,
#page-home .r2-honor-copy h3,
#page-home .r2-tech-row h3,
#page-home .r2-trust-card h3 {
  overflow-wrap:break-word;
}

#page-home .r2-news-copy p,
#page-home .r2-honor-copy p,
#page-home .r2-tech-row p,
#page-home .r2-trust-card p {
  text-wrap:pretty;
}

#page-home .r2-section-action a,
#page-home .r2-tech-footer a {
  min-height:46px;
}

/* ---------- Motion: quiet, section-level only ---------- */

@media (prefers-reduced-motion:no-preference) {
  html.r2-motion-enabled #page-home .r2-polish-section {
    --r2-line-opacity:.22;
  }

  html.r2-motion-enabled #page-home .r2-polish-section .r2-section-index::before {
    transform:scaleX(.38);
    opacity:.38;
    transition:
      transform .75s cubic-bezier(.22,1,.36,1),
      opacity .75s ease;
  }

  html.r2-motion-enabled #page-home .r2-polish-section.r2-section-active .r2-section-index::before {
    transform:scaleX(1);
    opacity:1;
  }

  html.r2-motion-enabled #page-home .r2-polish-section::after {
    opacity:.42;
    transition:opacity .7s ease;
  }

  html.r2-motion-enabled #page-home .r2-polish-section.r2-section-active::after {
    opacity:.9;
  }

  #page-home .r2-hero-action,
  #page-home .r2-section-action a,
  #page-home .r2-tech-footer a {
    transition:
      transform .22s ease,
      border-color .22s ease,
      background .22s ease,
      box-shadow .22s ease;
  }

  #page-home .r2-section-action a:hover,
  #page-home .r2-tech-footer a:hover {
    transform:translateY(-2px);
    border-color:rgba(72,207,255,.38);
    background:rgba(61,111,196,.07);
  }
}

/* ---------- 1200 ---------- */

@media (max-width:1200px) {
  #page-home .r2-brand-statement h2,
  #page-home .r2-tech-heading h2,
  #page-home .r2-trust-heading h2,
  #page-home .r2-editorial-head h2,
  #page-home .r2-honors-head h2 {
    max-width:900px;
  }

  #page-home .r2-ecosystem-grid {
    gap:0;
  }

  #page-home .r2-tech-row {
    grid-template-columns:72px minmax(210px,.75fr) minmax(0,1.25fr) 40px;
  }
}

/* ---------- Tablet ---------- */

@media (max-width:980px) {
  #page-home .r2-brand-statement,
  #page-home .r2-tech-layer,
  #page-home .r2-trust-layer,
  #page-home .r2-newsroom-layer,
  #page-home .r2-honors-layer {
    padding-left:0;
    padding-right:0;
  }

  #page-home .r2-brand-statement h2,
  #page-home .r2-ecosystem-head h2,
  #page-home .r2-tech-heading h2,
  #page-home .r2-trust-heading h2,
  #page-home .r2-editorial-head h2,
  #page-home .r2-honors-head h2 {
    text-wrap:balance;
  }

  #page-home .r2-brand-copy p,
  #page-home .r2-ecosystem-intro,
  #page-home .r2-tech-heading-copy,
  #page-home .r2-trust-heading p,
  #page-home .r2-editorial-head-copy,
  #page-home .r2-honors-head p {
    max-width:720px;
  }

  #page-home .r2-trust-card {
    min-height:260px;
  }

  #page-home .r2-trust-card h3 {
    margin-top:44px;
  }

  #page-home .r2-news-item {
    grid-template-columns:112px minmax(0,1fr) 36px;
  }
}

/* ---------- Mobile ---------- */

@media (max-width:700px) {
  #page-home .hero {
    min-height:auto;
  }

  #page-home .hero h1 {
    font-size:clamp(40px,10.8vw,58px);
    line-height:1.01;
    letter-spacing:-.045em;
  }

  #page-home .hero .lead {
    font-size:15px;
    line-height:1.75;
  }

  #page-home .r2-hero-actions {
    width:min(100%,360px);
    margin-left:auto;
    margin-right:auto;
  }

  #page-home .r2-hero-action {
    width:100%;
    min-height:50px;
  }

  #page-home .r2-brand-statement {
    padding-top:64px;
    padding-bottom:42px;
  }

  #page-home .r2-ecosystem {
    padding-top:42px;
    padding-bottom:54px;
  }

  #page-home .r2-brand-statement h2,
  #page-home .r2-ecosystem-head h2,
  #page-home .r2-tech-heading h2,
  #page-home .r2-trust-heading h2,
  #page-home .r2-editorial-head h2,
  #page-home .r2-honors-head h2 {
    font-size:clamp(38px,10.5vw,52px);
    line-height:1;
    letter-spacing:-.045em;
  }

  #page-home .r2-ecosystem-card {
    min-height:245px;
    padding:25px 20px 25px;
  }

  #page-home .r2-ecosystem-card::after {
    left:20px;
    right:20px;
  }

  #page-home .r2-ecosystem-number {
    margin-bottom:38px;
  }

  #page-home .dussie-home-story {
    padding-top:48px;
    padding-bottom:58px;
  }

  #page-home .r2-tech-layer {
    padding-top:64px;
    padding-bottom:68px;
  }

  #page-home .r2-tech-row {
    grid-template-columns:38px minmax(0,1fr) 32px;
    gap:12px;
  }

  #page-home .r2-tech-number {
    align-self:start;
    padding-top:4px;
  }

  #page-home .r2-tech-row h3 {
    font-size:clamp(24px,7.2vw,32px);
  }

  #page-home .r2-tech-row p {
    font-size:13.5px;
  }

  #page-home .r2-trust-layer {
    padding-top:64px;
    padding-bottom:72px;
  }

  #page-home .r2-trust-grid {
    gap:12px;
  }

  #page-home .r2-trust-card {
    min-height:245px;
  }

  #page-home .r2-newsroom-layer {
    padding-top:64px;
    padding-bottom:68px;
  }

  #page-home .r2-news-item {
    grid-template-columns:minmax(0,1fr) 32px;
  }

  #page-home .r2-news-copy h3 {
    font-size:clamp(22px,6.8vw,30px);
    line-height:1.12;
  }

  #page-home .r2-news-copy p {
    font-size:13.5px;
  }

  #page-home .r2-honors-layer {
    padding-top:62px;
    padding-bottom:84px;
  }

  #page-home .r2-honor-copy h3 {
    font-size:clamp(23px,7vw,31px);
  }

  #page-home .r2-section-action {
    justify-content:flex-start;
    margin-top:22px;
  }

  #page-home .r2-section-action a,
  #page-home .r2-tech-footer a {
    min-height:48px;
  }
}

/* ---------- Narrow mobile ---------- */

@media (max-width:430px) {
  #page-home .hero h1 {
    font-size:clamp(36px,10.2vw,46px);
  }

  #page-home .r2-brand-statement h2,
  #page-home .r2-ecosystem-head h2,
  #page-home .r2-tech-heading h2,
  #page-home .r2-trust-heading h2,
  #page-home .r2-editorial-head h2,
  #page-home .r2-honors-head h2 {
    font-size:clamp(34px,10vw,44px);
  }

  #page-home .r2-section-index {
    font-size:10.5px;
    letter-spacing:.13em;
  }

  #page-home .r2-brand-copy p,
  #page-home .r2-ecosystem-intro,
  #page-home .r2-tech-heading-copy,
  #page-home .r2-trust-heading p,
  #page-home .r2-editorial-head-copy,
  #page-home .r2-honors-head p {
    font-size:14px;
    line-height:1.75;
  }

  #page-home .r2-trust-card {
    padding:22px;
  }

  #page-home .r2-honors-stage {
    padding-left:24px;
  }
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion:reduce) {
  #page-home .r2-polish-section *,
  #page-home .r2-polish-section *::before,
  #page-home .r2-polish-section *::after {
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
  }
}
