/* Shared cutout styling and one aligned rule before the footer. */
main>.section:last-child,main>section.section:last-child{border-bottom:0}
.home-doors{max-width:1160px;width:calc(100% - 96px);margin:0 auto;padding-top:60px;padding-bottom:50px;gap:38px}
.home-doors>a{border-top:0}.home-doors h2{font-size:32px;letter-spacing:-1px;margin:18px 0}.home-doors small{letter-spacing:1.2px}
.tech-scrap,.scrap-tiktok,.memory-object,.speaker-object,.contact-social,.reader-logo,.reader-menu,.reader-close,.dock-icon,.tool-initial{border:0;background:transparent;box-shadow:none}
.tech-scrap,.scrap-tiktok{color:var(--ink);padding:10px;display:flex;align-items:center;justify-content:center}
.scrap>span{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--bg);color:var(--ink);font:11px Satoshi,sans-serif;padding:7px 10px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:10}
.scrap:hover>span,.scrap:focus-visible>span{opacity:1}
.contact-social{padding:16px 0}.contact-social:hover{border:0}.reader-menu{color:var(--ink)}
html[data-theme=dark] .tech-scrap img{filter:brightness(0) invert(1)}

}
@media(max-width:760px){.home-doors{width:calc(100% - 40px);padding-top:35px;padding-bottom:20px;gap:20px}.home-doors>a{min-height:155px;padding-top:20px}.home-doors h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){.scrap>span{transition:none}}

/* Cutouts signal keyboard focus with a glow, without a rectangular frame. */
.scrap:focus-visible,.memory-object:focus-visible,.speaker-object:focus-visible{outline:none;filter:drop-shadow(0 0 3px var(--accent))}
.memory-label{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--bg);color:var(--ink);font:11px Satoshi,sans-serif;padding:7px 10px;opacity:0;pointer-events:none}
.memory-object:hover .memory-label,.memory-object:focus-visible .memory-label{opacity:1}

