:root {
  color-scheme: dark;
  --color-bg: #07111f;
  --color-bg-soft: #0a1727;
  --color-panel: #0d1d30;
  --color-panel-light: #10243a;
  --color-line: rgba(151, 183, 219, .14);
  --color-text: #f1f6ff;
  --color-muted: #9aacc3;
  --color-blue: #2788ff;
  --color-cyan: #29d6ed;
  --color-green: #20d29c;
  --font-body: 'Segoe UI', Arial, sans-serif;
  --font-display: 'Segoe UI', Arial, sans-serif;
  --container: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font: 16px/1.65 var(--font-body); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: rgba(41, 214, 237, .27); color: white; }

.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.section-pad { padding-block: 104px; }
.section-muted { background: linear-gradient(180deg, rgba(12, 28, 47, .82), rgba(8, 20, 34, .72)); border-block: 1px solid rgba(151, 183, 219, .06); }
.wave-section { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(180deg, #0b1b2d, #091625); }
.wave-background { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.wave-background::before, .wave-background::after { position: absolute; inset: -18%; content: ''; pointer-events: none; }
.wave-background::before { background: radial-gradient(ellipse at 18% 30%, rgba(28, 178, 255, .2), transparent 38%), radial-gradient(ellipse at 79% 70%, rgba(26, 89, 255, .2), transparent 42%), radial-gradient(ellipse at 50% 50%, rgba(35, 207, 229, .08), transparent 56%); filter: blur(32px); opacity: .85; }
.wave-background::after { inset: 0; background: linear-gradient(115deg, rgba(23, 115, 205, .05), transparent 35%, rgba(32, 206, 234, .045) 68%, transparent); opacity: .72; }
.wave-canvas { position: relative; z-index: 1; display: block; width: 100%; height: 100%; opacity: 1; }
.wave-section > .container { position: relative; z-index: 1; }
.skip-link, .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 100; top: 12px; left: 12px; width: auto; height: auto; clip: auto; margin: 0; padding: 12px 16px; border-radius: 8px; background: white; color: #07111f; }
:focus-visible { outline: 3px solid var(--color-cyan); outline-offset: 4px; }

.site-header { position: sticky; z-index: 20; top: 0; padding-block: 10px; background: rgba(7, 17, 31, .56); border-bottom: 1px solid rgba(151, 183, 219, .07); backdrop-filter: blur(16px); transition: padding .28s ease, background .28s ease, border-color .28s ease; }
.nav-wrap { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-inline: 19px; border: 1px solid rgba(151, 183, 219, .13); border-radius: 16px; background: rgba(10, 25, 42, .72); box-shadow: 0 10px 32px rgba(0, 0, 0, .12); transition: min-height .28s ease, width .28s ease, max-width .28s ease, padding .28s ease, border-radius .28s ease, background .28s ease, box-shadow .28s ease; }
.site-header.is-scrolled { padding-block: 7px; background: rgba(7, 17, 31, .76); border-color: transparent; }
.site-header.is-scrolled .nav-wrap { width: min(1080px, calc(100% - 48px)); min-height: 58px; border-radius: 999px; background: rgba(11, 27, 46, .94); box-shadow: 0 12px 36px rgba(0, 0, 0, .28), 0 0 0 1px rgba(41, 214, 237, .07); }
.brand { display: inline-flex; align-items: center; gap: 10px; font: 700 23px/1 var(--font-display); letter-spacing: -.8px; white-space: nowrap; }
.brand img { width: 28px; height: 36px; object-fit: contain; }
.brand-accent { color: var(--color-cyan); }
.primary-navigation { display: flex; align-items: center; gap: 4px; }
.primary-navigation > .nav-link { position: relative; padding: 9px 11px; border-radius: 999px; color: #bdc9d9; font-size: 12px; white-space: nowrap; transition: color .2s, background .2s; }
.primary-navigation > .nav-link:hover, .primary-navigation > .nav-link[aria-current="location"] { color: #f5f9ff; background: rgba(115, 166, 223, .1); }
.primary-navigation > .nav-link[aria-current="location"]::after { position: absolute; right: 50%; bottom: 3px; width: 4px; height: 4px; transform: translateX(50%); border-radius: 50%; background: var(--color-cyan); box-shadow: 0 0 8px rgba(41, 214, 237, .9); content: ''; }
.nav-actions { display: flex; align-items: center; gap: 8px; margin-left: 10px; padding-left: 12px; border-left: 1px solid rgba(151, 183, 219, .12); }
.nav-actions .button { transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.menu-toggle { display: none; }

.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 10px; padding: 0 21px; border: 1px solid transparent; border-radius: 10px; font-weight: 700; font-size: 14px; line-height: 1.2; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: linear-gradient(120deg, #1676f5, #159fe9); box-shadow: 0 10px 28px rgba(22, 118, 245, .23); }
.button-primary:hover { box-shadow: 0 13px 34px rgba(22, 118, 245, .36); }
.button-outline { border-color: rgba(153, 183, 218, .25); color: #e6effb; background: rgba(255, 255, 255, .025); }
.button-outline:hover, .button-quiet:hover { border-color: rgba(41, 214, 237, .55); background: rgba(41, 214, 237, .06); }
.button-quiet { border-color: rgba(153, 183, 218, .2); color: #d9e5f4; }
.button-small { min-height: 40px; padding-inline: 13px; border-radius: 8px; font-size: 12px; }
.button-full { width: 100%; }

.hero { position: relative; isolation: isolate; overflow: hidden; padding-top: 75px; }
.hero-chromatic { position: absolute; z-index: -1; inset: 0; overflow: hidden; background: #07111f; pointer-events: none; }
.chromatic-layer { position: absolute; inset: -4%; width: 108%; height: 108%; max-width: none; object-fit: cover; object-position: center 48%; }
.chromatic-layer-base { opacity: .13; filter: saturate(.68) contrast(1.14); }
.chromatic-layer-cyan { opacity: .13; filter: grayscale(1) sepia(1) saturate(5) hue-rotate(145deg); mix-blend-mode: screen; transform: translate3d(var(--chromatic-cyan-x, -4px), var(--chromatic-cyan-y, 2px), 0) scale(1.015); }
.chromatic-layer-blue { opacity: .11; filter: grayscale(1) sepia(1) saturate(5) hue-rotate(185deg); mix-blend-mode: screen; transform: translate3d(var(--chromatic-blue-x, 4px), var(--chromatic-blue-y, -2px), 0) scale(1.015); }
.hero::before { position: absolute; z-index: 0; inset: 0; background: linear-gradient(90deg, rgba(7, 17, 31, .98) 0%, rgba(7, 17, 31, .88) 37%, rgba(7, 17, 31, .58) 72%, rgba(7, 17, 31, .76) 100%), linear-gradient(180deg, rgba(7, 17, 31, .46), transparent 38%, rgba(7, 17, 31, .72)), radial-gradient(ellipse at 80% 35%, rgba(14, 107, 210, .22), transparent 44%), radial-gradient(ellipse at 20% 90%, rgba(14, 178, 207, .1), transparent 40%); content: ''; pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 42px; }
.hero-copy { position: relative; z-index: 1; max-width: 550px; }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; color: #66d8ec; font-size: 11px; font-weight: 700; letter-spacing: 1.45px; text-transform: uppercase; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--color-green); box-shadow: 0 0 13px rgba(32, 210, 156, .8); }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); }
h1 { margin-bottom: 24px; font-size: clamp(44px, 5vw, 66px); line-height: 1.06; letter-spacing: -3.3px; }
.text-gradient { color: transparent; background: linear-gradient(100deg, #48cbff, #3286ff 75%); background-clip: text; -webkit-background-clip: text; }
.hero-lede, .section-heading > p:last-child, .section-lede { color: var(--color-muted); }
.hero-lede { max-width: 510px; margin-bottom: 29px; font-size: 17px; line-height: 1.8; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-footnote { margin: 23px 0 0; color: #8ea2bb; font-size: 12px; }
.hero-footnote span { color: var(--color-cyan); }
.hero-visual { position: relative; z-index: 1; min-width: 0; padding: 15px 0 42px; }
.visual-glow { position: absolute; inset: 14% 5% 8%; z-index: -1; border-radius: 50%; background: rgba(14, 112, 255, .17); filter: blur(55px); }
.laptop-image { width: 100%; height: auto; object-fit: contain; filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .28)); }
.floating-note { position: absolute; right: -2%; bottom: 10px; display: flex; align-items: center; gap: 12px; padding: 13px 17px; border: 1px solid rgba(114, 166, 223, .2); border-radius: 12px; background: rgba(12, 30, 49, .94); box-shadow: 0 15px 40px rgba(0, 0, 0, .24); }
.note-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: var(--color-cyan); background: rgba(41, 214, 237, .1); font-size: 24px; }
.floating-note strong, .floating-note small { display: block; }
.floating-note strong { font-size: 12px; }
.floating-note small { color: var(--color-muted); font-size: 10px; }
.trust-strip { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 46px; padding: 18px 23px; border: 1px solid var(--color-line); border-radius: 12px; color: #b7c6d8; background: rgba(14, 30, 49, .72); font-size: 12px; backdrop-filter: blur(8px); }
.trust-strip i { width: 4px; height: 4px; border-radius: 50%; background: var(--color-cyan); }

.section-heading { max-width: 670px; margin: 0 auto 47px; text-align: center; }
.section-heading .eyebrow { justify-content: center; }
.section-heading h2, .interface-copy h2, .plan-intro h2, .faq-intro h2 { margin-bottom: 17px; font-size: clamp(32px, 4vw, 45px); line-height: 1.15; letter-spacing: -1.8px; }
.section-heading > p:last-child { max-width: 590px; margin: auto; }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.feature-card { min-height: 209px; padding: 24px 21px; border: 1px solid var(--color-line); border-radius: 14px; background: linear-gradient(145deg, rgba(16, 36, 58, .82), rgba(10, 24, 40, .82)); transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.feature-card:hover { transform: translateY(-4px); border-color: rgba(41, 214, 237, .3); background: linear-gradient(145deg, rgba(18, 47, 75, .9), rgba(10, 24, 40, .9)); }
.feature-icon { display: grid; width: 42px; height: 42px; margin-bottom: 17px; place-items: center; border: 1px solid rgba(41, 214, 237, .18); border-radius: 11px; color: var(--color-cyan); background: rgba(41, 214, 237, .08); }
.feature-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.feature-card h3, .step-card h3 { margin-bottom: 8px; font-size: 15px; }
.feature-card p, .step-card p { margin-bottom: 0; color: var(--color-muted); font-size: 12px; line-height: 1.7; }

.interface-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 60px; }
.interface-copy .eyebrow { margin-bottom: 18px; }
.interface-copy h2 { max-width: 440px; }
.section-lede { margin-bottom: 24px; }
.interface-list, .plan-features { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.interface-list li { display: flex; align-items: flex-start; gap: 10px; color: #d3deec; font-size: 13px; }
.interface-list li span { display: grid; width: 19px; height: 19px; flex: 0 0 19px; place-items: center; border-radius: 50%; color: #62e3c1; background: rgba(32, 210, 156, .12); font-size: 11px; }
.caption-note { margin: 24px 0 0; color: #8095ad; font-size: 11px; line-height: 1.6; }
.interface-figure { width: 92%; max-width: 660px; justify-self: end; margin: 0; }
.image-frame { position: relative; overflow: hidden; padding: 9px; border: 1px solid rgba(81, 161, 255, .27); border-radius: 18px; background: linear-gradient(145deg, rgba(32, 110, 191, .15), rgba(12, 28, 47, .7)); box-shadow: 0 30px 80px rgba(0, 0, 0, .23), 0 0 55px rgba(30, 127, 244, .08); }
.image-frame[data-comet-card] { transform: perspective(900px) rotateX(var(--comet-rotate-x, 0deg)) rotateY(var(--comet-rotate-y, 0deg)); transform-style: preserve-3d; transition: transform .3s ease-out, box-shadow .25s ease, border-color .25s ease; }
.image-frame[data-comet-card]::before, .image-frame[data-comet-card]::after { position: absolute; z-index: 2; inset: 9px; border-radius: 11px; content: ''; pointer-events: none; }
.image-frame[data-comet-card]::before { inset: 0; z-index: 3; border-radius: inherit; padding: 1px; background: conic-gradient(from 0deg, transparent 0 72%, rgba(41, 214, 237, .12) 78%, #37d8ff 83%, #fff 85%, #3286ff 89%, transparent 95% 100%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; opacity: .72; }
.image-frame[data-comet-card]::after { background: radial-gradient(circle at var(--comet-pointer-x, 50%) var(--comet-pointer-y, 50%), rgba(56, 190, 255, .24), transparent 42%); opacity: 0; transition: opacity .25s ease; }
.image-frame[data-comet-card]:hover { --comet-rotate-x: 2deg; --comet-rotate-y: -2deg; border-color: rgba(82, 196, 255, .52); box-shadow: 0 36px 90px rgba(0, 0, 0, .3), 0 0 60px rgba(30, 127, 244, .18); }
.image-frame[data-comet-card]:hover::after { opacity: 1; }
.image-frame[data-comet-card] img { position: relative; z-index: 1; width: 100%; height: auto; aspect-ratio: 1448 / 1086; object-fit: contain; transform: translateZ(12px); transition: filter .25s ease; }
.image-frame[data-comet-card]:hover img { filter: saturate(1.08) contrast(1.025); }
.interface-figure figcaption { padding: 12px 4px 0; color: var(--color-muted); font-size: 11px; }

.steps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: steps; }
.step-card { position: relative; min-height: 190px; padding: 27px; border: 1px solid var(--color-line); border-radius: 14px; background: rgba(13, 29, 48, .7); }
.step-number { display: inline-flex; align-items: center; justify-content: center; width: 43px; height: 35px; margin-bottom: 20px; border: 1px solid rgba(41, 214, 237, .2); border-radius: 9px; color: var(--color-cyan); background: rgba(41, 214, 237, .07); font: 700 13px var(--font-display); }
.step-card h3 { font-size: 17px; }
.risk-notice { display: flex; align-items: flex-start; gap: 10px; max-width: 750px; margin: 25px auto 0; padding: 14px 17px; border: 1px solid rgba(41, 214, 237, .14); border-radius: 10px; color: #9eb2ca; background: rgba(41, 214, 237, .035); font-size: 12px; }
.risk-notice span { color: var(--color-cyan); }

.plan-layout { display: grid; grid-template-columns: 1fr .82fr; align-items: center; gap: 100px; }
.plan-intro { max-width: 440px; }
.plan-intro h2 { margin-bottom: 20px; font-size: clamp(40px, 5vw, 55px); }
.plan-intro > p:not(.eyebrow) { color: var(--color-muted); }
.text-link { display: inline-flex; gap: 8px; margin-top: 8px; color: #6bc9ff; font-size: 13px; font-weight: 600; }
.plan-card { position: relative; overflow: hidden; padding: 30px; border: 1px solid rgba(65, 149, 246, .38); border-radius: 18px; background: radial-gradient(ellipse at 85% 4%, rgba(34, 132, 255, .14), transparent 38%), linear-gradient(150deg, rgba(17, 43, 70, .96), rgba(9, 23, 39, .98)); box-shadow: 0 25px 65px rgba(0, 0, 0, .22), 0 0 55px rgba(25, 121, 242, .09); }
.plan-card > :not(.plan-meteors) { position: relative; z-index: 1; }
.plan-meteors { position: absolute; z-index: 0; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.meteor { position: absolute; top: -15%; left: var(--meteor-left); width: 1px; height: 68px; transform: rotate(45deg); opacity: 0; background: linear-gradient(to bottom, transparent, rgba(90, 194, 255, .82)); filter: drop-shadow(0 0 4px rgba(61, 171, 255, .75)); }
.meteor::after { position: absolute; bottom: 0; left: -1px; width: 3px; height: 3px; border-radius: 50%; background: #c4f4ff; box-shadow: 0 0 8px 2px rgba(83, 190, 255, .8); content: ''; }
.meteor:nth-child(1) { --meteor-left: 5%; --meteor-delay: 0s; --meteor-duration: 5.6s; }
.meteor:nth-child(2) { --meteor-left: 18%; --meteor-delay: 2.4s; --meteor-duration: 6.8s; }
.meteor:nth-child(3) { --meteor-left: 31%; --meteor-delay: 4.2s; --meteor-duration: 5.9s; }
.meteor:nth-child(4) { --meteor-left: 44%; --meteor-delay: 1.2s; --meteor-duration: 7.1s; }
.meteor:nth-child(5) { --meteor-left: 58%; --meteor-delay: 3.6s; --meteor-duration: 6.2s; }
.meteor:nth-child(6) { --meteor-left: 71%; --meteor-delay: 5.1s; --meteor-duration: 7.4s; }
.meteor:nth-child(7) { --meteor-left: 83%; --meteor-delay: .7s; --meteor-duration: 6.5s; }
.meteor:nth-child(8) { --meteor-left: 94%; --meteor-delay: 4.8s; --meteor-duration: 5.8s; }
.plan-card-top { display: flex; align-items: center; justify-content: space-between; }
.plan-badge { padding: 6px 10px; border: 1px solid rgba(41, 214, 237, .18); border-radius: 50px; color: #7ad9ec; background: rgba(41, 214, 237, .08); font-size: 10px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; }
.plan-mark { color: #57c9ff; font-size: 25px; }
.plan-card h3 { margin: 21px 0 8px; font-size: 22px; }
.price { display: flex; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.price strong { font: 700 42px/1.2 var(--font-display); letter-spacing: -1.6px; }
.price span, .plan-subtitle { color: var(--color-muted); font-size: 13px; }
.plan-subtitle { margin-bottom: 21px; }
.plan-features { gap: 11px; margin-bottom: 25px; padding-top: 19px; border-top: 1px solid var(--color-line); }
.plan-features li { position: relative; padding-left: 25px; color: #c5d2e2; font-size: 12px; }
.plan-features li::before { position: absolute; top: 0; left: 0; color: var(--color-green); content: '✓'; font-weight: 700; }
.plan-disclaimer { margin: 12px 0 0; color: #8397af; font-size: 10px; text-align: center; }

.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 90px; }
.faq-intro h2 { font-size: 39px; }
.faq-intro > p:last-child { color: var(--color-muted); }
.accordion { border-top: 1px solid var(--color-line); }
.faq-item { border-bottom: 1px solid var(--color-line); }
.faq-item summary { position: relative; padding: 19px 35px 19px 0; color: #e8f0fa; font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { position: absolute; top: 18px; right: 4px; color: var(--color-cyan); content: '+'; font-size: 20px; font-weight: 400; }
.faq-item[open] summary::after { content: '−'; }
.faq-item p { max-width: 680px; margin: -4px 35px 19px 0; color: var(--color-muted); font-size: 12px; line-height: 1.75; }

.final-cta { position: relative; isolation: isolate; overflow: hidden; padding-block: 69px; background: radial-gradient(ellipse at 75% 50%, rgba(22, 118, 245, .2), transparent 47%), linear-gradient(100deg, #0b1a2d, #0d2340); border-block: 1px solid rgba(65, 149, 246, .15); }
.final-cta-meteors { position: absolute; z-index: -1; inset: 0; overflow: hidden; pointer-events: none; }
.final-cta .meteor { height: 54px; }
.final-cta-inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.final-cta .eyebrow { margin-bottom: 12px; }
.final-cta h2 { max-width: 720px; margin-bottom: 0; font-size: clamp(25px, 3vw, 36px); line-height: 1.23; letter-spacing: -1px; }
.site-footer { background: #050d17; }
.footer-main { display: grid; grid-template-columns: 1.45fr repeat(3, 1fr); gap: 42px; padding-block: 54px 42px; }
.footer-brand p { max-width: 245px; margin: 15px 0 0; color: #8598ad; font-size: 12px; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-column h2 { margin: 0 0 7px; color: #eef5ff; font: 600 12px var(--font-body); }
.footer-column a { color: #889bb1; font-size: 11px; }
.footer-column a:hover { color: #66d8ec; }
.pending-label { color: #667c93; font-size: 9px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; padding-block: 17px; border-top: 1px solid rgba(151, 183, 219, .1); color: #71849b; font-size: 10px; }
.footer-bottom p { margin: 0; }
.floating-contact { position: fixed; z-index: 30; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 12px; }
.floating-contact-link { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; box-shadow: 0 7px 24px rgba(0, 0, 0, .35); transition: transform .2s ease, box-shadow .2s ease; }
.floating-contact-link:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 10px 30px rgba(0, 0, 0, .42); }
.floating-contact-link img { width: 30px; height: 30px; object-fit: contain; }
.floating-contact-whatsapp { background: #20c96a; }
.floating-contact-telegram { background: #229ed9; }
.legal-content { max-width: 820px; min-height: 65vh; margin: auto; padding-block: 90px; }
.legal-content h1 { font-size: clamp(37px, 5vw, 54px); }
.legal-content h2 { margin-top: 35px; font-size: 21px; }
.legal-content p, .legal-content li { color: var(--color-muted); }
.provisional-notice { margin: 27px 0; padding: 17px 20px; border: 1px solid rgba(255, 193, 89, .25); border-radius: 10px; color: #f6d58f; background: rgba(255, 193, 89, .06); font-size: 13px; }

.form-status { min-height: 24px; margin: 14px 0 0; color: #8fa4bb; font-size: 12px; }
.form-status[data-state="error"] { color: #ff9b9b; }
.form-status[data-state="success"] { color: #6fe0bb; }
.form-error { margin: 6px 0 0; color: #ff9b9b; font-size: 11px; }
.field-invalid { border-color: #f27c85 !important; }

@media (prefers-reduced-motion: no-preference) {
  .hero-copy, .hero-visual { animation: rise-in .7s both; }
  .hero-visual { animation-delay: .12s; }
  .meteor { animation: meteor-fall var(--meteor-duration) linear var(--meteor-delay) infinite; }
  .wave-background::before { animation: wave-light-drift 12s ease-in-out infinite alternate; }
  .wave-background::after { animation: wave-color-shift 16s ease-in-out infinite alternate; }
  .final-cta .meteor { animation-name: final-cta-meteor-fall; }
  @keyframes rise-in { from { opacity: 0; transform: translateY(13px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes wave-light-drift { from { transform: translate3d(-2%, -1%, 0) scale(.96); opacity: .62; } to { transform: translate3d(2%, 1%, 0) scale(1.08); opacity: 1; } }
  @keyframes wave-color-shift { from { opacity: .42; } to { opacity: .85; } }
  @keyframes final-cta-meteor-fall {
    0% { transform: translate3d(0, -60px, 0) rotate(45deg); opacity: 0; }
    8% { opacity: .75; }
    72% { opacity: .4; }
    100% { transform: translate3d(135px, 300px, 0) rotate(45deg); opacity: 0; }
  }
  @keyframes meteor-fall {
    0% { transform: translate3d(0, -60px, 0) rotate(45deg); opacity: 0; }
    8% { opacity: .75; }
    72% { opacity: .4; }
    100% { transform: translate3d(210px, 520px, 0) rotate(45deg); opacity: 0; }
  }
  .image-frame[data-comet-card]::before { animation: comet-spin 5.5s linear infinite; }
  @keyframes comet-spin { to { transform: rotate(360deg); } }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .meteor { display: none; }
  .wave-background::before { opacity: .68; }
  .wave-background::after { opacity: .5; }
  .wave-canvas { opacity: .9; }
  .image-frame[data-comet-card] { transition: none; }
  .image-frame[data-comet-card]::before { animation: none; }
  .image-frame[data-comet-card]::after { display: none; }
}
