@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
body.menu-open { overflow:hidden; }
.site-header, .site-footer { --shell-ink:#17131f; --shell-paper:#fbfaf7; --shell-white:#fff; --shell-plum:#4f2380; --shell-dark:#160b26; --shell-violet:#7a45ad; --shell-mint:#c8f4df; --shell-line:#ddd8e2; font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; box-sizing:border-box; }
.site-header *, .site-footer * { box-sizing:border-box; }
.site-header { position:sticky; top:0; z-index:1000; height:auto; padding:0; border-bottom:1px solid rgba(79,35,128,.1); background:rgba(251,250,247,.96); color:var(--shell-ink); box-shadow:none; backdrop-filter:blur(16px); }
.site-header .shell-wrap, .site-footer .shell-wrap { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.site-header .nav-shell { display:flex; min-height:78px; align-items:center; justify-content:space-between; gap:1.5rem; }
.site-header .brand, .site-footer .brand { display:inline-flex; align-items:center; gap:.72rem; color:inherit; font:800 1.05rem/1 "Manrope","DM Sans",sans-serif; text-decoration:none; white-space:nowrap; }
.site-header .brand-mark, .site-footer .brand-mark { display:grid; width:38px; aspect-ratio:1; place-items:center; border-radius:11px 11px 11px 3px; background:var(--shell-plum); color:var(--shell-white); font-size:.85rem; }
.site-header .brand em, .site-footer .brand em { color:var(--shell-violet); font-style:normal; }
.site-header .main-nav { display:flex; align-items:center; gap:.9rem; }
.site-header .main-nav a { padding:0; border:0; border-radius:0; background:transparent; color:var(--shell-ink); font-size:.8rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.site-header .main-nav a:hover, .site-header .main-nav a[aria-current="page"] { color:var(--shell-plum); background:transparent; }
.site-header .main-nav .button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:.85rem 1.35rem; border-radius:999px; background:var(--shell-plum); color:var(--shell-white); }
.site-header .menu-toggle { position:relative; display:none; width:46px; height:46px; padding:0; border:1px solid var(--shell-line); border-radius:50%; background:var(--shell-white); }
.site-header .menu-toggle span { position:absolute; left:50%; top:50%; display:block; width:19px; height:2px; margin:0; background:var(--shell-ink); transform:translate(-50%,-50%); transition:opacity .15s; }
.site-header .menu-toggle span:first-child { transform:translate(-50%,calc(-50% - 6px)); }
.site-header .menu-toggle span:last-child { transform:translate(-50%,calc(-50% + 6px)); }
.site-header .menu-toggle[aria-expanded="true"] span:first-child { transform:translate(-50%,-50%) rotate(45deg); }
.site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.site-header .menu-toggle[aria-expanded="true"] span:last-child { transform:translate(-50%,-50%) rotate(-45deg); }
.site-footer { margin-top:0; padding:62px 0 28px; background:var(--shell-dark); color:var(--shell-white); text-align:left; }
.site-footer .footer-grid { display:grid; grid-template-columns:1.25fr repeat(2,.75fr); gap:3rem; }
.site-footer .footer-about { max-width:420px; }
.site-footer .footer-about p { margin:1rem 0 0; color:#bcb2c6; }
.site-footer .footer-title { margin:0 0 1rem; color:#9f94aa; font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.site-footer .footer-links { display:grid; gap:.6rem; }
.site-footer .footer-links a { color:#efe9f3; text-decoration:none; }
.site-footer .footer-links a:hover { color:var(--shell-mint); }
.site-footer .footer-bottom { display:flex; justify-content:space-between; gap:2rem; margin-top:3.5rem; padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.14); color:#94899f; font-size:.78rem; }
.site-footer .footer-bottom p { margin:0; color:inherit; }
.site-footer .footer-disclaimer { max-width:760px; }
@media (max-width:1180px) {
  .site-header .menu-toggle { display:block; }
  .site-header .main-nav { position:fixed; inset:78px 0 auto; display:none; max-height:calc(100vh - 78px); overflow:auto; flex-direction:column; align-items:stretch; padding:1.4rem 20px 2rem; border-bottom:1px solid var(--shell-line); background:var(--shell-paper); }
  .site-header .main-nav.open { display:flex; }
  .site-header .main-nav a { padding:.6rem 0; font-size:1rem; }
  .site-header .main-nav .button { margin-top:.2rem; color:var(--shell-white); }
}
@media (max-width:700px) {
  .site-header .shell-wrap, .site-footer .shell-wrap { width:min(100% - 28px,1180px); }
  .site-header .nav-shell { min-height:70px; }
  .site-header .main-nav { inset-block-start:70px; max-height:calc(100vh - 70px); }
  .site-footer .footer-grid { grid-template-columns:1fr; }
  .site-footer .footer-bottom { flex-direction:column; }
}
.legacy-shell-page { display:block !important; min-height:100vh; padding:0 !important; text-align:initial; }
.legacy-shell-page > .container { margin:4rem auto; }
