/* Shared editorial numbering. Company Brain is the approved reference.
   Product-demo counters and project pagination are separate UI controls. */
body :is(.brain-number,.process-number,.outcome-stack li>span,.map-number,.build-steps li>span,.dash-stages li>span,.dash-repair-list li>span,.build-list article>span,.map-step>span,.flow-step .step-number){
 font:500 28px/1.25 Outfit,sans-serif!important;font-variant-numeric:tabular-nums!important;letter-spacing:0!important;
 color:#459ce2!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
 padding:0!important;min-width:36px!important;width:auto!important;height:auto!important;text-align:left!important;align-self:start;place-items:start;
}
body .outcome-stack li{grid-template-columns:48px minmax(0,1fr);gap:20px}
body.service-page .process-section li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;align-items:start}
body.service-page .process-section li .process-number{grid-column:1;grid-row:1}
body.service-page .process-section li>div{grid-column:2;grid-row:1}
body :is(.build-steps li,.dash-repair-list li)>span{flex:0 0 48px!important}
body .build-list article{grid-template-columns:48px minmax(0,1fr);gap:20px}
body .case-section:not(.case-notes)>h2:before{font:500 28px/1.25 Outfit,sans-serif;color:#459ce2;letter-spacing:0;font-variant-numeric:tabular-nums}
body .case-work article:before{display:none;content:none}
body .case-work article h3{padding-right:0}
body .flow-step[aria-selected=true] .step-number{color:#267daf!important;text-decoration:underline;text-underline-offset:6px}

body footer.directory-footer{background:#0b202a;color:#f3f7f4;padding:76px 6% 26px;border:0;margin:0;text-align:left;font:400 16px/1.55 General,sans-serif;display:block} .directory-footer *{box-sizing:border-box}.directory-footer a{color:inherit;text-decoration:none}.directory-footer a:hover{text-decoration:underline;text-underline-offset:5px}.directory-footer a:focus-visible{outline:3px solid #67b9ef;outline-offset:5px}.directory-top{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center}.directory-footer .directory-invitation h2{font:600 clamp(40px,4.1vw,64px)/1.07 Outfit,sans-serif;letter-spacing:-.04em;margin:0;color:#f3f7f4;text-align:left;max-width:12ch}.directory-invitation h2 span{color:#9bd66f}.directory-footer .directory-work{display:inline-flex;align-items:center;gap:36px;background:#a5d97b;color:#153522;border:1px solid #a5d97b;border-radius:5px;padding:17px 24px;font:600 20px/1.2 General,sans-serif;margin-top:30px}.directory-footer .directory-work:hover{background:#b9e497;text-decoration:none}.directory-person{margin:0;padding:30px;background:#172e38;border:1px solid #37505b;border-radius:16px;font-style:normal;min-width:0}.directory-identity{display:flex;gap:20px;align-items:center;padding-bottom:25px;border-bottom:1px solid #37505b}.directory-identity img{width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:50% 35%;flex-shrink:0}.directory-identity strong{display:block;font:500 26px/1.2 Outfit,sans-serif;margin-bottom:7px}.directory-identity span{font-size:15px;color:#b1c7d0}.directory-person dl{margin:24px 0 0;display:grid;gap:15px}.directory-person dl>div{display:grid;grid-template-columns:65px 1fr;gap:10px;align-items:baseline}.directory-person dt{color:#b1c7d0;font-size:15px}.directory-person dd{margin:0;text-align:right;font-size:16px;overflow-wrap:anywhere}.directory-links{display:grid;grid-template-columns:1.15fr 1.15fr 1fr .7fr;gap:5%;border-top:1px solid #37505b;margin-top:68px;padding-top:38px}.directory-footer .directory-links h3{font:500 14px/1.4 General,sans-serif;letter-spacing:.1em;color:#b1c7d0;margin:0 0 18px;text-transform:uppercase}.directory-links nav a{display:block;margin:0 0 10px;font-size:16px;line-height:1.45}.directory-logo{display:inline-flex;align-items:center;gap:12px}.directory-logo img{width:60px;height:60px;object-fit:contain}.directory-logo>span{font:500 30px/.95 Outfit,sans-serif;letter-spacing:-1px}.directory-footer .directory-logo small{display:block;font:400 10px/1 General,sans-serif;letter-spacing:4px;margin-top:11px}.directory-brand p{color:#b1c7d0;font-size:16px;max-width:24ch;margin:22px 0 0}.directory-legal{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #29434e;margin-top:35px;padding-top:22px;color:#b1c7d0;font-size:13px}@media(max-width:1050px){.directory-top{gap:5%;grid-template-columns:1fr 1fr}.directory-person{padding:24px}.directory-identity{gap:14px}.directory-identity img{width:72px;height:72px}.directory-identity strong{font-size:24px}.directory-person dl>div{grid-template-columns:1fr;gap:2px}.directory-person dd{text-align:left}.directory-links{grid-template-columns:1fr 1fr;gap:34px 8%}.directory-footer .directory-invitation h2{font-size:46px}}@media(max-width:600px){body footer.directory-footer{padding:52px 6% 24px}.directory-top{grid-template-columns:1fr;gap:36px}.directory-footer .directory-invitation h2{font-size:42px;max-width:14ch}.directory-person{padding:24px 20px}.directory-identity strong{font-size:24px}.directory-identity span{font-size:14px}.directory-links{grid-template-columns:1fr 1fr;gap:30px 24px;margin-top:42px;padding-top:30px}.directory-brand{grid-column:1/-1}.directory-brand p{max-width:none;margin-top:16px}.directory-links nav:first-of-type{grid-column:1/-1}.directory-links nav:first-of-type a{max-width:32ch}.directory-legal{flex-direction:column;gap:12px;margin-top:24px}.directory-logo img{width:54px;height:54px}}

.directory-footer .directory-links nav{display:block;min-width:0;width:auto;gap:0}.directory-footer .directory-links nav a{padding:0;border:0;background:none;white-space:normal}.directory-footer .directory-invitation h2{max-width:none}.directory-footer .directory-invitation h2 span{display:inline-block}

/* One left alignment for the Cloud10 header logo on every page. */
body header.site-header,body header.case-nav{padding-left:4%!important}

/* November 4: option B business card, local review. Original portrait retained. */
.directory-top{grid-template-columns:.85fr 1.35fr;gap:5%}
.directory-person.business-card{display:grid;grid-template-columns:30% 70%;padding:0;overflow:hidden;border:1px solid #47606a;border-radius:18px;background:#e8f2de;color:#102d39;box-shadow:0 12px 28px #0002}
.business-card-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#102d39;padding:28px 16px;text-align:center}
.directory-footer .business-card-logo{display:flex;flex-direction:column;align-items:center;gap:4px;color:#f3f7f4;text-decoration:none}
.business-card-logo img{width:64px;height:54px;object-fit:contain}
.business-card-logo>span{font:500 30px/1 Outfit,sans-serif;letter-spacing:-1px}
.directory-footer .business-card-logo small{display:block;font:400 9px/1 General,sans-serif;letter-spacing:3px;margin-top:10px}
.business-card-portrait{width:100px;height:100px;object-fit:cover;border-radius:50%;border:1px solid #ffffff30}
.directory-footer .business-card-tagline{font:500 clamp(18px,1.5vw,23px)/1.22 Outfit,sans-serif;letter-spacing:-.02em;color:#f3f7f4;margin:0;white-space:nowrap}
.business-card-tagline span{color:#9bd66f}
.business-card-details{padding:28px 26px;min-width:0;align-self:center}
.business-card-heading{padding:0 0 18px 32px;border-bottom:1px solid #aac497;margin-bottom:20px}
.business-card-heading strong{display:block;font:600 clamp(25px,2.15vw,34px)/1.1 Outfit,sans-serif;letter-spacing:-.025em}
.business-card-heading>span{display:block;font:400 18px/1.4 General,sans-serif;margin-top:7px}
.business-card-contacts{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.business-card-contacts li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:center;font:400 16px/1.4 General,sans-serif}
.business-card-contacts svg{width:20px;height:20px}
.business-card-contacts a{overflow-wrap:anywhere}
.directory-footer .business-card-linkedin{color:#0968a6;margin-top:2px}
.linkedin-icon{display:inline-grid;place-items:center;width:20px;height:20px;background:#0968a6;color:white;border-radius:2px;font:bold 15px/1 Arial,sans-serif}
.card-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1150px){.directory-top{grid-template-columns:1fr;gap:36px}.directory-person.business-card{width:100%;max-width:760px}.directory-footer .directory-invitation h2{max-width:22ch}.business-card-tagline{font-size:23px}}
@media(max-width:600px){.directory-person.business-card{grid-template-columns:1fr}.business-card-brand{display:grid;grid-template-columns:1fr auto;gap:18px;padding:24px}.directory-footer .business-card-logo{align-items:flex-start;flex-direction:row;gap:10px}.business-card-logo img{width:50px;height:48px}.business-card-logo>span{font-size:28px}.business-card-portrait{width:76px;height:76px;grid-column:2;grid-row:1/3}.directory-footer .business-card-tagline{grid-column:1;text-align:left;font-size:21px}.business-card-details{padding:26px 22px}.business-card-heading{padding-left:32px}.business-card-heading strong{font-size:28px}.business-card-contacts li{font-size:16px}.business-card-heading>span{font-size:17px}}

/* Shared footer fonts also load on legacy policy pages. */
@font-face{font-family:Outfit;src:url("/optimized/6c18d579fd87-outfit.woff2") format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:General;src:url("/optimized/3ec2be771caf-general-sans-400.woff2") format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:General;src:url("/optimized/c30377df1de8-general-sans-500.woff2") format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:General;src:url("/optimized/94a2a0e1ef59-general-sans-600.woff2") format('woff2');font-weight:600;font-display:swap}
.directory-footer .directory-policy-links{display:flex;flex-wrap:wrap;gap:12px 24px;font:inherit}
.directory-footer .directory-policy-links a{font:inherit;padding:0}
.directory-footer .directory-policy-links a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}
@media print{.legal-page .directory-footer{display:none}}

/* Keep the business card compact on large desktop screens. */
.directory-person.business-card{width:100%;max-width:680px;justify-self:end}
@media(min-width:1151px){.directory-top{grid-template-columns:minmax(0,1fr) minmax(0,680px);gap:5%}}
@media(max-width:1150px){.directory-person.business-card{max-width:680px;justify-self:start}}

/* Canonical header logo: identical lockup across marketing, case-study and legal pages. */
body header :is(.brand,.case-brand,.footer-brand){display:inline-flex;align-items:center;flex-shrink:0;gap:12px;text-decoration:none;white-space:nowrap;font-style:normal;letter-spacing:normal;color:#fff}
body header :is(.brand,.case-brand,.footer-brand)>img{display:block;flex:none;width:58px;height:58px;object-fit:contain}
body header :is(.brand,.case-brand,.footer-brand)>span{display:block;font:500 30px/.9 Outfit,sans-serif;letter-spacing:-1px;text-transform:none}
body header :is(.brand,.case-brand,.footer-brand) small{display:block;font:400 10px/normal General,sans-serif;letter-spacing:4px;margin:9px 0 0;text-transform:uppercase}
body header.legal-header .footer-brand{color:#172c3b}
@media(max-width:760px){body header :is(.brand,.case-brand,.footer-brand)>img{width:42px;height:42px}body header :is(.brand,.case-brand,.footer-brand)>span{font-size:25px}}
@media(max-width:420px){body header :is(.brand,.case-brand,.footer-brand)>img{width:36px;height:36px}body header :is(.brand,.case-brand,.footer-brand)>span{font-size:23px}}
