/* Shared public typography: desktop and mobile. No form or backend behavior changes. */
:root{--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1rem;--text-lg:1.0625rem;--text-xl:1.1875rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--text-4xl:2rem;--text-5xl:2.5rem;--text-6xl:3rem;--text-7xl:3.5rem;--text-8xl:4rem;--text-9xl:4.5rem;--text-secondary:#b0b0b0;--text-muted:#949494;--leading-none:1.2;--leading-tight:1.25;--leading-snug:1.4}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:16px;line-height:1.75}
p,li,dd,td,th{word-break:keep-all;overflow-wrap:break-word}
h1,h2,h3{word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}
.heading-display,.about-hero-headline,.solutions-hero-title,.service-page-title,.contact-hero-title,.insights-hero h1,.page-hero h1,.projects-hero h1,.workspace h1{font-size:clamp(34px,4.2vw,60px);line-height:1.22;letter-spacing:-.035em}
.heading-xl,.contact-headline,.about-contact-headline,.solutions-cta-title,.about-who-headline,.philosophy-intro-text,.philosophy-pillar-title,.why-headline{font-size:clamp(30px,3.2vw,46px);line-height:1.3;letter-spacing:-.035em}
.heading-lg{font-size:clamp(26px,2.7vw,38px);line-height:1.35}
.heading-md,.approach-step-title,.solution-card-title,.capability-title,.journey-title{font-size:clamp(22px,2vw,28px);line-height:1.4}
.heading-sm{font-size:clamp(20px,1.8vw,24px);line-height:1.4}
.approach-header-right p{font-size:17px!important;line-height:1.8!important}
.approach-step-desc,.solution-card-desc,.solution-desc p,.about-who-body,.philosophy-pillar-body,.capability-desc,.journey-desc,.contact-desc,.solutions-hero-desc,.about-hero-desc,.service-page-subtitle,.insights-hero-desc,.review-card p,.card-excerpt,.list-card-excerpt,.preview-card-excerpt{font-size:16px;line-height:1.8;color:var(--text-secondary)}
.label,.eyebrow,.about-section-label,.solutions-hero-label,.insights-hero-label,.philosophy-pillar-label,.contact-aside-label,.solution-card-eyebrow{font-size:13px;line-height:1.6;letter-spacing:.1em;color:#a5a5a5}
.nav-links a,.nav-link{font-size:13px}.mobile-nav-link{font-size:19px}
.footer-heading,.site-footer h4{font-size:13px;line-height:1.5}.footer-links a,.footer-tagline,.footer-desc,.footer-bottom,.footer-bottom p,.footer-bottom a{font-size:14px;line-height:1.8}
.contact-info-item{font-size:15px;color:var(--text-secondary)}.contact-info-label{font-size:13px}
.form-label,.field-label{font-size:15px;line-height:1.6}.form-input,.form-textarea,.form-select,input,textarea,select{font-size:16px;line-height:1.6}
.form-check-label,.form-check-text,.contact-simple-form label,.consent-panel,.privacy-notice,.consent-notice,.contact-submit-note{font-size:14px;line-height:1.8}
.contact-submit-note{display:block;max-width:38ch;color:var(--text-secondary)}
.form-hint,.form-help,.field-help,.form-status{font-size:14px;line-height:1.7}
.btn,.btn--sm,.btn--lg,.contact-submit-btn,.action-button{font-size:15px;line-height:1.5}
.card-title,.list-card-title,.preview-card-title,.review-card h3{font-size:20px;line-height:1.5}
.card-date,.list-card-date,.preview-card-date,.card-source,.source-tag,.pill,.filter-btn,.channel-tab{font-size:13px;line-height:1.6}
.solution-tag{font-size:13px;line-height:1.6}
[style*="font-size:10px"],[style*="font-size: 10px"]{font-size:13px!important}
[style*="font-size:12px"],[style*="font-size: 12px"]{font-size:14px!important}
.privacy-policy{font-size:16px;line-height:1.85}.privacy-policy table{font-size:15px}.privacy-policy h2{font-size:25px}
.home-contact-inner{gap:clamp(32px,5vw,72px)}.contact-headline{max-width:16ch}.contact-desc{max-width:38ch}
/* The large canvas wordmark is artwork; supporting text follows the shared scale. */
.glass-hero .hero-topline p,.glass-hero .hero-topline .preview-label{font-size:12px;line-height:1.6;letter-spacing:.07em}
.glass-hero .section-kicker,.glass-hero .stage-note{font-size:12px;line-height:1.7;letter-spacing:.05em;color:#a5b09c}
.glass-hero .hero-heading h1{font-size:clamp(32px,3.2vw,48px);line-height:1.3;letter-spacing:-.04em}
.glass-hero .hero-copy p{font-size:16px;line-height:1.8;color:#b4bcb0}
.glass-hero .hero-button{font-size:15px;line-height:1.5;padding:14px 18px;gap:24px}
.glass-hero .hero-foot,.glass-hero .hero-foot .gesture{font-size:12px;line-height:1.6;color:#9ca695;letter-spacing:.04em}
.glass-hero .hero-bottom{gap:40px;padding-bottom:32px}.glass-hero .hero-copy{min-width:300px}
@media(max-width:1024px){.glass-hero .hero-copy{min-width:260px}.glass-hero .hero-copy p{font-size:15px}.glass-hero .hero-foot .gesture{display:none}}
@media(max-width:768px){
 :root{--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.625rem;--text-4xl:1.875rem;--text-5xl:2.125rem;--text-6xl:2.375rem;--text-7xl:2.625rem;--section-py:4rem;--section-py-sm:3.5rem}
 .heading-display,.about-hero-headline,.solutions-hero-title,.service-page-title,.contact-hero-title,.insights-hero h1,.page-hero h1,.projects-hero h1,.workspace h1{font-size:34px;line-height:1.28}
 .heading-xl,.contact-headline,.about-contact-headline,.solutions-cta-title,.about-who-headline,.philosophy-intro-text,.philosophy-pillar-title,.why-headline{font-size:30px;line-height:1.35}
 .heading-lg{font-size:27px;line-height:1.4}.heading-md,.approach-step-title,.capability-title,.journey-title{font-size:23px;line-height:1.4}
 .approach-header{gap:24px}.approach-header-right p{font-size:16px!important;line-height:1.8!important}.approach-header{margin-bottom:32px}
 .home-contact-inner{gap:28px}.contact-headline{margin-bottom:20px;max-width:none}.contact-desc{margin-bottom:24px}
 .contact-submit-row{flex-wrap:wrap;gap:16px;align-items:flex-start}.contact-form-row{gap:18px}
 .footer-bottom{gap:16px;flex-wrap:wrap}.footer-bottom p{font-size:13px}.privacy-policy table{font-size:14px}.privacy-policy th,.privacy-policy td{padding:10px}
}
.contact-submit-row{display:flex;flex-direction:column;align-items:stretch;gap:16px}
.contact-submit-row .contact-submit-note{max-width:none;width:100%}
.contact-submit-row .consent-summary,.contact-submit-row .consent-choices{width:100%;min-width:0;margin:0!important}
.consent-summary,.consent-summary p,.consent-summary summary,.consent-choices label{font-size:14px;line-height:1.8}
.consent-choices label{display:flex;align-items:flex-start;gap:10px;word-break:keep-all}
.consent-choices input[type="checkbox"]{flex:0 0 18px;width:18px;height:18px;margin-top:4px}
@media(max-width:600px){
 .glass-hero .hero-topline{gap:12px;flex-wrap:wrap}.glass-hero .hero-topline p{font-size:11px}.glass-hero .hero-topline .preview-label{display:none}
 .glass-hero .hero-heading h1{font-size:32px;line-height:1.28}.glass-hero .section-kicker{font-size:11px;letter-spacing:.02em;max-width:38ch;margin-bottom:14px}
 .glass-hero .hero-copy{display:block;min-width:0;margin-top:20px}.glass-hero .hero-copy p{font-size:15px;line-height:1.8}.glass-hero .hero-button{display:inline-flex;margin-top:18px;font-size:14px;padding:12px 16px;gap:25px}
 .glass-hero .stage-note{font-size:10px;max-width:75%;letter-spacing:.025em}.glass-hero .hero-foot{font-size:10px;letter-spacing:.02em;flex-wrap:wrap;gap:10px}.glass-hero .hero-foot a{font-size:10px}
 .glass-hero .glass-switcher{bottom:auto;top:330px}.glass-hero .glass-stage{flex-basis:280px;min-height:280px}.glass-hero .hero-bottom{padding-top:8px}
 .label,.eyebrow,.about-section-label,.solutions-hero-label,.insights-hero-label{font-size:12px;letter-spacing:.09em}
}

.why-headline .headline-line{display:block;white-space:nowrap}

:is(h1,h2)>.headline-line{display:block;white-space:nowrap}
.solutions-hero-title{max-width:22ch}.service-page-title{max-width:24ch}

/* Full-page audit: readable secondary copy and resilient narrow layouts. */
.solution-name{font-size:clamp(32px,3.4vw,48px);line-height:1.25}
.solution-feature-item p,.ig-account-desc{font-size:15px;line-height:1.75}
.solutions-tab-link{font-size:14px}
.curriculum-badge,.ptag,.contact-quick-type,.contact-quick-sub,.char-counter{font-size:13px;line-height:1.6}
.ig-account-cta,.ig-account-cta span{font-size:14px}
[style*="font-size:11px"],[style*="font-size: 11px"]{font-size:13px!important}
.btn[style*="font-size"]{font-size:15px!important}
.privacy-policy .table-scroll table{min-width:640px}
.privacy-policy .table-scroll{max-width:100%;overscroll-behavior-x:contain}
@media(max-width:768px){
 .curriculum-item{grid-template-columns:1fr auto;gap:12px;align-items:start}
 .curriculum-body{grid-column:1/-1;grid-row:2;min-width:0}
 .curriculum-badge{grid-column:2;grid-row:1}
 .service-card-grid[style*="grid-template-columns"],.service-content [style*="repeat(3,1fr)"]{grid-template-columns:1fr!important}
 .glass-hero .hero-topline p,.glass-hero .section-kicker,.glass-hero .stage-note,.glass-hero .hero-foot,.glass-hero .hero-foot a{font-size:12px}
 .projects-hero{padding-top:120px;min-height:0}
}


/* Company disclosure: shared footer, comfortably readable on narrow screens. */
.company-details{border-top:1px solid #303030;padding:28px 0;margin-top:32px;color:#aaa;font-size:14px;line-height:1.8}
.company-details-name{font-size:16px;font-weight:600;color:#ddd;margin:0 0 16px}.company-details-name span{margin-left:8px;font-size:13px;color:#aaa}
.company-details-list{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0}.company-details-list>div{display:flex;flex-wrap:wrap;gap:4px 12px;min-width:0}.company-details-list dt{color:#999}.company-details-list dd{margin:0;color:#ccc;overflow-wrap:anywhere}.company-details-list a{display:inline-block;margin-left:12px;text-decoration:underline;text-underline-offset:4px;color:#ccc}.company-details-address{flex-basis:100%}
@media(max-width:600px){.company-details-list{display:grid;gap:14px}.company-details-list>div{display:block}.company-details-list dt{font-size:13px}.company-details-list dd{font-size:14px}.company-details-list a{margin-left:8px}}

/* Compact factual company status, separate from service claims. */
.company-status-strip{border-block:1px solid #292929;background:#0b0b0b;padding:22px 0}.company-status-strip-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.company-status-caption{font-size:13px;color:#999;letter-spacing:.03em}.company-status-badges{list-style:none;display:flex;gap:10px;flex-wrap:wrap;padding:0;margin:0}.company-status-badges a{display:block;border:1px solid #414141;padding:7px 12px;font-size:13px;line-height:1.6;color:#d5d5d5;text-decoration:none}.company-status-badges a:hover{border-color:#bbb;color:#fff}.company-status-badges a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.company-status-section{border-top:1px solid #292929;scroll-margin-top:100px}.company-status-section h2{margin:14px 0 20px}.company-status-intro{font-size:16px;color:#aaa;line-height:1.8;margin-bottom:32px}.company-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.company-status-card{border:1px solid #343434;padding:24px;min-width:0;background:#0b0b0b}.company-status-kind{font-size:13px;color:#aaa}.company-status-card h3{font-size:22px;line-height:1.4;margin:20px 0 12px}.company-status-card p{font-size:15px;color:#bbb;line-height:1.8}.company-status-card dl{margin:24px 0 0}.company-status-card dl>div+div{margin-top:16px}.company-status-card dt{font-size:13px;color:#999}.company-status-card dd{font-size:14px;color:#ddd;margin:5px 0 0;line-height:1.7;overflow-wrap:anywhere}.company-status-note{margin-top:24px}
@media(max-width:1100px){.company-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.company-status-strip{padding:20px 0}.company-status-strip-inner{gap:12px}.company-status-badges{gap:8px}.company-status-badges a{font-size:13px;padding:7px 10px}.company-status-grid{grid-template-columns:1fr}.company-status-card{padding:22px}.company-status-card h3{font-size:21px}}

.procurement-industries{border:1px solid #343434;margin-top:24px;padding:24px}.procurement-industries h3{font-size:20px;line-height:1.5;margin:0 0 20px}.procurement-industries ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.procurement-industries li{display:flex;flex-direction:column;gap:4px}.procurement-industries strong{font-size:15px;font-weight:500;line-height:1.7}.procurement-industries span{font-size:13px;color:#aaa}@media(max-width:600px){.procurement-industries ul{grid-template-columns:1fr}.procurement-industries{padding:22px}}

.mobile-contact-bar{display:none}.submission-status{white-space:pre-line;font-size:15px;line-height:1.9;overflow-wrap:anywhere}.submission-status:empty{display:none}.submission-status--success{background:#142016;border:1px solid #638b55;color:#e1f5d5;padding:24px;margin-top:24px}.submission-status:focus-visible{outline:2px solid #d9f9a5;outline-offset:4px}@media(max-width:768px){body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.mobile-contact-bar{display:block;position:fixed;bottom:0;left:0;right:0;z-index:950;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:rgba(8,8,8,.97);border-top:1px solid #333}.mobile-contact-bar a{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#d9f9a5;color:#111;padding:12px 18px;font-size:15px;font-weight:600;text-decoration:none;line-height:1.5}.mobile-contact-bar a:focus-visible{outline:2px solid white;outline-offset:4px}body:has(#mobile-menu.active) .mobile-contact-bar,body:has(#mobile-menu.open) .mobile-contact-bar,body:has(form input:focus,form textarea:focus,form select:focus) .mobile-contact-bar{display:none}.back-to-top,#back-to-top{bottom:100px}.submission-status--success{padding:20px;font-size:14px}}

.service-opening-note{font-size:14px;line-height:1.8;color:#d9f9a5;margin:12px 0 20px;word-break:keep-all;overflow-wrap:break-word}

.founder-section{border-top:1px solid #292929;scroll-margin-top:90px}.founder-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center}.founder-photo{margin:0;max-width:460px;width:100%}.founder-photo img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.founder-copy{min-width:0;max-width:590px}.founder-copy h2{font-size:clamp(28px,3vw,40px);line-height:1.35;margin:16px 0 28px;letter-spacing:-.035em}.founder-copy .founder-statement{font-size:clamp(22px,2.1vw,29px);color:#eee;line-height:1.5;margin-bottom:28px;letter-spacing:-.025em;text-wrap:balance}.founder-copy>p:not(.label):not(.founder-statement){font-size:16px;line-height:1.9;color:#b0b0b0;margin:0 0 20px;word-break:keep-all;overflow-wrap:break-word}.founder-contact{display:inline-flex;gap:28px;margin-top:12px;padding-bottom:8px;border-bottom:1px solid #777;color:#eee;font-size:15px;line-height:1.6;text-decoration:none}.founder-contact:focus-visible{outline:2px solid #d9f9a5;outline-offset:5px}@media(max-width:768px){.founder-layout{grid-template-columns:1fr;gap:32px}.founder-photo{max-width:380px;justify-self:center}.founder-copy h2{font-size:28px;margin-bottom:22px}.founder-copy .founder-statement{font-size:23px}.founder-desktop-break{display:none}}

.founder-role{text-transform:none!important;letter-spacing:.06em}.founder-expertise{list-style:none;padding:20px 0 0;margin:24px 0;border-top:1px solid #333;display:flex;flex-wrap:wrap;gap:8px 18px}.founder-expertise li{font-size:14px;line-height:1.8;color:#ccc}.founder-copy .founder-statement{max-width:25ch}@media(min-width:769px){.founder-layout{align-items:start}}

.analytics-consent{position:fixed;bottom:20px;left:20px;right:20px;max-width:900px;margin:auto;z-index:1600;background:#171b16;border:1px solid #799269;padding:22px;color:#eee;box-shadow:0 8px 40px #0009}.analytics-consent[hidden]{display:none}.analytics-consent strong{font-size:17px}.analytics-consent p{font-size:14px;line-height:1.75;color:#ccc;margin:10px 0 18px;word-break:keep-all}.analytics-consent a{color:#d9f9a5;text-decoration:underline}.analytics-consent-actions{display:flex;gap:12px}.analytics-consent button,.analytics-settings{font:inherit;font-size:14px;background:#151515;color:#eee;border:1px solid #aaa;padding:10px 18px;cursor:pointer}.analytics-consent button{flex:1}.analytics-settings{margin:20px 0;background:transparent;color:#aaa;border-color:#555}.analytics-consent button:focus-visible,.analytics-settings:focus-visible{outline:2px solid #d9f9a5;outline-offset:3px}@media(max-width:768px){.analytics-consent{bottom:calc(86px + env(safe-area-inset-bottom));left:12px;right:12px;padding:18px;max-height:65svh;overflow-y:auto}.analytics-consent strong{font-size:16px}.analytics-consent p{font-size:13px}}
