/* Prism Edge: light-only brand site. White ground, logo black, logo blues. One family (Montserrat, closest free match to the logo face), light/heavy contrast echoing PRISM / EDGE. */
:root{
  --ink:#0B0B10; --muted:#5B6270; --line:#E2E5EB; --tint:#F4F6F9; --white:#FFFFFF;
  --cyan:#08A3F6; --royal:#2F55E0; --indigo:#2B36A0;
  --font:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{background:var(--white);color:var(--ink)}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding-inline:28px}
@media (max-width:520px){.wrap{padding-inline:16px}}
h1,h2,h3{margin:0;font-weight:800;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
p{margin:0}
.lt{font-weight:300}
:focus-visible{outline:2px solid var(--royal);outline-offset:3px}
.draft{background:var(--ink);color:#fff;text-align:center;font-size:12.5px;letter-spacing:.06em;padding:7px 16px}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--white);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 28px;min-height:76px;flex-wrap:wrap;padding-block:12px}
.logo img{height:26px;width:auto;display:block}
header nav{display:flex;align-items:center;gap:6px 26px;flex-wrap:wrap;font-size:14.5px;font-weight:500}
header nav a{text-decoration:none;color:var(--muted);padding-block:4px;border-bottom:2px solid transparent}
header nav a:hover{color:var(--ink)}
header nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--royal)}
header nav a.btn{color:#fff;border-bottom:0}
@media (max-width:980px){header nav{gap:6px 18px;font-size:13.5px}}

.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--royal);color:#fff;text-decoration:none;font-weight:600;font-size:14.5px;padding:10px 20px;border-radius:2px;border:1.5px solid var(--royal);cursor:pointer;font-family:var(--font)}
.btn:hover{background:var(--indigo);border-color:var(--indigo)}
.btn-lg{padding:14px 28px;font-size:15.5px}
.btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* hero */
.hero{padding-block:84px 76px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center}
.hero h1{font-size:clamp(34px,4.6vw,56px)}
.lede{font-size:19px;color:var(--muted);margin-top:24px;max-width:58ch}
.hero .row{margin-top:36px}
.prism{width:100%;max-width:540px;justify-self:end}
.prism text{font-family:var(--font);font-weight:700;font-size:17px;fill:var(--ink)}
.prism a:hover text{fill:var(--royal)}
.prism a:hover .beam{stroke-width:8}
@media (max-width:900px){.hero-grid{grid-template-columns:1fr}.prism{justify-self:start}}

