/* Cloud Assist Group — site stylesheet (light, bold type, brand-true)
   Tokens first; every component reads from them. Mirrors Divi-child/style.css for the WordPress build. */

:root{
  --ca-purple:#6b1fff; --ca-purple-deep:#5a17d6; --ca-navy:#050a38; --ca-blue:#087bfa; --ca-green:#0db250; --ca-yellow:#f7dd23; --ca-red:#ce0505;
  --ca-ink:#0b0f2a; --ca-muted:#5b6178; --ca-paper:#ffffff; --ca-paper-2:#f5f6fa; --ca-line:#e3e5ee; --ca-line-2:#cfd3e0;
  --ca-purple-soft:#f0eaff; --ca-blue-soft:#e6f1ff; --ca-green-soft:#e3f6ea; --ca-note-bg:#fff6dc; --ca-note:#8a5a00;
  --ca-start:#087bfa; --ca-build:#6b1fff; --ca-amplify:#0db250;
  --ca-shadow:0 1px 2px rgba(5,10,56,.05),0 12px 32px rgba(5,10,56,.07);
  --font-display:"Inter Tight","Inter","Segoe UI",Roboto,system-ui,sans-serif;
  --font-body:"Inter","Segoe UI",Roboto,system-ui,sans-serif;
  --w:1200px; --gutter:20px; --r-card:12px; --r-btn:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
body{margin:0;background:var(--ca-paper);color:var(--ca-ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;height:auto}
a{color:var(--ca-blue);text-decoration:none;transition:color .12s}
a:hover,a:focus-visible{color:var(--ca-purple);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--ca-purple);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ca-navy);color:#fff;padding:8px 12px;border-radius:6px;z-index:100}
.skip:focus{left:8px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.04;margin:0;text-wrap:balance;color:var(--ca-navy)}
h1{font-size:clamp(40px,5.6vw,64px)}
h2{font-size:clamp(30px,3.8vw,44px)}
h3{font-size:26px;letter-spacing:-.015em;line-height:1.15}
h4{font-family:var(--font-body);font-size:19px;font-weight:600;letter-spacing:0;line-height:1.3;color:var(--ca-ink)}
p{margin:10px 0;max-width:64ch}
ul,ol{margin:8px 0;padding-left:20px;max-width:66ch}
li{margin:5px 0}
.eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ca-purple)}
.wrap{max-width:var(--w);margin:0 auto;padding-inline:var(--gutter)}
.lede{font-size:20px;line-height:1.5;max-width:60ch}
.muted{color:var(--ca-muted)}
.small{font-size:14.5px}
.center{text-align:center}
.center p{margin-inline:auto}

/* buttons and chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:16px;line-height:1.2;padding:14px 22px;border-radius:var(--r-btn);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .12s,color .12s,border-color .12s,transform .12s}
.btn:hover,.btn:focus-visible{text-decoration:none}
.btn.primary{background:var(--ca-purple);color:#fff}
.btn.primary:hover{background:var(--ca-purple-deep);color:#fff}
.btn.secondary{background:transparent;color:var(--ca-navy);border-color:var(--ca-navy)}
.btn.secondary:hover{background:var(--ca-navy);color:#fff}
.btn.onnavy{background:#fff;color:var(--ca-navy)}
.btn.onnavy:hover{background:var(--ca-yellow);color:var(--ca-navy)}
.btn.small{font-size:14.5px;padding:10px 16px;min-height:44px}
.chip{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px;line-height:1.6;white-space:nowrap;vertical-align:middle;background:var(--ca-paper-2);color:var(--ca-muted)}
.chip.start{background:var(--ca-blue-soft);color:var(--ca-blue)}
.chip.build{background:var(--ca-purple-soft);color:var(--ca-purple)}
.chip.amplify{background:var(--ca-green-soft);color:#0a7a3a}
.chip.ok{background:var(--ca-green-soft);color:#0a7a3a}
.chip.note{background:var(--ca-note-bg);color:var(--ca-note)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--ca-line)}
.site-header .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:34px;width:auto;display:block}
nav.primary{margin-left:8px}
nav.primary ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
nav.primary a{display:block;padding:8px 12px;font-weight:600;font-size:15px;color:var(--ca-ink);border-radius:6px}
nav.primary a:hover,nav.primary a:focus-visible{background:var(--ca-paper-2);color:var(--ca-navy);text-decoration:none}
nav.primary a[aria-current="page"]{color:var(--ca-purple)}
.header-cta{margin-left:auto;display:flex;align-items:center;gap:10px}
.menu-btn{display:none;background:none;border:1px solid var(--ca-line-2);border-radius:8px;padding:8px 12px;min-height:44px;font:600 14px var(--font-body);color:var(--ca-navy);cursor:pointer}
@media (max-width:900px){
  nav.primary{display:none;position:absolute;left:0;right:0;top:68px;background:#fff;border-bottom:1px solid var(--ca-line);padding:8px 20px 14px}
  nav.primary.open{display:block}
  nav.primary ul{flex-direction:column;gap:0}
  nav.primary a{padding:12px 8px;font-size:17px}
  .menu-btn{display:inline-block}
  .header-cta .btn{font-size:14px;padding:10px 14px}
}

/* sections */
section.block{padding-block:96px}
section.block.tight{padding-block:56px}
section.block.alt{background:var(--ca-paper-2)}
section.block.navy{background:var(--ca-navy);color:#fff}
section.block.navy h2,section.block.navy h3{color:#fff}
section.block.navy .muted{color:#c9cde3}
@media (max-width:760px){section.block{padding-block:56px} section.block.tight{padding-block:40px}}
.sec-head{display:grid;gap:10px;margin-bottom:28px;max-width:40ch}
.sec-head .num{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ca-purple)}
.grid{display:grid;gap:20px}
.cols-2{grid-template-columns:1fr 1fr}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.cols-3,.cols-4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}
.card{background:var(--ca-paper);border:1px solid var(--ca-line);border-radius:var(--r-card);padding:24px 26px}
.first-engagement-card{max-width:1000px;margin-inline:auto}
.card.lift{box-shadow:var(--ca-shadow)}
.card h3{margin-bottom:8px}
.card p:last-child,.card ul:last-child{margin-bottom:0}
.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 14px;font-size:15.5px}
.kv div:nth-child(odd){color:var(--ca-muted);font-weight:600}
@media (max-width:520px){.kv{grid-template-columns:1fr}}
.todo{border:1px dashed var(--ca-note);background:var(--ca-note-bg);border-radius:10px;padding:12px 14px;font-size:14.5px}
.todo .chip{margin-right:6px}

