:root { --ink: #0A0E1A; --ink-2: #1A1F2E; --paper: #FAFAF7; --paper-2: #F2F2EE; --signal: #2E6BFF; --signal-2: #1E50CC; --caution: #E8A33D; --halt: #D7423F; --mute: #8A8F99; --mute-2: #C7C9CE; --rule: #E5E5E0; --rule-dark: #2A2F3D; } * { box-sizing: border-box; } html, body { margin: 0; padding: 0; background: var(--paper); color: var(--ink); font-family: "Inter", -apple-system, "PingFang SC", sans-serif; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; } a { color: inherit; text-decoration: none; } .container { max-width: 1200px; margin: 0 auto; padding: 0 32px; } /* NAV */ nav { position: sticky; top: 0; z-index: 50; background: rgba(250,250,247,0.85); backdrop-filter: blur(12px); border-bottom: 1px solid var(--rule); } nav .container { display: flex; align-items: center; justify-content: space-between; height: 64px; } .brand { font-weight: 700; font-size: 18px; letter-spacing: -0.01em; } .brand-dot { color: var(--signal); } .nav-links { display: flex; gap: 28px; font-size: 14px; align-items: center; } .nav-links > a:hover, .nav-trigger:hover { color: var(--signal); } .nav-links a.active { color: var(--signal); font-weight: 500; } .nav-cta { background: var(--ink); color: var(--paper); padding: 9px 18px; border-radius: 999px; font-size: 14px; font-weight: 600; transition: background 0.15s, transform 0.1s; } .nav-cta:hover { background: var(--ink-2); } .nav-cta:active { transform: scale(0.97); } /* Login link in nav */ .nav-login { color: var(--mute); font-size: 14px; transition: color 0.15s; } .nav-login:hover { color: var(--ink); } /* Theme toggle */ .theme-toggle { background: transparent; border: 0; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: var(--mute); transition: color 0.15s, background 0.15s; padding: 0; } .theme-toggle:hover { color: var(--ink); background: var(--paper-2); } .theme-toggle .icon-moon { display: inline-block; } .theme-toggle .icon-sun { display: none; } html.dark .theme-toggle .icon-moon { display: none; } html.dark .theme-toggle .icon-sun { display: inline-block; } /* Dark mode palette */ html.dark { --ink: #F5F5F0; --ink-2: #2A2F3D; --paper: #0A0E1A; --paper-2: #14192A; --rule: #2A2F3D; --rule-dark: #3A3F4D; --mute: #8A8F99; --mute-2: #5A5F69; } html.dark body { background: var(--paper); color: var(--ink); } html.dark .card, html.dark .what-card, html.dark .anti-card, html.dark .role-card, html.dark .pet-card, html.dark .lead-form, html.dark .mock, html.dark .anatomy-wrap, html.dark .compare-table, html.dark .case-table, html.dark .post-card, html.dark .visa-card, html.dark .reason-card, html.dark .situation-card, html.dark .tier-card { background: var(--ink-2); } html.dark .field input, html.dark .field select, html.dark .field textarea { background: var(--paper-2); color: var(--ink); } html.dark nav { background: rgba(10,14,26,0.85); } html.dark .chip { background: var(--ink-2); border-color: var(--rule); color: var(--mute-2); } html.dark .chip.active { background: var(--ink); color: var(--paper); } /* Resources dropdown */ .nav-dropdown { position: relative; } .nav-trigger { background: transparent; border: 0; font: inherit; font-size: 14px; color: var(--ink); cursor: pointer; display: inline-flex; align-items: center; gap: 4px; padding: 0; } .nav-trigger svg { transition: transform 0.2s; } .nav-dropdown.open .nav-trigger svg { transform: rotate(180deg); } .dropdown-menu { position: absolute; top: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(-4px); background: var(--ink); color: var(--paper); border: 1px solid var(--rule-dark); border-radius: 14px; padding: 12px; min-width: 240px; box-shadow: 0 12px 40px rgba(10,14,26,0.2); opacity: 0; pointer-events: none; transition: opacity 0.18s, transform 0.18s; } .nav-dropdown.open .dropdown-menu { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); } .dropdown-menu a { display: block; padding: 12px 16px; font-family: "JetBrains Mono", monospace; font-size: 14px; color: var(--paper); border-radius: 8px; transition: background 0.12s, color 0.12s; } .dropdown-menu a:hover { background: var(--ink-2); color: var(--signal); } /* HERO */ .hero { padding: 80px 0 56px; } .hero.centered { text-align: center; } .eyebrow { font-size: 12px; font-weight: 600; color: var(--signal); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 16px; } .hero h1 { font-size: 56px; font-weight: 700; line-height: 1.05; letter-spacing: -0.025em; margin: 0 0 20px; } .hero h1 em { font-style: normal; color: var(--signal); } .hero p.lead { font-size: 18px; color: var(--mute); margin: 0 0 28px; max-width: 620px; } .hero.centered p.lead { margin-left: auto; margin-right: auto; } /* Section */ .section { padding: 80px 0; } .section.alt { background: var(--paper-2); } .section.dark { background: var(--ink); color: var(--paper); } .section-head { text-align: center; margin-bottom: 48px; } .section-head h2 { font-size: 36px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 12px; line-height: 1.15; max-width: 760px; margin-left: auto; margin-right: auto; } .section-head p { font-size: 17px; color: var(--mute); max-width: 600px; margin: 0 auto; } .section.dark .section-head h2 { color: var(--paper); } .section.dark .section-head p { color: var(--mute-2); } /* Buttons */ .btn { display: inline-block; padding: 12px 22px; border-radius: 10px; font-weight: 600; font-size: 14px; transition: all 0.15s; border: 1px solid transparent; cursor: pointer; font-family: inherit; } .btn-primary { background: var(--signal); color: white; } .btn-primary:hover { background: var(--signal-2); } .btn-secondary { background: transparent; color: var(--ink); border-color: var(--ink); } .btn-secondary:hover { background: var(--ink); color: var(--paper); } /* Card grids */ .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; } .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; } .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; } .card { background: #FFFFFF; border: 1px solid var(--rule); border-radius: 16px; padding: 28px; transition: border-color 0.15s, transform 0.15s; } .card.hover:hover { border-color: var(--signal); transform: translateY(-2px); } .card h3 { font-size: 18px; font-weight: 600; margin: 0 0 8px; letter-spacing: -0.01em; } .card p { font-size: 14px; color: var(--mute); margin: 0; line-height: 1.55; } /* CTA band */ .cta-band { background: var(--ink); color: var(--paper); border-radius: 24px; padding: 64px 48px; text-align: center; margin-bottom: 96px; } .cta-band h2 { font-size: 36px; font-weight: 700; letter-spacing: -0.02em; margin: 0 0 16px; line-height: 1.1; } .cta-band p { color: var(--mute-2); font-size: 17px; max-width: 540px; margin: 0 auto 28px; } .cta-buttons { display: inline-flex; gap: 12px; } .cta-band .btn-secondary { color: var(--paper); border-color: var(--rule-dark); } .cta-band .btn-secondary:hover { background: var(--ink-2); color: var(--paper); } /* Footer */ footer { border-top: 1px solid var(--rule); padding: 48px 0 64px; color: var(--mute); font-size: 13px; } footer .container { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 32px; } .footer-links { display: flex; gap: 32px; } .disclaimer { border-top: 1px dashed var(--rule); margin-top: 32px; padding-top: 24px; font-size: 12px; line-height: 1.55; max-width: 760px; } /* Pill / tag */ .pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; background: var(--paper-2); color: var(--mute); } .pill.signal { background: rgba(46,107,255,0.1); color: var(--signal); } .pill.caution { background: rgba(232,163,61,0.15); color: var(--caution); } /* Form */ .field { display: flex; flex-direction: column; margin-bottom: 12px; } .field label { font-size: 12px; font-weight: 600; color: var(--mute); letter-spacing: 0.04em; margin-bottom: 4px; } .field input, .field select, .field textarea { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 8px; padding: 10px 12px; font: inherit; font-size: 14px; color: var(--ink); transition: border-color 0.15s, background 0.15s; } .field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--signal); background: #FFFFFF; } /* Responsive */ @media (max-width: 880px) { .hero h1 { font-size: 40px; } .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } .nav-links { display: none; } .cta-band { padding: 48px 24px; } .section { padding: 56px 0; } }