/* Shared design polish: spacing, keyboard feedback, and restrained motion. */
html{scroll-padding-top:100px}
.page-hero{padding-bottom:clamp(44px,5vw,68px)}
.sec{padding:clamp(56px,7vw,96px) 0}
.sec-head{gap:24px 40px;margin-bottom:clamp(28px,3.4vw,44px)}
.sec-head h2{margin-top:14px}.sec-head .h-section{font-size:clamp(30px,3.4vw,46px)}
.card{gap:18px;padding:28px 26px;min-height:215px}
.ind{gap:28px 40px;padding:clamp(40px,4.6vw,64px) 0}
.ind h2{font-size:clamp(27px,2.6vw,38px);line-height:1.12}
.cap-toggle::after{content:none}
.cap:focus-within::before{opacity:1}
.cap-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.nav-links a[aria-current="page"]{color:var(--text);background:#ffffff08;box-shadow:inset 0 -2px var(--accent)}
.card:focus-within .bar{width:100%}.card:focus-within .n{color:var(--accent)}
.card .glyph{transition:transform .4s var(--ease-out)}
.card:hover .glyph,.card:focus-within .glyph{transform:translateY(-3px)}
.card:focus-visible .more svg,.post:focus-visible .more svg{transform:translate(3px,-3px)}
.industry-case{transition:border-color .25s,background .25s}
.industry-case:hover,.industry-case:focus-within{border-color:var(--accent)}
.logo-button:focus-visible{border-color:#fa8190;outline-color:#fa8190}
.logo-mark img{transition:transform .25s ease-out}.logo-button:hover img,.logo-button:focus-visible img{transform:scale(1.035)}
@media(max-width:1050px){html{scroll-padding-top:140px}.two-col .sticky{top:140px}.ind,.industry-case,.capability-experience,[id^="case-"]{scroll-margin-top:140px}}
@media(max-width:900px){
 /* These templates include inline desktop column proportions. */
 .two-col[style*="grid-template-columns"],.page-hero .grid2[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .two-col{gap:28px}.two-col .sticky{position:static}
}
@media(max-width:650px){.sec{padding:42px 0}.page-hero{padding-top:150px;padding-bottom:40px}.sec-head{gap:15px;margin-bottom:25px}.card{padding:24px 22px;min-height:0}.ind{gap:24px;padding:36px 0}.ind h2{font-size:28px}.industry-choice,.logo-button{min-height:44px}.nav .nav-links a{min-height:36px;display:flex;align-items:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.card .glyph,.logo-mark img{transform:none!important;transition:none!important}}

/* Header clearance comes from scroll-padding, not an additional section offset. */
#trust,#capabilities{scroll-margin-top:12px}
.logo-mark.text-mark{height:100%;margin:0;padding:8px;font-size:12px}

/* Keep the mobile navigation swipeable without a native scrollbar track. */
.nav .wrap>nav::-webkit-scrollbar{display:none;width:0;height:0}
