/* TrackHubs marketing theme — from static handover */
:root{
  --plum-deep:#27123f; --plum:#3a1d63; --plum-2:#4a2580;
  --purple:#6a32b0; --purple-bright:#8b3ee0; --lavender:#dcc9ff;
  --green:#1ec98b; --green-deep:#14b07a; --green-ink:#04231a;
  --paper:#f4f0fb; --surface:#fff; --ink:#1d1430; --muted:#6b6280; --faint:#9a92ad;
  --line:#e7def0; --line-soft:#f0eaf7; --purple-soft:#f0e7fb; --purple-tint:#f9f5ff;
  --radius:20px; --shadow-sm:0 2px 12px rgba(42,20,72,.06); --shadow:0 20px 54px -20px rgba(58,29,99,.32);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Hanken Grotesk",system-ui,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3,.brand,.flow-step b{font-family:"Manrope",sans-serif;letter-spacing:-.02em;}
a{color:inherit;}
.btn{font-family:"Hanken Grotesk";font-weight:700;border:none;border-radius:11px;cursor:pointer;text-decoration:none;display:inline-block;transition:transform .16s,box-shadow .16s,background .2s,border-color .2s,color .2s;}
.btn-green{background:var(--green);color:var(--green-ink);padding:13px 24px;font-size:15px;box-shadow:0 8px 20px rgba(30,201,139,.34);}
.btn-green:hover{background:var(--green-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,201,139,.45);}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.3);padding:13px 24px;font-size:15px;}
.btn-ghost:hover{background:rgba(255,255,255,.16);transform:translateY(-2px);}

.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px max(40px,calc((100% - 1240px)/2));background:rgba(244,240,251,.8);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px;color:var(--plum);text-decoration:none;}
.brand .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--purple),var(--plum-deep));display:grid;place-items:center;color:#fff;font-size:14px;font-weight:800;}
.nav-links{display:flex;gap:28px;align-items:center;margin-left:auto;margin-right:26px;}
.nav-links a{color:var(--muted);text-decoration:none;font-weight:500;font-size:15px;transition:color .2s;}
.nav-links a:hover,.nav-links a.cur{color:var(--plum);}
.btn-demo{background:var(--green);color:var(--green-ink);padding:12.5px 22.5px;border-radius:12px;font-weight:700;font-size:17.5px;text-decoration:none;white-space:nowrap;}
.navtoggle{display:none;background:none;border:1px solid var(--line);border-radius:9px;padding:7px 9px;cursor:pointer;color:var(--plum);}
.navtoggle svg{width:20px;height:20px;display:block;}