/* band */
.band{background:var(--ink);color:#fff;padding-block:52px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.stats-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.stats div{display:flex;flex-direction:column;gap:10px;min-width:0;padding-top:18px;border-top:3px solid var(--cyan)}
.stats div:nth-child(2){border-top-color:var(--royal)}
.stats div:nth-child(3){border-top-color:#5C6CF0}
.stats div:nth-child(4){border-top-color:var(--indigo)}
.stats b{font-size:clamp(30px,3.4vw,42px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.stats span{font-size:14.5px;line-height:1.5;color:#B9BFCC}
@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.stats,.stats-2{grid-template-columns:1fr}}

/* sections */
.sec{padding-block:88px}
.sec-tint{background:var(--tint)}
.sec-h{font-size:clamp(28px,3.4vw,40px);margin-bottom:44px}
.muted{color:var(--muted)}
.small{font-size:14.5px;margin-top:28px}

.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.svc{display:flex;flex-direction:column;gap:14px;padding:34px 30px 34px 0;text-decoration:none;min-width:0}
.svc + .svc{padding-left:30px;border-left:1px solid var(--line)}
.svc i{display:block;width:44px;height:5px}
.svc h3{font-size:24px}
.svc p{color:var(--muted);font-size:16px}
.svc .more{margin-top:auto;font-weight:600;font-size:14.5px;color:var(--royal)}
.svc .more::after{content:" \2192"}
.svc:hover h3{color:var(--royal)}
@media (max-width:900px){.three{grid-template-columns:1fr}.svc,.svc + .svc{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}}

blockquote{margin:0}
blockquote p{font-size:19px;line-height:1.6;font-weight:400}
blockquote footer{margin-top:18px;font-size:13.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
blockquote.big{max-width:860px}
blockquote.big p{font-size:clamp(21px,2.4vw,27px);font-weight:300;line-height:1.5}

.cta{padding-block:72px;border-top:1px solid var(--line)}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta h2{font-size:clamp(28px,3.4vw,40px)}

/* inner pages */
.phead{padding-block:76px 64px;border-bottom:1px solid var(--line)}
.phead h1{font-size:clamp(34px,4.4vw,52px);margin-top:14px;max-width:22ch}
.kicker{font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:12px}
.kicker::before{content:"";width:32px;height:4px;background:var(--k,var(--royal))}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.split .sec-h{margin-bottom:16px}
.checks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.checks li{padding:16px 0 16px 34px;border-bottom:1px solid var(--line);position:relative;font-weight:500}
.checks li::before{content:"";position:absolute;left:0;top:24px;width:16px;height:4px;background:var(--royal)}
@media (max-width:820px){.split{grid-template-columns:1fr;gap:24px}}

.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tier{background:var(--white);border-top:5px solid var(--cyan);padding:30px 28px;display:flex;flex-direction:column;gap:14px;min-width:0}
.tier:nth-child(2){border-top-color:var(--royal)}
.tier:nth-child(3){border-top-color:var(--indigo)}
.tier h3{font-size:23px}
.tier p{color:var(--muted);font-size:16px}
.tier .owns{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
@media (max-width:900px){.tiers{grid-template-columns:1fr}}

.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:s;border-top:1px solid var(--line)}
.process-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.process li{counter-increment:s;padding:28px 24px 28px 0;min-width:0;display:flex;flex-direction:column;gap:8px}
.process li + li{padding-left:24px;border-left:1px solid var(--line)}
.process li::before{content:counter(s);font-weight:300;font-size:38px;line-height:1;color:var(--royal)}
.process h3{font-size:19px}
.process p{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.process,.process-3{grid-template-columns:1fr}.process li,.process li + li{padding:22px 0;border-left:0;border-bottom:1px solid var(--line)}}

.cases{display:flex;flex-direction:column}
.case{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px 56px;padding-block:40px;border-bottom:1px solid var(--line)}
.case:first-child{padding-top:0}
.case .who{grid-column:1/-1;font-weight:700;font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--royal)}
.case h2{font-size:clamp(24px,2.6vw,30px)}
.case dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 20px}
.case dt{font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}
.case dd{margin:0;color:var(--muted)}
@media (max-width:820px){.case{grid-template-columns:1fr}}

.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
@media (max-width:820px){.quotes{grid-template-columns:1fr;gap:40px}}

.about{display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px;align-items:start}
.about > div:last-child{display:flex;flex-direction:column;gap:16px;max-width:62ch}
.about .lede{margin-top:6px}
.photo{aspect-ratio:4/5;max-width:100%;background:var(--tint);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);font-size:14px}
.partners{font-size:15px;color:var(--muted);margin-top:8px}
.partners b{color:var(--ink);font-weight:600}
@media (max-width:820px){.about{grid-template-columns:1fr;gap:32px}.photo{max-width:260px}}

.contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:start}
.email{margin-top:24px;font-weight:600;user-select:all}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f{display:flex;flex-direction:column;gap:6px;min-width:0}
.f.full{grid-column:1/-1}
label{font-size:14px;font-weight:600}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--white);border:1px solid #C9CED8;border-radius:2px;padding:12px;width:100%}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--royal);outline-offset:0;border-color:transparent}
#st{font-size:14px;color:var(--muted)}
@media (max-width:820px){.contact{grid-template-columns:1fr;gap:36px}}
@media (max-width:520px){form{grid-template-columns:1fr}}

footer.site{border-top:1px solid var(--line);padding-block:40px;font-size:14px;color:var(--muted)}
footer.site .wrap{display:flex;flex-direction:column;gap:18px}
footer.site img{height:22px;width:auto;align-self:flex-start}
footer.site nav{display:flex;flex-wrap:wrap;gap:8px 24px}
footer.site nav a{text-decoration:none}
footer.site nav a:hover{color:var(--ink)}

