/* =============================================
   REVAYA SYSTEMS INC. — style.css v5
   ============================================= */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

@font-face{font-family:'Outfit';src:url('fonts/Outfit-var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/Inter-var.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('fonts/JetBrainsMono-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{
  --bg:#0A0A0F;
  --bg-surface:#101018;
  --bg-surface-hover:#151520;
  --border:rgba(255,255,255,0.05);
  --border-hover:rgba(255,255,255,0.1);
  --accent:#22A37A;
  --accent-light:#3CDBA0;
  --accent-dim:rgba(34,163,122,0.12);
  --accent-glow:rgba(34,163,122,0.25);
  --text-1:#EDEDF0;
  --text-2:rgba(255,255,255,0.48);
  --text-3:rgba(255,255,255,0.45);
  --error:#EF4444;
  --error-dim:rgba(239,68,68,0.12);
  --font-display:'Outfit',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --max-w:1100px;
  --ease-out-expo:cubic-bezier(0.16,1,0.3,1);
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--font-body);font-weight:400;font-size:16px;line-height:1.65;color:var(--text-2);background:var(--bg);overflow-x:hidden}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:var(--bg)}
body::after{content:'';position:fixed;inset:0;z-index:10000;pointer-events:none;opacity:0.022;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px}

/* ═══════ HEADER ═══════ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 32px;height:72px;display:flex;align-items:center;justify-content:center;background:rgba(10,10,15,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);border-bottom:1px solid transparent;transition:background 0.5s,backdrop-filter 0.5s,-webkit-backdrop-filter 0.5s,border-color 0.5s}
.site-header.scrolled{background:rgba(10,10,15,0.75);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-bottom-color:var(--border)}
.header-inner{width:100%;max-width:var(--max-w);display:flex;align-items:center;justify-content:space-between}
.wordmark{display:flex;align-items:center;gap:9px;user-select:none;text-decoration:none}
.wordmark-icon{width:28px;height:30px;flex-shrink:0;transition:filter 0.3s}
.wordmark:hover .wordmark-icon{filter:drop-shadow(0 0 6px var(--accent-glow))}
.wm-edge{stroke:var(--accent);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.wm-inner{stroke:var(--accent);stroke-width:1;fill:none;stroke-linecap:round;opacity:0.45}
.wm-dot{fill:var(--accent)}
.wordmark-text{display:flex;align-items:baseline;font-family:var(--font-display);font-size:17px;color:var(--text-1);letter-spacing:-0.01em}
.wordmark-bold{font-weight:700}
.wordmark-light{font-weight:400;opacity:0.55;margin-left:4px}
.wordmark-inc{font-weight:400;font-size:10px;color:var(--text-3);margin-left:4px;letter-spacing:0.04em}
.header-nav{display:flex;align-items:center;gap:24px}
.header-link{font-size:13px;font-weight:500;color:var(--text-3);letter-spacing:0.01em;transition:color 0.25s}
.header-link:hover{color:var(--text-1)}
.header-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.header-cta{font-size:13px;font-weight:500;color:var(--accent);letter-spacing:0.01em;padding:7px 18px;border-radius:100px;border:1px solid rgba(34,163,122,0.25);transition:background 0.3s,border-color 0.3s,color 0.3s}
.header-cta:hover{background:var(--accent-dim);border-color:rgba(34,163,122,0.4);color:var(--accent-light)}
.header-cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ═══════ HERO ═══════ */
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:120px 32px 80px}
.hero-aurora{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.aurora-blob{position:absolute;border-radius:50%;filter:blur(120px);will-change:transform}
.blob-1{width:700px;height:700px;top:-22%;left:-12%;background:radial-gradient(circle,rgba(34,163,122,0.24),transparent 70%);animation:drift1 28s ease-in-out infinite}
.blob-2{width:550px;height:550px;top:5%;right:-10%;background:radial-gradient(circle,rgba(20,90,180,0.16),transparent 70%);animation:drift2 32s ease-in-out infinite}
.blob-3{width:480px;height:480px;bottom:-5%;left:22%;background:radial-gradient(circle,rgba(34,163,122,0.14),transparent 70%);animation:drift3 22s ease-in-out infinite}
.aurora-mouse{position:absolute;width:400px;height:400px;border-radius:50%;filter:blur(100px);pointer-events:none;background:radial-gradient(circle,rgba(34,163,122,0.08),transparent 70%);left:50%;top:50%;transform:translate(-50%,-50%);transition:left 1.2s cubic-bezier(0.25,0.1,0.25,1),top 1.2s cubic-bezier(0.25,0.1,0.25,1)}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(80px,50px) scale(1.05)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-60px,40px) scale(0.95)}}
@keyframes drift3{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,-50px)}}