/* All movable cutouts share an unframed, caption-free treatment. */
.scrap>span,.memory-label,.object-label,.sound-tooltip{display:none!important}
.scrap,.memory-object,.speaker-object{border:0;background-color:transparent;box-shadow:none;color:var(--ink)}
.scrap:focus-visible,.memory-object:focus-visible,.speaker-object:focus-visible{outline:none;filter:drop-shadow(0 0 3px var(--accent))}
/* Compact editorial links replace the three oversized homepage columns. */
.home-doors{display:block;max-width:1160px;width:calc(100% - 96px);padding:20px 0 0;border-bottom:0;margin:0 auto}
.home-doors>a{display:grid;grid-template-columns:32px minmax(0,1fr) 110px 24px;align-items:center;gap:24px;padding:30px 0;min-height:0;border-top:1px solid var(--line);text-decoration:none}
.home-doors .door-number{font:24px Caveat,cursive;color:var(--accent)}
.home-doors h2{font:500 clamp(22px,2.5vw,32px)/1.25 Ranade,Satoshi,sans-serif;letter-spacing:-.8px;margin:0 0 10px}
.home-doors p{font-size:14px;color:var(--muted);margin:0;line-height:1.6}
.home-doors .interest-cutout{position:static;width:100%;height:85px;object-fit:contain;object-position:center;filter:grayscale(1) drop-shadow(2px 3px 1px #00000015)}
.home-doors .door-arrow{font-size:24px;color:var(--accent)}
.home-doors>a:hover .interest-cutout{transform:translateY(-3px) rotate(-3deg)}
.home-doors>a:hover h2{color:var(--accent)}
.case-stack{gap:40px;padding-bottom:0}.stack-card,.stack-card:last-child{position:relative;top:auto;margin:0;box-shadow:none}
@media(max-width:900px){.home-doors{width:calc(100% - 64px)}}
@media(max-width:760px){.home-doors{width:calc(100% - 40px)}.home-doors>a{grid-template-columns:22px minmax(0,1fr) 65px;gap:14px;padding:24px 0}.home-doors .door-arrow{display:none}.home-doors .interest-cutout{height:65px}.home-doors h2{font-size:22px}.home-doors p{font-size:13px}.case-stack{gap:26px}.stack-card{opacity:1!important}}
@media(prefers-reduced-motion:reduce){.home-doors>a:hover .interest-cutout{transform:none}.stack-card{opacity:1!important}}

.memory-object .postage{border:0;outline:0;background:transparent;box-shadow:none;color:var(--ink)}

/* Homepage technology badges keep their paper backing and permanent names. */
.scrap.tech-scrap,.scrap.scrap-tiktok{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px;box-shadow:2px 3px 0 #0000000c;padding:8px 10px 22px;display:flex;align-items:center;justify-content:center}
.scrap>.badge-name{display:block!important;position:absolute;top:auto;bottom:4px;left:0;width:100%;transform:none;opacity:1;padding:0;background:transparent;color:var(--ink);font:10px/1.4 Satoshi,sans-serif;text-align:center;white-space:nowrap;transition:none}
.scrap.scrap-tiktok svg{width:38px;height:38px}
/* Restore the contact social cards and matching small footer links. */
.contact-social{border:1px solid var(--line);background:var(--bg);border-radius:5px;padding:20px 18px}.contact-social:hover{border:1px solid var(--accent);background:var(--bg)}
.site-footer .footer-profile{padding:9px 12px;border:1px solid var(--line);border-radius:5px;background:var(--bg)}
/* A light paper surface keeps each official logo legible in either theme. */
.brand-group li{background:#fffefa;border-radius:4px;margin-right:14px;height:105px;flex-direction:column;gap:7px}
.brand-group img,html[data-theme=dark] .brand-group img,html[data-theme=system] .brand-group img{filter:grayscale(1);opacity:1;mix-blend-mode:multiply;max-width:150px;height:58px}
.brand-group img:hover{filter:grayscale(1)}
.brand-group .brand-caption{font:11px Satoshi,sans-serif;color:#333;text-align:center}
.brand-heading .eyebrow{max-width:none}.brand-note{font-size:12px;color:var(--muted);margin:14px 0 0}
.brand-window{overflow-x:auto}.brand-group[aria-hidden=true]{display:none}
@media(max-width:650px){.contact-social{padding:16px 12px}.site-footer .footer-profile{padding:8px;gap:5px}.brand-group li{width:160px}.brand-group img{max-width:130px}}

/* Logo carousel: no user-visible horizontal scrollbar; two identical loops. */
.brand-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent);margin-top:22px}
.brand-track{animation:logo-loop 48s linear infinite;width:max-content}
.brand-group,.brand-group[aria-hidden=true]{display:flex;flex:none}
.brand-group li{width:190px;flex:none;margin-right:18px;padding:16px 18px}
.brand-group img{width:150px;max-width:150px;object-fit:contain}
.brand-heading{justify-content:space-between}.carousel-toggle{border:0;background:none;color:var(--muted);font:12px Satoshi,sans-serif;cursor:pointer;padding:8px 0}
/* Each sticky card is constrained to its own scroll step: no lingering stack. */
.case-stack{display:block;padding-bottom:0}
.case-step{position:relative;min-height:calc(100svh + 80px);padding-bottom:120px}
.case-step .stack-card{position:sticky;top:24px;min-height:0;height:auto;margin:0}
.case-step:last-child{min-height:0;padding-bottom:0}
/* One contained identity band, then one clear rule above the homepage links. */
.identity-band{border-bottom:0;padding:38px 0;max-width:1160px;width:calc(100% - 96px);margin:0 auto;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.identity-band .identity-group{font-size:clamp(25px,3.1vw,44px);letter-spacing:-.7px}
.identity-window{margin:8px 0}.home-doors{padding-top:0}
@media(max-width:900px),(max-height:760px){.case-stack{display:flex;gap:28px}.case-step{min-height:0;padding:0}.case-step .stack-card{position:relative;top:auto;opacity:1!important}}
@media(max-width:760px){.identity-band{width:calc(100% - 40px);padding:28px 0}.identity-band .identity-group{font-size:28px}.brand-group li{width:160px}.brand-group img{width:130px;max-width:130px}}
@media(prefers-reduced-motion:reduce){.brand-track{animation:none;width:100%}.brand-window{mask-image:none;overflow:visible}.brand-group{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px}.brand-group li{width:100%;margin:0}.brand-group[aria-hidden=true]{display:none}.carousel-toggle{display:none}.identity-band{mask-image:none}.identity-band .identity-group{flex-wrap:wrap;white-space:normal;font-size:26px}.case-step{min-height:0;padding-bottom:28px}.case-step .stack-card{position:relative;top:auto;opacity:1!important}}

/* People photographs only. Append to the end of public/site-polish.css. */
html body img:is([src*="/images/portrait-growth"], [src*="/images/engage/ademola-at-work-paper"], [src*="/images/contact/ademola-cutout"], [src*="/images/speaking-cutout"], [src*="/images/speaker-kit/"], [src*="/images/about/throwback-cutout"], [src*="/images/about/memories/"], [src*="/images/about/giving-back"], [src*="/images/about/movie-still"]) {
  --person-grayscale:1;
  filter:grayscale(var(--person-grayscale)) var(--person-shadow, drop-shadow(0 0 0 transparent))!important;
  transition:filter 350ms ease;
  pointer-events:auto;
}
html body img.contact-portrait{--person-shadow:drop-shadow(4px 6px 1px #00000015)}
html body img.speaker-portrait{--person-shadow:drop-shadow(7px 9px 0 #75614a12)}
html body img.fixed-portrait{--person-shadow:drop-shadow(3px 5px 0 #00000010)}
html body img:is([src*="/images/portrait-growth"], [src*="/images/engage/ademola-at-work-paper"], [src*="/images/contact/ademola-cutout"], [src*="/images/speaking-cutout"], [src*="/images/speaker-kit/"], [src*="/images/about/throwback-cutout"], [src*="/images/about/memories/"], [src*="/images/about/giving-back"], [src*="/images/about/movie-still"]):hover,
html body img:is([src*="/images/portrait-growth"], [src*="/images/engage/ademola-at-work-paper"], [src*="/images/contact/ademola-cutout"], [src*="/images/speaking-cutout"], [src*="/images/speaker-kit/"], [src*="/images/about/throwback-cutout"], [src*="/images/about/memories/"], [src*="/images/about/giving-back"], [src*="/images/about/movie-still"]):focus-visible,
html body :is(a,figure):focus-within img:is([src*="/images/portrait-growth"], [src*="/images/engage/ademola-at-work-paper"], [src*="/images/contact/ademola-cutout"], [src*="/images/speaking-cutout"], [src*="/images/speaker-kit/"], [src*="/images/about/throwback-cutout"], [src*="/images/about/memories/"], [src*="/images/about/giving-back"], [src*="/images/about/movie-still"]) {
  --person-grayscale:0;
}
@media(hover:none),(pointer:coarse){
  html body img:is([src*="/images/portrait-growth"], [src*="/images/engage/ademola-at-work-paper"], [src*="/images/contact/ademola-cutout"], [src*="/images/speaking-cutout"], [src*="/images/speaker-kit/"], [src*="/images/about/throwback-cutout"], [src*="/images/about/memories/"], [src*="/images/about/giving-back"], [src*="/images/about/movie-still"]){--person-grayscale:0}
}
@media(prefers-reduced-motion:reduce){
  html body img:is([src*="/images/portrait-growth"], [src*="/images/engage/ademola-at-work-paper"], [src*="/images/contact/ademola-cutout"], [src*="/images/speaking-cutout"], [src*="/images/speaker-kit/"], [src*="/images/about/throwback-cutout"], [src*="/images/about/memories/"], [src*="/images/about/giving-back"], [src*="/images/about/movie-still"]){transition:none}
}