.hero{position:relative;overflow:hidden;color:#fff;padding:74px 40px 78px;
  background:radial-gradient(820px 360px at 84% -8%,rgba(139,62,224,.45),transparent 60%),linear-gradient(160deg,var(--plum) 0%,#2a1546 45%,#080510 100%);}
.hero::after{content:"";position:absolute;inset:0;opacity:.1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.6) 1px,transparent 1px);background-size:26px 26px;}
.hero-in{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--lavender);border:1px solid rgba(255,255,255,.28);border-radius:100px;padding:7px 15px;background:rgba(255,255,255,.06);}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);flex:0 0 auto;animation:dotPulse 1.9s ease-in-out infinite;}
.eyebrow:not(:has(> .dot))::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);flex:0 0 auto;animation:dotPulse 1.9s ease-in-out infinite;}
@keyframes dotPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(30,201,139,.55);}50%{transform:scale(1.25);box-shadow:0 0 12px 3px rgba(30,201,139,.95);}}
@media(prefers-reduced-motion:reduce){.eyebrow .dot,.eyebrow:not(:has(> .dot))::before{animation:none;}}
.eyebrow.sol-name{font-size:12.9px;color:var(--green);border-color:rgba(30,201,139,.45);background:rgba(30,201,139,.1);}
.hero h1{font-size:clamp(34px,5vw,58px);font-weight:800;line-height:1.04;margin:20px 0 16px;max-width:880px;}
.hero h1 .g{background:linear-gradient(110deg,var(--lavender),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero .sub{font-size:18px;color:#e7ddf7;max-width:620px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.platform-pill{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-size:13px;color:var(--lavender);text-decoration:none;border-bottom:1px solid rgba(220,201,255,.4);padding-bottom:2px;}
.platform-pill:hover{color:#fff;}

.section{max-width:1180px;margin:0 auto;padding:64px 40px 0;}
/* full-bleed purple band (footer-style gradient) to break up the page */
.section.dark{max-width:none;margin:64px 0 0;padding:78px max(40px,calc((100% - 1180px)/2));background:linear-gradient(160deg,var(--plum) 0%,#2a1546 45%,#080510 100%);}
.section.dark .sec-h{color:var(--lavender);}
.section.dark .lead{color:#e7ddf7;}
/* softer, lighter band that eases down from the light section above */
.section.dark.soft{background:linear-gradient(180deg,var(--purple) 0%,var(--plum) 48%,var(--plum-deep) 100%);}
.lead{font-size:19px;color:var(--ink);max-width:760px;font-weight:500;margin-left:auto;margin-right:auto;text-align:center;}
.statement{font-size:clamp(22px,2.8vw,31px);line-height:1.2;font-weight:800;letter-spacing:-.018em;color:var(--plum);max-width:920px;margin:0 auto;text-align:center;text-wrap:balance;}
.statement+.prose{margin-top:34px;}
.statement .hl{background:linear-gradient(110deg,var(--purple),var(--purple-bright));-webkit-background-clip:text;background-clip:text;color:transparent;}
.sec-h{font-size:26px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--purple);margin-bottom:22px;text-align:center;}
.sec-icon{display:block;width:44px;height:auto;margin:0 auto 18px;}
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px;}
.cap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;}
.cap:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.cap .ic{width:44px;height:44px;border-radius:12px;background:var(--purple-soft);display:grid;place-items:center;margin-bottom:16px;}
.cap .ic svg{width:23px;height:23px;fill:none;stroke:var(--purple);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.cap h3{font-size:17px;font-weight:700;margin-bottom:8px;}
.cap p{font-size:15px;color:var(--muted);line-height:1.6;}

.flow-wrap{background:linear-gradient(120deg,var(--purple-soft),#fff);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;}
.flow{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;width:100%;}
.flow-step{display:flex;align-items:center;flex:0 0 auto;}
.flow-step b{display:block;font-weight:800;font-size:14px;color:var(--faint);background:#fff;border:1px solid var(--line);border-radius:100px;padding:11px 18px;white-space:nowrap;transition:background .4s,color .4s,border-color .4s,box-shadow .4s,transform .4s;}
.flow-step.on b{background:linear-gradient(135deg,var(--purple),var(--purple-bright));color:#fff;border-color:transparent;box-shadow:0 8px 18px rgba(106,50,176,.35);}
.flow-arrow{flex:1 1 auto;min-width:18px;align-self:center;position:relative;height:14px;font-size:0;color:transparent;}
.flow-arrow::before{content:"";position:absolute;left:-1px;right:6px;top:50%;height:2.5px;transform:translateY(-50%) scaleX(0);transform-origin:left center;border-radius:3px;background:linear-gradient(to right,var(--purple),var(--purple-bright));}
.flow-arrow::after{content:"";position:absolute;right:2px;top:50%;width:8px;height:8px;border-top:2.5px solid var(--purple-bright);border-right:2.5px solid var(--purple-bright);transform:translateY(-50%) rotate(45deg);opacity:0;}
.flow-note{margin-top:18px;font-size:16px;font-weight:600;color:var(--muted);text-align:center;}
/* flow attention animation */
.flow-step{opacity:0;transform:translateY(14px) scale(.94);}
.flow-step.show{opacity:1;transform:none;transition:opacity .55s cubic-bezier(.16,.84,.34,1),transform .55s cubic-bezier(.16,.84,.34,1);}
.flow-arrow.show::before{transform:translateY(-50%) scaleX(1);transition:transform .5s cubic-bezier(.16,.84,.34,1);}
.flow-arrow.show::after{opacity:1;transition:opacity .3s ease .35s;}
.flow-step.pulse b{animation:flowPulse .68s cubic-bezier(.34,1.4,.6,1);}
@keyframes flowPulse{0%{transform:translateY(0) scale(1);box-shadow:0 8px 18px rgba(106,50,176,.35);}45%{transform:translateY(-5px) scale(1.08);box-shadow:0 0 0 5px rgba(139,62,224,.2),0 16px 32px rgba(139,62,224,.6);}100%{transform:translateY(0) scale(1);box-shadow:0 8px 18px rgba(106,50,176,.35);}}
@media(prefers-reduced-motion:reduce){.flow-step{opacity:1!important;transform:none!important;}.flow-arrow::before{transform:translateY(-50%) scaleX(1)!important;}.flow-arrow::after{opacity:1!important;}.flow-step.pulse b{animation:none!important;}}

.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px;max-width:860px;}
.benefit{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:#3d3553;}
.benefit svg{flex:0 0 auto;width:22px;height:22px;margin-top:1px;}

.cross{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.cross>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .18s,border-color .2s,background .2s;}
.cross>a:hover{transform:translateY(-3px);border-color:var(--purple);background:linear-gradient(120deg,var(--purple-tint),#fff);}
.cross .lbl{font-family:"Manrope";font-weight:700;font-size:16px;color:var(--plum);margin:0;flex:1 1 auto;min-width:0;}
.cross .go{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--purple);font-weight:700;font-size:13px;margin-top:0;white-space:nowrap;transition:transform .2s;}
.cross>a:hover .go{transform:translateX(4px);}

.cta{max-width:1180px;margin:74px auto 0;padding:54px 40px;border-radius:24px;text-align:center;color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(700px 300px at 50% -30%,rgba(139,62,224,.6),transparent 60%),linear-gradient(135deg,var(--plum-deep),var(--plum));}
.cta h2{font-size:clamp(26px,3.6vw,36px);font-weight:800;}
.cta p{color:#e7ddf7;font-size:18px;margin:12px auto 26px;white-space:nowrap;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.cta::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,rgba(31,14,52,.55),rgba(58,29,99,.42));}
.cta h2,.cta p,.cta-row{position:relative;z-index:2;}

footer{margin-top:74px;padding:54px 40px 46px;color:#efe8fb;
  background:radial-gradient(700px 300px at 50% -30%,rgba(139,62,224,.45),transparent 60%),linear-gradient(135deg,var(--plum-deep),var(--plum));}
footer .brand img{filter:brightness(0) invert(1);}
.foot-in{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.foot-col h4{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--lavender);margin-bottom:14px;}
.foot-col a{display:block;color:#d8cdf0;text-decoration:none;font-size:14px;margin-bottom:9px;}
.foot-col a:hover{color:#fff;}
.foot-bottom{max-width:1180px;margin:30px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;color:#b9add4;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.foot-social a{color:#d8cdf0;text-decoration:none;margin-left:18px;}
.foot-social a:hover{color:#fff;}

/* solutions dropdown */
.dd{position:relative;}
.dd-btn{font-family:inherit;font-weight:500;font-size:15px;color:var(--muted);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:5px;padding:0;}
.dd-btn:hover,.dd.open .dd-btn,.dd-btn.cur{color:var(--plum);}
.dd-btn .car{font-size:10px;transition:transform .2s;}
.dd.open .dd-btn .car{transform:rotate(180deg);}
.dd-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-6px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;min-width:260px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;z-index:60;}
.dd:hover .dd-menu,.dd.open .dd-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.dd-menu a{display:block;padding:9px 13px;border-radius:9px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none;}
.dd-menu a small{display:block;color:var(--faint);font-weight:400;font-size:12px;margin-top:1px;}
.dd-menu a:hover{background:var(--purple-tint);color:var(--plum);}

/* split hero (homepage) */
.hero.split{background:#1d0c31;padding-top:66px;padding-bottom:70px;}
.hero.split .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero.split::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(900px 480px at 90% -10%,rgba(139,62,224,.32),transparent 60%),
    linear-gradient(180deg,rgba(24,10,40,.66) 0%,rgba(26,11,44,.78) 55%,rgba(22,9,38,.9) 100%),
    linear-gradient(110deg,rgba(28,12,46,.82) 0%,rgba(38,18,62,.62) 48%,rgba(34,16,56,.5) 100%);}
.hero.split::after{z-index:2;}
.hero.split .hero-in{z-index:3;position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:center;gap:46px;max-width:1240px;}
.hero.split .hero-copy{text-align:left;}
.hero.split .hero-cta{justify-content:flex-start;}
.hero .chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.hero .chips.hero-chips-full{grid-column:1 / -1;justify-content:center;margin-top:14px;}
.hero .chips span{font-size:16px;font-weight:600;color:#efe8fb;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:9px 17px;}

/* dashboard animation (QuickBooks-style assemble + float) */
.hero-visual{position:relative;width:100%;}
.dash-float{position:relative;width:100%;max-width:600px;margin:0 0 0 auto;animation:dashFloat 6.5s ease-in-out 1.5s infinite;}
.hero-visual .dash{display:block;width:100%;height:auto;
  filter:drop-shadow(0 42px 72px rgba(10,3,26,.6));}
/* animated tap hand on the dashboard */
.hand-tap{position:absolute;left:40.5%;top:29.3%;width:9.42%;height:auto;z-index:3;pointer-events:none;transform-origin:50% 16%;opacity:0;filter:drop-shadow(0 5px 7px rgba(10,3,26,.3));animation:handFade .5s ease 1.4s forwards,handTap 2.4s cubic-bezier(.34,1.3,.5,1) 1.6s infinite;}
.tap-ring{position:absolute;left:44%;top:31%;width:5.5%;aspect-ratio:1;border-radius:50%;border:2.5px solid rgba(106,50,176,.6);z-index:2;pointer-events:none;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:tapRing 2.4s ease-out 1.6s infinite;}
@keyframes handFade{to{opacity:1;}}
@keyframes handTap{0%,100%{transform:translateY(0) scale(1);}9%{transform:translateY(9%) scale(.93);}20%{transform:translateY(0) scale(1);}}
@keyframes tapRing{0%,8%{transform:translate(-50%,-50%) scale(.2);opacity:0;}13%{opacity:.6;}42%{transform:translate(-50%,-50%) scale(2.4);opacity:0;}100%{opacity:0;}}
.hero-visual.anim .dash{animation:dashIn 1.15s cubic-bezier(.16,.84,.34,1) .2s both;}
@keyframes dashIn{from{opacity:0;transform:translateY(42px) scale(.95);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes dashFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
.fbwrap{position:absolute;z-index:4;}
.fb1{top:6%;right:-10px;animation:badgeFloat 5.6s ease-in-out 1.9s infinite;}
.fb2{bottom:12%;left:-22px;animation:badgeFloat 6.4s ease-in-out 2.3s infinite;}
@keyframes badgeFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.fbcard{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.97);border-radius:15px;padding:12px 15px;box-shadow:0 22px 46px -14px rgba(10,3,26,.7);}
.hero-visual.anim .fb1 .fbcard{animation:badgePop .75s cubic-bezier(.16,.84,.34,1) 1.05s both;}
.hero-visual.anim .fb2 .fbcard{animation:badgePop .75s cubic-bezier(.16,.84,.34,1) 1.35s both;}
@keyframes badgePop{from{opacity:0;transform:translateY(18px) scale(.88);}to{opacity:1;transform:translateY(0) scale(1);}}
.fbcard .dot{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;}
.fbcard .dot svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.fbcard .bt{display:block;font-family:"Manrope";font-weight:800;font-size:16px;color:var(--plum);line-height:1.1;letter-spacing:-.01em;}
.fbcard .bs{display:block;font-size:11.5px;color:var(--muted);font-weight:600;margin-top:2px;white-space:nowrap;}
@media(prefers-reduced-motion:reduce){.hero-visual.anim .dash,.hero-visual.anim .fbcard{animation:none!important;}.dash-float,.fbwrap{animation:none!important;}.hand-tap{opacity:1!important;animation:none!important;}.tap-ring{display:none;}}

/* solutions grid (homepage) — ONE a.sol-card per tile; inner spans only (no nested links) */
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.sol-grid>a.sol-card{display:flex;flex-direction:column;min-width:0;text-decoration:none!important;color:inherit;}
.sol-grid>a.sol-card:not(:has(.sol-body)):not(:has(.nm)){box-shadow:none;background:transparent;border:none;padding:0;}
a.sol-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px 20px;box-shadow:var(--shadow-sm);transition:transform .18s,border-color .2s,box-shadow .2s;text-decoration:none!important;color:inherit;box-sizing:border-box;}
a.sol-card:hover,a.sol-card:focus{text-decoration:none!important;color:inherit;transform:translateY(-4px);border-color:var(--purple);box-shadow:var(--shadow);}
a.sol-card .sol-body,a.sol-card .nm,a.sol-card .bl,a.sol-card .ar{display:block;background:transparent!important;border:none!important;box-shadow:none!important;padding:0;margin:0;text-decoration:none!important;}
a.sol-card .sol-nm,a.sol-card .nm{font-family:"Manrope";font-weight:800;font-size:23px;color:var(--plum);display:block;margin:0;}
a.sol-card .sol-bl,a.sol-card .bl{font-size:14.5px;color:var(--muted);margin-top:6px;line-height:1.55;display:block;}
a.sol-card .sol-ar,a.sol-card .ar{font-size:13px;color:var(--purple);font-weight:600;margin-top:12px;display:block;}

/* differentiator band (homepage) */
.diff{max-width:1180px;margin:64px auto 0;padding:0 40px;}
.diff-card{background:radial-gradient(600px 240px at 80% -30%,rgba(139,62,224,.6),transparent 60%),linear-gradient(135deg,var(--plum-deep),var(--plum));border-radius:24px;padding:44px 40px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;}
.diff-card h2{font-size:27px;font-weight:800;max-width:600px;}
.diff-card h2 .g{background:linear-gradient(110deg,var(--lavender),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent;}
.diff-card p{color:#dcd0f5;margin-top:10px;max-width:600px;font-size:15px;}

/* report categories + toolkit (analytics page) */
.rcats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.rcats.even2{grid-template-columns:repeat(2,1fr);max-width:880px;margin-left:auto;margin-right:auto;}
.rcat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow-sm);transition:transform .18s,border-color .2s,box-shadow .2s;}
.rcat:hover{transform:translateY(-4px);border-color:var(--purple);box-shadow:var(--shadow);}
.rcat .ic{width:40px;height:40px;border-radius:11px;background:var(--purple-soft);display:grid;place-items:center;margin-bottom:13px;}
.rcat .ic svg{width:21px;height:21px;fill:none;stroke:var(--purple);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.rcat h4{font-family:"Manrope";font-size:18px;font-weight:800;color:var(--plum);margin-bottom:6px;}
.rcat p{font-size:14.5px;color:var(--muted);line-height:1.6;}
.toolkit{background:linear-gradient(120deg,var(--purple-soft),#fff);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;}
.toolkit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;}
.toolkit-grid .benefit{font-size:14.5px;}

/* homepage seo prose + audience + faq */
.prose{max-width:820px;margin:0 auto;}
.prose p{font-size:17.5px;color:#3d3553;margin-bottom:16px;line-height:1.65;}
.prose p:last-child{margin-bottom:0;}
.prose strong{color:var(--plum);font-weight:700;}
.aud{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.aud-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px 22px;box-shadow:var(--shadow-sm);}
.aud-card h4{font-family:"Manrope";font-size:18px;font-weight:800;color:var(--plum);margin-bottom:8px;}
.aud-card p{font-size:15px;color:var(--muted);line-height:1.6;}
.hfaq{max-width:820px;margin:0 auto;}
.hfaq details{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:2px 22px;margin-bottom:12px;box-shadow:var(--shadow-sm);}
.hfaq summary{font-family:"Manrope";font-weight:600;font-size:16px;padding:17px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--ink);}
.hfaq summary::-webkit-details-marker{display:none}
.hfaq summary .ic{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--purple);font-size:16px;transition:transform .25s,background .2s,color .2s;}
.hfaq details[open] summary .ic{transform:rotate(45deg);background:var(--purple);color:#fff;border-color:var(--purple);}
.hfaq details p{padding:0 0 18px;color:var(--muted);font-size:14.5px;}

/* about + contact pages */
.story{max-width:760px;margin:0 auto;}
.story p{font-size:16.5px;color:#3d3553;margin-bottom:16px;}
.story p:last-child{margin-bottom:0;}
.story strong{color:var(--plum);font-weight:700;}
.mv{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.mv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;box-shadow:var(--shadow-sm);}
.mv-card h3{font-family:"Manrope";font-size:18px;font-weight:700;color:var(--plum);margin-bottom:10px;}
.mv-card p{font-size:15.5px;color:var(--muted);line-height:1.6;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start;}
.contact-info .row{margin-bottom:18px;}
.contact-info .lbl{font-weight:700;font-size:13px;color:var(--plum);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.contact-info a{color:var(--purple);text-decoration:none;font-weight:600;}
.contact-info a:hover{text-decoration:underline;}
.cform{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);}
.cform label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:0 0 6px;}
.cform input,.cform textarea,.cform select{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:14.5px;color:var(--ink);background:var(--paper);margin-bottom:16px;}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:2px solid var(--purple-bright);outline-offset:1px;border-color:transparent;}
.cform select{appearance:auto;cursor:pointer;}
.cform input[readonly]{background:#f8fafc;color:#475569;cursor:default;}
.cform .field-hint{display:block;margin:-8px 0 16px;font-size:12.5px;line-height:1.45;color:var(--muted);}
.cform textarea{min-height:120px;resize:vertical;}
.cform .btn{width:100%;text-align:center;padding:13px;font-size:15px;}
.social-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
.social-row a{display:inline-flex;align-items:center;justify-content:center;width:108px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--line);border-radius:100px;color:var(--plum);text-decoration:none;font-weight:600;font-size:14px;text-align:center;white-space:nowrap;transition:border-color .2s,background .2s;}
.social-row a:hover{border-color:var(--purple);background:var(--purple-tint);}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}

/* tablet */
@media(max-width:1024px){
  .caps,.rcats,.aud,.cross{grid-template-columns:repeat(2,1fr);}
  .nav,.hero,.section{padding-left:28px;padding-right:28px;}
}
@media(max-width:920px){
  .navtoggle{display:block;order:3;}
  .nav{flex-wrap:wrap;}
  .nav-links{display:none;flex-direction:column;align-items:flex-start;gap:6px;width:100%;order:4;padding-top:12px;margin:12px 0 0;border-top:1px solid var(--line-soft);}
  .nav-links.open{display:flex;}
  .nav-links a{padding:8px 0;font-size:16px;}
  .nav,.hero,.section{padding-left:22px;padding-right:22px;}
  .caps,.benefits,.cross{grid-template-columns:1fr;}
  .hero.split .hero-in{grid-template-columns:1fr;gap:42px;}
  .hero.split .hero-copy{text-align:center;}
  .hero.split .hero-cta,.hero .chips{justify-content:center;}
  .hero-visual .dash-float{margin:0 auto;max-width:520px;}
  .fb1{right:0;}
  .fb2{left:0;}
  .sol-grid{grid-template-columns:1fr;}
  .rcats{grid-template-columns:1fr;}
  .aud{grid-template-columns:1fr;}
  .toolkit-grid{grid-template-columns:1fr;}
  .dd{width:100%;}
  .nav-links .dd-menu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;padding:0 0 0 12px;min-width:0;}
  .dd-btn{font-size:16px;}
  .flow{justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;}
  .flow-step b{white-space:nowrap;}
  .cta,.diff-card{padding-left:24px;padding-right:24px;}
}
/* phone */
@media(max-width:560px){
  .nav{padding:12px 16px;}
  .hero{padding:48px 16px 56px;}
  .section{padding:44px 16px 0;}
  .hero h1{font-size:clamp(28px,8vw,40px);}
  .hero .sub{font-size:16px;}
  .lead,.prose p{font-size:15.5px;}
  .hero-cta{flex-direction:column;align-items:stretch;}
  .hero-cta .btn{text-align:center;}
  .sec-h{font-size:12px;}
  .cap,.rcat,.aud-card{padding:20px 18px;}
  .diff-card h2{font-size:22px;}
  .cta h2{font-size:24px;}
  .cta p{white-space:normal;font-size:15.5px;}
  .cta-row{flex-direction:column;align-items:stretch;}
  .foot-in{flex-direction:column;gap:24px;}
  .mv{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* unified footer */
footer{display:block;border-top:none;margin-top:74px;padding:66px 40px 30px;color:#c3b7dd;
  background:linear-gradient(160deg,var(--plum) 0%,#2a1546 45%,#080510 100%);}
footer .brand img{filter:brightness(0) invert(1);}
.foot-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;align-items:start;}
.foot-brand{max-width:320px;}
.foot-brand p{color:#a99dc6;font-size:14px;margin-top:16px;line-height:1.65;}
.foot-social{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px;}
.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:108px;box-sizing:border-box;padding:8px 10px;border-radius:100px;border:1px solid rgba(255,255,255,.18);color:#c3b7dd;text-decoration:none;font-size:13px;font-weight:600;margin:0;text-align:center;white-space:nowrap;transition:background .2s,border-color .2s,color .2s,transform .2s;}
.foot-social a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.34);color:#fff;transform:translateY(-2px);}
.foot-col{min-width:0;}
.foot-col h4{font-size:13.8px;letter-spacing:.12em;text-transform:uppercase;color:var(--lavender);margin-bottom:16px;font-weight:800;}
.foot-col a{display:block;color:#a99dc6;text-decoration:none;font-size:14px;margin-bottom:11px;transition:color .2s,padding-left .2s;}
.foot-col a:hover{color:#fff;padding-left:3px;}
.foot-bottom{max-width:1180px;margin:46px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;color:#867aa6;}
.foot-credit{color:#a99dc6;}
.foot-credit a{color:var(--lavender);font-weight:700;text-decoration:none;}
.foot-credit a:hover{color:#fff;text-decoration:underline;}
@media(max-width:920px){.foot-in{grid-template-columns:1fr 1fr;gap:32px;}.foot-brand{grid-column:1 / -1;max-width:none;}}
@media(max-width:560px){.foot-in{grid-template-columns:1fr;gap:28px;}.foot-bottom{flex-direction:column;align-items:flex-start;gap:8px;}}