/* Allstars upgrade layer v0.2 – subtle polish on top of the 1:1 base (site.css) */
:root{--ease:cubic-bezier(.2,.7,.2,1);--sh1:0 1px 2px rgba(0,0,0,.06),0 4px 14px rgba(0,0,0,.06);--sh2:0 2px 4px rgba(0,0,0,.08),0 14px 30px rgba(0,0,0,.12)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-size:15px;line-height:1.75;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
p{margin:0 0 1.1em}
h1,h2,h3{letter-spacing:-.005em;line-height:1.3}
.lp-page h2{margin-bottom:.6em}.lp-page h3{margin:1.4em 0 .5em}
.lp-page ul{margin:0 0 1.2em}
/* buttons */
.lp-btn,.lp-banner a,.lp-pform button,.lp-hero a{transition:background-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.lp-btn:hover,.lp-banner a:hover,.lp-pform button:hover,.lp-hero a:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(219,49,43,.3);filter:brightness(1.06)}
.lp-btn:focus-visible,.lp-banner a:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #f5b5b2;outline-offset:2px}
.lp-more{transition:letter-spacing .2s,color .2s}.lp-more:hover{color:#a9221d;letter-spacing:.03em}
.lp-nav a{transition:background-color .2s}.lp-nav a:hover{background:rgba(0,0,0,.08)}
/* cards + image framing */
.lp-card{background:#fff;box-shadow:var(--sh1);border-radius:4px;overflow:hidden;padding-bottom:20px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.lp-card h3,.lp-card p,.lp-card .lp-more{margin-left:20px;margin-right:20px}.lp-card .lp-more{display:inline-block}
.lp-card:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.lp-card a:first-child{display:block;overflow:hidden}.lp-card img{transition:transform .6s var(--ease)}.lp-card:hover img{transform:scale(1.04)}
.lp-svcmain figure,.lp-gal a,.lp-grid2 figure{border-radius:4px;overflow:hidden;box-shadow:var(--sh1);display:block}
.lp-svcmain figure img,.lp-gal img,.lp-grid2 figure img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .6s var(--ease)}
.lp-gal a:hover img,.lp-svcmain figure:hover img{transform:scale(1.03)}
.lp-gal img{aspect-ratio:4/3}
figcaption{font-size:12px;text-transform:uppercase;letter-spacing:.12em;padding:8px 12px;background:#fff}
.lp-side{box-shadow:var(--sh1)}
details{transition:background .2s}details summary{cursor:pointer}
/* sticky shrinking header */
.lp-header.is-stuck{position:fixed;top:0;left:0;right:0;animation:lpdrop .35s var(--ease)}
.lp-header.is-stuck .lp-top{display:none}
.lp-header.is-stuck .lp-bar{height:64px;margin-bottom:0;max-width:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18))}
.lp-header.is-stuck .lp-logo img{height:56px}.lp-header.is-stuck .lp-nav a{height:64px}.lp-header.is-stuck .lp-nav a:after{bottom:12px}
.lp-bar,.lp-logo img,.lp-nav a{transition:height .3s var(--ease)}
@keyframes lpdrop{from{transform:translateY(-100%)}to{transform:none}}
body.admin-bar .lp-header.is-stuck{top:32px}
/* hero ken burns (slides only; text is untouched) */
.lp-slide.has-kb{background-image:none!important;overflow:hidden}.lp-slide:before{z-index:1}.lp-slide>div:not(.lp-kb){z-index:2}
.lp-slide>.lp-kb{position:absolute;inset:0;padding:0;background-size:cover;background-position:center;animation:lpkb 18s ease-in-out infinite alternate;will-change:transform}
@keyframes lpkb{from{transform:scale(1)}to{transform:scale(1.08) translate(-1%,-1%)}}
/* scroll reveal */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
/* mobile tap-to-call bar */
.lp-callbar{display:none}
@media(max-width:900px){
 .lp-callbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:50;box-shadow:0 -4px 14px rgba(0,0,0,.18);padding-bottom:env(safe-area-inset-bottom);background:#fff}
 .lp-callbar a{display:flex;align-items:center;justify-content:center;gap:8px;height:56px;font:700 15px Roboto,sans-serif;color:#fff;background:var(--red)}
 .lp-callbar a+a{background:#3a3a3a}.lp-callbar svg{width:18px;height:18px}
 body{padding-bottom:56px}
 .lp-header.is-stuck .lp-bar{height:56px}.lp-header.is-stuck .lp-logo img{height:48px}
 .lp-card h3{margin-top:18px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}.lp-slide:first-child{opacity:1}}
/* pipeline article layout */
.lp-article{max-width:860px}
.lp-article h2{font-size:24px;margin:1.6em 0 .6em}.lp-article h2:first-child{margin-top:0}
.lp-lead{font-size:17px;color:#555;border-left:3px solid var(--red);padding-left:18px}
.lp-toc{background:#f7f7f7;border-radius:4px;padding:18px 22px;margin:0 0 30px}.lp-toc ol{margin:8px 0 0;padding-left:20px}.lp-toc strong{color:var(--dark);font-family:'Roboto Slab',serif}
.lp-tablewrap{overflow-x:auto;margin:0 0 1.4em;box-shadow:var(--sh1);border-radius:4px}
.lp-table{border-collapse:collapse;width:100%;min-width:560px;background:#fff}.lp-table th,.lp-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.lp-table thead th{background:var(--dark);color:#fff;font-weight:700}.lp-table tbody th{color:var(--dark);white-space:nowrap}
.lp-card--text{padding:24px 0 22px}.lp-card--text h3{margin-top:0}.lp-card--text h3 a{color:var(--dark)}
.lp-article .lp-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.lp-related{margin-top:30px;padding-top:18px;border-top:1px solid var(--line)}
.lp-note{font-size:13px;color:#999;font-style:italic}
.lp-article .lp-banner{margin-top:30px}