/* ---------- skeleton additions ---------- */
.ph{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:#E9EBF0;color:#6B7280;padding:3px 8px;border-radius:2px;vertical-align:middle}
.ph-block{background:repeating-linear-gradient(-45deg,var(--tint),var(--tint) 10px,#EEF0F4 10px,#EEF0F4 20px);padding:22px;color:var(--muted);border:1px dashed #C9CED8}
.ph-note{font-size:14px;color:var(--muted)}
.more{font-weight:600;font-size:14.5px;color:var(--royal);text-decoration:none}
.more::after{content:" \2192"}
.sec-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:36px}
.sec-top .sec-h{margin-bottom:0}
.sec-dark{background:var(--ink);color:#fff}
.sec-dark p{color:#C3C8D4}
.stack{display:flex;flex-direction:column;gap:14px;align-items:flex-start;justify-self:end}
.btn-ondark{background:transparent;border-color:#fff;color:#fff}
.btn-ondark:hover{background:#fff;color:var(--ink);border-color:#fff}
@media (max-width:820px){.stack{justify-self:start}}

.pressbar{border-bottom:1px solid var(--line);padding-block:22px}
.pressbar .wrap{display:flex;align-items:center;gap:14px 40px;flex-wrap:wrap}
.pressbar span{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pressbar a{font-weight:800;font-size:18px;text-decoration:none;color:#3A3F4B;letter-spacing:-.01em}
.pressbar a:hover{color:var(--royal)}

.cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cgrid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ccard{background:var(--white);border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:8px;text-decoration:none;min-width:0;transition:border-color .15s}
.sec-tint .ccard{border-color:transparent}
.ccard:hover{border-color:var(--royal)}
.cstat{font-size:40px;font-weight:800;line-height:1;color:var(--royal);font-variant-numeric:tabular-nums}
.clabel{font-size:14px;color:var(--muted);min-height:2.9em}
.ccard h3{font-size:18.5px;line-height:1.3;margin-top:10px}
.cmeta{margin-top:auto;padding-top:14px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@media (max-width:900px){.cgrid,.cgrid-2{grid-template-columns:1fr}}

.agrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:56px}
.agrid:last-child{margin-bottom:0}
.acard{display:flex;flex-direction:column;gap:14px;align-items:flex-start;text-decoration:none;padding-top:22px;border-top:1px solid var(--ink);min-width:0}
.acard h3{font-size:20px;line-height:1.3}
.acard:hover h3{color:var(--royal)}
.pill{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--k);}
.sec-h2{display:flex;align-items:center;gap:14px;font-size:26px;margin-bottom:8px}
.sec-h2 i{width:28px;height:5px;display:block}
.pillar-note{margin-bottom:28px;font-size:15px}
@media (max-width:900px){.agrid{grid-template-columns:1fr}}

.two-cta{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.box{border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;gap:12px;text-decoration:none}
.box h3{font-size:22px}
.box:hover{border-color:var(--royal)}
@media (max-width:820px){.two-cta{grid-template-columns:1fr}}

.presslist{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.presslist a{display:flex;flex-direction:column;gap:8px;padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none}
.presslist h3{font-size:21px}
.presslist p{color:var(--muted);font-size:16px;max-width:75ch}
.presslist a:hover h3{color:var(--royal)}
.pmeta{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--royal)}

.back{display:inline-block;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;margin-bottom:18px}
.back::before{content:"\2190  "}
.back:hover{color:var(--ink)}
.cfacts{display:flex;flex-wrap:wrap;gap:20px 56px;margin-top:36px;align-items:flex-end}
.cfacts div{display:flex;flex-direction:column;gap:4px}
.cfacts span{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cfacts b{font-size:18px}
.cfacts .big b{font-size:48px;line-height:1;color:var(--royal);font-weight:800}
.cfacts .big span{text-transform:none;letter-spacing:0;font-weight:500;font-size:15px}

.article{max-width:760px}
.article h2{font-size:26px;margin:44px 0 16px}
.article h2:first-child{margin-top:0}
.article p{margin-bottom:16px}
.blist{list-style:none;margin:8px 0 16px;padding:0;display:flex;flex-direction:column;gap:16px}
.blist li{padding-left:22px;position:relative;display:flex;flex-direction:column;gap:2px}
.blist li::before{content:"";position:absolute;left:0;top:.75em;width:10px;height:3px;background:var(--royal)}
.blist span{color:var(--muted)}
.closing{font-size:19px;font-weight:500;border-left:4px solid var(--royal);padding-left:20px;margin-top:32px}
.byline{margin-top:18px;color:var(--muted);font-size:15px}
.inline-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--tint);padding:26px 28px;margin-top:32px}
.inline-cta h3{font-size:20px;margin-top:8px}

.books{display:flex;flex-direction:column;gap:0}
.book{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;padding-block:40px;border-bottom:1px solid var(--line)}
.book:first-child{padding-top:0}
.book h3{font-size:24px}
.book .pmeta{margin:10px 0 12px;color:var(--muted)}
.book .btn{margin-top:20px}
.cover{aspect-ratio:2/3;background:linear-gradient(160deg,var(--cyan),var(--indigo));color:#fff;padding:20px;display:flex;flex-direction:column;justify-content:space-between;max-width:100%}
.cover b{font-size:16px;line-height:1.25}
.cover span{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.btn-disabled{background:#C9CED8;border-color:#C9CED8;color:#fff;cursor:default;gap:10px}
.btn-disabled .ph{background:#fff}
@media (max-width:640px){.book{grid-template-columns:1fr;gap:20px}.cover{max-width:180px}}

.role{font-weight:600;color:var(--royal)}
.about > div:last-child p:not(.kicker):not(.role):not(.ph-note){color:var(--muted)}
.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.tags li{border:1px solid var(--line);padding:10px 18px;font-weight:500;font-size:15px}

.fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-block:8px}
.fcols nav{display:flex;flex-direction:column;gap:8px}
.fcols b{color:var(--ink);font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.fcols a{text-decoration:none}
.fcols a:hover{color:var(--ink)}
@media (max-width:700px){.fcols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* hero tagline + assessments */
.hero h1.tagline{font-size:clamp(40px,5.6vw,68px);letter-spacing:-.015em}
.lede-lg{font-size:clamp(20px,2vw,24px);color:var(--ink);font-weight:400;max-width:30ch;line-height:1.45}
.nav-assess{padding:9px 16px;color:var(--royal)!important;border-color:var(--royal)!important;border-bottom-width:1.5px!important}
.nav-assess:hover{background:var(--royal)!important;color:#fff!important}
.assess{padding-block:0 56px}
.assess .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.acard2{display:flex;flex-direction:column;gap:6px;padding:24px 26px;background:var(--royal);color:#fff;text-decoration:none;min-width:0}
.acard2:first-child{background:var(--cyan)}
.acard2:nth-child(2){background:var(--royal)}
.acard2-plain{background:var(--white);color:var(--ink);border:1.5px solid var(--ink)}
.acard2 .q{font-size:19px;font-weight:700;line-height:1.3}
.acard2 .go{font-weight:600;font-size:15px}
.acard2 .go::after{content:" \2192"}
.acard2 .meta{font-size:13px;opacity:.85;margin-top:6px}
.acard2:hover{filter:brightness(1.07)}
.acard2-plain:hover{background:var(--ink);color:#fff;filter:none}
@media (max-width:900px){.assess .wrap{grid-template-columns:1fr}}
.quiz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.qform{display:flex;flex-direction:column;gap:16px;background:var(--tint);padding:32px}
.qform h3{font-size:22px}
@media (max-width:820px){.quiz{grid-template-columns:1fr;gap:32px}}
.box-wide{max-width:none}
header.site .wrap{max-width:1280px}
header nav{gap:6px 20px;font-size:14px}
header nav .btn{padding:9px 16px;font-size:14px}
@media (max-width:1240px){.logo img{height:22px}header nav{gap:6px 16px;font-size:13.5px}}
.tag-eyebrow{font-weight:700;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--royal);margin-bottom:20px}
.assess{padding-block:88px}
.assess .wrap{display:block}
.assess-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){.assess-grid{grid-template-columns:1fr}}
img.photo{display:block;object-fit:cover;padding:0;border:0}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0}
.duo-col{display:flex;flex-direction:column;gap:16px;align-items:flex-start;padding-right:48px}
.duo-col + .duo-col{padding-left:48px;padding-right:0;border-left:1px solid #2A2F3D}
.duo-col .sec-h{margin:0}
.duo-col .row{margin-top:8px}
.ondark-link{color:#fff;font-weight:600;font-size:14.5px;text-decoration:none}
.ondark-link::after{content:" \2192"}
@media (max-width:900px){.duo{grid-template-columns:1fr;gap:48px}.duo-col,.duo-col + .duo-col{padding:0;border:0}}
.embed-slot{min-height:420px;border:2px dashed #C9CED8;background:var(--tint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:32px}

/* insights: dates, topic jump links, article body elements */
.adate{font-size:13.5px;color:var(--muted);margin-top:auto}
.jump{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px}
.jump a{font-size:14.5px;font-weight:600;text-decoration:none;color:var(--ink);border-bottom:2px solid var(--line);padding-bottom:2px}
.jump a:hover{border-bottom-color:var(--royal)}
.jump span{color:var(--muted);font-weight:500}
.sec-h2{scroll-margin-top:90px}
.article h3{font-size:19px;margin:28px 0 8px}
.article ul,.article ol{margin:0 0 18px;padding-left:1.25em}
.article li{margin-bottom:8px}
.article table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:15.5px}
.article th,.article td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.article th{font-weight:700;border-bottom:1.5px solid var(--ink)}
@media (max-width:700px){.article table{display:block;overflow-x:auto}}
@media (max-width:520px){.article table{font-size:14px}.article th,.article td{padding:8px 6px}}