/* Network canvas */
.hero-network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,0.018) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black,transparent);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black,transparent);z-index:0}

.hero-content{position:relative;z-index:2;max-width:var(--max-w);width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}

/* Logo mark */
.hero-logo{width:96px;height:104px;margin-bottom:52px;position:relative}
.hero-logo::after{content:'';position:absolute;top:50%;left:50%;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--accent-glow),transparent 70%);opacity:0;animation:logoGlow 2.5s 1.8s ease forwards}
@keyframes logoGlow{to{opacity:0.7}}
.logo-mark-hero{width:100%;height:100%;display:block}
.logo-mark-hero .hex-edge{stroke:var(--accent);stroke-width:1.2;fill:none;stroke-linecap:round;stroke-dasharray:50;stroke-dashoffset:50}
.logo-mark-hero .hex-inner{stroke:var(--accent);stroke-width:0.8;fill:none;stroke-linecap:round;opacity:0.4;stroke-dasharray:50;stroke-dashoffset:50}
.logo-mark-hero .hex-dot{fill:var(--accent);opacity:0}
.logo-mark-hero .hex-dot-center{fill:var(--accent-light);opacity:0;transform-box:fill-box;transform-origin:center}
.logo-mark-hero .e0{animation:drawLine 0.6s 0.15s var(--ease-out-expo) forwards}
.logo-mark-hero .e1{animation:drawLine 0.6s 0.3s var(--ease-out-expo) forwards}
.logo-mark-hero .e2{animation:drawLine 0.6s 0.45s var(--ease-out-expo) forwards}
.logo-mark-hero .e3{animation:drawLine 0.6s 0.6s var(--ease-out-expo) forwards}
.logo-mark-hero .e4{animation:drawLine 0.6s 0.75s var(--ease-out-expo) forwards}
.logo-mark-hero .e5{animation:drawLine 0.6s 0.9s var(--ease-out-expo) forwards}
.logo-mark-hero .i0{animation:drawLine 0.5s 1.05s var(--ease-out-expo) forwards}
.logo-mark-hero .i1{animation:drawLine 0.5s 1.2s var(--ease-out-expo) forwards}
.logo-mark-hero .i2{animation:drawLine 0.5s 1.35s var(--ease-out-expo) forwards}
.logo-mark-hero .d0{animation:dotAppear 0.4s 1.15s ease forwards}
.logo-mark-hero .d1{animation:dotAppear 0.4s 1.25s ease forwards}
.logo-mark-hero .d2{animation:dotAppear 0.4s 1.35s ease forwards}
.logo-mark-hero .d3{animation:dotAppear 0.4s 1.45s ease forwards}
.logo-mark-hero .d4{animation:dotAppear 0.4s 1.5s ease forwards}
.logo-mark-hero .d5{animation:dotAppear 0.4s 1.55s ease forwards}
.logo-mark-hero .dc{animation:dotPulseIn 0.6s 1.6s ease forwards}
@keyframes drawLine{to{stroke-dashoffset:0}}
@keyframes dotAppear{to{opacity:0.9}}
@keyframes dotPulseIn{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.25)}100%{opacity:1;transform:scale(1)}}

.hero-stagger{opacity:0;transform:translateY(28px);animation:revealUp 0.9s var(--ease-out-expo) forwards}
.hs-1{animation-delay:1.5s}
.hs-2{animation-delay:1.7s}
.hs-3{animation-delay:2s}
@keyframes revealUp{to{opacity:1;transform:translateY(0)}}

.hero-heading{font-family:var(--font-display);font-weight:700;font-size:clamp(38px,5.8vw,72px);line-height:1.06;letter-spacing:-0.04em;color:var(--text-1);max-width:800px;margin-bottom:28px}
.gradient-text{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-light) 40%,#7EEBC8 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-sub{font-size:clamp(15px,1.2vw,17px);line-height:1.75;color:var(--text-2);max-width:600px;margin-bottom:48px}