/* hero */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-block:72px 56px}
@media (max-width:900px){.hero{grid-template-columns:1fr;gap:28px;padding-block:40px 28px}}
.hero h1 em{font-style:normal;color:var(--ca-purple)}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero .trust{margin-top:16px;font-size:15px;color:var(--ca-muted)}
.four{background:#fff;border:1px solid var(--ca-line);border-radius:14px;padding:4px 22px;box-shadow:var(--ca-shadow)}
.four .row{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--ca-line);align-items:start}
.four .row:first-child{border-top:0}
.four .k{font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.02em;line-height:1.1;color:var(--ca-navy)}
.four .k small{display:block;font-family:var(--font-body);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ca-purple);margin-top:3px;font-weight:700}
.four .v{font-size:14.5px;color:var(--ca-muted);line-height:1.5}
@media (max-width:520px){.four .row{grid-template-columns:1fr;gap:4px}}

/* logo wall */
.logowall{padding-block:28px 40px;border-top:1px solid var(--ca-line);border-bottom:1px solid var(--ca-line)}
.logowall .label{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ca-muted);text-align:center;margin:0 0 18px}
.logowall .logos{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.logowall .logos-track{display:flex;width:max-content;gap:40px;animation:logo-scroll 30s linear infinite}
.logowall .logos:hover .logos-track{animation-play-state:paused}
.logowall .logo-set{display:flex;flex:none;align-items:center;gap:40px}
.logowall .logos img{height:28px;width:auto;opacity:.75;filter:grayscale(1);transition:opacity .12s,filter .12s}
.logowall .logos img:hover{opacity:1;filter:none}
@keyframes logo-scroll{to{transform:translateX(calc(-50% - 20px))}}
@media (prefers-reduced-motion:reduce){.logowall .logos{overflow-x:auto;mask-image:none}.logowall .logo-set[aria-hidden="true"]{display:none}}
.logowall .partners{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;margin-top:22px;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.01em;color:var(--ca-navy)}
.logowall .partners .partner-label{align-self:center;color:var(--ca-muted);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.logowall .badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px}
.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ca-line-2);border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:600;color:var(--ca-navy);background:#fff}
.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--ca-green)}

