/* Rex editorial design system. Loaded after the scroll choreography. */
:root { --lime: #d3f36a; --lime-bright: #e1ff87; --dark: #10120f; --gray-400: #a9ada3; }
body { background: #10120f; color: #f3f3e9; }
.container { max-width: 1320px; width: calc(100% - 112px); }
.nav { top: 18px; left: 32px; right: 32px; height: 66px; width: auto; border: 1px solid #ffffff1c; border-radius: 20px; background: #181c17e8; backdrop-filter: blur(20px); }
.nav.scrolled { background: #181c17f2; border: 1px solid #ffffff1c; box-shadow: 0 8px 32px #0002; }
.nav .container { width: calc(100% - 36px); }
.nav-logo { display: flex; gap: 10px; align-items: center; }
.nav-logo::after { content: 'rex'; font-size: 27px; font-weight: 800; letter-spacing: -2px; }
.nav-logo img { border-radius: 8px; }
.nav-links { gap: 32px; }
.nav-links a { color: #c1c5b9; font-size: 12px; }
.nav-links .nav-cta { color: #171c10; padding: 12px 22px; background: var(--lime); border-radius: 12px; }
.nav-cta::after { content: ' ↗'; margin-left: 18px; }
.hero-badge { padding: 0; background: none; border: 0; box-shadow: none; backdrop-filter: none; font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: #c9cdbf; }
.hero h1 { font-size: clamp(3rem, 5.7vw, 5.8rem); line-height: 1.01; letter-spacing: -.065em; font-weight: 600; }
.hero h1 em { font-weight: 500; }
.hero-sub { max-width: 390px; font-size: 16px; line-height: 1.8; margin-bottom: 28px; }
.hero-buttons { gap: 10px; }
.btn-primary, .btn-secondary { border-radius: 12px; padding: 16px 20px; font-size: 12px; box-shadow: none; gap: 10px; }
.btn-primary { background: var(--lime); color: #13190b; }
.btn-secondary { background: #ffffff04; border: 1px solid #ffffff26; color: #edeedf; }
.btn-primary:hover, .btn-secondary:hover { transform: translateY(-3px); box-shadow: 0 8px 22px #0002; }
.hero-trust { margin-top: 30px; padding-top: 20px; max-width: 410px; gap: 26px; }
.trust-num { font-size: 21px; font-weight: 500; }
.trust-label { font-size: 9px; letter-spacing: .13em; color: #92998a; }
.section-label { font-size: 10px; letter-spacing: .17em; color: #c7e58b; font-weight: 500; }
.snap-title, .section-title { font-weight: 500; letter-spacing: -.06em; line-height: 1.04; }
.snap-desc { color: #a9ada3; }
.story-detail { border-color: #ffffff20; padding-top: 20px; }
.story-detail-icon { width: 36px; height: 36px; border-radius: 10px; background: #d3f36a0a; font-size: 18px; }
.section-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; }
.section-tags span { border: 1px solid #ffffff20; border-radius: 7px; padding: 7px 11px; color: #c1c9b5; font-size: 10px; letter-spacing: .03em; }
.scroll-indicator { display: none; }
#reviews.card-stack, .motion-ready #reviews { min-height: auto; height: auto; position: relative; padding: 100px 0 !important; border: 0; border-radius: 32px 32px 0 0; background: #eeeee3; color: #20271b; box-shadow: none; }
#reviews .section-label { color: #63744d; }
#reviews .section-title { font-size: clamp(2.5rem, 5vw, 4.5rem); }
#reviews .reviews-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; text-align: left; margin-bottom: 45px; }
.reviews-note { max-width: 225px; font-size: 13px; color: #707763; line-height: 1.8; }
.testimonials-grid { gap: 16px; }
.testimonial { border: 1px solid #d9ddcd; background: #f8f8f1; padding: 28px; border-radius: 18px; display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
.testimonial:hover { transform: translateY(-6px); box-shadow: 0 15px 35px #29331b0d; }
.testimonial-stars { color: #657f32; font-size: 13px; letter-spacing: 4px; margin-bottom: 22px; }
.testimonial p { color: #3f4836; font-size: 15px; font-style: normal; line-height: 1.85; flex: 1; }
.testimonial-author { color: #25321d; font-size: 13px; border-top: 1px solid #e2e5d8; padding-top: 20px; }
.testimonial-city { color: #778068; font-size: 11px; }
#download.card-stack, .motion-ready #download { position: relative; height: auto; min-height: auto; padding: 90px 0 !important; background: #d3f36a; border: 0; border-radius: 0; box-shadow: none; color: #17200c; }
#download::before { display: none; }
#download .section-label { color: #526b27; }
#download .section-title { font-size: clamp(3rem, 6.8vw, 6rem); }
#download .section-desc { max-width: 400px; color: #526632; font-size: 14px; }
#download .btn-primary { background: #18230e; color: #eff8dc; }
#download .btn-secondary { border-color: #18230e40; color: #18230e; background: transparent; }
.footer { background: #10120f; border: 0; padding: 70px 0 30px; }
.footer-tagline { font-size: 13px; max-width: 300px; color: #929889; }
.footer h4 { font-size: 10px; letter-spacing: .14em; color: #d9ddcd; }
.footer a { font-size: 12px; }
.whatsapp-float { width: 44px; height: 44px; right: 24px; bottom: 24px; background: #273c21; border: 1px solid #9bb88255; box-shadow: 0 5px 20px #0003; }
.whatsapp-float svg { width: 23px; height: 23px; }
@media (min-width: 901px) and (prefers-reduced-motion: no-preference) {
  .motion-ready .story-section { background: #10120f !important; min-height: 105vh; padding: 135px 0 90px; }
  .motion-ready #hero { min-height: 100vh; }
  .motion-ready .story-section::after { opacity: .4; }
  .motion-ready .story-section::before { font-size: 16vw; -webkit-text-stroke-color: #c6e6330c; bottom: 0; }
  .motion-ready .story-section .snap-title { font-size: clamp(3rem, 5.2vw, 5rem); font-weight: 500; }
  .motion-ready .story-section .snap-desc { font-size: 16px; max-width: 390px; }
  .motion-ready .story-section .snap-grid, .motion-ready .story-section .split-grid { gap: 70px; }
  .motion-ready .story-chapters { bottom: 20px; padding: 8px 17px; border-radius: 12px; }
  .motion-ready .hero h1 em { background: none; -webkit-text-fill-color: #d3f36a; }
  .motion-orbit { opacity: .55; }
  .motion-caption { color: #b9ca94; letter-spacing: .12em; }
}
@media (max-width: 1100px) and (min-width: 901px) {
  .container { width: calc(100% - 72px); }
  .hero h1 { font-size: 4.5vw; }
  .hero-buttons { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 900px) {
  .container { width: calc(100% - 40px); }
  .nav { top: 10px; left: 12px; right: 12px; height: 60px; border-radius: 16px; }
  .nav-links.open { top: 72px; border-radius: 16px; background: #1b2118; padding: 24px; }
  .hero.card-stack { padding-top: 115px; }
  .hero h1 { font-size: clamp(3rem, 9vw, 5rem); }
  .hero-sub { margin-left: auto; margin-right: auto; }
  .hero-trust { margin: 28px auto 0; justify-content: center; }
  .hero-buttons { justify-content: center; }
  .story-section { background: #10120f !important; }
  .section-tags { justify-content: center; }
  .snap-content { order: 0; }
  .snap-visual { order: 1; }
  #reviews .reviews-heading { display: block; }
  .reviews-note { margin-top: 22px; max-width: 100%; }
  .testimonials-grid { grid-template-columns: 1fr; }
  #reviews.card-stack, #download.card-stack { padding: 70px 0 !important; }
}
@media (prefers-reduced-motion: reduce) { .testimonial, .btn-primary, .btn-secondary { transition: none; } }
#reviews, #download { scroll-margin-top: 100px; }
