/* r20 marketing controls. Stable wrappers keep the hit area under a lifted face. */
.landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)) { position:relative; display:inline-flex; vertical-align:middle; min-width:0; max-width:100%; }
.landing [data-cta-shell="block"]:where(:not(#how *, .workspace-stage *)),
.landing [data-cta-shell="block"]:where(:not(#how *, .workspace-stage *)) > [data-cta]:where(:not(#how *, .workspace-stage *)) { display:flex; width:100%; }
.landing .hero-ctas { display:flex; justify-content:center; align-items:stretch; flex-wrap:wrap; gap:12px; margin-top:var(--space-8); }
.landing .download-action[data-cta]:where(:not(#how *, .workspace-stage *)),
.landing [data-cta]:where(:not(#how *, .workspace-stage *)) {
  position:relative; isolation:isolate; overflow:hidden; display:inline-flex; align-items:center;
  justify-content:center; gap:10px; min-height:56px; min-width:0; max-width:100%; margin:0;
  padding:12px 24px; border:1px solid #A1E567; border-radius:var(--radius-control, 5px);
  /* Brand green is the actual surface; a thin reflection adds volume without a lower ledge. */
  background:#AAF26D linear-gradient(174deg, rgb(255 255 255 / .14) 0%, rgb(255 255 255 / .035) 24%, transparent 45%, transparent 62%, rgb(255 255 255 / .055) 82%, rgb(40 101 25 / .055) 100%);
  color:#1D2A15; box-shadow:inset 0 1px 0 rgb(255 255 255 / .2), 0 3px 7px rgb(0 0 0 / .16);
  font:600 16px/1.5 var(--font-body); text-decoration:none; white-space:normal; text-wrap:balance;
  cursor:pointer; touch-action:manipulation; transform:none;
  transition:transform 100ms cubic-bezier(.23,1,.32,1);
}
.landing [data-cta="secondary"]:where(:not(#how *, .workspace-stage *)) {
  border-color:#5C5C5C;
  background:#131313 linear-gradient(174deg, #282828 0%, #151515 48%, #202020 76%, #121212 100%);
  color:#F2F2F2; box-shadow:inset 0 1px 0 rgb(255 255 255 / .09), 0 2px 3px rgb(0 0 0 / .1);
  font-weight:500;
}
.landing [data-cta="secondary"]:where(:not(#how *, .workspace-stage *)):hover { color:#F2F2F2; }
.landing [data-cta]:where(:not(#how *, .workspace-stage *))::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(180deg, rgb(255 255 255 / .1), rgb(255 255 255 / .015)); opacity:0;
  transition:opacity 140ms cubic-bezier(.23,1,.32,1);
}
.landing [data-cta]:where(:not(#how *, .workspace-stage *))::after {
  content:""; position:absolute; inset:-30% auto; left:0; width:38%; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgb(255 255 255 / .24), transparent);
  transform:translateX(-160%) skewX(-20deg); opacity:0;
}
.landing [data-cta="secondary"]:where(:not(#how *, .workspace-stage *))::after { background:linear-gradient(90deg, transparent, rgb(255 255 255 / .14), transparent); }
.landing [data-cta]:where(:not(#how *, .workspace-stage *)) .cta-apple {
  flex:none; width:19px; height:21px; fill:currentColor; stroke:none;
}
.landing .offer-buy[data-cta]:where(:not(#how *, .workspace-stage *)) { white-space:normal; text-wrap:balance; }
.landing [data-cta]:where(:not(#how *, .workspace-stage *)):is(:disabled,[aria-disabled="true"]) {
  opacity:1; cursor:default;
}
.landing [data-cta]:where(:not(#how *, .workspace-stage *)):focus-visible {
  outline:2px solid var(--color-focus, #AAF26D); outline-offset:4px;
  box-shadow:0 0 0 4px var(--color-bg, #141416);
  transform:none; transition:none;
}
.landing [data-cta]:where(:not(#how *, .workspace-stage *)):focus-visible::before { opacity:1; transition:none; }
@keyframes cta-satin-pass {
  0% { transform:translateX(-160%) skewX(-20deg); opacity:0; }
  16% { opacity:1; }
  80% { opacity:1; }
  100% { transform:translateX(360%) skewX(-20deg); opacity:0; }
}
@media (hover:hover) and (pointer:fine) {
  .landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)):hover > [data-cta]:where(:not(#how *, .workspace-stage *))::before { opacity:1; }
  .landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)):hover > [data-cta]:where(:not(#how *, .workspace-stage *)):not(:focus-visible,[data-keyboard]) {
    transform:translateY(-2px); transition-duration:160ms;
  }
  /* Constant-speed reflection crosses once, without a stationary easing tail. */
  .landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)):hover > [data-cta]:where(:not(#how *, .workspace-stage *)):not(:focus-visible,[data-keyboard])::after { animation:cta-satin-pass 420ms linear 1; }
  .landing .early-bird-badge:hover [data-offer-mascot="reactive"]:not([data-keyboard]) {
    transform:translateY(-3px);
  }
}
.landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)) > [data-cta]:where(:not(#how *, .workspace-stage *)):active:not(:focus-visible,[data-keyboard]) {
  transform:translateY(1px) scale(.985); transition-duration:120ms;
}
.landing [data-cta]:where(:not(#how *, .workspace-stage *)):active::before { opacity:.55; transition-duration:120ms; }
/* Four pixels maximum, only during a fine-pointer press; never a success signal. */
.landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)) > .cta-pixel { position:absolute; z-index:2; top:0; width:2px; height:2px; background:#D9F8BB; pointer-events:none; }
.landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)):has([data-cta="secondary"]:where(:not(#how *, .workspace-stage *))) > .cta-pixel { background:#B8B8B8; }

/* Outer controls remain unboxed; selected indicators and scene styles are untouched. */
.landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):not(#how *, .workspace-stage *) {
  position:relative; touch-action:manipulation; transition:transform 90ms cubic-bezier(.23,1,.32,1);
}
.landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):not(#how *, .workspace-stage *)::before {
  content:""; position:absolute; inset:0; border-radius:4px; pointer-events:none;
  background:linear-gradient(180deg, rgb(237 246 225 / .055), rgb(237 246 225 / .015)); opacity:0;
  transition:opacity 90ms cubic-bezier(.23,1,.32,1);
}
@media (hover:hover) and (pointer:fine) {
  .landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):hover:not(#how *, .workspace-stage *, [data-keyboard])::before { opacity:1; }
}
.landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):active:not(#how *, .workspace-stage *, :focus-visible, [data-keyboard]) { transform:scale(.985); transition-duration:120ms; }
.landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):active:not(#how *, .workspace-stage *)::before { opacity:1; transition-duration:120ms; }
.landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):focus-visible {
  outline:2px solid var(--color-focus, #AAF26D); outline-offset:3px; transform:none; transition:none;
}
.landing [data-marketing-control][data-keyboard], .landing .offer-seat:has(input:focus-visible) label { transform:none !important; transition:none !important; animation:none !important; }
.landing [data-marketing-control][data-keyboard]::before, .landing [data-marketing-control][data-keyboard]::after { animation:none !important; transition:none !important; }
.landing [data-offer-mascot="reactive"] {
  transition:transform 180ms cubic-bezier(.23,1,.32,1);
}
/* Keyboard fallback is immediate. Activation and decorative feedback remain separate. */
.landing [data-cta]:where(:not(#how *, .workspace-stage *))[data-keyboard] { transform:none; transition:none; }
.landing .early-bird-badge [data-offer-mascot="reactive"][data-keyboard] { transform:none; transition:none; }
@media (max-width:767px) {
  .landing .hero-ctas [data-cta-shell]:where(:not(#how *, .workspace-stage *)), .landing .hero-ctas [data-cta]:where(:not(#how *, .workspace-stage *)) { width:100%; }
}
@media (max-width:479px) {
  .landing [data-cta-shell="block"]:where(:not(#how *, .workspace-stage *)) > [data-cta]:where(:not(#how *, .workspace-stage *)) { padding-inline:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):not(#how *, .workspace-stage *)::before,
  .landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):not(#how *, .workspace-stage *)::after { transition:none !important; animation:none !important; }
  .landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)) > [data-cta]:where(:not(#how *, .workspace-stage *)),
  .landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):not(#how *, .workspace-stage *),
  .landing .early-bird-badge [data-offer-mascot="reactive"] {
    transform:none !important; transition:none;
  }
  .landing [data-cta]:where(:not(#how *, .workspace-stage *))::before, .landing [data-marketing-control]::before { transition:none; }
  .landing [data-cta]:where(:not(#how *, .workspace-stage *))::after, .landing .cta-pixel { display:none; animation:none !important; }
}
@media (forced-colors:active) {
  .landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):not(#how *, .workspace-stage *) { transform:none !important; transition:none !important; animation:none !important; }
  .landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):not(#how *, .workspace-stage *)::before { display:none; transition:none !important; animation:none !important; }
  .landing :is(.crew-pose-options > button, .setup-tabs > button, .workspace-carousel-controls > button, .offer-seat label, .language-picker > summary, .final-mobile-nav > summary, .faq-section summary):not(#how *, .workspace-stage *)::after { transition:none !important; animation:none !important; }
  .landing [data-cta-shell]:where(:not(#how *, .workspace-stage *)) > [data-cta]:where(:not(#how *, .workspace-stage *)) { background:ButtonFace; color:ButtonText; border:2px solid ButtonText; box-shadow:none; transform:none !important; transition:none; }
  .landing [data-cta]:where(:not(#how *, .workspace-stage *))::before, .landing [data-cta]:where(:not(#how *, .workspace-stage *))::after, .landing .cta-pixel, .landing [data-marketing-control]::before { display:none; animation:none !important; }
  .landing [data-cta]:where(:not(#how *, .workspace-stage *)):is(:disabled,[aria-disabled="true"]) { color:GrayText; border-color:GrayText; }
  .landing [data-cta]:where(:not(#how *, .workspace-stage *)):focus-visible { outline-color:Highlight; box-shadow:none; }
  .landing [data-marketing-control], .landing .early-bird-badge [data-offer-mascot="reactive"] { transform:none !important; transition:none; }
}
