/* RESPONDO spiral centerpiece — deliberately limited to the homepage hero.
   No canvas/WebGL, filters, continuous RAF, scroll trapping or external libraries. */
#app .apple-home:has(.rs-spiral-section){overflow:visible!important}
#app .rs-spiral-section{
  position:relative!important;
  isolation:isolate;
  min-height:0!important;
  height:auto;
  padding:0!important;
  text-align:left!important;
  overflow:visible!important;
  color:#f6f8fc!important;
  background:#04060b!important;
  --rs-brand-cyan:#87c9ff;
}
#app .rs-spiral-section.um-scene,
#app .rs-spiral-section.um-scene.um-visible{
  transform:none!important;opacity:1!important;transition:none!important;
}
#app .rs-spiral-section.rs-enhanced{height:700svh;height:700vh}
@supports(height:100svh){#app .rs-spiral-section.rs-enhanced{height:700svh}}
#app .rs-spiral-stage{
  position:relative;display:flex;flex-direction:column;align-items:center;
  width:100%;min-height:710px;padding:110px 22px 50px;
  background:radial-gradient(ellipse at 50% 50%,#0e1928 0%,#060911 40%,#020305 86%);
  overflow:hidden;contain:paint;
}
#app .rs-enhanced .rs-spiral-stage{
  position:sticky;top:0;height:100vh;height:100svh;min-height:0;padding:0;
}
#app .rs-space{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#app .rs-space-glow{
  position:absolute;top:12%;left:50%;width:min(85vw,900px);height:70%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(46,99,174,.18),rgba(20,42,79,.07) 43%,transparent 73%);
}
#app .rs-space-ellipse{
  position:absolute;top:48%;left:50%;width:min(79vw,900px);height:min(45vw,420px);
  border:1px solid rgba(161,208,255,.11);border-radius:50%;
  pointer-events:none;
  transform:translate(-50%,-50%) rotate(-21deg);
}
#app .rs-space-ellipse-a{box-shadow:0 0 0 55px rgba(86,145,232,.016),0 0 0 108px rgba(77,132,204,.01)}
#app .rs-space-ellipse-b{width:min(64vw,650px);height:min(36vw,350px);transform:translate(-50%,-50%) rotate(28deg);border-color:rgba(121,159,215,.12)}
#app .rs-space-horizon{
  position:absolute;left:15%;right:15%;bottom:16%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(125,182,255,.18),transparent);
}
#app .rs-spiral-heading{
  position:relative;z-index:9;flex:none;text-align:center;width:min(100%,920px);
  margin:0 auto 25px;
}
#app .rs-enhanced .rs-spiral-heading{
  position:absolute;top:clamp(88px,12vh,133px);left:50%;transform:translateX(-50%);
  padding:0 15px;pointer-events:none;
}
#app .rs-spiral-heading .apple-eyebrow{font-size:11px;letter-spacing:.17em;color:#8ea3c1!important}
#app .rs-subbrand{color:#697d97}
#app .rs-spiral-heading h1{
  margin:12px auto 10px!important;font-size:clamp(37px,5.2vw,74px)!important;
  line-height:1.08!important;letter-spacing:-.059em!important;font-weight:710!important;
  color:#f9fbfe!important;
}
#app .rs-spiral-heading h1 span{color:#a8bdd7!important}
#app .rs-hero-description{
  margin:0 auto!important;max-width:570px;color:#9faec4!important;
  font-size:clamp(13px,1.5vw,16px);line-height:1.55;
}
#app .rs-spiral-orbit{
  position:relative;width:min(100%,1180px);min-height:440px;flex:1;
  margin:0 auto;isolation:isolate;pointer-events:none;
}
#app .rs-enhanced .rs-spiral-orbit{position:absolute;inset:0;width:100%;min-height:0;margin:0}
#app .rs-axis{
  position:relative;order:-1;display:flex;flex-direction:column;
  justify-content:center;align-items:center;
  width:min(70vw,350px);aspect-ratio:1;max-width:100%;
  margin:8px auto 30px;z-index:4;pointer-events:none;
}
#app .rs-enhanced .rs-axis{
  position:absolute;left:50%;top:50%;
  width:clamp(240px,30vw,425px);max-width:80vw;
  transform:translate3d(-50%,-50%,0) scale(var(--rs-logo-scale,1));
  margin:0;
}
#app .rs-axis svg{
  display:block;width:100%;height:auto;position:relative;z-index:2;
  overflow:visible;
  filter:drop-shadow(0 0 14px rgba(198,222,255,.14));
}
#app .rs-axis-halo{
  position:absolute;inset:13%;border-radius:50%;
  background:radial-gradient(circle,rgba(69,139,219,.18),transparent 67%);
  z-index:0;pointer-events:none;
}
#app .rs-axis-caption{
  position:absolute;bottom:6%;left:0;right:0;text-align:center;
  font-size:clamp(9px,.9vw,12px);font-weight:760;letter-spacing:.23em;
  color:rgba(229,237,255,.37);z-index:2;
}
#app .rs-spiral-cards{
  position:relative;z-index:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;max-width:780px;margin:0 auto;
}
#app .rs-spiral-card{
  position:relative;min-width:0;padding:22px 23px 21px;
  background:linear-gradient(140deg,#182333,#0e1520 85%);
  border:1px solid rgba(150,185,234,.25);border-radius:20px;
  box-shadow:0 20px 55px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.07);
  color:#f5f8ff;text-align:left;
}
#app .rs-spiral-card-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#7e97b8;font-size:10px;letter-spacing:.12em;font-weight:700}
#app .rs-spiral-card-kicker i{width:7px;height:7px;background:#6ce9bb;box-shadow:0 0 11px rgba(108,233,187,.37);border-radius:50%}
#app .rs-spiral-metric{margin:14px 0 9px;font-size:clamp(38px,3.9vw,58px);font-weight:750;line-height:1;letter-spacing:-.07em;color:#eaf5ff;font-variant-numeric:tabular-nums}
#app .rs-spiral-card:nth-child(4) .rs-spiral-metric{color:#8af0c0}
#app .rs-spiral-card h2{font-size:clamp(19px,1.55vw,22px);letter-spacing:-.045em!important;font-weight:650;color:#f5f8fd!important;margin:0 0 7px;line-height:1.12}
#app .rs-spiral-card p{color:#a5b6cd!important;font-size:12px;line-height:1.55;margin:0}
#app .rs-enhanced .rs-spiral-cards{
  display:block;position:absolute;inset:0;max-width:none;margin:0;z-index:auto;
}
#app .rs-enhanced .rs-spiral-card{
  position:absolute;top:51%;left:50%;margin:0;
  width:clamp(235px,23.5vw,315px);max-width:78vw;
  padding:22px 23px;z-index:5;
  transform:translate3d(calc(-50% + var(--rs-x,0px)),calc(-50% + var(--rs-y,102px)),0) scale(var(--rs-scale,1));
  opacity:var(--rs-opacity,0);
  visibility:hidden;pointer-events:none;
  will-change:auto;backface-visibility:hidden;
}
#app .rs-enhanced .rs-spiral-card.rs-in-scene{
  visibility:visible;
}
#app .rs-spiral-bottom{
  position:relative;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:15px;
  width:min(100%,930px);margin:25px auto 0;
}
#app .rs-enhanced .rs-spiral-bottom{
  position:absolute;left:50%;bottom:clamp(23px,5.6vh,63px);
  width:min(92%,1030px);transform:translateX(-50%);margin:0;
}
#app .rs-scroll-invite{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-size:10px;font-weight:760;letter-spacing:.14em;color:#96a9bd;text-transform:uppercase}
#app .rs-scroll-rule{display:block;height:1px;width:22px;background:#7993b3}
#app .rs-hero-actions{display:flex!important;position:relative;z-index:10;gap:10px;margin:0!important;justify-content:center}
#app .rs-hero-actions .apple-pill{
  pointer-events:auto!important;position:relative;z-index:12;
  font-size:13px;white-space:nowrap;min-height:42px;padding:10px 16px;
}
#app .rs-step-count{display:flex;align-items:center;gap:10px;letter-spacing:.12em;font-size:11px;color:#8797ab;white-space:nowrap;font-variant-numeric:tabular-nums}
#app .rs-step-count [data-rs-step]{color:#f3f7ff;font-weight:750}
#app .rs-step-line{display:block;width:35px;height:1px;background:#4d6581}
#app .rs-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
#app .rs-spiral-section .apple-hero-actions a{touch-action:manipulation}
#app .rs-spiral-section .apple-hero-actions a:focus-visible{outline:3px solid #a8dfff!important;outline-offset:4px}
@media(max-width:800px){
  #app .rs-enhanced .rs-axis{width:clamp(205px,44vw,300px);top:50%}
  #app .rs-enhanced .rs-spiral-card{width:clamp(214px,38vw,263px);padding:17px 19px}
  #app .rs-spiral-heading h1{font-size:clamp(36px,6.8vw,54px)!important}
  #app .rs-spiral-card p{font-size:11px}
}
@media(max-width:600px){
  #app .rs-spiral-stage{padding:90px 16px 45px}
  #app .rs-enhanced .rs-spiral-stage{padding:0}
  #app .rs-enhanced .rs-spiral-heading{top:clamp(80px,11vh,107px);width:100%;padding:0 17px}
  #app .rs-spiral-heading .apple-eyebrow{font-size:9px}
  #app .rs-subbrand{display:none}
  #app .rs-spiral-heading h1{font-size:clamp(30px,8.3vw,43px)!important;max-width:360px;margin:10px auto!important}
  #app .rs-hero-description{font-size:12px;max-width:330px}
  #app .rs-enhanced .rs-axis{width:clamp(200px,66vw,276px);max-width:74vw;top:49%}
  #app .rs-enhanced .rs-spiral-card{
    top:50%;width:min(72vw,256px);padding:15px 16px;border-radius:16px;
  }
  #app .rs-spiral-metric{font-size:37px;margin:10px 0 7px}
  #app .rs-spiral-card h2{font-size:19px}
  #app .rs-spiral-card p{font-size:11px}
  #app .rs-spiral-card-kicker{font-size:9px}
  #app .rs-enhanced .rs-spiral-bottom{bottom:clamp(20px,5vh,48px);justify-content:center}
  #app .rs-enhanced .rs-scroll-invite,#app .rs-enhanced .rs-step-count{display:none}
  #app .rs-hero-actions .apple-pill{font-size:12px;min-height:41px;padding:10px 13px}
  #app .rs-spiral-cards{grid-template-columns:1fr}
  #app .rs-space-ellipse{width:108vw;height:65vw}
  #app .rs-space-ellipse-b{width:84vw;height:47vw}
}
@media(max-height:660px){
  #app .rs-enhanced .rs-spiral-heading{top:70px}
  #app .rs-enhanced .rs-spiral-heading h1{font-size:clamp(28px,5.9vh,42px)!important;margin:7px auto!important}
  #app .rs-enhanced .rs-hero-description{font-size:11px}
  #app .rs-enhanced .rs-axis{top:47%;width:min(37vh,260px)}
  #app .rs-enhanced .rs-spiral-card{top:48%;padding:12px 15px}
  #app .rs-enhanced .rs-spiral-bottom{bottom:14px}
  #app .rs-enhanced .rs-spiral-metric{font-size:31px;margin:7px 0}
  #app .rs-enhanced .rs-spiral-card h2{font-size:16px}
  #app .rs-enhanced .rs-spiral-card p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  #app .rs-spiral-section.rs-enhanced{height:auto!important}
  #app .rs-spiral-section .rs-spiral-stage{position:relative!important;height:auto!important;min-height:0!important}
  #app .rs-spiral-section .rs-spiral-card{transform:none!important;opacity:1!important;visibility:visible!important}
  #app .rs-spiral-section .rs-spiral-cards{position:relative!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr))!important}
  #app .rs-spiral-section .rs-axis{position:relative!important;top:auto!important;left:auto!important;transform:none!important}
}
/* Mobile readability fix: keep the scene pinned while the user scrolls through
   the seven cards. overflow-x:hidden on html/body creates a scroll container
   in Safari and prevents position:sticky from working. clip does not. */
