*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --teal: #75CCD2; --teal-dark: #4BAAB1; --teal-light: #A8E4E8;
  --mint: #98D4C5; --purple: #644A9E; --purple-dark: #4A3578;
  --purple-light: #8B6EC5; --white: #ffffff; --off-white: #F7FAFB;
  --gray-light: #F0F4F5; --gray-mid: #C8D5D8; --gray-text: #6B7B80;
  --dark: #1A2A2E; --darker: #0F1A1D;
}
html { scroll-behavior: smooth; }
body { font-family: 'AR One Sans', sans-serif; background: var(--white); color: var(--dark); line-height: 1.6; overflow-x: hidden; }
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(255,255,255,0.95); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(117,204,210,0.2); padding: 0 5%; display: flex; align-items: center; justify-content: space-between; height: 70px; }
.nav-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.logo-name { font-size: 18px; font-weight: 700; color: var(--purple); letter-spacing: .05em; }
.logo-tag { font-size: 9px; font-weight: 500; color: var(--teal); letter-spacing: .2em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 28px; list-style: none; }
.nav-links a { text-decoration: none; color: var(--dark); font-size: 14px; font-weight: 500; transition: color .2s; }
.nav-links a:hover, .nav-links a.active { color: var(--teal-dark); }
.nav-cta { background: var(--purple) !important; color: var(--white) !important; padding: 10px 22px !important; border-radius: 8px !important; }
.nav-cta:hover { background: var(--purple-dark) !important; }
.page-hero { background: var(--darker); padding: 140px 5% 80px; position: relative; overflow: hidden; }
.page-hero::before { content: ''; position: absolute; top: -100px; right: -100px; width: 500px; height: 500px; border-radius: 50%; background: radial-gradient(circle, rgba(100,74,158,.3) 0%, transparent 70%); }
.page-hero::after { content: ''; position: absolute; bottom: -80px; left: -60px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(117,204,210,.15) 0%, transparent 70%); }
.page-hero-inner { max-width: 900px; margin: 0 auto; position: relative; z-index: 1; }
.page-eyebrow { display: inline-block; background: rgba(117,204,210,.12); border: 1px solid rgba(117,204,210,.3); border-radius: 100px; padding: 6px 16px; font-size: 12px; font-weight: 700; color: var(--teal); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 20px; }
.page-title { font-size: clamp(32px,5vw,56px); font-weight: 700; color: var(--white); line-height: 1.1; letter-spacing: -.02em; margin-bottom: 20px; }
.page-title span { color: var(--teal); }
.page-desc { font-size: 18px; color: rgba(255,255,255,.6); max-width: 600px; line-height: 1.7; }
section { padding: 80px 5%; }
.section-inner { max-width: 1200px; margin: 0 auto; }
.section-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--teal-dark); margin-bottom: 12px; }
.section-title { font-size: clamp(26px,4vw,40px); font-weight: 700; line-height: 1.15; color: var(--dark); letter-spacing: -.02em; margin-bottom: 16px; }
.section-desc { font-size: 16px; color: var(--gray-text); max-width: 560px; line-height: 1.7; margin-bottom: 48px; }
.btn-primary { background: var(--teal); color: var(--darker); padding: 13px 28px; border-radius: 8px; font-size: 15px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: background .2s, transform .2s; }
.btn-primary:hover { background: var(--teal-light); transform: translateY(-2px); }
.btn-purple { background: var(--purple); color: var(--white); padding: 13px 28px; border-radius: 8px; font-size: 15px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: background .2s; }
.btn-purple:hover { background: var(--purple-dark); }
.btn-outline { border: 1.5px solid rgba(100,74,158,.3); color: var(--purple); padding: 13px 28px; border-radius: 8px; font-size: 15px; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: border-color .2s, background .2s; }
.btn-outline:hover { border-color: var(--purple); background: rgba(100,74,158,.05); }
footer { background: var(--darker); padding: 60px 5% 32px; }
.footer-inner { max-width: 1200px; margin: 0 auto; }
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.07); margin-bottom: 32px; }
.footer-brand-desc { font-size: 14px; color: rgba(255,255,255,.45); line-height: 1.7; margin-top: 16px; max-width: 280px; }
.footer-col-title { font-size: 13px; font-weight: 700; color: var(--white); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 18px; }
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-links a { text-decoration: none; font-size: 14px; color: rgba(255,255,255,.45); transition: color .2s; }
.footer-links a:hover { color: var(--teal); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; }
.footer-copy { font-size: 13px; color: rgba(255,255,255,.3); }
.footer-socials { display: flex; gap: 12px; }
.social-btn { width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 14px; color: rgba(255,255,255,.5); transition: background .2s, color .2s; }
.social-btn:hover { background: var(--teal); color: var(--darker); }
.cta-band { background: var(--purple); padding: 64px 5%; text-align: center; }
.cta-band h2 { font-size: clamp(24px,3vw,36px); font-weight: 700; color: var(--white); margin-bottom: 12px; }
.cta-band p { font-size: 16px; color: rgba(255,255,255,.65); margin-bottom: 32px; }
@media(max-width:1024px){ .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; } }
@media(max-width:680px){ .nav-links { display: none; } .footer-top { grid-template-columns: 1fr; } .footer-bottom { flex-direction: column; gap: 16px; } }
