@font-face {
    font-family: "Glacial Indifference";
    src: url("/fonts/GlacialIndifference-Regular.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
    font-display: fallback;
}
@font-face {
    font-family: "Glacial Indifference Bold";
    src: url("/fonts/GlacialIndifference-Bold.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

#root { min-height: 100vh; }
body { margin: 0; -webkit-font-smoothing: antialiased; }

/* Navbar */
.shell-nav { position:fixed; top:0; left:0; right:0; z-index:50; display:flex; flex-direction:column; align-items:center; }
.shell-banner { width:100%; background:linear-gradient(to right,#7e22ce,#7c3aed); display:flex; align-items:center; justify-content:center; padding:0.5rem 1rem; color:#fff; font-size:0.875rem; font-weight:500; height: 35px; box-sizing: border-box; font-family: "Glacial Indifference", system-ui, sans-serif; text-align: center; }
.shell-banner .pulse { width:0.5rem; height:0.5rem; border-radius:50%; background:#4ade80; margin-right:0.375rem; display:inline-block; }
.shell-header { width:90%; max-width:80%; display:flex; align-items:center; justify-content:space-between; border-radius:9999px; border:1px solid rgba(180,33,236,0.2); background:rgba(255,255,255,0.3); backdrop-filter:blur(40px); -webkit-backdrop-filter:blur(40px); padding:0.75rem 1.5rem; margin-top:1rem; box-shadow:0 25px 50px -12px rgba(0,0,0,0.1); box-sizing: border-box; }
.shell-logo { height:2rem; width:auto; }
.shell-cta-nav { display:inline-flex; align-items:center; justify-content:center; border-radius:9999px; height:2.5rem; padding:0 1.25rem; background:#c4b5fd; color:#0f172a; font-weight:700; font-size:0.875rem; text-decoration:none; font-family:"Glacial Indifference", system-ui, sans-serif; }

/* Hero */
.shell-hero { display:flex; align-items:center; overflow:hidden; background:#fff; padding:8rem 1.5rem 2rem; box-sizing: border-box; width: 100%; }
@media(min-width:768px){ .shell-hero { padding: 8rem 3rem 2.5rem; } }
@media(min-width:1024px){ .shell-hero { padding: 9rem 5rem 5rem; min-height:90vh; } }

.shell-hero-inner { max-width:1200px; margin:0 auto; width:100%; display:flex; flex-direction:column; align-items:center; gap:3rem; box-sizing: border-box; }
@media(min-width:1024px){ .shell-hero-inner { flex-direction:row; gap:5rem; } }

.shell-hero-left { flex:1; display:flex; flex-direction:column; gap:1.5rem; width:100%; z-index:10; }

.shell-hero h1 { font-size:3rem; font-weight:900; line-height:1.08; letter-spacing:-0.03em; color:#0f172a; margin:0; font-family:"Glacial Indifference", system-ui, sans-serif; }
@media(min-width:768px){ .shell-hero h1 { font-size:3.75rem; } }
@media(min-width:1024px){ .shell-hero h1 { font-size:4.25rem; } }
.shell-hero h1 span { background:linear-gradient(to right,#9333ea,#a78bfa); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

.shell-hero h2 { font-size:1.25rem; font-weight:700; color:#1e293b; margin:0; line-height:1.375; font-family:"Glacial Indifference", system-ui, sans-serif; }
@media(min-width:768px){ .shell-hero h2 { font-size:1.5rem; } }

.shell-hero-actions { display:flex; flex-direction:column; gap:1rem; margin-top:0.5rem; }
@media(min-width:640px){ .shell-hero-actions { flex-direction:row; } }

.shell-hero .cta { display:inline-flex; align-items:center; justify-content:center; border-radius:9999px; height:3.5rem; padding:0 2.5rem; background:#c4b5fd; color:#0f172a; font-weight:700; font-size:1rem; text-decoration:none; border:none; box-shadow:0 10px 15px -3px rgba(168,85,247,0.3); font-family:"Glacial Indifference", system-ui, sans-serif; }

.shell-hero-right { display:none; }
@media(min-width:1024px){ .shell-hero-right { flex:1; display:flex; justify-content:center; width:100%; min-height:500px; background:#0A0B0E; border-radius:1.5rem; border:1px solid #374151; box-sizing: border-box; } }

.material-symbols-outlined { display:inline-block; width:1em; height:1em; overflow:hidden; line-height:1; white-space:nowrap; text-transform:none; letter-spacing:normal; word-wrap:normal; }
