:root{
  --si-orange:#ff651e;
  --si-orange-2:#ff8c3b;
  --si-violet:#6332d5;
  --si-violet-2:#8c5cf2;
  --si-ink:#161622;
  --si-copy:#34364a;
  --si-muted:#6d7086;
  --si-line:#e8e4ec;
  --si-soft:#fbf8ff;
  --si-shadow:0 24px 70px rgba(34,20,64,.10);
}

.si-home{overflow:hidden;background:#fff;color:var(--si-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.si-shell{width:min(1220px,calc(100% - 36px));margin:0 auto}
.si-kicker{color:var(--si-orange);font-size:12px;font-weight:950;letter-spacing:.18em;text-transform:uppercase;margin-bottom:13px}
.si-kicker-light{color:#ff9b67}
.si-home h1,.si-home h2,.si-home h3,.si-home p{margin-top:0}
.si-home h1{font-size:clamp(48px,6.6vw,90px);line-height:.94;letter-spacing:-.055em;margin-bottom:24px;font-weight:950}
.si-home h1 span{color:var(--si-orange)}
.si-home h2{font-size:clamp(34px,4.6vw,58px);line-height:1.02;letter-spacing:-.045em;margin-bottom:20px;font-weight:950}
.si-home h3{font-size:22px;line-height:1.12;letter-spacing:-.025em;margin-bottom:10px;font-weight:900}
.si-home p{color:var(--si-copy);font-size:17px;line-height:1.7}

.si-hero{position:relative;background:radial-gradient(circle at 84% 16%,rgba(124,76,231,.17),transparent 30%),radial-gradient(circle at 16% 10%,rgba(255,101,30,.10),transparent 27%),linear-gradient(135deg,#fff 0%,#fff9f5 47%,#f7f0ff 100%);border-bottom:1px solid var(--si-line)}
.si-hero-grid{min-height:720px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr);gap:35px;align-items:center;padding:72px 0 48px}
.si-hero-copy{position:relative;z-index:2}
.si-hero-lead{font-size:clamp(19px,2vw,23px)!important;line-height:1.57!important;max-width:750px;color:#26283a!important}
.si-hero-sub{max-width:760px;color:#63667a!important}
.si-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}
.si-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:0 20px;border-radius:13px;text-decoration:none!important;font-weight:900;font-size:14px;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.si-btn span{font-size:19px;line-height:1}
.si-btn:hover{transform:translateY(-2px)}
.si-btn-orange{color:#fff!important;background:linear-gradient(135deg,var(--si-orange),var(--si-orange-2));box-shadow:0 12px 28px rgba(255,101,30,.20)}
.si-btn-violet{color:#fff!important;background:linear-gradient(135deg,var(--si-violet),var(--si-violet-2));box-shadow:0 12px 28px rgba(99,50,213,.20)}
.si-btn-ghost{color:#41346a!important;background:#fff;border:1px solid #ded4f1;box-shadow:0 10px 25px rgba(55,33,89,.07)}

.si-hero-art{position:relative;align-self:end;min-height:650px;display:flex;justify-content:center;align-items:flex-end}
.si-hero-art img{position:relative;z-index:2;width:min(600px,100%);max-height:690px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 34px rgba(46,25,87,.18))}
.si-orbit{position:absolute;border:1px solid rgba(99,50,213,.13);border-radius:50%;pointer-events:none}
.si-orbit-one{width:520px;height:520px;right:-35px;top:80px}
.si-orbit-two{width:380px;height:380px;right:40px;top:150px;border-color:rgba(255,101,30,.14)}
.si-float-card{position:absolute;z-index:3;display:grid;gap:2px;padding:10px 13px;border:1px solid rgba(100,77,153,.15);border-radius:13px;background:rgba(255,255,255,.90);box-shadow:0 12px 30px rgba(55,33,89,.11);backdrop-filter:blur(8px)}
.si-float-card b{font-size:11px;letter-spacing:.12em;color:var(--si-violet)}
.si-float-card span{font-size:10px;color:var(--si-muted)}
.si-float-top{top:120px;right:-15px}.si-float-mid{top:270px;left:-10px}.si-float-bottom{right:15px;bottom:115px}

.si-trust-strip{background:#261164;color:#fff}
.si-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.si-trust-grid>div{padding:24px 28px;border-right:1px solid rgba(255,255,255,.12)}
.si-trust-grid>div:last-child{border-right:0}
.si-trust-grid strong,.si-trust-grid span{display:block}.si-trust-grid strong{font-size:15px}.si-trust-grid span{font-size:11px;color:#d5c9f6;margin-top:3px}

.si-section{padding:90px 0}
.si-section-white{background:#fff}.si-section-soft{background:linear-gradient(180deg,#fbf9fd,#f7f4fb)}
.si-section-dark{background:radial-gradient(circle at 15% 20%,rgba(255,101,30,.13),transparent 25%),linear-gradient(135deg,#160c38,#2d126f 65%,#43159a);color:#fff}
.si-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:70px;align-items:center}
.si-split-reverse{grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr)}
.si-copy-block p{max-width:720px}.si-copy-light p{color:#e2dcf5}.si-copy-light h2{color:#fff}
.si-character-panel{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:520px}
.si-character-panel::before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(118,80,215,.15),rgba(255,101,30,.05) 55%,transparent 72%)}
.si-character-panel img{position:relative;z-index:1;width:min(470px,100%);max-height:600px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 24px rgba(41,25,71,.12))}
blockquote{margin:28px 0 0;padding:22px 24px;border-left:5px solid var(--si-orange);border-radius:0 16px 16px 0;background:#fff7f1;color:#28283a;font-size:19px;line-height:1.55;font-weight:760}
blockquote cite{display:block;margin-top:13px;color:#7d604e;font-size:12px;font-style:normal;font-weight:900;letter-spacing:.04em}

.si-section-head{max-width:840px;margin:0 auto 40px;text-align:center}.si-section-head>p{color:var(--si-muted)}
.si-cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.si-cap-card{position:relative;min-height:245px;padding:25px;border:1px solid #e9e5ed;border-radius:20px;background:#fff;box-shadow:0 10px 26px rgba(38,24,60,.055);overflow:hidden}
.si-cap-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-58px;top:-58px;background:linear-gradient(135deg,rgba(255,101,30,.10),rgba(99,50,213,.11))}
.si-cap-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f3edff;color:var(--si-violet);font-weight:950;font-size:12px;margin-bottom:18px}
.si-cap-card p{font-size:14px;color:#666a7b;line-height:1.6;margin-bottom:0}

.si-check-list{display:grid;gap:10px;margin-top:26px}.si-check-list>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.11)}.si-check-list>div:last-child{border-bottom:0}.si-check-list span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(255,128,67,.18);color:#ff9b67;font-weight:950}.si-check-list p{margin:0;font-size:14px;color:#e7e0f7}.si-check-list b{color:#fff}

.si-showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.si-showcase{min-height:360px;padding:34px;border-radius:24px;border:1px solid #e5dfec;box-shadow:var(--si-shadow);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;position:relative}.si-showcase::before{content:"";position:absolute;inset:0;pointer-events:none}.si-showcase-vio{background:linear-gradient(135deg,#f9f5ff,#fff)}.si-showcase-vio::before{background:radial-gradient(circle at 88% 10%,rgba(99,50,213,.22),transparent 32%)}.si-showcase-radar{background:linear-gradient(135deg,#fff7f1,#fff)}.si-showcase-radar::before{background:radial-gradient(circle at 87% 8%,rgba(255,101,30,.22),transparent 32%)}.si-showcase>*{position:relative;z-index:1}.si-showcase-badge{align-self:flex-start;margin-bottom:auto;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e9e3ed;color:#5c3bad;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.si-showcase p{font-size:15px;color:#5f6174}.si-showcase a{color:var(--si-violet);font-weight:900;text-decoration:none}.si-showcase-radar a{color:#d95719}.si-showcase-links{display:flex;gap:16px;flex-wrap:wrap}

.si-kevin-section{background:linear-gradient(135deg,#fff6f0,#f7f1ff)}
.si-kevin-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:center}.si-kevin-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:8px solid #fff;box-shadow:0 18px 48px rgba(50,27,85,.14)}.si-kevin-quote{font-size:17px;margin-top:14px}.si-kevin-name{color:#35364a!important;margin-top:20px}.si-kevin-name strong{font-size:19px}

.si-future-section{padding-bottom:0;background:radial-gradient(circle at 75% 40%,rgba(122,80,221,.12),transparent 28%),linear-gradient(180deg,#fff,#fff9f5)}.si-future-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:45px;align-items:end}.si-future-copy{padding:60px 0 85px}.si-invite-character{min-height:500px;align-self:end}.si-invite-character img{width:min(450px,100%);max-height:570px}

.si-contact-strip{background:#24105f;color:#fff;padding:40px 0}.si-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center}.si-contact-strip h2{font-size:clamp(26px,3vw,38px);margin-bottom:8px;color:#fff}.si-contact-strip p{color:#d9cdf4;margin-bottom:0}.si-contact-actions{display:grid;gap:10px;justify-items:end}.si-security-link{color:#d8cdf3;text-decoration:none;font-size:12px;font-weight:800}

@media (max-width:1000px){
 .si-hero-grid{grid-template-columns:1fr .85fr;min-height:650px}.si-hero-art{min-height:560px}.si-float-card{display:none}.si-cap-grid{grid-template-columns:repeat(2,1fr)}.si-split,.si-split-reverse{gap:35px}.si-trust-grid{grid-template-columns:repeat(2,1fr)}.si-trust-grid>div:nth-child(2){border-right:0}.si-trust-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
}

@media (max-width:760px){
 .si-shell{width:min(100% - 24px,1220px)}.si-hero-grid{grid-template-columns:1fr;padding:48px 0 0;gap:16px}.si-home h1{font-size:clamp(45px,14vw,66px)}.si-hero-lead{font-size:18px!important}.si-hero-art{min-height:440px}.si-hero-art img{max-height:500px}.si-orbit{display:none}.si-actions{display:grid;grid-template-columns:1fr}.si-btn{width:100%}.si-trust-grid{grid-template-columns:1fr}.si-trust-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:17px 20px}.si-section{padding:64px 0}.si-split,.si-split-reverse{grid-template-columns:1fr;gap:20px}.si-character-panel{min-height:380px}.si-character-panel img{max-height:450px}.si-character-right{order:-1}.si-cap-grid{grid-template-columns:1fr}.si-showcase-grid{grid-template-columns:1fr}.si-kevin-grid{grid-template-columns:1fr;text-align:center}.si-kevin-photo{max-width:220px;margin:0 auto}.si-kevin-quote{text-align:left}.si-future-grid{grid-template-columns:1fr}.si-future-copy{padding:50px 0 15px}.si-invite-character{min-height:420px}.si-contact-grid{grid-template-columns:1fr}.si-contact-actions{justify-items:stretch}.si-contact-actions .si-btn{width:100%}.si-security-link{text-align:center}
}

@media (max-width:480px){
 .si-home h1{font-size:44px}.si-home h2{font-size:34px}.si-home p{font-size:15px}.si-hero-grid{padding-top:34px}.si-hero-art{min-height:370px}.si-hero-art img{max-height:430px}.si-section{padding:52px 0}.si-character-panel{min-height:340px}.si-character-panel img{max-height:390px}.si-cap-card{min-height:0}.si-showcase{min-height:330px;padding:25px}.si-invite-character{min-height:360px}.si-invite-character img{max-height:430px}
}

/* ==========================================================
   SMORTLER SI header + footer
   ========================================================== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
.si-site-body{margin:0;background:#fff;color:var(--si-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

.si-site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid #ebe6ef;box-shadow:0 7px 26px rgba(42,24,74,.055);backdrop-filter:blur(16px)}
.si-header-shell{width:min(1260px,calc(100% - 34px));min-height:78px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.si-header-brand{min-width:0;display:flex;align-items:center;gap:18px;text-decoration:none;color:var(--si-ink)}
.si-header-brand img{display:block;width:210px;height:auto;max-height:54px;object-fit:contain}
.si-header-divider{width:1px;height:35px;background:#ddd5e8;flex:0 0 auto}
.si-header-title{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:14px;font-weight:900;color:#2d2740}
.si-header-badge{display:inline-grid;place-items:center;min-width:34px;height:27px;padding:0 7px;border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--si-orange),#ff9a47);box-shadow:0 7px 17px rgba(255,101,30,.18);font-size:13px;letter-spacing:.02em}
.si-header-nav{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.si-header-nav a{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 12px;border-radius:10px;color:#4d5060;text-decoration:none;font-size:13px;font-weight:850;transition:background .16s ease,color .16s ease,transform .16s ease}
.si-header-nav a:hover,.si-header-nav a:focus-visible{color:#452995;background:#f5f0ff;outline:none}
.si-header-nav a.active{color:#d95216;background:#fff2e9}
.si-header-nav .si-nav-external{color:#6040b6}
.si-header-nav .si-nav-external span{color:var(--si-orange);font-size:15px}
.si-mobile-menu{display:none;position:relative}

.si-site-footer{position:relative;overflow:hidden;background:radial-gradient(circle at 90% -25%,rgba(255,101,30,.22),transparent 35%),linear-gradient(135deg,#170b3c,#2b116d 62%,#40169a);color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.si-site-footer::before{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-140px;bottom:-210px;pointer-events:none}
.si-footer-shell{position:relative;z-index:1;width:min(1220px,calc(100% - 36px));margin:0 auto;padding:42px 0 24px}
.si-footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:45px;align-items:center}
.si-footer-brand-block{display:grid;grid-template-columns:185px minmax(0,1fr);gap:24px;align-items:center;max-width:760px}
.si-footer-logo{display:block;width:185px;height:auto;filter:brightness(0) invert(1);opacity:.96}
.si-footer-brand-block strong{display:block;font-size:18px;line-height:1.25;letter-spacing:-.015em}
.si-footer-brand-block p{margin:7px 0 0;max-width:590px;color:#d6cbed;font-size:12px;line-height:1.55}
.si-footer-nav{display:grid;grid-template-columns:repeat(2,max-content);gap:8px 18px;justify-content:end}
.si-footer-nav a{color:#eee8fb;text-decoration:none;font-size:12px;font-weight:850}
.si-footer-nav a:hover,.si-footer-nav a:focus-visible{color:#ffac7d;outline:none}
.si-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:30px;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);color:#bfb2df;font-size:10px;font-weight:700;letter-spacing:.03em}
.si-footer-si{display:inline-flex;align-items:center;gap:6px}
.si-footer-si b{display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 6px;border-radius:6px;color:#fff;background:linear-gradient(135deg,var(--si-orange),#ff933f);font-size:10px}

@media (max-width:980px){
  .si-header-shell{min-height:70px;gap:16px}
  .si-header-brand img{width:180px}
  .si-header-title{font-size:12px}
  .si-header-nav a{padding:0 8px;font-size:12px}
  .si-footer-top{grid-template-columns:1fr;gap:28px}
  .si-footer-nav{justify-content:start}
}

@media (max-width:760px){
  .si-site-header{position:relative}
  .si-header-shell{min-height:66px;width:min(100% - 24px,1260px);gap:10px}
  .si-header-brand{gap:10px;min-width:0}
  .si-header-brand img{width:150px;max-height:45px}
  .si-header-divider{height:28px}
  .si-header-title{font-size:11px}
  .si-header-badge{min-width:30px;height:24px;font-size:11px}
  .si-header-nav{display:none}
  .si-mobile-menu{display:block;flex:0 0 auto}
  .si-mobile-menu>summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:38px;padding:0 10px;border:1px solid #ded8e7;border-radius:10px;color:#43395a;background:#fff;font-size:11px;font-weight:900;cursor:pointer}
  .si-mobile-menu>summary::-webkit-details-marker{display:none}
  .si-menu-icon{display:grid;gap:3px}
  .si-menu-icon i{display:block;width:16px;height:2px;border-radius:999px;background:#6a4bb9}
  .si-mobile-menu nav{position:absolute;right:0;top:calc(100% + 8px);min-width:210px;padding:8px;border:1px solid #e3ddea;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(42,24,74,.16)}
  .si-mobile-menu nav a{display:block;padding:10px 11px;border-radius:9px;color:#3e3d49;text-decoration:none;font-size:12px;font-weight:850}
  .si-mobile-menu nav a:hover,.si-mobile-menu nav a:focus-visible{background:#f6f1ff;color:#5530aa;outline:none}

  .si-footer-shell{width:min(100% - 24px,1220px);padding:34px 0 20px}
  .si-footer-brand-block{grid-template-columns:1fr;gap:13px}
  .si-footer-logo{width:160px}
  .si-footer-nav{grid-template-columns:1fr 1fr;gap:11px}
  .si-footer-bottom{display:grid;justify-content:start;gap:8px}
}

@media (max-width:460px){
  .si-header-brand img{width:132px}
  .si-header-divider{display:none}
  .si-header-title{display:none}
  .si-menu-label{display:none}
  .si-mobile-menu>summary{padding-inline:9px}
  .si-footer-nav{grid-template-columns:1fr 1fr}
}

/* ==========================================================
   V3 - Every Violet lands cleanly on the section boundary.
   Transparent character art should never appear to float over
   unexplained padding. Text keeps breathing room; Violet's feet/
   crop land directly on the next section at every breakpoint.
   ========================================================== */

/* Hero: keep the copy comfortably padded, but let Violet land on
   the purple trust strip instead of stopping above it. */
.si-hero-grid{
  align-items:stretch;
  padding-bottom:0;
}
.si-hero-copy{
  align-self:center;
  padding-bottom:48px;
}
.si-hero-art{
  align-self:stretch;
  min-height:720px;
}
.si-hero-art img,
.si-character-panel img,
.si-invite-character img{
  display:block;
  margin-bottom:0;
}

/* Character-led content sections: remove section-bottom padding and
   move that breathing room to the copy column only. The image column
   stretches to the section edge and stays bottom-aligned. */
.si-image-edge-section{
  padding:0;
  overflow:hidden;
  border-bottom:1px solid var(--si-line);
}
.si-section-dark.si-image-edge-section{
  border-bottom-color:rgba(255,255,255,.12);
}
.si-image-edge-grid{
  align-items:stretch;
}
.si-image-edge-grid .si-copy-block{
  align-self:center;
  padding:90px 0;
}
.si-image-edge-grid .si-character-panel{
  align-self:stretch;
  min-height:620px;
  margin-bottom:0;
  padding-bottom:0;
}
.si-image-edge-grid .si-character-panel img{
  margin-top:auto;
  margin-bottom:0;
}

/* The final Violet already landed correctly on the contact strip;
   make that behavior explicit so future CSS edits cannot reintroduce
   a gap. */
.si-future-section{
  overflow:hidden;
}
.si-invite-character{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  margin-bottom:0;
  padding-bottom:0;
}
.si-invite-character img{
  margin-top:auto;
}

@media (max-width:1000px){
  .si-hero-art{min-height:650px}
  .si-image-edge-grid .si-character-panel{min-height:560px}
  .si-image-edge-grid .si-copy-block{padding:78px 0}
}

@media (max-width:760px){
  /* All stacked character sections use the same rhythm:
     copy first, Violet second, Violet flush with the next section. */
  .si-hero-copy{padding-bottom:28px}
  .si-hero-art{min-height:440px}

  .si-image-edge-section{padding:0}
  .si-image-edge-grid{
    gap:0;
  }
  .si-image-edge-grid .si-copy-block{
    order:1;
    padding:58px 0 30px;
  }
  .si-image-edge-grid .si-character-panel,
  .si-image-edge-grid .si-character-right,
  .si-image-edge-grid .si-character-left{
    order:2;
    min-height:430px;
  }
  .si-image-edge-grid .si-character-panel img{
    max-height:470px;
  }
}

@media (max-width:480px){
  .si-hero-copy{padding-bottom:22px}
  .si-hero-art{min-height:370px}
  .si-image-edge-grid .si-copy-block{padding:48px 0 24px}
  .si-image-edge-grid .si-character-panel{min-height:360px}
  .si-image-edge-grid .si-character-panel img{max-height:405px}
}
