/* Shared native-page geometry and typography. Tilda does not load this file. */
:root{--pp-gutter:48px;--pp-content-width:min(calc(100% - var(--pp-gutter)*2),1440px);--pp-edge:max(var(--pp-gutter),calc((100vw - 1440px)/2));--pp-header-height:68px;--pp-jump-height:0px}
@media(max-width:1220px){:root{--pp-gutter:28px}}
@media(max-width:760px){:root{--pp-gutter:16px;--pp-header-height:124px}}
html{scroll-padding-top:calc(var(--pp-header-height) + var(--pp-jump-height) + 20px)!important;overflow-x:clip!important}
body{overflow-x:clip!important;overflow-y:visible!important}
body :is(.shell,.wrap,.content-wrap,.value-wrap,.p-shell,.library-shell),body #pp-strategy .pp-shell,body .pp-site-header .pp-site-header-inner,body nav.pp-site-breadcrumbs,body.pp-reading-page article.material{box-sizing:border-box;width:var(--pp-content-width)!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
/* Sections already inside the company-page shell must not inset a second time. */
body #pp-strategy .pp-shell :is(.content-wrap,.wrap){width:100%!important}
body #pp-strategy .pp-contact{margin-inline:0!important;padding-inline:0!important;box-shadow:0 0 0 100vmax var(--pp-accent);clip-path:inset(0 -100vmax)}
body :is(.ai-intro,.ai-inside,.ai-section-head,.ai-gate__inner){box-sizing:border-box;width:var(--pp-content-width)!important;max-width:none!important;padding-inline:0!important;margin-inline:auto!important}
body :is(.ai-hero__copy,.library-feature__copy,.sonara-brief .intro-copy){padding-left:var(--pp-edge)!important}
body :is(.ai-hero__object,.library-feature__media){padding-right:var(--pp-edge)!important}
body .pp-document-body{width:var(--pp-content-width)!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
body :is(h1,h2,h3,h4,h5,h6){font-family:'Oswald',sans-serif!important}
body :is(button,input,select,textarea,.button,.btn,.btn-primary,.btn-secondary,.pp-action,.pp-text-link,.cta-btn,.band-action,.e-button,.action,.lead-cta,.hero-cta-plate,.ai-primary-action,.ai-download-button,.library-feature__action,.p-mast-cta,.services-action,.pp-site-cta){font-family:'Inter Tight',sans-serif!important;letter-spacing:normal!important}
body :is(.pp-site-breadcrumbs,.pp-site-breadcrumbs a,.page-nav,.page-nav a,.pp-jump,.pp-jump a,.macro-nav,.local-nav,.p-toc){font-family:'JetBrains Mono',monospace!important}
body :is(.pp-site-cta,.pp-action,.button:not(.outline),.pp-form-submit,.action-red,.action-dark,.hero-cta-plate,.lead-cta,.services-action,.p-submit,.submit,.btn-primary){color:#fff!important}
body :is(.button.outline,.pp-text-link,.action-light,.btn-secondary){background:#fff;color:#1a1714!important}
body :is(.button.outline,.pp-text-link,.action-light,.btn-secondary):is(:hover,:focus-visible){background:#1a1714;color:#fff!important}
body .closing .button:hover{color:#1a1714!important}
body :is(.pp-site-cta,.pp-action):is(:hover,:focus-visible){color:#fff!important}
body :is(.page-nav,.pp-jump){position:sticky!important;top:var(--pp-header-height)!important;z-index:30;background:#fff;isolation:isolate}
body .page-nav>.wrap,body #pp-strategy .pp-jump{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:24px;white-space:nowrap;padding-block:16px;font-size:12px;line-height:1.5;scrollbar-width:thin}
body :is(.page-nav,.pp-jump) a{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:24px;text-decoration:none}
body :is(.page-nav,.pp-jump) a span{margin:0!important}
body :is(.page-nav,.pp-jump) a:focus-visible{outline:2px solid #FF5850;outline-offset:2px}
body #pp-strategy .pp-hero{padding-top:32px}
@media(max-width:760px){body #pp-strategy .pp-hero{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}body #pp-strategy .pp-model{max-width:100%;min-width:0}body #pp-strategy .pp-model-grid strong{overflow-wrap:anywhere}body .library-feature__copy,body .ai-hero__copy{padding-right:var(--pp-gutter)!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
body .ai-reader{box-sizing:border-box;width:var(--pp-content-width)!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
body .ai-gate__copy{padding-left:var(--pp-edge)!important}
body .ai-gate__form-wrap{padding-right:var(--pp-edge)!important}
@media(max-width:1000px){body .ai-gate__form-wrap{padding-left:var(--pp-edge)!important}body .ai-gate__copy{padding-right:var(--pp-edge)!important}}
body article.material,body main.error-404{box-sizing:border-box;width:var(--pp-content-width)!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
body main.error-404>.shell{width:100%!important}
body main.pp-error-page{box-sizing:border-box;width:var(--pp-content-width)!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}

/* Homepage offer actions follow the shared red/white contrast rule. */
body .home-offer .home-offer-button{color:#fff}body .home-offer .home-offer-button:hover{background:#fff;color:#1a1714}

/* Closing actions: shared composition, individual page purpose. */
body #contact.overview-contact,
body #main .services-contact,
body section.closing > .closing-row,
body #pp-strategy .pp-contact,
body.family-business .next > .next-grid,
body.family-business .help{
  background:#1a1714;color:#fff;border:0;box-sizing:border-box;
  padding:48px!important;gap:56px;align-items:center;
}
body #contact.overview-contact{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);margin-top:32px;margin-bottom:72px;min-height:300px}
body #contact.overview-contact h2{font:600 clamp(44px,4.7vw,70px)/1.08 'Oswald',sans-serif;letter-spacing:-.025em;max-width:19ch;margin:0;color:#fff;text-wrap:balance}
body .pp-final-action,
body.family-business .next .btn,
body.family-business .help a{
  display:inline-flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:60px;padding:18px 24px;background:#FF5850!important;color:#fff!important;
  border:0!important;border-radius:0;text-decoration:none;font:700 19px/1.35 'Inter Tight',sans-serif!important;
  white-space:normal;text-align:left;text-transform:none;cursor:pointer;
}
body .pp-final-action svg,body.family-business .help a svg{width:28px;height:28px;flex:0 0 auto;transition:transform 180ms cubic-bezier(.16,1,.3,1)}
body .pp-final-action:is(:hover,:focus-visible),body.family-business .next .btn:is(:hover,:focus-visible),body.family-business .help a:is(:hover,:focus-visible){background:#fff!important;color:#1a1714!important}
body .pp-final-action:is(:hover,:focus-visible) svg,body.family-business .help a:is(:hover,:focus-visible) svg{transform:translate(3px,-3px)}
body .pp-final-action:focus-visible,body.family-business .next .btn:focus-visible,body.family-business .help a:focus-visible{outline:2px solid #fff;outline-offset:6px}
body #contact .pp-final-action{align-self:stretch;display:flex;flex-direction:column;align-items:stretch;min-height:200px;padding:28px;font-size:20px!important}
body #contact .pp-final-action svg{width:76px;height:76px;align-self:flex-end;margin-bottom:28px}
body section.closing{background:#fff;padding:24px 0 80px}
body section.closing > .closing-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
body section.closing h2,body #main .services-contact h2,body #pp-strategy .pp-contact h2{font:600 clamp(38px,3.8vw,56px)/1.1 'Oswald',sans-serif;letter-spacing:-.02em;color:#fff;margin:0;max-width:22ch;text-wrap:balance}
body section.closing p,body #main .services-contact p,body #pp-strategy .pp-contact p{color:#e7e3de;font:400 18px/1.55 'Inter Tight',sans-serif;margin:0 0 28px;max-width:50ch}
body section.closing .pp-final-action{width:100%}
body #main .services-contact{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);margin-top:72px;margin-bottom:32px}
body #main .services-contact p{margin:20px 0 0}
body #pp-strategy .pp-contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);margin-top:24px;margin-bottom:64px;box-shadow:none!important;clip-path:none!important}
body #pp-strategy .pp-contact .pp-eyebrow{display:none}
body #pp-strategy .pp-contact h2+p{margin:24px 0 0}
body #pp-strategy .pp-contact .pp-note{font-size:15px;margin:20px 0 0}
body #pp-strategy .pp-contact .pp-final-action{width:100%}
body.family-business .next{background:#fff;padding:24px 0 0}
body.family-business .next > .next-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:72px}
body.family-business .next h2{font:600 clamp(40px,4vw,60px)/1.08 'Oswald',sans-serif;letter-spacing:-.02em;margin:0 0 24px;color:#fff;max-width:17ch;text-wrap:balance}
body.family-business .next-intro{font-size:18px;line-height:1.55;color:#e7e3de;margin:0 0 32px;max-width:43ch}
body.family-business .next .btn{font-size:19px!important;width:100%;gap:20px}
body.family-business .next .btn svg{flex:none;width:26px;height:26px}
body.family-business .first-steps{border:0;margin:0;padding:0}
body.family-business .first-steps li{grid-template-columns:30px minmax(0,1fr);gap:20px;padding:24px 0;border-bottom:1px solid #5b5650}
body.family-business .first-steps li:first-child{padding-top:0}
body.family-business .first-steps li:last-child{padding-bottom:0;border-bottom:0}
body.family-business .first-steps span{color:#FF5850;font-size:14px;line-height:1.5}
body.family-business .first-steps strong{font:500 26px/1.2 'Oswald',sans-serif;color:#fff}
body.family-business .first-steps p{font-size:16px;line-height:1.55;color:#e7e3de;margin-top:12px}
body.family-business .help{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);margin-bottom:72px}
body.family-business .help h3{font:600 clamp(34px,3.5vw,48px)/1.1 'Oswald',sans-serif;color:#fff;margin:0 0 20px;text-wrap:balance}
body.family-business .help p{font-size:18px;line-height:1.55;color:#e7e3de;margin:0;max-width:58ch}
@media(max-width:1000px){
  body #contact.overview-contact,body #main .services-contact,body section.closing > .closing-row,body #pp-strategy .pp-contact,body.family-business .next > .next-grid,body.family-business .help{padding:36px!important;gap:36px}
  body #contact.overview-contact{grid-template-columns:minmax(0,1.3fr) minmax(230px,.8fr)}
  body.family-business .next > .next-grid{gap:40px}
}
@media(max-width:760px){
  body #contact.overview-contact,body #main .services-contact,body section.closing > .closing-row,body #pp-strategy .pp-contact,body.family-business .next > .next-grid,body.family-business .help{grid-template-columns:minmax(0,1fr);padding:28px 24px!important;gap:32px}
  body #contact.overview-contact{margin-top:16px;margin-bottom:48px;min-height:0}
  body #contact.overview-contact h2{font-size:42px;max-width:18ch}
  body #contact .pp-final-action{min-height:130px;padding:24px;font-size:19px!important}
  body #contact .pp-final-action svg{width:48px;height:48px;margin-bottom:20px}
  body section.closing{padding:16px 0 48px}
  body section.closing h2,body #main .services-contact h2,body #pp-strategy .pp-contact h2{font-size:38px}
  body section.closing p,body #main .services-contact p,body #pp-strategy .pp-contact p,body.family-business .help p{font-size:16px}
  body .pp-final-action,body.family-business .help a{width:100%;font-size:19px!important;min-height:60px;padding:18px 20px;gap:16px}
  body #main .services-contact{margin-top:48px;margin-bottom:16px}
  body #pp-strategy .pp-contact{margin-bottom:48px}
  body.family-business .next h2{font-size:40px;max-width:16ch}
  body.family-business .next-intro{font-size:16px}
  body.family-business .next .btn{font-size:19px!important;padding:18px 20px}
  body.family-business .first-steps{padding-top:32px;border-top:1px solid #5b5650}
  body.family-business .first-steps strong{font-size:24px}
  body.family-business .help{margin-bottom:48px}
}
@media(prefers-reduced-motion:reduce){body .pp-final-action svg,body.family-business .help a svg{transition:none;transform:none!important}}

/* Persistent material action: one real download path, visible between hero and form. */
body .pp-material-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:calc(100vw - 32px);padding:18px 24px;background:#FF5850;color:#fff!important;border:0;border-radius:0;font:700 19px/1.25 'Inter Tight',sans-serif;text-decoration:none;box-shadow:0 8px 24px rgb(26 23 20 / .18);cursor:pointer}
body .pp-material-float[hidden]{display:none!important}
body .pp-material-float svg{width:24px;height:24px;flex-shrink:0}
body .pp-material-float:hover,body .pp-material-float:focus-visible{background:#1a1714;color:#fff!important}
body .pp-material-float:focus-visible{outline:2px solid #FF5850;outline-offset:4px}
body .pp-material-sources{padding-top:48px;padding-bottom:48px;border-top:1px solid #d3d0cb;background:#fff;color:#1a1714}
body .pp-material-sources h2{font:500 30px/1.2 Oswald,sans-serif}
body .pp-material-sources .source-notes{color:#514c47;max-width:100ch;margin-top:24px}
body .pp-material-sources .source-notes a{color:#1a1714;text-underline-offset:4px}
@media(max-width:760px){body .pp-material-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:16px 20px;gap:18px}body:has(.pp-material-float) footer{padding-bottom:100px}}
/* Latest publications form a magazine spread; archives retain three equal columns. */
body #main .pp-editorial-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px 28px;border:0;align-items:stretch}
body #main .pp-editorial-grid> :is(.collection-card,.library-tile,.library-card){grid-column:span 4;min-width:0;border:0;border-top:1px solid #b9b5af;margin:0;background:transparent;color:#1a1714}
body #main .pp-editorial-grid .collection-card>a{padding:0;display:flex;flex-direction:column}
body #main .pp-editorial-grid .collection-card figure{margin:0 0 20px;aspect-ratio:16/9;background:#eee;flex:none}
body #main .pp-editorial-grid .collection-card h2{font:500 28px/1.14 Oswald,sans-serif;letter-spacing:-.02em;text-transform:none;text-wrap:balance}
body #main .pp-editorial-grid .collection-card__meta{margin:0 0 12px;font:400 12px/1.4 'Inter Tight',sans-serif;letter-spacing:0;text-transform:none}
body #main .pp-editorial-grid .collection-card p{font:400 16px/1.5 'Inter Tight',sans-serif;margin:0 0 16px}
body #main .pp-editorial-grid .collection-card__authors{padding:12px 0 0;font:400 12px/1.5 'Inter Tight',sans-serif;text-transform:none}
body #main .pp-editorial-grid .library-publication-download{background:#f3f1ed;color:#1a1714;padding:20px}
body #main .pp-editorial-grid .library-publication-download time{color:#514c47}
body #main .pp-editorial-grid .library-publication-download a:hover .library-publication-action{color:#FF5850}
body #main .pp-editorial-grid .library-publication :is(h2,h3){font-size:28px;line-height:1.14}
body #main .pp-editorial-grid.pp-editorial-latest> :first-child{grid-column:span 8;grid-row:span 2}
body #main .pp-editorial-latest> :first-child :is(h2,h3){font-size:clamp(36px,4vw,56px);line-height:1.1;letter-spacing:-.02em}
body #main .pp-editorial-latest> :first-child .collection-card>a{height:100%}
body #main .pp-editorial-latest> :first-child .collection-card__body{padding-bottom:20px}
body #main .pp-editorial-latest> .collection-card:first-child figure{flex:none;min-height:0;aspect-ratio:16/9}
body #main .pp-editorial-latest> :first-child .library-publication-cover{flex:1;min-height:360px;aspect-ratio:auto}
body #main .pp-editorial-latest> :first-child .library-publication-cover img{object-fit:cover}
body #main .pp-editorial-latest> :first-child .library-publication-download img{object-fit:contain}
body #main .pp-editorial-latest> :nth-child(-n+9):not(:first-child) :is(.collection-card__body>p,.library-publication-copy>p:not(.library-publication-meta),.home-video-copy>p:not(.home-video-kind):not(.home-video-status)){display:none}
body #main .pp-editorial-latest> :nth-child(n+10){margin-top:24px;padding-top:24px}
body #main .pp-editorial-grid>.library-card>a{min-height:230px;padding:24px;display:flex;flex-direction:column;gap:24px;background:#f3f1ed;color:#1a1714}
body #main .pp-editorial-grid>.library-card:first-child>a{background:#1a1714;color:white;min-height:520px}
body #main .pp-editorial-grid>.library-card h2{font:500 28px/1.14 Oswald,sans-serif;margin:0;text-wrap:balance}
body #main .pp-editorial-grid>.library-card>a>span:last-child{margin-top:auto}
@media(max-width:1100px){body #main .pp-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}body #main .pp-editorial-grid> :is(.collection-card,.library-tile,.library-card){grid-column:span 1}body #main .pp-editorial-grid.pp-editorial-latest> :first-child{grid-column:span 2;grid-row:auto}body #main .pp-editorial-latest> .collection-card:first-child figure{flex:none;min-height:0;aspect-ratio:16/9}body #main .pp-editorial-latest> :first-child .library-publication-cover{flex:none;min-height:0;aspect-ratio:16/9}}
@media(max-width:700px){body #main .pp-editorial-grid{grid-template-columns:minmax(0,1fr);gap:32px}body #main .pp-editorial-grid.pp-editorial-latest> :first-child{grid-column:span 1}body #main .pp-editorial-latest> :first-child :is(h2,h3){font-size:36px}body #main .pp-editorial-grid>.library-card:first-child>a{min-height:300px}body #main .pp-editorial-grid .library-publication :is(h2,h3){font-size:28px}}
body #main .collection-page{padding-top:40px}
body #main .collection-hero{margin-bottom:40px}
body #main .collection-hero>.mono-small{display:none}
body #main .collection-hero h1{font-size:clamp(48px,7vw,96px);font-weight:500;line-height:1.08;text-transform:none;margin:0 0 24px}
body #main .collection-hero>p{font-size:18px;line-height:1.5}
body #main .pp-editorial-grid .collection-card figure,body #main .pp-editorial-grid .library-publication-cover{position:relative;overflow:hidden}
body #main .pp-editorial-grid .collection-card figure img,body #main .pp-editorial-grid .library-publication-cover img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
body #main .pp-editorial-grid .library-publication-download img{object-fit:contain}
body #main .pp-editorial-latest> :first-child .library-publication-cover{flex:none;min-height:0;aspect-ratio:16/9}
body #main .library-page:has(.pp-editorial-grid) .library-hero{display:block;min-height:0;padding-top:40px;padding-bottom:40px}
body #main .library-page:has(.pp-editorial-grid) .library-hero h1{font:500 clamp(48px,7vw,96px)/1.08 Oswald,sans-serif;text-transform:none;letter-spacing:-.02em;margin:0 0 24px}
body #main .library-page:has(.pp-editorial-grid) .library-hero__intro{font:400 18px/1.5 'Inter Tight',sans-serif;max-width:760px}
body #main .pp-editorial-grid>.library-card h2{text-transform:none}
body #main .pp-editorial-grid>.library-card:first-child h2{font-size:clamp(36px,4vw,56px);line-height:1.1}
body #main .library-page:has(.pp-editorial-grid) .library-hero__intro p{font:inherit;margin:0}

body #main .pp-editorial-grid .collection-card figure img{object-fit:contain}

/* Home review 20261008 */
body .pp-file-card,body .pp-file-card .pp-file-copy{background:#fff!important;color:#1b1916}body .pp-file-card .pp-file-cover{background:#f0f1f1}body .pp-file-card .pp-file-copy{padding-left:0;padding-right:0}body #contact .pp-final-action{align-self:center;justify-self:end;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;min-height:56px;height:auto;width:auto;max-width:100%;padding:17px 28px;font-size:18px!important;line-height:22px;box-sizing:border-box;text-align:center}body #contact .pp-final-action svg{width:20px;height:20px;margin:0}@media(max-width:700px){body #contact .pp-final-action{justify-self:start;width:100%;min-height:56px;padding:17px 24px}}

/* Home intro: coherent responsive grid, 2026-10-08. */
@media(min-width:1101px){
body [data-home-overview] .overview-hero .overview-intro{grid-template-columns:minmax(0,2.15fr) minmax(300px,1fr);column-gap:48px}
body [data-home-overview] .overview-hero .overview-intro #claim-explanation{grid-column:2;grid-row:2 / 4;max-width:none;margin:0;padding:8px 0 0 24px;align-self:start}
body [data-home-overview] #claim-explanation .claim-content{grid-template-columns:1fr;gap:20px}
body [data-home-overview] #claim-explanation .claim-portrait{width:112px;height:140px;justify-self:end}
}
@media(min-width:801px) and (max-width:1100px){
body [data-home-overview] .overview-hero .overview-intro{grid-template-columns:minmax(0,1fr)}
body [data-home-overview] .overview-hero .overview-intro #claim-explanation{grid-column:1;grid-row:4;max-width:none;width:100%;box-sizing:border-box;margin-top:32px;padding-left:0;border-left:0}
body [data-home-overview] #claim-explanation .claim-content{grid-template-columns:minmax(0,1fr) 132px;gap:32px}
}

/* Compact industry preview, 2026-10-09. */
body #projects .home-project-browser{display:block}
body #projects .home-industry-list{position:static;width:100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin:0 0 36px;padding:0}
body #projects .home-industry-list h3{display:none}
body #projects .home-industry-list button{width:auto;flex:0 1 auto;border:1px solid #d4d1ce;padding:10px 14px;font:400 14px/1.35 'Inter Tight',sans-serif;background:#fff;min-height:42px;text-align:left}
body #projects .home-industry-list button[aria-pressed=true]{background:#ff5850;color:white;border-color:#ff5850}
body #projects .home-industry-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 28px}
body #projects .home-preview-label{font-size:13px;color:#68635d;margin:0 0 8px}
body #projects .home-industry-intro h3{font:500 clamp(28px,3vw,40px)/1.15 Oswald,sans-serif;margin:0}
body #projects .home-showcase-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#1b1916;color:white;padding:15px 22px;min-height:50px;box-sizing:border-box;text-decoration:none;font:500 16px/1.25 'Inter Tight',sans-serif}
body #projects .home-showcase-link:hover{background:#ff5850;color:white}
body #projects .home-mixed-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
body #projects .library-publication-cover,body #projects .pp-file-cover{height:auto;aspect-ratio:16/9;min-height:0;padding:0;overflow:hidden}
body #projects .library-publication-cover img,body #projects .pp-file-cover img{display:block;width:100%;height:100%;object-fit:cover;max-height:none}
body #projects .pp-file-book .pp-file-cover img{object-fit:contain;padding:12px;box-sizing:border-box}
body #projects .pp-file-copy{padding:16px 0 0}
body #projects .library-publication h4,body #projects .pp-file-copy h4{font:500 25px/1.2 Oswald,sans-serif}
body #projects .home-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid #d4d1ce;margin-top:32px;padding-top:24px}
body #projects .home-preview-footer p{font-size:16px;line-height:1.5;color:#68635d;max-width:620px;margin:0}
body #projects .home-preview-footer a{font-size:16px;text-decoration:underline;text-underline-offset:4px;flex-shrink:0;color:#1b1916}
@media(max-width:1100px){body #projects .home-mixed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body #projects .home-industry-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;margin-bottom:24px}body #projects .home-industry-list button{flex:0 0 auto;max-width:230px}body #projects .home-industry-intro,body #projects .home-preview-footer{flex-direction:column;align-items:flex-start;gap:18px}body #projects .home-mixed-grid{gap:28px 16px}body #projects .home-showcase-link{width:100%}}
@media(max-width:480px){body #projects .home-mixed-grid{grid-template-columns:1fr}}
body #projects .pp-file-cover{height:auto!important;min-height:0!important;aspect-ratio:16/9}
body #projects .pp-file-cover img{height:100%!important;width:100%!important;max-height:none!important}

body #projects .pp-file-cover{flex:0 0 auto!important}

/* Client logos: names remain in alt/aria-label, without visible captions. */
body .pp-client-logo .pp-client-name,body .is-logo-grid figcaption{display:none!important}

/* Industry navigation restored to the left, 2026-10-09. */
@media(min-width:761px){
body #projects .home-project-browser{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:start}
body #projects .home-industry-list{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;margin:0;position:sticky;top:calc(var(--pp-header-height) + 24px)}
body #projects .home-industry-list button{width:100%;border:0;border-top:1px solid #bcb8b4;min-height:48px;padding:14px 12px;line-height:1.4}
body #projects .home-industry-intro{align-items:flex-start}
body #projects .home-industry-intro h3{font-size:32px}
body #projects .home-mixed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1500px){body #projects .home-mixed-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:761px) and (max-width:1100px){body #projects .home-project-browser{grid-template-columns:185px minmax(0,1fr);gap:24px}body #projects .home-mixed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body #projects .home-industry-intro{flex-direction:column;gap:18px}}
body #projects .pp-file-action,body #projects .pp-file-action:hover{display:inline;padding:0!important;min-height:0;height:auto;background:transparent!important;border:0;color:#1b1916!important;font:400 14px/1.4 'Inter Tight',sans-serif;text-decoration:underline;text-underline-offset:4px}
body #projects .pp-file-action:hover{color:#e7453e!important}

/* Compact methodology with supporting diagrams, 2026-10-09. */
body #approach .home-models{gap:20px 48px;align-items:start}
body #approach .home-models article{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:0 20px;align-content:start;align-items:start;min-width:0;padding:0}
body #approach .home-models article::after{content:"";grid-column:2;grid-row:1 / 4;align-self:center;width:88px;height:108px;background:center/contain no-repeat var(--method-image);pointer-events:none}
body #approach .home-models article>h3,body #approach .home-models article>p,body #approach .home-models article>a{grid-column:1}
body #approach .home-models h3{font-size:24px;line-height:1.15;margin:0 0 8px;text-wrap:pretty}
body #approach .home-models p{font-size:15px;line-height:1.4;margin:0 0 4px}
body #approach .home-models a{margin-top:0;padding-block:6px;font-size:14px;line-height:1.4;justify-self:start}
body #approach .home-models article:nth-child(1){--method-image:url("/strategy/assets/methods-compact-oct9/method-1.svg")}
body #approach .home-models article:nth-child(2){--method-image:url("/strategy/assets/methods-compact-oct9/method-2.svg")}
body #approach .home-models article:nth-child(3){--method-image:url("/strategy/assets/methods-compact-oct9/method-3.svg")}
body #approach .home-models article:nth-child(4){--method-image:url("/strategy/assets/methods-compact-oct9/method-4.svg")}
body #approach .home-models article:nth-child(5){--method-image:url("/strategy/assets/methods-compact-oct9/method-5.svg")}
body #approach .home-models article:nth-child(6){--method-image:url("/strategy/assets/methods-compact-oct9/method-6.svg")}
body #approach .home-models article:nth-child(7){--method-image:url("/strategy/assets/methods-compact-oct9/method-7.svg")}
body #approach .home-models article:nth-child(8){--method-image:url("/strategy/assets/methods-compact-oct9/method-8.svg")}
@media(min-width:701px) and (max-width:1100px){body #approach .home-models{column-gap:28px}body #approach .home-models article{grid-template-columns:minmax(0,1fr) 64px;column-gap:12px}body #approach .home-models article::after{width:64px;height:80px}body #approach .home-models h3{font-size:22px}}
@media(max-width:700px){body #approach .home-models{gap:20px}body #approach .home-models article{grid-template-columns:minmax(0,1fr) 60px;column-gap:12px}body #approach .home-models article::after{width:60px;height:76px}body #approach .home-models h3{font-size:22px}body #approach .home-models p{font-size:15px}body #approach .home-models a{min-height:44px;box-sizing:border-box}}

/* Client logos: tightly cropped files, consistent left edge. */
body .pp-client-logo{align-items:flex-start!important;justify-items:start!important}
body .pp-client-logo img,body .is-logo-grid img{object-fit:contain!important;object-position:left center!important;display:block!important;margin-left:0!important;margin-right:auto!important;max-width:100%!important}
body .is-logo-grid figure{justify-content:flex-start!important;justify-items:start!important;padding-left:0!important;padding-right:0!important}

/* Client review: logos at half size; client link belongs to the small-business grid. */
body .pp-client-logo img{width:50%!important;height:27px!important}
body .is-logo-grid img{transform:scale(.5);transform-origin:left center}
#clients .pp-client-logo{min-height:51px;padding:12px 0}
#clients .home-logo-group h4{padding-top:15px}
#clients .pp-clients-more--inline{margin:0;padding:0;border:0;min-height:51px;justify-content:flex-start;align-items:center}
#clients .pp-clients-more--inline>a{min-height:44px;padding:10px 16px;white-space:nowrap;width:auto}
#clients.home-section{padding-bottom:0}
#clients .home-logo-group:last-child{padding-bottom:0}
@media(max-width:700px){#clients .home-logo-group h4{padding-top:0}#clients .pp-clients-more--inline{grid-column:1/-1;flex-direction:row}}

/* Client link at the right edge of the small-business row. */
#clients .pp-clients-more--inline{grid-column:-2/-1;justify-content:flex-end}
@media(max-width:700px){#clients .pp-clients-more--inline{grid-column:1/-1;justify-content:flex-end}}

/* Homepage closing action: one large, usable red action plane. */
body #contact.overview-contact{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);padding:0!important;gap:0;min-height:320px;align-items:stretch}
body #contact.overview-contact h2{align-self:center;max-width:none;padding:48px;font-size:clamp(48px,5.5vw,80px);line-height:1.04;text-wrap:balance}
body #contact.overview-contact .pp-final-action{align-self:stretch;justify-self:stretch;width:100%;height:100%;min-height:320px;padding:36px 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:32px;text-align:left;font-size:24px!important;line-height:1.2;border-left:1px solid #1a1714!important}
body #contact.overview-contact .pp-final-action .pp-cta-icon{display:block!important;width:144px;height:144px;margin:0;align-self:flex-end;stroke:currentColor}
body #contact.overview-contact .pp-final-action span{display:block}
body #contact.overview-contact .pp-final-action:focus-visible{outline:3px solid #fff;outline-offset:-9px}
@media(max-width:760px){body #contact.overview-contact{grid-template-columns:1fr;min-height:0}body #contact.overview-contact h2{font-size:46px;line-height:1.08;padding:32px 28px}body #contact.overview-contact .pp-final-action{min-height:124px;padding:28px;flex-direction:row-reverse;align-items:center;gap:24px;font-size:22px!important;border-left:0!important}body #contact.overview-contact .pp-final-action .pp-cta-icon{width:64px;height:64px;align-self:center}}

body #contact.overview-contact .pp-final-action::before{content:"";display:block;width:144px;height:144px;flex:0 0 auto;align-self:flex-end;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M10 38 38 10M10 10h28v28' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform 180ms cubic-bezier(.16,1,.3,1)}
body #contact.overview-contact .pp-final-action:is(:hover,:focus-visible)::before{transform:translate(4px,-4px)}
@media(max-width:760px){body #contact.overview-contact .pp-final-action::before{width:64px;height:64px;align-self:center}}
@media(prefers-reduced-motion:reduce){body #contact.overview-contact .pp-final-action::before{transition:none;transform:none}}

/* YouTube shares the compact channel-banner composition with Telegram. */
body #approach .home-youtube-banner{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:28px;padding:36px 40px;background:#fff0ef;color:#1a1714;overflow:visible}
body #approach .home-youtube-play{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;background:#FF5850;color:#fff}
body #approach .home-youtube-play svg{display:block!important;width:44px;height:44px;fill:currentColor}
body #approach .home-youtube-copy{padding:0;align-self:center}
body #approach .home-youtube-copy h3{font:500 clamp(28px,2.7vw,36px)/1.12 var(--font-display);letter-spacing:normal;margin:0 0 12px;color:#1a1714}
body #approach .home-youtube-copy p{font:400 17px/1.5 var(--font-body);color:#1a1714;max-width:60ch;margin:0}
body #approach .home-youtube-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;background:#FF5850;color:#fff;font:500 15px/1.4 var(--font-body);text-decoration:none;white-space:nowrap;width:auto}
body #approach .home-youtube-link:hover{background:#1a1714;color:#fff}
body #approach .home-youtube-link:focus-visible{outline:3px solid #FF5850;outline-offset:4px}
@media(max-width:1100px){body #approach .home-youtube-banner{grid-template-columns:80px minmax(0,1fr);padding:28px;gap:20px}body #approach .home-youtube-play{width:80px;height:80px}body #approach .home-youtube-link{grid-column:2;justify-self:start}}
@media(max-width:700px){body #approach .home-youtube-banner{grid-template-columns:64px minmax(0,1fr);padding:24px;gap:20px 16px}body #approach .home-youtube-play{width:64px;height:64px;align-self:start}body #approach .home-youtube-play svg{width:32px;height:32px}body #approach .home-youtube-copy h3{font-size:28px}body #approach .home-youtube-copy p{font-size:16px}body #approach .home-youtube-link{grid-column:1/-1;width:100%;box-sizing:border-box;white-space:normal}}

/* Channel-cover portrait with a compact play badge, matching Telegram avatars. */
body #approach .home-youtube-avatar{position:relative;display:block;width:96px;height:96px;flex-shrink:0}
body #approach .home-youtube-avatar>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
body #approach .home-youtube-avatar .home-youtube-play{position:absolute;right:-2px;bottom:0;width:30px;height:30px;border:3px solid #fff0ef;box-sizing:content-box}
body #approach .home-youtube-avatar .home-youtube-play svg{width:16px;height:16px}
@media(max-width:1100px){body #approach .home-youtube-avatar{width:80px;height:80px}}
@media(max-width:700px){body #approach .home-youtube-avatar{width:64px;height:64px;align-self:start}body #approach .home-youtube-avatar .home-youtube-play{width:24px;height:24px;border-width:2px}body #approach .home-youtube-avatar .home-youtube-play svg{width:14px;height:14px}}

/* Compact mobile video section navigation; keep every section reachable. */
@media(max-width:760px){
 body .video-page .video-sections.pp-jump{flex-wrap:nowrap;overflow-x:auto;gap:20px;white-space:nowrap;padding-block:2px;scrollbar-width:thin}
 body .video-page .video-sections.pp-jump a{flex:none;min-height:44px;white-space:nowrap}
}
