/* CNP Pump Global: app-style mobile layer (phones and small tablets) */
:root{--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--tab-h:64px}
.tabbar{display:none}
@media(max-width:860px){
html{-webkit-text-size-adjust:100%;scroll-padding-top:76px}
body{padding-bottom:calc(var(--tab-h) + var(--safe-b) + 14px);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
section{padding:40px 0}
h1{font-size:clamp(30px,9vw,42px)!important;line-height:1.08}h2{font-size:clamp(24px,7vw,32px)!important;line-height:1.15}
.container{width:min(1180px,calc(100vw - 32px))}
/* header */
.nav{padding-top:var(--safe-t)}.nav-inner{padding:10px 0}
.nav-actions .btn{display:none}.theme-toggle,.hamb{min-width:44px;min-height:44px;display:grid;place-items:center;padding:0}
.links{inset:calc(66px + var(--safe-t)) 12px auto 12px;max-height:calc(100dvh - 160px);overflow:auto;box-shadow:var(--shadow)}
.links a{padding:12px 8px;min-height:44px;display:flex;align-items:center}
/* hero */
.hero{height:auto!important;min-height:min(560px,78svh);aspect-ratio:auto;display:flex;align-items:flex-end}
.subhero{min-height:300px!important;max-height:none}
.slide{background:linear-gradient(135deg,#0b2a52,#0a6f7d)}.slide img{color:transparent;font-size:0}
.hero-content{position:relative;width:100%;padding:34px 0 30px}
.hero-content p{font-size:16px}
.kicker{font-size:12px;padding:7px 12px}
.hero-cta{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}.hero-cta .btn{text-align:center;padding:15px 18px;min-height:50px}
/* cards: swipe-friendly, full-width */
.grid{gap:14px}.card{border-radius:22px}.card.media-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:linear-gradient(135deg,#dfeaf7,#cfeee9)}
.card .body{padding:18px}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.stat{padding:16px}
.marquee .track{animation-duration:26s}
/* forms: 16px stops iOS zoom */
input,select,textarea{font-size:16px!important;min-height:48px;border-radius:14px}textarea{min-height:120px}
/* footer */
.footer{padding-bottom:calc(var(--tab-h) + var(--safe-b) + 20px)}.footer .grid{gap:22px}
/* floating buttons above the tab bar */
.float-wa{right:14px;bottom:calc(var(--tab-h) + var(--safe-b) + 16px);width:52px;height:52px;border-radius:18px;font-size:22px}
.ai-fab{right:14px!important;bottom:calc(var(--tab-h) + var(--safe-b) + 78px)!important;width:52px;height:52px;border-radius:18px}
.ai-panel{max-height:70dvh}
/* bottom tab bar */
.tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:10px;right:10px;bottom:calc(8px + var(--safe-b));z-index:80;height:var(--tab-h);background:var(--header);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 40px rgba(8,30,55,.22);padding:6px}
.tabbar a,.tabbar button{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:18px;font-size:11px;font-weight:800;color:var(--muted);cursor:pointer;min-height:48px}
.tabbar svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tabbar .on{color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}
.tabbar .cta{color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2))}
.tabbar a:active,.tabbar button:active{transform:scale(.94)}
.reveal{transition-duration:.45s}
}
@media(max-width:380px){.tabbar a,.tabbar button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.marquee .track{animation:none}.slide{transition:none}}