/* Single badge */
.hero-badge .pill{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.01em;color:var(--text-2);background:rgba(255,255,255,0.025);border:1px solid var(--border);border-radius:100px;white-space:nowrap}
.hero-badge .pill ion-icon{font-size:14px;color:var(--accent);opacity:0.6}

/* ═══════ SHARED ═══════ */
main{position:relative}
.container{max-width:var(--max-w);margin:0 auto;padding:0 32px}
.section{padding-top:160px}
.section-label{display:inline-flex;align-items:center;gap:12px;margin-bottom:20px}
.section-label-line{width:32px;height:1px;background:var(--accent);opacity:0.5}
.section-label-text{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent)}
.section-title{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,3.5vw,40px);color:var(--text-1);letter-spacing:-0.025em;margin-bottom:56px;line-height:1.15}

/* Divider: center breathing pulse */
.shimmer-line{width:100%;height:1px;margin-top:160px;background:var(--border);position:relative;overflow:visible}
.shimmer-line::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:1px;border-radius:1px;background:radial-gradient(ellipse,var(--accent) 0%,var(--accent-glow) 40%,transparent 70%);animation:dividerBreathe 4s ease-in-out infinite;pointer-events:none}
@keyframes dividerBreathe{0%,100%{width:0;opacity:0}50%{width:25%;opacity:0.7}}

.reveal{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s var(--ease-out-expo)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:0.12s}
.reveal-d2{transition-delay:0.24s}
.reveal-d3{transition-delay:0.36s}

/* ═══════ PRODUCTS ═══════ */
.products-layout{display:flex;flex-direction:column;gap:20px}
.glow-card{transform-style:preserve-3d;will-change:transform}

/* Flagship */
.card-flagship{background:linear-gradient(145deg,var(--bg-surface) 0%,#111122 100%);border:1px solid var(--border);border-radius:20px;padding:52px 48px;position:relative;overflow:hidden;transition:border-color 0.4s,box-shadow 0.4s,transform 0.4s ease}
.card-flagship::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 5%,var(--accent-dim) 25%,var(--accent) 50%,var(--accent-dim) 75%,transparent 95%)}
.card-flagship::after{content:'';position:absolute;inset:0;border-radius:20px;background:radial-gradient(700px circle at var(--mx,50%) var(--my,50%),rgba(34,163,122,0.05),transparent 45%);opacity:0;transition:opacity 0.5s;pointer-events:none}
.card-flagship:hover{border-color:rgba(34,163,122,0.15);box-shadow:0 12px 48px rgba(34,163,122,0.06)}
.card-flagship:hover::after{opacity:1}

.flagship-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px;flex-wrap:wrap}
.flagship-name{font-family:var(--font-display);font-weight:700;font-size:clamp(30px,3.2vw,40px);color:var(--text-1);letter-spacing:-0.025em}
.flagship-oneliner{font-family:var(--font-display);font-weight:400;font-size:clamp(16px,1.3vw,19px);color:var(--text-2);line-height:1.55;margin-bottom:20px;max-width:620px}
.flagship-desc{font-size:15px;line-height:1.75;color:var(--text-3);max-width:640px;margin-bottom:24px}

.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.02em;border-radius:100px;width:fit-content}
.badge ion-icon{font-size:12px}
.badge-active{color:var(--accent);background:var(--accent-dim);border:1px solid rgba(34,163,122,0.2);animation:pillPulse 3s ease-in-out infinite}
@keyframes pillPulse{0%,100%{box-shadow:0 0 0 0 rgba(34,163,122,0.25);transform:scale(1)}50%{box-shadow:0 0 14px 2px rgba(34,163,122,0.08);transform:scale(1.03)}}
.badge-soon{color:var(--text-3);background:rgba(255,255,255,0.02);border:1px solid var(--border)}

/* ═══════ CARD BACKGROUND ANIMATIONS ═══════ */
.card-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:20px;z-index:0}
.card-content{position:relative;z-index:2}

