/* Solution Builders — site styles. Design source: Figma "Solution Builders Website" (1440 desktop, 440 mobile). */

:root{
  --black:#000; --ink:#0F0F0F; --panel:#111; --white:#fff; --paper:#F3F3F3;
  --red:#E40024; --magenta:#D70052; --blue:#0118B2; --orange:#FF3400; --pink:#ED0851;
  --grey:#5A5A5A; --line:#DFDFDF; --line-dark:#3A3A3A; --muted:#BDBDBD;
  --rise-r:#7E4891; --rise-i:#B31446; --rise-s:#F98469; --rise-e:#870F7B;
  --font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --wrap:1190px; --wide:1336px; --gutter:clamp(16px,4.2vw,60px);
  --radius:40px; --radius-sm:24px;
  --h1:clamp(44px,6.25vw,90px); --h2:clamp(36px,4.86vw,70px); --h3:clamp(30px,3.47vw,50px); --h4:clamp(26px,2.78vw,40px); --h5:clamp(22px,2.1vw,30px);
  --ease:cubic-bezier(.22,1,.36,1);
  --grad-btn:linear-gradient(90deg,#FF3400 0%,#ED0851 28%,#0118B2 100%);
  --texture:url('https://static.wixstatic.com/media/d0d2e1_b06bfd84adc84f95a2310f9669968c66~mv2.webp');
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--font);font-weight:300;font-size:16px;line-height:25px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,h5,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
strong,b{font-weight:700}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- type ---------- */
.h1{font-weight:800;font-size:var(--h1);line-height:1;letter-spacing:-.01em;text-wrap:balance}
.h2{font-weight:800;font-size:var(--h2);line-height:1;letter-spacing:-.01em;text-wrap:balance}
.h3{font-weight:800;font-size:var(--h3);line-height:1;letter-spacing:-.01em;text-wrap:balance}
.h4{font-weight:800;font-size:var(--h4);line-height:1.05;letter-spacing:-.01em}
.h5{font-weight:800;font-size:var(--h5);line-height:1.1}
.kicker{display:block;font-weight:800;font-size:16px;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.kicker.center{text-align:center}
.lead{font-weight:300;font-size:16px;line-height:25px}
.accent{color:var(--red)}
.light .h2,.light .h3,.light .h4,.light .h5,.light .lead,.light{color:var(--black)}
.center{text-align:center}
.measure{max-width:800px}
.measure-sm{max-width:580px}
.mx{margin-inline:auto}

/* ---------- layout ---------- */
.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.wide{width:min(var(--wide),100% - 2*clamp(16px,3.6vw,52px));margin-inline:auto}
.section{padding-block:clamp(72px,8.3vw,120px)}
.section.tight{padding-block:clamp(56px,6vw,88px)}
.section.flush-top{padding-top:0}
.section.light{background:var(--paper);color:var(--black)}
.section.white{background:#fff;color:var(--black)}
.grid{display:grid;gap:clamp(24px,3vw,44px)}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.split>*{min-width:0}
@media (max-width:1000px){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.split,.cols-2,.cols-3,.cols-4{grid-template-columns:minmax(0,1fr)}.cols-5{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 44px;border-radius:100px;font-weight:700;font-size:16px;line-height:1;white-space:nowrap;position:relative;isolation:isolate;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-color .3s,color .3s,border-color .3s;will-change:transform}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(0)}
.btn-red{background:var(--red);color:#fff;box-shadow:0 10px 30px -12px rgba(228,0,36,.0)}
.btn-red:hover{box-shadow:0 18px 36px -14px rgba(228,0,36,.75)}
.btn-outline{border:2px solid #fff;color:#fff;background:transparent}
.btn-outline:hover{background:#fff;color:#000}
.btn-black{background:#000;color:#fff}
.btn-black:hover{box-shadow:0 18px 36px -16px rgba(0,0,0,.6)}
.btn-grad{background:var(--grad-btn);color:#fff;overflow:hidden}
.btn-grad::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn-grad:hover::after{transform:translateX(120%)}
.btn-grad:hover{box-shadow:0 18px 40px -14px rgba(237,8,81,.6)}
.btn-sm{height:48px;padding:0 32px}
.btn .arrow{display:inline-block;transition:transform .35s var(--ease)}
.btn:hover .arrow{transform:translateX(4px)}
.link-arrow{font-weight:700;color:var(--blue);display:inline-flex;align-items:center;gap:6px;transition:gap .3s var(--ease)}
.link-arrow:hover{gap:12px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:60;background:rgba(0,0,0,.92);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);transition:box-shadow .4s,background .4s}
.nav.scrolled{box-shadow:0 1px 0 rgba(255,255,255,.08),0 20px 40px -30px rgba(0,0,0,.9)}
.nav-inner{height:119px;display:flex;align-items:center;justify-content:space-between;padding-inline:clamp(16px,2.4vw,34px);gap:24px;position:relative}
.logo{display:block;width:261px;max-width:52vw;height:auto;flex:none}
.logo img,.footer .flogo img{width:100%;height:auto;display:block}
.nav-inner nav{flex:1;display:flex;justify-content:center;min-width:0}
.menu{display:flex;align-items:center;gap:clamp(20px,3vw,56px);margin:0;padding:0;white-space:nowrap}
.menu>li{position:relative}
.menu>li.has-mega{position:static}
.menu a.top,.menu button.top{display:flex;align-items:center;gap:8px;height:119px;font-weight:800;font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:#fff;position:relative;padding:0}
.menu .top::after{content:"";position:absolute;left:0;right:0;bottom:36px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.menu li:hover>.top::after,.menu .top[aria-current]::after{transform:scaleX(1)}
.menu .caret{display:inline-flex;gap:3px}
.menu .caret i{display:block;width:8px;height:3px;background:var(--red);border-radius:2px;transition:transform .3s var(--ease)}
.menu li:hover .caret i:first-child{transform:translateX(-2px)}
.menu li:hover .caret i:last-child{transform:translateX(2px)}
.nav-cta{flex:none}
.nav-cta .btn{height:56px;padding:0 28px;font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.burger{display:none;width:48px;height:48px;align-items:center;justify-content:center;flex-direction:column;gap:6px;flex:none}
.burger i{display:block;width:26px;height:2px;background:#fff;transition:transform .35s var(--ease),opacity .3s}
.burger[aria-expanded="true"] i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* mega menu */
.mega{position:absolute;left:0;right:0;top:100%;white-space:normal;background:var(--ink);border-top:1px solid rgba(255,255,255,.06);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility 0s linear .35s;box-shadow:0 40px 60px -30px rgba(0,0,0,.9)}
.nav li.has-mega:hover .mega,.nav li.has-mega:focus-within .mega,.mega.open{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0s}
.mega-inner{max-width:1440px;margin-inline:auto;display:grid;grid-template-columns:431px 1fr;gap:48px;padding:33px 32px 32px}
.mega-feature{position:relative;height:168px;border-radius:12px;overflow:hidden;display:flex;align-items:flex-end;padding:0 0 18px 17px;isolation:isolate}
.mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;mix-blend-mode:lighten;opacity:.95;transition:transform 1.2s var(--ease),opacity .2s ease}
.mega-feature span{transition:opacity .2s ease,transform .25s var(--ease)}
.mega-feature.swap img{opacity:0}
.mega-feature.swap span{opacity:0;transform:translateY(6px)}
.mega-feature:hover img{transform:scale(1.06)}
.mega-feature::before{content:"";position:absolute;inset:0;background:var(--texture);background-size:cover;z-index:-2}
.mega-feature span{font-weight:800;font-size:clamp(34px,3vw,60px);line-height:.95;text-transform:uppercase;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.35)}
.mega-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;align-content:center}
.mega-cols a{display:block;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#fff;padding:14px 0;position:relative;transition:color .25s,padding-left .3s var(--ease)}
.mega-cols a:hover{color:var(--red);padding-left:10px}
.mega-cols a::before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;background:var(--red);transition:width .3s var(--ease);transform:translateY(-50%)}
.mega-cols a:hover::before{width:6px}
.dropdown{position:absolute;top:100%;left:50%;white-space:normal;transform:translate(-50%,-8px);background:var(--ink);min-width:260px;padding:14px 10px;border-radius:12px;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s linear .3s;box-shadow:0 30px 60px -20px rgba(0,0,0,.9)}
.menu li:hover>.dropdown,.menu li:focus-within>.dropdown{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.dropdown a{display:block;padding:12px 18px;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;border-radius:8px;white-space:nowrap}
.dropdown a:hover{background:rgba(255,255,255,.06);color:var(--red)}

/* mobile drawer */
.drawer{display:none}
@media (max-width:1100px){
  .menu,.nav-cta{display:none}
  .burger{display:flex}
  .nav-inner{height:84px}
  .drawer{display:block;position:fixed;inset:84px 0 0 0;background:#000;z-index:59;transform:translateX(100%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s linear .5s;overflow:auto;padding:24px 20px 60px}
  .drawer.open{transform:none;visibility:visible;transition-delay:0s}
  .drawer a.dl{display:block;font-weight:800;font-size:22px;text-transform:uppercase;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .drawer .sub a{display:block;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.04em;padding:12px 0 12px 16px;color:#cfcfcf}
  .drawer .sub a:hover{color:#fff}
  .drawer .sub{padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}
  .drawer .drawer-cta{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
  .drawer .sublabel{display:block;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);padding:18px 0 4px}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:clamp(620px,52.6vw,758px);display:flex;align-items:flex-start;isolation:isolate;overflow:hidden;background:#000}
.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 30%);mix-blend-mode:lighten;transform:scale(1.06);animation:kenburns 14s var(--ease) forwards;will-change:transform}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,0) 15%,rgba(0,0,0,.25) 45%,rgba(0,0,0,.92) 84%,#000 100%)}
.hero-side{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,0) 70%)}
.hero .wrap{padding-top:clamp(72px,8.6vw,124px);padding-bottom:clamp(40px,5vw,72px);width:min(var(--wrap),100% - 2*var(--gutter));display:flex;flex-direction:column;min-height:inherit}
.hero .kicker{margin-bottom:18px}
.hero .h1{max-width:900px}
.hero .lead{max-width:792px;margin-top:17px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.stats{display:flex;flex-wrap:wrap;gap:24px 56px;margin-top:auto;padding-top:clamp(56px,6vw,82px)}
.stat{min-width:140px}
.stat b{display:block;font-weight:800;font-size:30px;line-height:1;margin-bottom:12px;font-variant-numeric:tabular-nums}
.stat span{display:block;font-weight:300;font-size:16px;line-height:25px;max-width:230px}
@keyframes kenburns{to{transform:scale(1)}}
@media (max-width:760px){.hero{min-height:0}.hero .wrap{padding-top:64px;padding-bottom:40px}.hero-bg img{object-position:var(--mpos,60% 20%)}.stats{gap:20px 32px;padding-top:40px}.hero-actions .btn{width:100%}}

/* ---------- cards ---------- */
.card{border-radius:var(--radius);padding:clamp(28px,3.5vw,52px) clamp(24px,3.4vw,48px);position:relative;overflow:hidden}
.card-white{background:#fff;color:#000}
.card-dark{background:var(--ink);color:#fff}
.card-grad{color:#fff;background:#D70052 var(--texture) center/cover no-repeat}
.card-grad.flip{background-position:center;transform:none}
.card-grad .kicker{color:#fff}
.grad-bg{position:absolute;inset:0;background:var(--texture) center/cover no-repeat;z-index:-1}
.hover-lift{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.hover-lift:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.checks li{position:relative;padding-left:34px;font-weight:700;font-size:16px;line-height:24px;margin-bottom:20px}
.checks li::before{content:"";position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:50%;background:var(--red)}
.checks li::after{content:"";position:absolute;left:6px;top:7px;width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.dots li{position:relative;padding-left:34px;font-weight:700;font-size:16px;line-height:24px;margin-bottom:20px}
.dots li::before{content:"";position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:50%;background:var(--red)}
.dots.sm li{padding-left:22px;margin-bottom:18px}
.dots.sm li::before{width:10px;height:10px;top:7px}
.dots li small,.checks li small{display:block;font-weight:300;line-height:24px;margin-top:6px;color:inherit}

/* ---------- RISE ---------- */
.rise{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.rise .letter{font-weight:800;font-size:clamp(56px,5.5vw,80px);line-height:1;display:block;margin-bottom:10px;background:linear-gradient(180deg,var(--c1),var(--c2));-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .5s var(--ease)}
.rise .pillar:hover .letter{transform:translateY(-6px)}
.rise .name{font-weight:800;font-size:30px;line-height:50px;display:block}
.rise p{font-weight:300;font-size:16px;line-height:25px;margin-top:8px;max-width:260px}
.rise .r{--c1:#7E4891;--c2:#431498}.rise .i{--c1:#D70052;--c2:#B31446}.rise .s{--c1:#FF8D0B;--c2:#F98469}.rise .e{--c1:#B31446;--c2:#870F7B}
@media (max-width:760px){.rise{grid-template-columns:minmax(0,1fr)}.rise p{max-width:none}}

/* ---------- quote band ---------- */
.quote-band{position:relative;padding:clamp(88px,8vw,110px) 0 0}
.quote-card{position:relative;border-radius:var(--radius);padding:clamp(40px,5vw,66px) clamp(28px,6vw,100px) clamp(40px,5vw,66px) clamp(28px,18.5vw,266px);overflow:visible;background:#D70052 var(--texture) 50% 38%/110% 330% no-repeat;isolation:isolate}
.quote-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.25));z-index:-1}
.quote-marks{position:absolute;left:clamp(10px,3vw,30px);top:-72px;width:clamp(120px,14vw,200px);height:auto}.quote-marks img{width:100%;height:auto}
.quote-card .qk{display:block;font-weight:700;font-size:12px;line-height:1;color:var(--red);margin-bottom:24px}
.quote-card blockquote{margin:0;font-weight:700;font-size:clamp(19px,1.75vw,25px);line-height:1.2;max-width:921px}
.quote-card .qby{display:block;font-weight:700;font-size:16px;color:var(--red);margin-top:28px;text-transform:uppercase}
@media (max-width:900px){.quote-card{padding:110px 28px 40px}.quote-marks{top:-40px;left:20px}}

/* ---------- forms ---------- */
.form-card{background:#fff;color:#000;border-radius:30px;padding:clamp(28px,3vw,58px) clamp(22px,2.4vw,34px) clamp(28px,3vw,46px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.form-card h3{font-weight:800;font-size:25px;line-height:1.2;text-align:center}
.form-card .sub{text-align:center;font-weight:300;font-size:16px;line-height:24px;margin:10px auto 0;max-width:392px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px 15px;margin-top:22px}
.form .full{grid-column:1/-1}
.form label{display:block;font-weight:700;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;height:49px;border:1px solid var(--line);border-radius:6px;padding:0 16px;font:300 12px/24px var(--font);color:#000;background:#fff;transition:border-color .25s,box-shadow .25s}
.form textarea{height:96px;padding-top:10px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(228,0,36,.12)}
.form .btn{width:100%;margin-top:6px}
.form-note{text-align:center;font-weight:300;font-size:12px;line-height:24px;margin-top:10px;color:#000}
.form-ok{display:none;text-align:center;padding:40px 10px}
.form-ok b{display:block;font-weight:800;font-size:25px;margin-bottom:10px}
.form.sent{display:none}.form.sent+.form-note{display:none}.form-ok.show{display:block}
.dark-form input,.dark-form select{background:#000;border-color:#525252;color:#fff}
.dark-form label{color:#fff}

/* ---------- CTA band ---------- */
.cta-band{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(88px,10vw,150px)}
.cta-band::before{content:"";position:absolute;inset:-5% -5% -5% -5%;background:var(--texture) center/cover no-repeat;z-index:-2;transform:rotate(180deg)}
.cta-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 30%,rgba(0,0,0,.2) 60%,rgba(0,0,0,0) 100%)}
.cta-band.form-band::before{transform:none}
.cta-band.form-band::after{background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.6) 18%,rgba(0,0,0,.15) 55%,rgba(0,0,0,0) 100%)}
.cta-band .lead{max-width:1068px}
.cta-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:0}
.cta-center .lead{margin-top:28px}
.cta-center .btn{margin-top:36px}

/* ---------- footer ---------- */
.footer{background:#000;color:#fff;padding:clamp(64px,7vw,106px) 0 60px}
.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr 1.2fr;gap:40px}
.footer .flogo{width:261px;max-width:70vw}
.footer .fdesc{font-weight:300;font-size:14px;line-height:22px;max-width:339px;margin-top:36px}
.footer h6{margin:0 0 22px;font-weight:700;font-size:14px;line-height:20px;text-transform:uppercase;letter-spacing:.02em}
.footer li{font-weight:300;font-size:14px;line-height:20px;margin-bottom:20px}
.footer li a{position:relative;transition:color .25s}
.footer li a:hover{color:var(--red)}
.footer .mini{display:grid;gap:19px}
.footer .mini input{height:49px;width:100%;max-width:299px;background:#000;border:1px solid #525252;border-radius:6px;color:#fff;padding:0 16px;font:300 12px/24px var(--font)}
.footer .mini input:focus{outline:0;border-color:var(--red)}
.footer .mini .btn{justify-self:end;height:49px;padding:0 34px;margin-top:4px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(56px,7vw,100px);font-weight:300;font-size:14px;line-height:22px}
.footer-bottom .legal{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.footer-bottom .legal a:hover{color:var(--red)}
.social{display:flex;gap:18px;align-items:center}
.social a{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;transition:transform .3s var(--ease),color .25s}
.social a:hover{transform:translateY(-3px);color:var(--red)}
.social svg{width:20px;height:20px;fill:currentColor}
@media (max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr}}
.ico img{display:block}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer .flogo{margin-inline:auto}.footer .fdesc{text-align:center;margin-inline:auto}.footer .mini .btn{justify-self:start}.footer-bottom{justify-content:center;text-align:center}}

/* ---------- reveal animations ---------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-scale{opacity:0;transform:scale(.94);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv-scale.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.stagger.in>*{opacity:1;transform:none}
.stagger.in>*:nth-child(1){transition-delay:.05s}.stagger.in>*:nth-child(2){transition-delay:.15s}.stagger.in>*:nth-child(3){transition-delay:.25s}.stagger.in>*:nth-child(4){transition-delay:.35s}.stagger.in>*:nth-child(5){transition-delay:.45s}.stagger.in>*:nth-child(6){transition-delay:.55s}.stagger.in>*:nth-child(7){transition-delay:.65s}.stagger.in>*:nth-child(8){transition-delay:.75s}.stagger.in>*:nth-child(9){transition-delay:.85s}
.hero .h1 .w{display:inline-block;opacity:0;transform:translateY(.6em) rotate(2deg);animation:wordin 1s var(--ease) forwards;animation-delay:calc(.08s * var(--i))}
.hero .kicker,.hero .lead,.hero-actions,.hero .stats{opacity:0;animation:fadeup 1s var(--ease) forwards}
.hero .kicker{animation-delay:.1s}.hero .lead{animation-delay:.55s}.hero-actions{animation-delay:.75s}.hero .stats{animation-delay:.95s}
@keyframes wordin{to{opacity:1;transform:none}}
@keyframes fadeup{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.float{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rv,.rv-scale,.stagger>*,.hero .h1 .w,.hero .kicker,.hero .lead,.hero-actions,.hero .stats{opacity:1;transform:none}
}
.noscript .rv,.noscript .rv-scale,.noscript .stagger>*{opacity:1;transform:none}

/* ---------- page: home ---------- */
.home-hero .h1{font-size:clamp(40px,5.55vw,80px)}
.home-hero{min-height:clamp(560px,61vw,877px)}
.home-hero .wrap{padding-top:clamp(80px,11vw,159px)}
.era{padding:clamp(80px,9vw,150px) 0 clamp(80px,8vw,120px);text-align:center;position:relative;overflow:hidden}
.era .h2{margin-inline:auto;max-width:700px}
.era .rise-word{display:block;width:min(955px,86vw);margin:clamp(24px,4vw,56px) auto;position:relative}
.era .rise-word svg{width:100%;height:auto;overflow:visible}
.era .rise-word .fillrise{fill:url(#riseGrad);opacity:0}
.era .rise-word.in .fillrise{animation:risefill 2.6s var(--ease) .4s forwards}
.era .rise-word.in .riseclip rect{animation:risewipe 2.2s var(--ease) .4s forwards}
@keyframes risewipe{to{width:100%}}
@keyframes risefill{to{opacity:1}}
.era .btn{margin-top:40px}
.feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,100px);align-items:center;padding-block:clamp(56px,7vw,110px)}
.feature.rev .f-media{order:2}
.feature .f-copy .h2{max-width:600px}
.feature .f-copy .lead{max-width:530px;margin-top:22px}
.feature .f-copy .btn{margin-top:36px}
.f-media{position:relative;display:flex;justify-content:center}
.f-frame{position:relative;width:min(446px,100%);aspect-ratio:446/449;border-radius:40px;background:#D70052 var(--texture) center/cover;overflow:visible;isolation:isolate;transition:transform .8s var(--ease)}
.f-frame::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--texture) center/cover;z-index:-1}
.f-frame img{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:100%;height:auto;max-height:134%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 30px 40px rgba(0,0,0,.45))}
/* depth parallax: the frame, the person, a glow halo and an orbit ring move at different rates (scroll + pointer), driven by --px/--py/--sy from site.js */
.f-media{--px:0;--py:0;--sy:0;perspective:1200px}
.f-media .f-frame{transition:none;transform:translate3d(calc(var(--px)*8px),calc(var(--py)*8px),0)}
.f-media .f-frame img{transform-origin:50% 100%;transform:translate3d(calc(-50% + var(--px)*-12px),0,0) scale(calc(1 + var(--pz,0)*.03))}
.f-media .f-frame.wide-frame img{transform-origin:100% 100%;transform:translate3d(calc(var(--px)*-12px),0,0) scale(calc(1 + var(--pz,0)*.03))}
.f-media .f-frame.tiles img{transform:translate3d(calc(-50% + var(--px)*-16px),calc(var(--py)*-14px),0)}
.f-media .halo{position:absolute;left:50%;top:55%;width:120%;max-width:620px;aspect-ratio:1;border-radius:50%;pointer-events:none;z-index:-1;background:radial-gradient(closest-side,rgba(237,8,81,.55),rgba(126,72,145,.28) 48%,transparent 72%);filter:blur(34px);opacity:.55;transform:translate3d(calc(-50% + var(--px)*26px),calc(-50% + var(--py)*26px),0)}
.f-media .f-frame img{z-index:1}
.f-media .ring{position:absolute;inset:0;border-radius:inherit;border:1.5px solid rgba(255,255,255,.35);pointer-events:none;z-index:0;transform:translate3d(calc(var(--px)*-30px + 14px),calc(var(--py)*-30px + 14px),0)}
.f-media .ring::after{content:"";position:absolute;right:-7px;top:22%;width:14px;height:14px;border-radius:50%;background:var(--red);box-shadow:0 0 18px 4px rgba(237,8,81,.55)}
.f-media .ring::before{content:"";position:absolute;left:-5px;bottom:18%;width:10px;height:10px;border-radius:50%;background:#FFB400;box-shadow:0 0 14px 3px rgba(255,180,0,.5)}
.light .f-media .halo,.section.light .f-media .halo{opacity:.35}
.f-media .f-frame.tiles ~ .halo,.f-media .f-frame.tiles .ring{display:none}
@media (hover:none),(max-width:760px){.f-media .ring{display:none}}
@media (prefers-reduced-motion:reduce){.f-media{--px:0!important;--py:0!important;--sy:0!important;--pz:0!important}.f-media .halo{transform:translate(-50%,-50%)}}
.f-frame.wide-frame img{left:auto;right:0;transform:none;width:123%;max-width:none;max-height:none;bottom:0;filter:drop-shadow(-20px 30px 40px rgba(0,0,0,.5))}
.f-frame.tiles img{filter:none}
.secure-card{border-radius:40px;padding:clamp(56px,7vw,100px) clamp(24px,6vw,110px);text-align:center;position:relative;isolation:isolate;overflow:hidden;color:#fff}
.secure-card::before{content:"";position:absolute;inset:0;background:var(--texture) center/cover no-repeat;z-index:-2;transform:scaleX(-1)}
.secure-card::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 0%,rgba(0,0,0,.6),rgba(0,0,0,0) 60%);z-index:-1}
.secure-card .lock{width:30px;height:41px;margin:0 auto 26px}.secure-card .lock img{width:100%;height:100%}
.secure-card .h2{max-width:1107px;margin-inline:auto}
.secure-card .lead{max-width:858px;margin:30px auto 0}
.secure-card .btn{margin-top:40px}
.secure-card .orbit{position:absolute;inset:auto -20% -40% -20%;height:70%;background:radial-gradient(50% 50% at 50% 100%,rgba(255,140,60,.55),transparent 70%);z-index:-1;pointer-events:none}
.help-band .lead{max-width:1068px;margin:28px auto 0;text-align:center}
@media (max-width:760px){.feature{grid-template-columns:minmax(0,1fr);padding-block:clamp(40px,8vw,64px)}.feature.rev .f-media{order:0}.f-frame{width:min(360px,88%)}.f-frame:not(.wide-frame):not(.tiles){margin-top:110px}}

/* ---------- LP: why / reality ---------- */
.why{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,100px);align-items:start}
.why .lead{margin-top:28px;max-width:578px;white-space:pre-line}
.why .checks{margin-top:14px}
.why .btn{margin-top:18px}
.reality{display:grid;grid-template-columns:minmax(0,1fr) 453px;gap:40px;align-items:stretch;position:relative}
.reality .card-white{padding:clamp(32px,4vw,60px) clamp(24px,3.4vw,48px) clamp(32px,4vw,60px)}
.reality .card-white .lead{margin-top:28px;max-width:640px;white-space:pre-line}
.reality .side{margin:58px 0 -58px -60px;border-radius:40px;padding:48px 36px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;z-index:1;box-shadow:0 40px 80px -40px rgba(0,0,0,.8)}
/* client story side card: fixed style parallax texture, entrance light sweep, cursor spotlight and a glow on hover */
.reality .side{--sy:0;--mx:50%;--my:50%;--spot:0;overflow:hidden;isolation:isolate;background:#D70052;transition:opacity .9s var(--ease),transform .9s var(--ease),box-shadow .6s var(--ease)}
.reality .side::before{content:"";position:absolute;left:0;right:0;top:-30%;bottom:-30%;background:var(--texture) center/cover no-repeat;z-index:-2;transform:translate3d(0,calc(var(--sy)*-14%),0);will-change:transform}
.reality .side::after{content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.32) 50%,transparent 62%);transform:translateX(-130%);opacity:0}
.reality .side.in::after{animation:sheen 1.8s cubic-bezier(.4,0,.2,1) .35s forwards}
@keyframes sheen{0%{transform:translateX(-130%);opacity:1}100%{transform:translateX(130%);opacity:1}}
.reality .side .spot{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(360px circle at var(--mx) var(--my),rgba(255,255,255,.28),rgba(255,180,0,.14) 30%,transparent 62%);opacity:var(--spot);transition:opacity .5s var(--ease);mix-blend-mode:screen}
.reality .side:hover{box-shadow:0 40px 80px -40px rgba(0,0,0,.8),0 0 70px -12px rgba(255,52,0,.55),0 0 140px -30px rgba(126,72,145,.6)}
.reality .side .ico{transition:transform .8s var(--ease),filter .8s var(--ease)}
.reality .side:hover .ico{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 0 22px rgba(255,255,255,.55))}
@media (prefers-reduced-motion:reduce){.reality .side::before{transform:none}.reality .side.in::after{animation:none}.reality .side .spot{display:none}}
.reality .side .ico{width:140px;height:140px;margin-bottom:32px}
.reality .side .ico svg,.reality .side .ico img{width:100%;height:100%;object-fit:contain}
.reality .side blockquote{margin:0;font-weight:700;font-style:italic;font-size:16px;line-height:25px;max-width:390px}
.reality .side .by{display:block;font-weight:700;font-size:12px;margin-top:24px;text-transform:uppercase}
@media (max-width:1000px){.reality{grid-template-columns:minmax(0,1fr)}.reality .side{margin:0;width:100%}.why{grid-template-columns:minmax(0,1fr)}}

/* ---------- LP: how it works ---------- */
.how .lead{max-width:746px;margin:28px auto 0;text-align:center}
.how .points{font-weight:700;text-align:center;margin:36px auto 0;max-width:1024px}
.diagram{margin-top:clamp(56px,6vw,96px);display:flex;justify-content:center}
.circles{display:flex;justify-content:center;gap:clamp(12px,3vw,46px);flex-wrap:wrap}
.circles .c{width:clamp(118px,12vw,144px);aspect-ratio:1;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;position:relative;isolation:isolate;font-weight:700;font-size:16px;text-align:center;padding:12px;transition:transform .6s var(--ease)}
.circles .c::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--texture) center/300% no-repeat;background-position:var(--bp,30% 40%);z-index:-1;transition:transform 1.2s var(--ease)}
.circles .c:hover{transform:translateY(-8px)}
.circles .c:hover::before{transform:rotate(25deg)}
.steps-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,5.9vw,86px);width:100%;max-width:1190px}
.step-card{position:relative;padding-left:24px}
.step-card .box{border:2px solid #fff;border-radius:12px;padding:30px 20px 30px 56px;min-height:127px;display:flex;flex-direction:column;justify-content:center;transition:transform .5s var(--ease),background .4s}
.step-card .box b{font-weight:700;font-size:16px;line-height:25px}
.step-card .box span{font-weight:300;font-size:16px;line-height:25px}
.step-card:hover .box{transform:translateY(-6px);background:rgba(255,255,255,.05)}
.step-card .num{z-index:2;position:absolute;left:0;top:63px;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:16px;background:#D70052 var(--texture) center/300% no-repeat;background-position:var(--bp,20% 30%);box-shadow:0 0 0 6px #000}
.step-card .cap{display:block;text-align:center;font-weight:700;font-size:16px;line-height:25px;margin-top:16px;padding-right:24px}
@media (max-width:900px){.steps-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps-row{grid-template-columns:minmax(0,1fr)}}
.rings{position:relative;width:min(620px,92vw);aspect-ratio:1;margin-inline:auto}
.rings .ring{position:absolute;inset:var(--in);border-radius:50%;border:3px solid var(--c);animation:spin var(--d,40s) linear infinite}
.rings .ring.dash{border-style:dashed}
.rings .core{position:absolute;inset:40%;border-radius:50%;background:#D70052 var(--texture) center/400% no-repeat;display:grid;place-items:center;font-weight:700;font-size:16px;text-align:center;padding:10px;box-shadow:0 0 60px rgba(255,80,60,.35);animation:pulse 4s ease-in-out infinite}
.rings-wrap{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,80px);align-items:center;width:100%;max-width:1190px}
.rings-labels li{font-weight:700;font-size:16px;line-height:25px;margin-bottom:12px;position:relative;padding-left:28px;opacity:0;transform:translateX(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.in .rings-labels li{opacity:1;transform:none}
.in .rings-labels li:nth-child(1){transition-delay:.3s}.in .rings-labels li:nth-child(2){transition-delay:.5s}.in .rings-labels li:nth-child(3){transition-delay:.7s}.in .rings-labels li:nth-child(4){transition-delay:.9s}
.rings-labels li::before{content:"";position:absolute;left:0;top:7px;width:12px;height:12px;border-radius:50%;background:var(--c)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@media (max-width:760px){.rings-wrap{grid-template-columns:minmax(0,1fr)}.rings{width:min(420px,88vw)}}
.hub{position:relative;width:min(810px,92vw);height:auto;aspect-ratio:810/560;margin-inline:auto}
.hub .core{position:absolute;left:50%;top:50%;width:33%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #fff;display:grid;place-items:center;padding:7%;}
.hub .core i{position:absolute;inset:14px;border-radius:50%;background:#D70052 var(--texture) center/320% no-repeat;animation:pulse 5s ease-in-out infinite;z-index:-1}
.hub .core{isolation:isolate;font-weight:700;font-size:16px;text-align:center;font-style:normal}
.hub .node{position:absolute;width:25%;height:14.6%;border:3px solid var(--c);border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:16px;text-align:center;padding:4px 10px;background:#000;transition:transform .5s var(--ease),box-shadow .5s;line-height:1.2}
.hub .node:hover{transform:scale(1.06);box-shadow:0 0 30px -4px var(--c)}
.hub .node::after{display:none}
.hub .node.l::after{left:100%;width:30%}
.hub .node.r::after{right:100%;width:30%}
.hub .node.t::after,.hub .node.b::after{left:50%;top:auto;transform:translateX(-50%);width:3px;height:80%}
.hub .node.t::after{top:100%}
.hub .node.b::after{bottom:100%}
.hub .node.t{left:50%;top:0;transform:translateX(-50%)}
.hub .node.t:hover{transform:translateX(-50%) scale(1.06)}
.hub .node.b{left:50%;bottom:0;transform:translateX(-50%)}
.hub .node.b:hover{transform:translateX(-50%) scale(1.06)}
/* hub diagram: SVG spokes drawn from each node to the core, with light pulses travelling inward */
.hub .core{z-index:1}.hub .node{z-index:2;transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s}
.hub .node.lit{box-shadow:0 0 34px -4px var(--c)}
.hub-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.hub-lines .spoke{fill:none;stroke:var(--c);stroke-width:2.5;stroke-linecap:round;opacity:.9;transition:stroke-width .4s,opacity .4s,filter .4s}
.hub-lines .spoke.draw{stroke-dashoffset:0!important}
.hub-lines g.on .spoke{stroke-width:4;filter:drop-shadow(0 0 8px var(--c))}
.hub-lines .pulse{fill:#fff;filter:drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px var(--c));opacity:0}
.hub-lines g.go .pulse{opacity:1}
.hub .core::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(255,255,255,.6);opacity:0;pointer-events:none}
.hub.in .core::after{animation:ripple 3.2s ease-out infinite}
@keyframes ripple{0%{transform:scale(.96);opacity:.7}70%{transform:scale(1.32);opacity:0}100%{transform:scale(1.32);opacity:0}}
.hub .node{opacity:0;transform:translateY(12px) scale(.94)}
.hub .node.t,.hub .node.b{transform:translateX(-50%) translateY(12px) scale(.94)}
.hub.in .node{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease),box-shadow .5s var(--ease)}
.hub.in .node.t,.hub.in .node.b{transform:translateX(-50%)}
.hub.in .node:hover{transform:scale(1.06)}.hub.in .node.t:hover,.hub.in .node.b:hover{transform:translateX(-50%) scale(1.06)}
.hub.in .node:nth-child(1){transition-delay:.1s}.hub.in .node:nth-child(2){transition-delay:.2s}.hub.in .node:nth-child(3){transition-delay:.3s}.hub.in .node:nth-child(4){transition-delay:.4s}.hub.in .node:nth-child(5){transition-delay:.5s}.hub.in .node:nth-child(6){transition-delay:.6s}
@media (max-width:640px){.hub-lines{display:none}.hub .core::after{display:none}.hub .node,.hub .node.t,.hub .node.b{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hub-lines .spoke{stroke-dashoffset:0!important}.hub-lines .pulse{display:none}.hub.in .core::after{animation:none}.hub .node{opacity:1;transform:none}}
.hub .node.l1{left:0;top:25%}.hub .node.l2{left:0;top:58%}.hub .node.r1{right:0;top:25%}.hub .node.r2{right:0;top:58%}
@media (max-width:640px){.hub{aspect-ratio:auto;height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.hub .core{position:relative;left:auto;top:auto;transform:none;width:60%;margin:8px auto 12px;grid-column:1/-1;order:-1}.hub .node{position:static;width:auto;height:auto;min-height:64px;transform:none}.hub .node::after{display:none}.hub .node.t,.hub .node.b{transform:none}}
.venn{position:relative;width:min(738px,92vw);aspect-ratio:738/492;margin-inline:auto}
.venn .vc{position:absolute;top:0;width:66.7%;aspect-ratio:1;border-radius:50%;border:3px solid #fff;display:flex;align-items:center;text-align:center;font-weight:700;font-size:16px;line-height:1.3;isolation:isolate;padding:0 4%}
.venn .vc.a{justify-content:flex-start}.venn .vc.b{justify-content:flex-end}
.venn .vc span{width:50%}
.venn .vc i{position:absolute;inset:28px;border-radius:50%;background:#D70052 var(--texture) center/220% no-repeat;z-index:-1;mix-blend-mode:screen}
.venn .vc.a{left:0;animation:vennA 9s ease-in-out infinite}.venn .vc.b{right:0;animation:vennB 9s ease-in-out infinite}
.venn .vc.a i{background-position:0% 40%}.venn .vc.b i{background-position:100% 60%}
.venn .vc span{display:block}
.venn .mid{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:700;font-size:16px;z-index:2;text-align:center}
@keyframes vennA{0%,100%{transform:translateX(0)}50%{transform:translateX(3%)}}
@keyframes vennB{0%,100%{transform:translateX(0)}50%{transform:translateX(-3%)}}
@media (max-width:640px){.venn{aspect-ratio:auto;display:grid;gap:14px}.venn .vc{position:relative;width:min(300px,80vw);margin-inline:auto;animation:none;justify-content:center;padding:0 10%}.venn .vc span{width:auto}.venn .mid{position:relative;left:auto;top:auto;transform:none;padding:6px 0;order:1}.venn .vc.b{order:2}}

/* ---------- LP: pain ---------- */
.pain{display:grid;grid-template-columns:446px minmax(0,1fr);gap:clamp(32px,8vw,120px);align-items:center}
.pain .f-frame{width:min(446px,100%)}
.pain .dots{margin-top:18px}
@media (max-width:900px){.pain{grid-template-columns:minmax(0,1fr)}.pain .f-frame{width:min(360px,88%);margin-inline:auto}}

/* ---------- LP: timeline ---------- */
.timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2vw,70px);margin-top:clamp(56px,7vw,112px)}
.tstep{text-align:center}
.tstep .ring{width:179px;max-width:100%;aspect-ratio:1;margin:0 auto 32px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;position:relative;isolation:isolate;transition:transform .6s var(--ease)}
.tstep .ring::before{content:"";position:absolute;inset:16px;border-radius:50%;background:#D70052 var(--texture) center/260% no-repeat;background-position:var(--bp,20% 30%);z-index:-1;transition:transform 1.4s var(--ease)}
.tstep:hover .ring{transform:translateY(-8px)}
.tstep:hover .ring::before{transform:rotate(40deg)}
.tstep .ring svg,.tstep .ring img{width:44px;height:44px}
.tstep .week{display:block;font-weight:700;font-size:12px;line-height:25px;color:var(--red)}
.tstep .name{display:block;font-weight:700;font-size:16px;line-height:25px}
.tstep p{font-weight:300;font-size:16px;line-height:25px;margin:32px auto 0;max-width:181px}
@media (max-width:1000px){.timeline{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.timeline{grid-template-columns:minmax(0,1fr);gap:40px}.tstep .ring{width:150px}}

/* ---------- LP: guide ---------- */
.guide{display:grid;grid-template-columns:minmax(0,1fr) 453px;gap:40px;align-items:stretch}
.guide .card-white{padding:clamp(32px,4vw,60px) clamp(24px,3.4vw,48px)}
.guide .lead{margin-top:28px;max-width:640px}
.guide .dots{margin-top:28px}
.guide .btn{margin-top:14px}
.guide .cover{margin:58px 0 -58px -60px;border-radius:40px;position:relative;isolation:isolate;overflow:hidden;min-height:400px;box-shadow:0 40px 80px -40px rgba(0,0,0,.8);display:flex;flex-direction:column;justify-content:flex-end;padding:40px 36px}
.guide .cover::before{content:"";position:absolute;inset:0;background:var(--texture) center/cover no-repeat;transform:scaleX(-1);z-index:-2}
.guide .cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 20%,rgba(0,0,0,.75) 100%);z-index:-1}
.guide .cover .ck{font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.85}
.guide .cover .ct{font-weight:800;font-size:clamp(24px,2.2vw,30px);line-height:1.05;margin-top:12px;color:#fff;max-width:330px}
.guide .cover .cl{margin-top:22px;width:88px;height:4px;background:var(--red);border-radius:2px}
@media (max-width:1000px){.guide{grid-template-columns:minmax(0,1fr)}.guide .cover{margin:0;min-height:300px}}

/* ---------- LP: faq ---------- */
.faq .sub{font-weight:700;margin-top:14px}
.faq-list{margin-top:48px;display:grid;gap:12px}
.faq-item{display:grid;grid-template-columns:39px 1fr;gap:0;align-items:start;border-bottom:1px solid rgba(0,0,0,.08);padding:18px 0}
.faq-item .q{font-weight:700;font-size:25px;line-height:24px;color:var(--red)}
.faq-item button{width:100%;text-align:left;font-weight:700;font-size:16px;line-height:24px;color:#000;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.faq-item button .pm{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid #000;position:relative;transition:transform .4s var(--ease)}
.faq-item button .pm::before,.faq-item button .pm::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:#000;transform:translate(-50%,-50%)}
.faq-item button .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.faq-item.open button .pm{transform:rotate(180deg)}
.faq-item.open button .pm::after{transform:translate(-50%,-50%) rotate(0)}
.faq-item .a{grid-column:2;font-weight:300;font-size:16px;line-height:24px;max-height:0;overflow:hidden;transition:max-height .5s var(--ease),margin .4s;margin-top:0}
.faq-item.open .a{margin-top:6px}

/* ---------- LP: cta form ---------- */
.cta-form{display:grid;grid-template-columns:minmax(0,1fr) 500px;gap:clamp(32px,6vw,96px);align-items:center}
.cta-form .lead{margin-top:28px;max-width:550px}
.cta-form .checks{margin-top:36px}
@media (max-width:1000px){.cta-form{grid-template-columns:minmax(0,1fr)}}

/* ---------- about ---------- */
.about-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,5vw,90px);padding:clamp(32px,4vw,56px) clamp(24px,3.4vw,52px) clamp(36px,4vw,64px)}
.about-card .lead{margin-top:28px;white-space:pre-line}
@media (max-width:900px){.about-card{grid-template-columns:minmax(0,1fr)}}
.values{border-radius:40px;padding:clamp(28px,3vw,36px) clamp(20px,2.4vw,34px) clamp(28px,3vw,36px);position:relative;isolation:isolate;overflow:hidden;color:#fff}
.values::before{content:"";position:absolute;inset:0;background:var(--texture) center/cover no-repeat;transform:scaleX(-1);z-index:-2}
.values::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,0) 45%);z-index:-1}
.values .h2{max-width:900px}
.values .grid{margin-top:clamp(28px,4vw,56px)}
.vcard{background:#fff;color:#000;border-radius:24px;padding:28px 20px 30px;min-height:380px;display:flex;flex-direction:column}
.vcard .ico{width:90px;height:90px;align-self:flex-end;margin-bottom:auto}
.vcard .ico svg,.vcard .ico img{width:100%;height:100%;object-fit:contain}
.vcard .kicker{margin-top:18px;margin-bottom:10px;font-size:14px}
.vcard .h4{font-size:clamp(24px,2vw,30px)}
.vcard p{margin-top:12px;font-weight:300;font-size:16px;line-height:25px}
.people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px}
.person{background:var(--ink);border-radius:24px;padding:36px 20px 28px;text-align:center;transition:transform .5s var(--ease),background .4s}
.person:hover{transform:translateY(-6px);background:#151515}
.person .avatar{width:200px;height:200px;border-radius:50%;background:#DFDFDF;margin:0 auto 22px;overflow:hidden;position:relative}
.person .avatar::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.4),transparent 55%)}
.person b{display:block;font-weight:800;font-size:clamp(26px,2.2vw,40px);line-height:1.1}
.person span{display:block;font-weight:800;font-size:16px;text-transform:uppercase;color:var(--red);margin-top:8px}
.person .in{display:inline-block;margin-top:12px;font-weight:800;font-size:18px;color:#fff}
.tl6{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin-top:48px}
.tl6 .year{text-align:center}
.tl6 .ring{width:40px;height:40px;border-radius:50%;border:6px solid var(--c);margin:0 auto 22px;position:relative;transition:transform .5s var(--ease)}
.tl6 .year:hover .ring{transform:scale(1.15)}
.tl6 .ring::after{content:"";position:absolute;left:100%;top:50%;height:2px;width:calc(100% + 60px);background:linear-gradient(90deg,var(--c),var(--cn));opacity:.45}
.tl6 .year:last-child .ring::after{display:none}
.tl6 b{display:block;font-weight:800;font-size:25px;line-height:1.2;color:var(--red)}
.tl6 .t{display:block;font-weight:700;font-size:16px;line-height:25px}
.tl6 p{font-weight:300;font-size:16px;line-height:25px;margin-top:14px;max-width:165px;margin-inline:auto}
@media (max-width:1000px){.tl6{grid-template-columns:repeat(3,minmax(0,1fr))}.tl6 .ring::after{display:none}.people{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.tl6{grid-template-columns:repeat(2,minmax(0,1fr))}.people{grid-template-columns:minmax(0,1fr)}.values .grid{grid-template-columns:minmax(0,1fr)}.vcard{min-height:0}.bcard{min-height:0}.vcard .ico,.bcard .ico{width:56px;height:56px;margin-bottom:14px}}

/* ---------- process ---------- */
.journey{max-width:830px;margin:clamp(40px,5vw,72px) auto 0;position:relative}
.journey::before{content:"";position:absolute;left:55px;top:60px;bottom:60px;width:1px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.25) 10%,rgba(255,255,255,.25) 90%,rgba(255,255,255,0))}
/* process journey: a progress line that fills as you scroll, a glowing head, big ghost numbers and an active step that lights up */
.journey{counter-reset:jstep}
.journey .jprog{position:absolute;left:55px;top:60px;width:1px;height:0;background:linear-gradient(180deg,#FF3400,#ED0851 55%,#0118B2);box-shadow:0 0 12px rgba(237,8,81,.7);z-index:0;transition:height .25s linear}
.journey .jprog::after{content:"";position:absolute;left:50%;bottom:0;width:14px;height:14px;border-radius:50%;background:#fff;transform:translate(-50%,50%);box-shadow:0 0 0 4px rgba(237,8,81,.35),0 0 24px 6px rgba(237,8,81,.7)}
.jstep{position:relative;z-index:1;counter-increment:jstep;transition:opacity .6s var(--ease)}
.jstep::before{content:"0" counter(jstep);position:absolute;right:0;top:50%;transform:translateY(-50%);font-weight:800;font-size:clamp(72px,11vw,150px);line-height:1;color:transparent;background:linear-gradient(160deg,#FF3400 0%,#ED0851 48%,#7E4891 100%);-webkit-background-clip:text;background-clip:text;letter-spacing:-.04em;pointer-events:none;opacity:.7;transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease);z-index:0}
.jstep>div{position:relative;z-index:1}
.jstep .ring{z-index:1;transition:transform .7s cubic-bezier(.2,1.3,.4,1),box-shadow .6s var(--ease),border-color .6s}
.jstep .ring img,.jstep .ring svg{transition:transform .9s cubic-bezier(.2,1.3,.4,1)}
.jstep.rv{transform:none;opacity:1}
.jstep.rv .ring{transform:scale(.5);opacity:0}
.jstep.rv .ring img{transform:rotate(-90deg) scale(.6)}
.jstep.rv>div{opacity:0;transform:translateX(32px);filter:blur(6px);transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease)}
.jstep.rv.in .ring{transform:scale(1);opacity:1;transition:transform .9s cubic-bezier(.2,1.4,.4,1),opacity .4s}
.jstep.rv.in .ring img{transform:none}
.jstep.rv.in>div{opacity:1;transform:none;filter:none;transition-delay:.15s}
.jstep.active .ring{transform:scale(1.12);border-color:#fff;box-shadow:0 0 0 6px rgba(237,8,81,.18),0 0 44px -4px rgba(237,8,81,.85)}
.jstep.active .ring::before{transform:rotate(40deg) scale(1.08)}
.jstep:not(.active) .kicker{color:rgba(255,255,255,.5)}
.jstep.active .kicker{color:var(--red)}
.jstep.active::before{opacity:1;transform:translateY(-50%) translateX(-8px);filter:drop-shadow(0 0 22px rgba(237,8,81,.45))}
.jstep.passed{opacity:.72}
.jstep .ring::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(255,255,255,.7);opacity:0;pointer-events:none}
.jstep.active .ring::after{animation:ripple 1.6s ease-out 1}
@media (max-width:560px){.journey .jprog{left:35px}.jstep::before{font-size:64px;right:-4px}}
@media (prefers-reduced-motion:reduce){.jstep.rv .ring,.jstep.rv>div{opacity:1;transform:none;filter:none}.journey .jprog{transition:none}.jstep.active .ring::after{animation:none}}
.jstep{display:grid;grid-template-columns:112px minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start;padding:clamp(20px,3vw,40px) 0}
.jstep .ring{width:112px;height:112px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;position:relative;isolation:isolate;background:#000;transition:transform .6s var(--ease)}
.jstep .ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:#D70052 var(--texture) center/300% no-repeat;background-position:var(--bp,20% 30%);z-index:-1;transition:transform 1.4s var(--ease)}
.jstep:hover .ring{transform:scale(1.06)}
.jstep:hover .ring::before{transform:rotate(45deg)}
.jstep .ring svg,.jstep .ring img{width:40px;height:40px}
.jstep .kicker{margin-bottom:6px}
.jstep .h4{max-width:449px}
.jstep p{margin-top:14px;max-width:449px}
@media (max-width:560px){.jstep{grid-template-columns:72px minmax(0,1fr);gap:20px}.jstep .ring{width:72px;height:72px}.jstep .ring svg{width:28px;height:28px}.journey::before{left:35px}}

/* ---------- contact ---------- */
.contact-cards{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:14px;margin-top:0}
.ccard{background:#fff;color:#000;border-radius:24px;padding:28px 24px 30px;position:relative}
.ccard .ico{width:72px;height:72px;margin-left:auto;margin-bottom:28px;display:flex;align-items:center;justify-content:flex-end}
.ccard .ico svg,.ccard .ico img{width:72px;height:72px;object-fit:contain}
.ccard .h4{font-size:40px}
.ccard p{margin-top:10px;font-weight:300}
.ccard .line{margin-top:28px}
.ccard .line b{display:block;font-weight:800;font-size:16px;color:var(--red);text-transform:uppercase}
.ccard .line b a:hover{text-decoration:underline}
.ccard .line span{display:block;font-weight:300;font-size:16px;line-height:25px}
.ccard .line+.line{margin-top:18px}
.ccard.support{grid-row:1/3;grid-column:3}
.ccard.chat{grid-column:1/3;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}
.ccard .btn{height:48px;padding:0 36px}
@media (max-width:900px){.contact-cards{grid-template-columns:1fr 1fr}.ccard.support{grid-row:auto;grid-column:auto}.ccard.chat{grid-column:1/-1}}
@media (max-width:600px){.contact-cards{grid-template-columns:1fr}.ccard.chat{grid-template-columns:1fr}.ccard .h4{font-size:32px}}
.hq{display:grid;gap:28px}
.hq .map{border-radius:20px;overflow:hidden;aspect-ratio:1148/394;background:#eee}
.hq .map img{width:100%;height:100%;object-fit:cover;transition:transform 8s var(--ease)}
.hq .map:hover img{transform:scale(1.05)}
.hq .map iframe{width:100%;height:100%;border:0;display:block}
.hq-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.hq-cols .kicker{margin-bottom:12px}
.hq-cols p{font-weight:300;white-space:pre-line}
@media (max-width:800px){.hq-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.hq .map{aspect-ratio:4/3}}

/* ---------- resources ---------- */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.filters button{height:38px;padding:0 22px;border-radius:100px;border:1.5px solid #fff;font-weight:700;font-size:16px;color:#fff;transition:background .3s,color .3s,transform .3s var(--ease)}
.filters button:hover{transform:translateY(-2px)}
.filters button.active,.filters button:hover{background:var(--red);border-color:var(--red);color:#fff}
.featured{display:grid;grid-template-columns:412px minmax(0,1fr);gap:0;border-radius:40px;overflow:hidden;background:#fff;color:#000}
.featured .fcover{position:relative;min-height:320px;isolation:isolate}
.featured .fcover::before{content:"";position:absolute;inset:0;background:var(--texture) center/cover no-repeat;transform:scaleX(-1) rotate(180deg);z-index:-1}
.featured .fcover .book{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:36px 30px;color:#fff}
.featured .fcover .book b{font-weight:800;font-size:clamp(24px,2.2vw,32px);line-height:1.05;max-width:300px}
.featured .fcover .book small{font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.9;margin-bottom:12px}
.featured .fbody{padding:clamp(32px,4vw,56px) clamp(24px,3vw,48px)}
.featured .fbody .lead{margin-top:28px;max-width:670px}
.featured .fbody .btn{margin-top:36px}
@media (max-width:900px){.featured{grid-template-columns:minmax(0,1fr)}.featured .fcover{min-height:260px}}
.rcard{background:#fff;color:#000;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.rcard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.rcard .thumb{aspect-ratio:399/193;overflow:hidden;background:#222}
.rcard .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.rcard:hover .thumb img{transform:scale(1.06)}
.rcard .rb{padding:22px 28px 26px;display:flex;flex-direction:column;flex:1}
.rcard .kicker{margin-bottom:10px}
.rcard .h5{font-size:25px;line-height:1;font-weight:800}
.rcard p{margin-top:14px;font-weight:300;flex:1}
.rcard .link-arrow{margin-top:22px;align-self:flex-end}
.pods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.pod{display:grid;grid-template-columns:96px minmax(0,1fr);background:var(--ink);border-radius:24px;overflow:hidden;min-height:150px;transition:transform .5s var(--ease)}
.pod:hover{transform:translateY(-4px)}
.pod .play{background:#D70052 var(--texture) center/400% no-repeat;display:grid;place-items:center;font-size:0}
.pod .play::before{content:"";width:0;height:0;border-left:22px solid #fff;border-top:16px solid transparent;border-bottom:16px solid transparent;margin-left:6px;transition:transform .4s var(--ease)}
.pod:hover .play::before{transform:scale(1.15)}
.pod .pb{padding:20px 22px}
.pod .pb .ep{display:block;font-weight:800;font-size:16px;color:var(--red)}
.pod .pb b{display:block;font-weight:800;font-size:20px;line-height:1;margin-top:6px}
.pod .pb span{display:block;font-weight:300;margin-top:8px}
@media (max-width:900px){.pods{grid-template-columns:minmax(0,1fr)}}
.videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}
.vid{position:relative;aspect-ratio:399/231;border-radius:12px;overflow:hidden;background:#111;display:block}
.vid img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.vid:hover img{transform:scale(1.05)}
.vid .dur{position:absolute;right:12px;bottom:10px;background:rgba(0,0,0,.75);color:#fff;font-weight:700;font-size:12px;padding:2px 8px;border-radius:4px}
.vid .pl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.55);display:grid;place-items:center;transition:transform .4s var(--ease),background .3s}
.vid .pl::before{content:"";width:0;height:0;border-left:16px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent;margin-left:5px}
.vid:hover .pl{transform:translate(-50%,-50%) scale(1.1);background:var(--red)}
@media (max-width:760px){.videos{grid-template-columns:minmax(0,1fr)}}
.newsletter{display:grid;grid-template-columns:minmax(0,1fr) 412px;gap:clamp(32px,6vw,120px);align-items:center}
.newsletter .nl-card{background:#000;border-radius:30px;padding:40px 30px}
.newsletter .nl-card h6{margin:0 0 20px;font-weight:700;font-size:14px;text-transform:uppercase}
@media (max-width:900px){.newsletter{grid-template-columns:minmax(0,1fr)}}

/* ---------- careers ---------- */
.culture{display:grid;grid-template-columns:779px minmax(0,1fr);grid-template-rows:415px 415px;gap:20px;margin-top:clamp(36px,4vw,56px)}
.culture figure{border-radius:24px;overflow:hidden;position:relative}
.culture figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.culture figure:hover img{transform:scale(1.05)}
.culture figure:nth-child(3){grid-column:1}
.culture figure:nth-child(4){grid-column:2}
.culture{grid-template-columns:1fr 1fr}
.culture .g1{grid-column:1/2}.culture .g2{grid-column:2/3}.culture .g3{grid-column:1/2}.culture .g4{grid-column:2/3}
.culture.layout{grid-template-columns:779fr 436fr;grid-template-rows:auto;}
.culture.layout .g1{grid-column:1;grid-row:1;aspect-ratio:779/415}.culture.layout .g2{grid-column:2;grid-row:1}.culture.layout .g3{grid-column:1;grid-row:2;aspect-ratio:330/415;width:42%}.culture.layout .g4{grid-column:1/3;grid-row:2;margin-left:45%}
.culture.layout{grid-template-rows:auto auto}
@media (max-width:760px){.culture.layout{grid-template-columns:1fr 1fr;gap:12px}.culture.layout .g1{aspect-ratio:4/3}.culture.layout .g2{aspect-ratio:4/3}.culture.layout .g3{width:auto;aspect-ratio:1;grid-column:1}.culture.layout .g4{grid-column:2;margin-left:0;aspect-ratio:1}}
.benefits .grid{margin-top:clamp(28px,4vw,56px)}
.bcard{background:#fff;color:#000;border-radius:24px;padding:26px 20px 24px;min-height:300px;display:flex;flex-direction:column;transition:transform .5s var(--ease)}
.bcard:hover{transform:translateY(-6px)}
.bcard .ico{width:60px;height:60px;align-self:flex-end;margin-bottom:auto}
.bcard .ico svg,.bcard .ico img{width:100%;height:100%;object-fit:contain}
.bcard .h5{font-size:clamp(22px,2vw,30px);line-height:1.05;margin-top:18px}
.bcard p{margin-top:12px;font-weight:300}
.roles{margin-top:clamp(36px,4vw,56px)}
.role{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.role:first-child{border-top:1px solid rgba(0,0,0,.08)}
.role b{display:block;font-weight:800;font-size:clamp(22px,2vw,30px);line-height:1.1}
.role span{display:block;font-weight:300;margin-top:10px}
.role span i{font-style:normal;display:inline-block;margin:0 14px;opacity:.5}
.role .btn{height:48px;padding:0 32px;flex:none}
@media (max-width:640px){.role{flex-direction:column;align-items:flex-start}.role .btn{width:100%}}
.upload{border:1.5px dashed var(--line);border-radius:12px;padding:28px 16px;text-align:center;grid-column:1/-1;cursor:pointer;transition:border-color .3s,background .3s}
.upload:hover{border-color:var(--red);background:#fff8f9}
.upload b{display:block;font-weight:800;font-size:12px}
.upload span{display:block;font-weight:300;font-size:12px;line-height:24px}
.videotip{grid-column:1/-1;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;font-weight:300;font-size:12px;line-height:15px}
.videotip svg,.videotip img{width:36px;height:36px}

/* ---------- testimonials ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:48px}
.review{background:var(--ink);border-radius:24px;padding:32px 28px 30px;border:1px solid rgba(255,255,255,.04);transition:transform .5s var(--ease),border-color .4s}
.review:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.14)}
.review .stars{display:flex;gap:6px;margin-bottom:24px}
.review .stars svg{width:18px;height:18px;fill:#FFB916}
.review p{font-weight:300}
.review b{display:block;font-weight:800;margin-top:24px}
.review span{display:block;font-weight:300}
.cases{display:grid;gap:20px;margin-top:48px}
.case{display:grid;grid-template-columns:minmax(0,1fr) 320px;border-radius:30px;overflow:hidden;background:#fff;color:#000;transition:transform .5s var(--ease),box-shadow .5s}
.case:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(0,0,0,.5)}
.case .cb{padding:clamp(28px,3vw,52px) clamp(24px,3vw,52px)}
.case .cb .h5{font-size:30px;line-height:1.1;margin-top:0}
.case .cb p{margin-top:18px;max-width:781px}
.case .cb .btn{margin-top:32px}
.case .cm{padding:clamp(28px,3vw,52px) 28px;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:34px;position:relative;isolation:isolate}
.case .cm::before{content:"";position:absolute;inset:0;background:var(--texture) center/cover no-repeat;z-index:-1;transform:scaleX(-1)}
.case .cm b{display:block;font-weight:800;font-size:30px;line-height:1}
.case .cm span{display:block;font-weight:800;font-size:16px;margin-top:4px}
@media (max-width:900px){.case{grid-template-columns:minmax(0,1fr)}.reviews{grid-template-columns:minmax(0,1fr)}}

/* ---------- industry (accounting) ---------- */
.ind-services{border-radius:40px;background:var(--ink);padding:clamp(32px,4vw,56px) clamp(20px,2.8vw,40px)}
.ind-services .grid{margin-top:clamp(28px,4vw,56px)}
.scard{background:#fff;color:#000;border-radius:24px;padding:28px 22px 24px;min-height:310px;display:flex;flex-direction:column}
.scard .ico{width:72px;height:72px;align-self:flex-end;margin-bottom:auto}
.scard .ico svg,.scard .ico img{width:100%;height:100%;object-fit:contain}
.scard .h4{font-size:clamp(26px,2.4vw,40px);margin-top:24px}
.scard p{margin-top:12px;font-weight:300;flex:1}
.scard .link-arrow{align-self:flex-end;margin-top:18px}
.benefit-cards .grid{margin-top:40px}
.bencard{background:#fff;color:#000;border-radius:24px;padding:60px 24px 40px;min-height:210px}
.bencard b{display:block;font-weight:700}
.bencard p{font-weight:300;margin-top:4px}

/* misc */
.back-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;z-index:50;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .4s,transform .4s var(--ease);box-shadow:0 10px 30px -10px rgba(228,0,36,.8)}
.back-top.show{opacity:1;transform:none;pointer-events:auto}
.progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--grad-btn);z-index:70;pointer-events:none}
/* ---- review round 2 (Oct 2026): pain point accordions, playbook mockups, legal pages, library ---- */
.dots.acc li{padding-left:46px;margin-bottom:14px;cursor:pointer}
.dots.acc li::before{width:28px;height:28px;top:-2px;content:"+";color:#fff;font-weight:700;font-size:22px;line-height:28px;text-align:center;font-family:inherit;transition:transform .35s var(--ease),background .3s}
.dots.acc li.open::before{content:"\2212"}
.dots.acc li:hover::before{background:#B8001D}
.dots.acc .acc-h{display:block;width:100%;text-align:left;font:inherit;font-weight:700;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.dots.acc .acc-h:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:4px}
.dots.acc .acc-b{max-height:0;overflow:hidden;transition:max-height .5s var(--ease),margin .35s}
.dots.acc li.open .acc-b{margin-top:6px}
.dots.acc .acc-b p{font-weight:300;font-size:16px;line-height:24px;margin:0;color:inherit;max-width:620px}
.guide .cover-img{padding:0;display:block;background:none}
.guide .cover-img::before,.guide .cover-img::after{display:none}
.guide .cover-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease)}
.guide .cover-img:hover img{transform:scale(1.04)}
.fcover-img{display:block;padding:0;overflow:hidden}
.fcover-img img{width:100%;height:100%;object-fit:cover;display:block}
.thumb a{display:block;height:100%}
.thumb-lib a{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:193px;padding:20px 22px;background:#D70052 var(--texture) center/cover no-repeat;color:#fff;text-decoration:none}
.thumb-lib .lib-k{font-weight:800;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.thumb-lib .lib-t{font-weight:800;font-size:20px;line-height:1.1;margin-top:8px;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.legal-body h3{font-weight:800;font-size:22px;line-height:1.2;margin:34px 0 10px;color:#fff}
.legal-body p{font-weight:300;font-size:16px;line-height:26px;margin:0 0 14px;color:rgba(255,255,255,.85)}
.legal-body p b{font-weight:700;color:#fff}
.legal-body em{color:rgba(255,255,255,.6);font-style:normal}
.dropdown.open{opacity:1;visibility:visible;transform:translate(-50%,0)}
/* review round 3: resources library */
.thumb-lib .lib-wrap{display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:193px;padding:20px 22px;background:#D70052 var(--texture) center/cover no-repeat;color:#fff}
.rcard .link-arrow.soon{opacity:.45;cursor:default}
.filters button{margin:0}

/* ---------- About timeline: connected line + draw in animation (Nov 4) ---------- */
.tl6 .year{position:relative}
.tl6 .year::before{content:"";position:absolute;left:50%;top:19px;height:3px;width:calc(100% + 20px);border-radius:3px;background:linear-gradient(90deg,var(--c),var(--cn));transform:scaleX(0);transform-origin:left center;transition:transform .9s var(--ease);z-index:0}
.tl6 .year:last-child::before{display:none}
.tl6 .ring{z-index:1;background:#000;transform:scale(.55);opacity:.35;transition:transform .7s var(--ease),opacity .5s var(--ease),box-shadow .6s var(--ease)}
.tl6 .ring::before,.tl6 .ring::after{display:none}
.tl6.in .year::before{transform:scaleX(1)}
.tl6.in .ring{transform:scale(1);opacity:1;animation:tlpulse 1.4s var(--ease) 1 both}
.tl6.in .year:nth-child(1) .ring{transition-delay:.1s;animation-delay:.1s}
.tl6.in .year:nth-child(1)::before{transition-delay:.35s}
.tl6.in .year:nth-child(2) .ring{transition-delay:.9s;animation-delay:.9s}
.tl6.in .year:nth-child(2)::before{transition-delay:1.15s}
.tl6.in .year:nth-child(3) .ring{transition-delay:1.7s;animation-delay:1.7s}
.tl6.in .year:nth-child(3)::before{transition-delay:1.95s}
.tl6.in .year:nth-child(4) .ring{transition-delay:2.5s;animation-delay:2.5s}
.tl6.in .year:nth-child(4)::before{transition-delay:2.75s}
.tl6.in .year:nth-child(5) .ring{transition-delay:3.3s;animation-delay:3.3s}
.tl6.in .year:nth-child(5)::before{transition-delay:3.55s}
.tl6.in .year:nth-child(6) .ring{transition-delay:4.1s;animation-delay:4.1s}
.tl6.in .year:hover .ring{transform:scale(1.15);transition-delay:0s;box-shadow:0 0 0 8px color-mix(in srgb,var(--c) 28%,transparent)}
@keyframes tlpulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 55%,transparent)}60%{box-shadow:0 0 0 18px color-mix(in srgb,var(--c) 0%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
@media (max-width:1000px){.tl6 .year:nth-child(3n)::before{display:none}}
@media (prefers-reduced-motion:reduce){.tl6 .year::before{transform:scaleX(1)}.tl6 .ring{transform:none;opacity:1;animation:none}}

/* ---------- forms: validation and error states (Nov 4) ---------- */
.form .invalid,.mini .invalid{border-color:var(--red)!important;box-shadow:0 0 0 3px rgba(228,0,36,.18)}
.form-err{display:none;grid-column:1/-1;color:var(--red);font-weight:700;font-size:14px;line-height:1.5;margin:4px 0 0}
.form-err.show{display:block}
.mini.sent{display:none}

/* ---------- form success: fun confirmation (Nov 4) ---------- */
@property --oka{syntax:'<angle>';inherits:false;initial-value:0deg}
.form-ok{position:relative;isolation:isolate}
.form-ok.show{display:block;border-radius:24px;padding:44px 24px 40px;text-align:center;margin-top:8px}
.form-ok.show::before{content:"";position:absolute;inset:0;border-radius:24px;padding:3px;background:conic-gradient(from var(--oka),#FF3400,#ED0851,#0118B2,#7E4891,#870F7B,#F98469,#FF3400);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:okspin 4s linear infinite;pointer-events:none}
.form-ok.show::after{content:"";position:absolute;inset:3px;border-radius:21px;background:radial-gradient(70% 55% at 50% 0%,rgba(237,8,81,.10),transparent 70%);pointer-events:none;z-index:-1}
@keyframes okspin{to{--oka:360deg}}
.ok-pop{position:relative;width:88px;height:88px;margin:0 auto 22px}
.ok-badge{position:absolute;inset:0;border-radius:50%;background:var(--grad-btn);display:grid;place-items:center;transform:scale(0);animation:okpop .7s cubic-bezier(.34,1.56,.64,1) .1s forwards;box-shadow:0 18px 40px -16px rgba(237,8,81,.6)}
.ok-badge::before{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid rgba(237,8,81,.55);opacity:0;animation:okwave 1.2s ease-out .45s forwards}
.ok-badge svg{width:46px;height:46px;overflow:visible}
.ok-badge path{fill:none;stroke:#fff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:okdraw .5s ease-out .5s forwards}
@keyframes okpop{0%{transform:scale(0)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes okwave{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.3);opacity:0}}
@keyframes okdraw{to{stroke-dashoffset:0}}
.ok-confetti{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.ok-confetti i{position:absolute;left:0;top:0;width:var(--w,9px);height:var(--h,13px);border-radius:var(--br,2px);background:var(--c);opacity:0;animation:okconf var(--dur,1.4s) cubic-bezier(.2,.7,.3,1) var(--dl,0s) forwards;will-change:transform}
@keyframes okconf{0%{transform:translate(-50%,-50%) rotate(0deg) scale(.4);opacity:1}18%{opacity:1;transform:translate(calc(-50% + var(--tx) * .55),calc(-50% + var(--ty1))) rotate(calc(var(--r) * .4)) scale(1)}100%{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty2))) rotate(var(--r)) scale(.7);opacity:0}}
.form-ok.show b{animation:okup .6s var(--ease) .35s both}
.form-ok.show p{animation:okup .6s var(--ease) .5s both}
@keyframes okup{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.form-card.done h3,.form-card.done .sub,.form-card.done .form-note{display:none}
.footer .form-ok.show{padding:28px 18px 26px;border-radius:18px;max-width:299px}
.footer .ok-pop{width:64px;height:64px;margin-bottom:14px}
.footer .ok-badge svg{width:32px;height:32px}
.footer .form-ok b{font-size:22px}
@media (prefers-reduced-motion:reduce){.form-ok.show::before{animation:none}.ok-badge{animation:none;transform:none}.ok-badge::before{animation:none}.ok-badge path{animation:none;stroke-dashoffset:0}.ok-confetti{display:none}.form-ok.show b,.form-ok.show p{animation:none}}

/* form band: the form card lights up from behind once it is in view */
.form-band .cta-form{position:relative;z-index:0}
.form-band .form-card{position:relative}
.form-band .form-card::before{content:"";position:absolute;inset:-30px;border-radius:56px;background:linear-gradient(125deg,#FF3400 0%,#ED0851 28%,#7E4891 52%,#0118B2 74%,#ED0851 100%);background-size:320% 320%;filter:blur(36px);opacity:0;z-index:-1;transform:scale(.9);pointer-events:none;transition:opacity 1.6s var(--ease) 1s,transform 1.6s var(--ease) 1s}
.form-band .form-card.in::before{opacity:.95;transform:none;animation:formAurora 9s ease-in-out 2.6s infinite}
.form-band .form-card::after{content:"";position:absolute;inset:-2px;border-radius:32px;background:linear-gradient(125deg,#FF3400,#ED0851 40%,#7E4891 70%,#0118B2);z-index:-1;opacity:0;pointer-events:none;transition:opacity 1.2s var(--ease) 1.1s}
.form-band .form-card.in::after{opacity:1}
@keyframes formAurora{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media (prefers-reduced-motion:reduce){.form-band .form-card.in::before{animation:none}}

/* resources: the Events row and the event card artwork */
.res-ev{align-items:center}
.res-ev .res-ev-intro{grid-column:span 2}
@media (max-width:760px){.res-ev .res-ev-intro{grid-column:auto}}
.rcard .thumb svg{display:block;width:100%;height:100%;transition:transform 1.2s var(--ease)}
.rcard:hover .thumb svg{transform:scale(1.06)}
.evt-beam{transform-box:view-box;transform-origin:199.5px -40px;animation:evtSweep 11s ease-in-out infinite alternate}
.evt-beam.b2{animation-duration:14s;animation-delay:-5s}
.evt-beam.b3{animation-duration:17s;animation-delay:-9s}
.evt-k{font:800 12px/1 var(--font);letter-spacing:2.8px;fill:#fff;opacity:.88}
.evt-t{font:800 33px/1 var(--font)}
.evt-d{font:700 11.5px/1 var(--font);letter-spacing:1.5px;fill:#fff}
.evt-c{animation:evtTwinkle 2.6s ease-in-out infinite alternate}
@keyframes evtSweep{from{transform:rotate(-28deg)}to{transform:rotate(28deg)}}
@keyframes evtTwinkle{from{opacity:.25}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.evt-beam,.evt-c{animation:none}.evt-beam{transform:rotate(-20deg)}.evt-beam.b2{transform:rotate(6deg)}.evt-beam.b3{transform:rotate(24deg)}}
