:root{
  --brand-purple:#675ae8;
  --brand-purple-dark:#241b5b;
  --brand-purple-deep:#17132f;
  --brand-purple-soft:#eeecff;
  --brand-purple-line:#e4e0ff;
  --brand-muted:#625f78;
}

/* Shared dynamic header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--brand-purple-line);box-shadow:0 8px 30px rgba(36,27,91,.06)}
.site-nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;max-width:1600px;margin:0 auto;gap:2rem}
.site-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.site-brand img{display:block;width:190px;max-width:32vw;height:auto;object-fit:contain}
.site-nav-links{display:flex;align-items:center;gap:1.7rem;list-style:none;margin:0;padding:0}
.site-nav-links a{position:relative;text-decoration:none;color:var(--brand-muted);font-size:.87rem;font-weight:700;transition:color .2s ease;padding:.55rem .1rem}
.site-nav-links a:hover,.site-nav-links a.active{color:var(--brand-purple)}
.site-nav-links a.active:after{content:"";position:absolute;left:10%;right:10%;bottom:-5px;height:2px;border-radius:10px;background:var(--brand-purple)}
.site-nav-cta{background:var(--brand-purple);color:#fff!important;padding:.74rem 1.25rem;border-radius:999px;font-size:.86rem;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 10px 25px rgba(103,90,232,.22);transition:transform .2s ease,background .2s ease}
.site-nav-cta:hover{background:#594bdc;transform:translateY(-1px)}
.site-menu-btn{display:none;width:42px;height:42px;border:1px solid var(--brand-purple-line);background:#fff;border-radius:12px;align-items:center;justify-content:center;color:var(--brand-purple-dark);font-size:1.1rem;cursor:pointer}
.site-mobile-menu{display:none;position:absolute;top:78px;left:5vw;right:5vw;background:#fff;border:1px solid var(--brand-purple-line);border-radius:20px;box-shadow:0 20px 55px rgba(36,27,91,.16);padding:.65rem;z-index:1001}
.site-mobile-menu.open{display:block}
.site-mobile-menu a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--brand-muted);font-weight:700;padding:.9rem 1rem;border-radius:12px}
.site-mobile-menu a:hover,.site-mobile-menu a.active{background:var(--brand-purple-soft);color:var(--brand-purple)}

/* Shared dynamic footer */
.site-footer{background:var(--brand-purple-deep);color:#fff;padding:46px 6vw 28px}
.site-footer-inner{max-width:1600px;margin:0 auto}
.site-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.3rem}
.site-footer-brand img{width:190px;max-width:100%;height:auto;display:block}
.site-footer-about{max-width:440px;color:rgba(255,255,255,.64);font-size:.86rem;line-height:1.8;margin-top:1.1rem}
.site-footer-contact{margin-top:1.15rem;color:#d8d4ff;font-size:.88rem;line-height:1.95}
.site-footer-contact i{width:20px;color:#a79fff}
.site-footer h4{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.42);margin:0 0 1rem}
.site-footer ul{list-style:none;display:grid;gap:.55rem;margin:0;padding:0}
.site-footer a{color:rgba(255,255,255,.64);font-size:.86rem;line-height:1.7;text-decoration:none;transition:color .2s ease}
.site-footer a:hover{color:#fff}
.site-footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding-top:1.45rem;gap:1rem}
.site-footer-bottom p{margin:0;color:rgba(255,255,255,.48);font-size:.8rem}
.site-social{display:flex;gap:.6rem}
.site-social a{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.06)}
.site-social a:hover{background:var(--brand-purple)}

@media(max-width:980px){
  .site-nav-links,.site-nav-cta{display:none}
  .site-menu-btn{display:flex}
  .site-brand img{width:190px;max-width:65vw}
  .site-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .site-nav{height:70px;padding:0 5vw}
  .site-brand img{width:185px;max-width:68vw}
  .site-mobile-menu{top:70px}
  .site-footer{padding:38px 5vw 24px}
  .site-footer-grid{grid-template-columns:1fr;gap:1.7rem}
  .site-footer-bottom{flex-direction:column;text-align:center}
}
