/* Vibrant theme: violet brand, coral call-to-action, sunny yellow accent. Loads after site.css. */
:root{
  --petrol:#FBFAFF; --petrol-deep:#F0ECFF; --petrol-up:#FFFFFF;
  --bone:#17153B; --bone-dim:#3A376B; --bone-soft:rgba(23,21,59,.68); --ink:#17153B;
  --rule:rgba(23,21,59,.12); --rule-ink:rgba(23,21,59,.12);
  --marigold:#6C4CF5; --marigold-dp:#5436D6;
  --mari:#6C4CF5; --mari-dp:#5436D6; --deep:#F0ECFF;
  --cta:#FF6B4A; --cta-h:#FF5530; --sun:#FFC53D; --mint:#14B8A6;
}
::selection{background:var(--sun);color:var(--ink)}
.nav{background:rgba(251,250,255,.88)}
.nav-link{font-family:var(--body);text-transform:none;font-size:15px;font-weight:500;letter-spacing:0}
.btn{border-radius:999px;font-family:var(--body);text-transform:none;letter-spacing:.01em;font-size:15px;font-weight:600;padding:14px 26px}
.btn-solid{background:var(--cta);color:#fff;box-shadow:0 10px 24px -10px rgba(255,107,74,.7)}
.btn-solid:hover{background:var(--cta-h)}
.btn-line{background:#fff}
.btn-line:hover{border-color:var(--mari);color:var(--mari)}
.btn-ink{background:#fff;color:var(--ink)}
.hero{background:radial-gradient(900px 480px at 85% 0,rgba(108,76,245,.16),transparent 60%),radial-gradient(700px 400px at 0 20%,rgba(255,197,61,.22),transparent 60%),var(--petrol)}
.hero::before,.hero::after,.band-paper::after{display:none}
.hero-h1 em{color:var(--mari)}
.hero-h1 em::after{background:var(--sun);height:9px;opacity:.75;bottom:.04em;z-index:-1}
.plot-fill{fill:rgba(108,76,245,.12)}
.plot::before{background:radial-gradient(closest-side,rgba(108,76,245,.16),transparent 72%)}
.strip{background:#fff}
.stat-v{color:var(--mari)}
.dot{background:var(--mint)}
.band-paper{background:linear-gradient(180deg,#F0ECFF,#FBFAFF)}
.phases{border-top:0;gap:16px}
.phase,.phase:last-child{background:#fff;border:1px solid var(--rule);border-radius:20px;padding:34px 30px}
.phase:hover{background:#fff;transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(108,76,245,.45)}
.phase-n{opacity:.7;color:var(--sun)}
.repo,.review,.sheet-box{border-radius:20px;background:#fff;box-shadow:0 12px 34px -22px rgba(23,21,59,.35)}
.repo{overflow:hidden}
.repo:hover{border-color:var(--mari);box-shadow:0 26px 50px -24px rgba(108,76,245,.5)}
.review:hover{border-color:var(--mari)}
.repo-zoom{background:#fff;color:var(--ink)}
.chip{border-radius:999px;background:var(--petrol-deep);border-color:transparent;color:var(--mari-dp)}
.sheet{background:rgba(23,21,59,.6)}
.sheet-close,.sheet-stat{background:#fff}
.video-wrap{border-radius:20px}
.video-play span{background:var(--cta)}
.video-play svg{fill:#fff}
.video-cap{background:linear-gradient(transparent,rgba(23,21,59,.85));color:#fff}
.faq{max-width:780px}
.faq-i{background:#fff;border:1px solid var(--rule);border-radius:16px;margin-bottom:12px;padding:0 22px}
.faq-i summary{cursor:pointer;font-weight:600;font-size:17px;padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary::after{content:"+";color:var(--mari);font-size:24px;line-height:1}
.faq-i[open] summary::after{content:"\2212"}
.faq-i p{margin:0 0 20px;color:var(--bone-soft)}
.contact{background:linear-gradient(135deg,#6C4CF5,#8B5CF6 55%,#C026D3);color:#fff}
.contact .kicker,.contact-b{color:rgba(255,255,255,.9)}
.contact .kicker::after{background:rgba(255,255,255,.3)}
.contact .btn-ink{background:var(--cta);color:#fff}
.contact-mail,.contact-mail:hover{color:#fff;border-color:rgba(255,255,255,.55)}
.foot{background:var(--ink)}
.foot-note,.foot-link{color:rgba(255,255,255,.72)}
.foot-link:hover{color:var(--sun)}
