*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
img{display:block;max-width:100%}
:root{--accent:#ff2e2e;--accent-deep:#c81414;--accent-soft:rgba(255,46,46,.16);--bg:#f3efe9;--bg-2:#ece7df;--ink:#121212;--ink-2:#3a3a3c;--ink-3:#6b6b70;--ink-4:#a0a0a6;--glass-fill:rgba(255,255,255,.45);--glass-fill-strong:rgba(255,255,255,.62);--glass-border:rgba(255,255,255,.65);--glass-edge:rgba(20,20,30,.06);--glass-shadow:0 10px 40px -12px rgba(30,20,50,.18),0 2px 6px rgba(30,20,50,.05),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(30,20,50,.04);--hl-top:rgba(255,255,255,.9);--hl-bottom:rgba(255,255,255,.2);--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--radius-pill:999px;--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',sans-serif;--font-serif:'Instrument Serif','Times New Roman',serif}
[data-theme="dark"]{--bg:#0b0b10;--bg-2:#14141c;--ink:#f5f5f7;--ink-2:#d2d2d7;--ink-3:#8e8e93;--ink-4:#5a5a60;--glass-fill:rgba(255,255,255,.06);--glass-fill-strong:rgba(255,255,255,.09);--glass-border:rgba(255,255,255,.12);--glass-edge:rgba(0,0,0,.5);--glass-shadow:0 20px 60px -20px rgba(0,0,0,.7),0 2px 6px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(0,0,0,.3);--hl-top:rgba(255,255,255,.25);--hl-bottom:rgba(255,255,255,.03)}
body{font-family:var(--font-sans);color:var(--ink);background:var(--bg);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .6s ease,color .4s ease}
.aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:var(--bg);transition:background .6s ease}
.aurora::after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.35;mix-blend-mode:overlay}
.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.85;will-change:transform}
.blob.b1{width:60vw;height:60vw;left:-15vw;top:-15vw;background:radial-gradient(circle at 30% 30%,#ffb0b0 0%,rgba(255,120,120,0) 60%);animation:drift1 22s ease-in-out infinite alternate}
.blob.b2{width:55vw;height:55vw;right:-18vw;top:10vh;background:radial-gradient(circle at 70% 30%,#ffd98a 0%,rgba(255,195,120,0) 60%);animation:drift2 26s ease-in-out infinite alternate}
.blob.b3{width:70vw;height:70vw;left:10vw;top:55vh;background:radial-gradient(circle at 50% 50%,#b8c6ff 0%,rgba(160,170,255,0) 60%);animation:drift3 30s ease-in-out infinite alternate}
.blob.b4{width:45vw;height:45vw;right:0;top:110vh;background:radial-gradient(circle at 50% 50%,#ffb0d6 0%,rgba(255,150,200,0) 60%);animation:drift1 34s ease-in-out infinite alternate-reverse}
.blob.b5{width:55vw;height:55vw;left:-10vw;top:180vh;background:radial-gradient(circle at 50% 50%,#c8f0d4 0%,rgba(160,230,190,0) 60%);animation:drift2 28s ease-in-out infinite alternate}
[data-theme="dark"] .blob.b1{background:radial-gradient(circle at 30% 30%,#ff3355 0%,rgba(255,50,80,0) 60%);opacity:.45}
[data-theme="dark"] .blob.b2{background:radial-gradient(circle at 70% 30%,#ff9e3a 0%,rgba(255,140,60,0) 60%);opacity:.35}
[data-theme="dark"] .blob.b3{background:radial-gradient(circle at 50% 50%,#3a5cff 0%,rgba(60,90,255,0) 60%);opacity:.45}
[data-theme="dark"] .blob.b4{background:radial-gradient(circle at 50% 50%,#c02cff 0%,rgba(200,50,255,0) 60%);opacity:.35}
[data-theme="dark"] .blob.b5{background:radial-gradient(circle at 50% 50%,#00d2b4 0%,rgba(0,220,190,0) 60%);opacity:.3}
@keyframes drift1{from{transform:translate(0,0) scale(1)}to{transform:translate(8vw,4vh) scale(1.1)}}
@keyframes drift2{from{transform:translate(0,0) scale(1)}to{transform:translate(-6vw,6vh) scale(.95)}}
@keyframes drift3{from{transform:translate(0,0) scale(1)}to{transform:translate(4vw,-6vh) scale(1.08)}}
main,header,footer{position:relative;z-index:1}
.container{width:100%;max-width:1240px;margin:0 auto;padding:0 28px}
.glass{position:relative;background:var(--glass-fill);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);overflow:hidden}
.glass::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,var(--hl-top) 0%,transparent 40%,transparent 80%,var(--hl-bottom) 100%);opacity:.35;mix-blend-mode:screen}
.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--glass-edge)}
.glass>*{position:relative;z-index:1}
.nav-wrap{position:fixed;top:16px;left:0;right:0;z-index:100;display:flex;justify-content:center;padding:0 16px;pointer-events:none}
.nav{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:10px 10px 10px 18px;border-radius:var(--radius-pill);background:var(--glass-fill-strong);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:transform .4s cubic-bezier(.22,.9,.3,1.2),box-shadow .4s}
.nav-wrap.scrolled .nav{transform:scale(.95)}
.brand{display:flex;align-items:center;gap:10px;padding-right:14px;border-right:1px solid var(--glass-edge);margin-right:4px}
.logo-img{height:30px;width:auto;display:block}
.logo-img.logo-lg{height:40px}
.logo-dark{display:none}
[data-theme="dark"] .logo-light{display:none}
[data-theme="dark"] .logo-dark{display:block}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.nav ul a{display:inline-block;padding:8px 14px;border-radius:var(--radius-pill);font-size:14px;color:var(--ink-2);font-weight:500;transition:background .25s ease,color .25s ease}
.nav ul a:hover{background:rgba(127,127,127,.1);color:var(--ink)}
.nav-cta{padding:8px 14px;border-radius:var(--radius-pill);background:var(--ink);color:var(--bg);font-weight:500;font-size:14px;border:1px solid var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px rgba(0,0,0,.25)}
.nav-theme{width:34px;height:34px;border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-fill);display:grid;place-items:center;color:var(--ink-2);transition:background .25s}
.nav-theme:hover{background:var(--glass-fill-strong);color:var(--ink)}
.nav-theme svg{width:16px;height:16px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:var(--radius-pill);font-weight:500;font-size:15px;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .25s ease}
.btn-primary{background:var(--ink);color:var(--bg);box-shadow:0 10px 30px -10px rgba(0,0,0,.35)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-glass{background:var(--glass-fill-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:var(--glass-border);color:var(--ink);box-shadow:var(--glass-shadow)}
.btn-glass:hover{transform:translateY(-2px)}
.section-tag{display:inline-block;padding:6px 12px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--glass-border);background:var(--glass-fill);backdrop-filter:blur(10px)}
footer{padding:60px 0 40px;margin-top:80px;position:relative}
.footer-main{padding:48px;border-radius:var(--radius-lg);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.foot-col h5{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:500;margin:0 0 16px}
.foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.foot-col a{color:var(--ink-2);font-size:14px;transition:color .2s}
.foot-col a:hover{color:var(--ink)}
.foot-brand p{color:var(--ink-2);font-size:14px;max-width:32ch;margin:14px 0 0;line-height:1.6}
.foot-brand .brand{border-right:none;padding:0;margin:0}
.foot-bottom{margin-top:28px;padding-top:24px;border-top:1px solid var(--glass-edge);display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--ink-3)}
@media (max-width:1024px){.footer-main{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.container{padding:0 18px}.nav-wrap{top:10px;padding:0 10px}.nav ul{display:none}.footer-main{grid-template-columns:1fr;padding:32px}.logo-img{height:24px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.15s !important}}