/* Qura: pulsating outline hearts */
.bg-heart{position:absolute;opacity:0;will-change:opacity,transform}
.bg-heart svg{display:block;width:100%;height:100%}
.bg-heart path{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px rgba(34,163,122,0.4))}
@keyframes heartPulse{
  0%,100%{opacity:0;transform:scale(0.85)}
  20%{opacity:var(--h-max,0.14);transform:scale(1)}
  40%{opacity:calc(var(--h-max,0.14)*0.55);transform:scale(0.94)}
  60%{opacity:var(--h-max,0.14);transform:scale(1.02)}
  85%{opacity:0;transform:scale(0.88)}
}

/* GlazeIQ: snowfall (travel distance set per-card via --fall) */
.bg-flake{position:absolute;top:-6px;border-radius:50%;background:#fff;will-change:transform}
@keyframes snowDrift{
  0%{transform:translate3d(0,-8px,0)}
  25%{transform:translate3d(calc(var(--sway) * 0.6),calc(var(--fall,430px) * 0.25),0)}
  50%{transform:translate3d(calc(var(--sway) * -0.4),calc(var(--fall,430px) * 0.5),0)}
  75%{transform:translate3d(var(--sway),calc(var(--fall,430px) * 0.75),0)}
  100%{transform:translate3d(calc(var(--sway) * 0.2),var(--fall,430px),0)}
}

/* GlazeIQ: frosted glass edge vignette (breathing) */
.frost-vignette{
  position:absolute;inset:0;border-radius:20px;
  box-shadow:inset 0 0 34px 6px rgba(195,222,255,0.05),inset 0 0 8px 2px rgba(195,222,255,0.04);
  animation:vignetteBreathe 12s ease-in-out infinite;
}
@keyframes vignetteBreathe{0%,100%{opacity:0.55}50%{opacity:1}}

/* GlazeIQ: 3D frost textures growing from corners */
.frost3d{position:absolute;width:54%;height:54%;max-width:200px;max-height:200px;pointer-events:none}
.f3-tl{top:0;left:0}
.f3-tr{top:0;right:0;transform:scaleX(-1)}
.f3-bl{bottom:0;left:0;transform:scaleY(-1)}
.f3-br{bottom:0;right:0;transform:scale(-1,-1)}
.frost3d-tex{
  width:100%;height:100%;
  background-size:100% 100%;background-repeat:no-repeat;
  transform-origin:top left;
  opacity:0;
  animation:frost3dCycle 36s ease-in-out infinite;
  will-change:opacity,transform;
}
.tex-a{background-image:url('frost-a.png')}
.tex-b{background-image:url('frost-b.png')}
.f3-tl .frost3d-tex{animation-delay:0s}
.f3-br .frost3d-tex{animation-delay:-9s}
.f3-tr .frost3d-tex{animation-delay:-18s}
.f3-bl .frost3d-tex{animation-delay:-27s}
@keyframes frost3dCycle{
  0%{opacity:0;transform:scale(0.5)}
  8%{opacity:0.32}
  26%{opacity:0.38;transform:scale(1)}
  55%{opacity:0.38;transform:scale(1.02)}
  70%{opacity:0;transform:scale(1.04)}
  100%{opacity:0;transform:scale(0.5)}
}

/* Berth: planes on flight paths */
.bg-plane{position:absolute;top:0;left:0;width:14px;height:14px;opacity:0;will-change:transform,opacity}
.bg-plane svg{display:block;width:100%;height:100%}
.bg-plane path{fill:var(--plane-color,rgba(34,163,122,0.4));stroke:none}

@media(prefers-reduced-motion:reduce){
  .bg-heart,.bg-flake,.bg-plane{animation:none !important;opacity:0 !important}
  .frost3d-tex{animation:none !important;opacity:0.3;transform:scale(1)}
  .frost-vignette{animation:none !important}
}



/* Coming soon cards */
.cards-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.card-soon{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:36px 32px;position:relative;overflow:hidden;transition:border-color 0.35s,background 0.35s,transform 0.4s ease}
.card-soon::after{content:'';position:absolute;inset:0;border-radius:20px;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,0.018),transparent 50%);opacity:0;transition:opacity 0.4s;pointer-events:none}
.card-soon:hover{border-color:var(--border-hover);background:var(--bg-surface-hover)}
.card-soon:hover::after{opacity:1}
.card-soon-name{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--text-1);letter-spacing:-0.01em;margin-bottom:10px}
.card-soon-oneliner{font-size:14px;line-height:1.6;color:var(--text-3);margin-bottom:20px}