@media (max-width:800px) {
  html:has(#app .rs-spiral-section),
  body:has(#app .rs-spiral-section) {
    overflow-x:clip!important;
  }
  #app .apple-home-page:has(.rs-spiral-section),
  #app .apple-home:has(.rs-spiral-section) {
    overflow:visible!important;
  }
  /* Six card transitions at ~400px each: about one natural mobile swipe
     per next card, rather than the prior ~1.3 viewport heights per card. */
  #app .rs-spiral-section.rs-enhanced {
    height:calc(100vh + 2400px);
    height:calc(100svh + 2400px);
  }
  #app .rs-enhanced .rs-spiral-stage {
    position:sticky!important;
    top:0!important;
    height:100vh!important;
    height:100svh!important;
  }
  /* Only activated by JS if Safari still fails to honor sticky. */
  #app .rs-enhanced.rs-fixed-fallback .rs-spiral-stage {
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
  }
  #app .rs-enhanced.rs-fixed-fallback.rs-fixed-end .rs-spiral-stage {
    position:absolute!important;
    top:auto!important;
    bottom:0!important;
  }
  #app .rs-enhanced .rs-spiral-card {
    width:min(80vw,288px);
    max-width:calc(100vw - 36px);
  }
}
@media (max-width:600px) {
  #app .rs-enhanced .rs-spiral-card {
    width:min(80vw,288px);
    max-width:calc(100vw - 36px);
    padding:19px 20px;
  }
  #app .rs-enhanced .rs-spiral-card p {
    font-size:12px;
    line-height:1.55;
  }
  #app .rs-enhanced .rs-spiral-card h2 {
    font-size:20px;
    line-height:1.18;
  }
  #app .rs-enhanced .rs-step-count {
    display:flex;
    position:absolute;
    left:50%;
    bottom:calc(100% + 12px);
    transform:translateX(-50%);
    gap:8px;
  }
}
@media (prefers-reduced-motion:reduce) {
  #app .rs-spiral-section.rs-enhanced {height:auto!important}
  #app .rs-spiral-section .rs-spiral-stage {position:relative!important;height:auto!important}
}