/* doors, pillars, arc, regions */
.door{display:grid;gap:10px;border-top:4px solid var(--ca-start);padding-top:18px;align-content:start}
.door.explore{border-top-color:var(--ca-build)} .door.risk{border-top-color:var(--ca-amplify)}
.door h3{font-size:24px}
.door .q{font-size:16px;color:var(--ca-muted);margin:0}
.door ul{font-size:15px;color:var(--ca-ink);padding-left:18px;margin:0}
.door a.more{font-weight:600}
.pillar{border-top:3px solid var(--ca-line-2);padding-top:14px}
.pillar h4{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.015em;color:var(--ca-navy)}
.pillar p{font-size:15px}
.arc{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ca-line);border-radius:12px;overflow:hidden;background:#fff}
@media (max-width:760px){.arc{grid-template-columns:1fr 1fr}}
.arc div{padding:18px;border-left:1px solid var(--ca-line)}
.arc div:first-child{border-left:0}
@media (max-width:760px){.arc div:nth-child(3){border-left:0} .arc div:nth-child(n+3){border-top:1px solid var(--ca-line)}}
.arc b{display:block;font-family:var(--font-display);font-weight:700;font-size:22px;letter-spacing:-.02em;color:var(--ca-navy)}
.arc span{display:block;font-size:14px;color:var(--ca-muted);margin-top:6px}
.belief{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.02em;max-width:34ch;color:var(--ca-navy)}
.belief b{color:var(--ca-purple);font-weight:700}
.regions{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:1040px){.regions{grid-template-columns:1fr 1fr} .regions .regcard:last-child:nth-child(odd){grid-column:1/-1}} @media (max-width:520px){.regions{grid-template-columns:1fr} .regions .regcard:last-child:nth-child(odd){grid-column:auto}}
.regcard{background:#fff;border:1px solid var(--ca-line);border-radius:12px;padding:18px}
.regcard h4{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.015em;color:var(--ca-navy);margin-bottom:8px}
.regcard ul{padding-left:16px;margin:0;font-size:14px;color:var(--ca-muted)}
.regcard li{margin:6px 0}

/* stats, quote, newsletter */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:760px){.stats{grid-template-columns:1fr 1fr}}
.stat .n{font-family:var(--font-display);font-weight:700;font-size:56px;line-height:1;letter-spacing:-.03em;color:var(--ca-purple);font-variant-numeric:tabular-nums}
.stat .t{font-size:15px;color:var(--ca-muted);margin-top:8px;max-width:26ch}
.source{font-size:13.5px;color:var(--ca-muted);margin-top:16px}
.quote{font-family:var(--font-display);font-weight:600;font-size:clamp(22px,2.6vw,30px);line-height:1.25;letter-spacing:-.02em;color:var(--ca-navy);max-width:30ch;margin:0}
.by{margin-top:12px;font-size:15px;color:var(--ca-muted);display:flex;align-items:center;gap:12px}
.avatar{width:48px;height:48px;border-radius:50%;background:var(--ca-paper-2);border:1px solid var(--ca-line);display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--ca-navy);flex:none}
form.news{display:flex;gap:10px;flex-wrap:wrap}
.newscard{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
@media (max-width:760px){.newscard{grid-template-columns:1fr}}
form.news input{font-family:var(--font-body);font-size:16px;padding:12px 14px;border:1px solid var(--ca-line-2);border-radius:var(--r-btn);background:#fff;color:var(--ca-ink);min-width:0;flex:1 1 200px}
.notice{background:var(--ca-purple-soft);color:var(--ca-ink);border-radius:8px;padding:12px 14px;font-size:15px}

/* one plan */
.onep{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ca-line);border-radius:14px;overflow:hidden;background:#fff}
@media (max-width:760px){.onep{grid-template-columns:1fr}}
.onep>div{padding:24px 26px}
.onep>div+div{border-left:1px solid var(--ca-line)}
@media (max-width:760px){.onep>div+div{border-left:0;border-top:1px solid var(--ca-line)}}
.onep ul{padding-left:18px;font-size:15px;margin:0}
.onep .join{grid-column:1/-1;border-top:1px solid var(--ca-line);background:var(--ca-purple-soft);padding:16px 26px;font-weight:600;color:var(--ca-navy)}
.brandrow{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:16px}
.brandrow img{height:26px;width:auto}
.brandrow.partner-brandrow{display:grid;grid-template-columns:minmax(0,1fr);row-gap:32px;width:100%}
.partner-logo-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.partner-logo-row + .partner-logo-row{grid-template-columns:repeat(5,minmax(0,1fr))}
.partner-logo-row a{display:flex;align-items:center;justify-content:center;min-width:0;height:64px}
.partner-logo-row img{display:block;width:auto;height:56px;max-width:100%;object-fit:contain}
.partner-logo-row .partner-logo-wide{height:28px}
@media (max-width:640px){
  .partner-logo-row,.partner-logo-row + .partner-logo-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* outcomes and journey */
.outcome .big{font-family:var(--font-display);font-weight:700;font-size:24px;letter-spacing:-.02em;line-height:1.15;color:var(--ca-navy);margin-bottom:8px}
.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media (max-width:900px){.journey{grid-template-columns:repeat(2,1fr)}} @media (max-width:520px){.journey{grid-template-columns:1fr}}
.jstep{background:#fff;border:1px solid var(--ca-line);border-radius:12px;padding:18px;display:grid;gap:6px;align-content:start;border-top:4px solid var(--ca-line-2)}
.jstep .k{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ca-muted)}
.jstep b{font-family:var(--font-display);font-size:18px;letter-spacing:-.015em;color:var(--ca-navy)}
.jstep span{font-size:14px;color:var(--ca-muted)}
.jstep.start{border-top-color:var(--ca-start)} .jstep.build{border-top-color:var(--ca-build)} .jstep.amplify{border-top-color:var(--ca-amplify)}

/* offers, faq, forms, quiz, insights, practice, tables */
.offer{display:grid;gap:10px}
.offer .top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.offer .tag{font-size:17px;color:var(--ca-muted);font-weight:500}
.offer details{border-top:1px solid var(--ca-line);padding-top:10px;margin-top:6px}
.offer summary{cursor:pointer;font-weight:600;font-size:15.5px;color:var(--ca-purple);list-style:none}
.offer summary::-webkit-details-marker{display:none}
.offer summary::before{content:"+ "}
.offer details[open] summary::before{content:"– "}
.offer .facts{display:grid;grid-template-columns:repeat(3,auto);gap:6px 24px;font-size:14.5px;color:var(--ca-muted);margin-top:4px}
.offer .facts b{color:var(--ca-navy);font-weight:700;display:block}
@media (max-width:640px){.offer .facts{grid-template-columns:1fr 1fr}}
.included{display:flex;gap:10px;align-items:flex-start;background:var(--ca-green-soft);color:#0a5f2e;border-radius:8px;padding:10px 12px;font-size:14.5px}
.faq details{border-top:1px solid var(--ca-line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px;color:var(--ca-navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--ca-muted);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq p{color:var(--ca-muted);margin:8px 0 0}
form.book{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){form.book{grid-template-columns:1fr}}
form.book label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ca-muted)}
form.book input,form.book select,form.book textarea{font-family:var(--font-body);font-size:16px;padding:12px 14px;border:1px solid var(--ca-line-2);border-radius:var(--r-btn);background:#fff;color:var(--ca-ink);width:100%}
form.book textarea{min-height:110px;resize:vertical}
form.book .full{grid-column:1/-1}
.quiz fieldset{border:0;padding:0;margin:0 0 16px}
.quiz legend{font-weight:600;margin-bottom:6px;color:var(--ca-navy)}
.quiz .opts{display:flex;gap:8px;flex-wrap:wrap}
.quiz .opts label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ca-line-2);border-radius:999px;padding:8px 14px;font-size:14.5px;cursor:pointer;background:#fff;min-height:40px}
.quiz .opts input{accent-color:var(--ca-purple)}
.quiz .result{margin-top:12px}
.insight{display:grid;gap:8px;align-content:start}
.insight .type{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ca-muted)}
.insight h3{font-size:22px}
.insight .byline{font-size:14px;color:var(--ca-muted)}
.practice{border-left:4px solid var(--ca-line-2);padding-left:18px}
.practice .who{font-size:13px;color:var(--ca-purple);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.practice h3{font-size:22px;margin-top:6px}
.tablewrap{overflow-x:auto;border:1px solid var(--ca-line);border-radius:10px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--ca-line)}
th{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ca-muted);background:var(--ca-paper-2);white-space:nowrap}
tr:last-child td{border-bottom:0}
.regionblock{background:#fff;border:1px solid var(--ca-line);border-radius:14px;padding:26px 28px;display:grid;grid-template-columns:1fr 1.4fr;gap:28px;margin-top:20px}
@media (max-width:820px){.regionblock{grid-template-columns:1fr}}
.regionblock ul{margin:8px 0 0;padding-left:18px}
.regionblock li{margin:8px 0;font-size:15.5px}
.regionblock li a{font-size:13px;white-space:nowrap}

/* pre-footer CTA band and footer */
.ctaband{background:var(--ca-navy);color:#fff;padding-block:72px}
.ctaband h2{color:#fff;max-width:22ch}
.ctaband p{color:#c9cde3;max-width:56ch}
.ctaband .row{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}
@media (max-width:760px){.ctaband .row{grid-template-columns:1fr}}
footer.site{background:var(--ca-navy);color:#c9cde3;font-size:14.5px;padding-block:40px 44px;border-top:1px solid rgba(255,255,255,.12)}
footer.site .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:24px}
@media (max-width:820px){footer.site .cols{grid-template-columns:1fr 1fr}} @media (max-width:520px){footer.site .cols{grid-template-columns:1fr}}
footer.site h5{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;color:#fff}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin:6px 0}
footer.site a{color:#dfe2f0}
footer.site a:hover{color:#fff}
footer.site img{height:30px;width:auto;margin-bottom:12px}
footer.site .legal{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#a9aec9}