/* ═══════ APPROACH ═══════ */
.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.approach-item{display:flex;flex-direction:column}
.approach-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;border-radius:10px;background:var(--accent-dim);border:1px solid rgba(34,163,122,0.12)}
.approach-icon ion-icon{font-size:18px;color:var(--accent)}
.approach-name{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--text-1);letter-spacing:-0.01em;margin-bottom:10px}
.approach-desc{font-size:14px;line-height:1.7;color:var(--text-3)}

/* ═══════ ABOUT ═══════ */
.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:start}
.about-body p{font-size:16px;line-height:1.8;color:var(--text-2);margin-bottom:22px}
.about-body p:last-child{margin-bottom:0}
.about-facts{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:32px}
.about-facts-title{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin-bottom:24px}
.fact-row{margin-bottom:20px}
.fact-row:last-child{margin-bottom:0}
.fact-label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.04em;color:var(--text-3);margin-bottom:4px}
.fact-value{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--text-1)}

/* ═══════ CONTACT ═══════ */
.contact-wrapper{max-width:640px}
.contact-intro{font-size:15px;line-height:1.7;color:var(--text-3);margin-bottom:36px;max-width:480px}
.contact-form{display:flex;flex-direction:column;gap:20px}
.hp-wrap{position:absolute !important;left:-9999px !important;top:-9999px !important;height:1px;width:1px;overflow:hidden;opacity:0;pointer-events:none}
.turnstile-wrap{min-height:0}
.turnstile-wrap:not(:empty){margin-top:-4px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-field label{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;transition:color 0.3s}
.form-field:focus-within label{color:var(--accent)}
.form-field input,.form-field textarea{width:100%;padding:16px 18px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;color:var(--text-1);font-family:var(--font-body);font-size:15px;line-height:1.6;resize:vertical;transition:border-color 0.3s,box-shadow 0.3s,background 0.3s}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--text-3);opacity:0.5}
.form-field input:hover,.form-field textarea:hover{border-color:var(--border-hover);background:var(--bg-surface-hover)}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim),0 4px 24px rgba(34,163,122,0.06);background:var(--bg-surface-hover)}
.form-field textarea{min-height:140px}
.form-field.has-error label{color:var(--error)}
.form-field.has-error input,.form-field.has-error textarea{border-color:var(--error);box-shadow:0 0 0 3px var(--error-dim)}
.field-error{display:none;font-size:12px;color:var(--error);margin-top:8px;animation:fadeInError 0.3s ease}
.form-field.has-error .field-error{display:block}
@keyframes fadeInError{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.form-submit{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:15px 34px;font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-0.01em;color:var(--bg);background:var(--accent);border:none;border-radius:12px;cursor:pointer;transition:background 0.3s,transform 0.2s,box-shadow 0.3s,opacity 0.3s;position:relative;overflow:hidden}
.form-submit::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,0.15) 100%);opacity:0;transition:opacity 0.3s}
.form-submit:hover{background:var(--accent-light);box-shadow:0 4px 28px rgba(34,163,122,0.3);transform:translateY(-1px)}
.form-submit:hover::before{opacity:1}
.form-submit:active{transform:translateY(0)}
.form-submit:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.form-submit ion-icon{font-size:16px;transition:transform 0.3s}
.form-submit:hover ion-icon{transform:translateX(3px)}
.form-submit:disabled{opacity:0.6;cursor:not-allowed;transform:none}
.form-submit:disabled:hover{background:var(--accent);box-shadow:none}
.form-submit:disabled:hover::before{opacity:0}
.form-success{text-align:center;padding:64px 20px;animation:successIn 0.7s var(--ease-out-expo) forwards}
@keyframes successIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.form-success-icon{font-size:52px;color:var(--accent);margin-bottom:20px;display:block}
.form-success h3{font-family:var(--font-display);font-weight:600;font-size:24px;color:var(--text-1);margin-bottom:10px}
.form-success p{font-size:15px;color:var(--text-2);line-height:1.7}

/* ═══════ FOOTER ═══════ */
.site-footer{margin-top:200px;position:relative;overflow:hidden;border-top:1px solid var(--border)}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-dim),var(--accent-glow),var(--accent-dim),transparent)}
.footer-watermark{position:absolute;top:50%;right:-60px;transform:translateY(-50%);width:420px;height:456px;opacity:0.02;pointer-events:none}
.footer-inner{position:relative;z-index:1;max-width:var(--max-w);margin:0 auto;padding:80px 32px 48px}
.footer-statement{margin-bottom:64px}
.footer-statement-heading{font-family:var(--font-display);font-weight:700;font-size:clamp(32px,5vw,56px);line-height:1.08;letter-spacing:-0.04em;color:var(--text-1);margin-bottom:16px}
.gradient-red{background:linear-gradient(135deg,#FF0000 0%,#FF2020 40%,#FF4444 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.footer-statement-sub{font-size:15px;color:var(--text-3);max-width:400px;line-height:1.7}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:56px;border-bottom:1px solid var(--border)}
.footer-col-title{font-family:var(--font-mono);font-size:10px;font-weight:400;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:20px}
.footer-brand{display:flex;flex-direction:column;gap:16px}
.footer-brand-mark{display:flex;align-items:center;gap:10px}
.footer-brand-mark svg{width:24px;height:26px}
.footer-brand-name{font-family:var(--font-display);font-size:15px;font-weight:600;color:var(--text-1)}
.footer-brand-desc{font-size:13px;line-height:1.7;color:var(--text-3);max-width:320px}
.footer-brand-location{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3);margin-top:4px}
.footer-brand-location ion-icon{font-size:13px}
.footer-links{display:flex;flex-direction:column;gap:12px}
.footer-links a{font-size:14px;color:var(--text-2);transition:color 0.25s;display:flex;align-items:center;gap:8px}
.footer-links a:hover{color:var(--text-1)}
.footer-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.footer-links a ion-icon{font-size:15px;color:var(--text-3)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:28px}
.footer-copy{font-size:12px;color:var(--text-3);opacity:0.7}
.footer-legal{font-size:11px;color:var(--text-3);opacity:0.5;text-align:right}

/* ═══════ RESPONSIVE ═══════ */
@media(max-width:900px){
  .card-flagship{padding:40px 32px}
  .approach-grid{grid-template-columns:1fr;gap:28px}
  .about-grid{grid-template-columns:1fr;gap:36px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .footer-watermark{width:280px;height:304px;right:-40px}
}
@media(max-width:640px){
  .site-header{padding:0 20px;height:64px}
  .header-nav{gap:16px}
  .header-link{display:none}
  .container{padding:0 20px}
  .hero{padding:100px 20px 60px}
  .hero-logo{width:72px;height:78px;margin-bottom:40px}
  .hero-heading{margin-bottom:22px}
  .hero-sub{font-size:14px;margin-bottom:36px}
  .section{padding-top:100px}
  .section-title{margin-bottom:36px}
  .shimmer-line{margin-top:100px}
  .card-flagship{padding:28px 22px}
  .flagship-top{flex-direction:column;gap:12px}
  .cards-row{grid-template-columns:1fr;gap:16px}
  .card-soon{padding:28px 22px}
  .approach-grid{grid-template-columns:1fr;gap:24px}
  .about-grid{grid-template-columns:1fr;gap:28px}
  .form-row{grid-template-columns:1fr}
  .footer-inner{padding:56px 20px 36px}
  .footer-grid{grid-template-columns:1fr;gap:36px}
  .footer-watermark{width:180px;height:196px;right:-20px;top:auto;bottom:-30px;transform:none;opacity:0.015}
  .footer-statement-heading{font-size:clamp(28px,8vw,40px)}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .footer-legal{text-align:left}
  .site-footer{margin-top:120px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .hero-stagger{opacity:1;transform:none;animation:none}
  .logo-mark-hero .hex-edge,.logo-mark-hero .hex-inner{stroke-dashoffset:0;animation:none}
  .logo-mark-hero .hex-dot,.logo-mark-hero .hex-dot-center{opacity:1;animation:none}
  .hero-logo::after{opacity:0.7;animation:none}
  .aurora-blob{animation:none}
  .shimmer-line::after{animation:none;display:none}
  .badge-active{animation:none}
  .glow-card{transition:none !important}
}
