/* Infront Webworks 2027 — single stylesheet, no framework.  Brand: blue #005CB9 / #3A88D8, orange #FD732F, text #303030 */
:root{
  --blue:#005cb9;--blue-600:#004c99;--blue-400:#3a88d8;--blue-100:#e6f0fa;--blue-50:#f3f8fd;
  --navy:#0b1f3a;--navy-800:#122b4d;
  --orange:#fd732f;--orange-600:#e8601f;--amber:#ff9600;
  --ink:#303030;--ink-600:#4a4f57;--muted:#6b7280;--line:#e5e9ef;--bg:#ffffff;--bg-soft:#f6f8fb;
  --radius:14px;--radius-sm:8px;--shadow:0 10px 30px rgba(11,31,58,.08);--shadow-lg:0 24px 60px rgba(11,31,58,.14);
  --font:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --container:1200px;--gutter:clamp(16px,4vw,32px);
  --fs-xs:.8125rem;--fs-sm:.9375rem;--fs-md:1.0625rem;--fs-lg:1.25rem;
  --h1:clamp(2.1rem,4.6vw,3.6rem);--h2:clamp(1.65rem,3.2vw,2.5rem);--h3:1.25rem;
}
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-300.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-400.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-600.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-700.woff2) format('woff2')}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;font-family:var(--font);font-size:var(--fs-md);line-height:1.7;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img,svg,video,picture{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-600)}
h1,h2,h3,h4{margin:0 0 .5em;line-height:1.15;font-weight:700;color:var(--navy);letter-spacing:-.01em}
h1{font-size:var(--h1);letter-spacing:-.025em}h2{font-size:var(--h2)}h3{font-size:var(--h3)}
p{margin:0 0 1.1em}ul,ol{margin:0;padding:0;list-style:none}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(56px,8vw,104px)}
.section-soft{background:var(--bg-soft)}
.section-navy{background:var(--navy);color:#dbe4f0}.section-navy h2,.section-navy h3{color:#fff}
.eyebrow{display:inline-block;font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.lead{font-size:var(--fs-lg);font-weight:300;color:var(--ink-600);max-width:62ch}
.center{text-align:center}.center .lead{margin-inline:auto}
.section-head{max-width:760px;margin:0 auto 48px}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);z-index:1000}.skip-link:focus{left:8px}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:var(--fs-sm);line-height:1;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 8px 20px rgba(253,115,47,.32)}.btn-primary:hover{background:var(--orange-600);color:#fff}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(0,92,185,.28)}.btn-blue:hover{background:var(--blue-600);color:#fff}
.btn-outline{border-color:var(--blue);color:var(--blue);background:#fff}.btn-outline:hover{background:var(--blue-50)}
.btn-light{background:#fff;color:var(--navy)}.btn-light:hover{color:var(--blue)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.btn-sm{padding:11px 20px;font-size:var(--fs-xs)}.btn-lg{padding:17px 34px;font-size:var(--fs-md)}.btn-block{width:100%}
.btn .arrow{transition:transform .15s}.btn:hover .arrow{transform:translateX(3px)}

/* Top bar */
.topbar{background:var(--navy);color:#dbe4f0;font-size:var(--fs-xs);font-weight:500}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}
.topbar-left{display:inline-flex;align-items:center;gap:8px}.topbar-left svg{color:var(--amber)}
.topbar-phone{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600}.topbar-phone:hover{color:var(--amber)}.topbar-phone svg{color:var(--amber)}
@media (max-width:479px){.topbar-label{display:none}.topbar{font-size:.75rem}}

/* Header */
.site-header{position:sticky;top:-38px;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .25s ease}
.site-header.scrolled{box-shadow:0 10px 30px rgba(11,31,58,.10)}
.header-inner{transition:min-height .25s}.site-header.scrolled .header-inner{min-height:64px}.site-header.scrolled .brand img{transform:scale(.9);transform-origin:left center}
.header-inner{display:flex;align-items:center;gap:24px;min-height:76px}
.brand img{width:218px;height:auto;transition:transform .2s}.brand:hover img{transform:scale(1.02)}
.main-nav{margin-left:auto;display:none}
.nav-list{display:flex;gap:2px}
.nav-link{position:relative;display:flex;align-items:center;gap:6px;padding:12px 14px;border-radius:10px;font-weight:600;font-size:var(--fs-sm);color:var(--navy);transition:color .15s,background .15s}
.nav-link::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.nav-item:hover>.nav-link,.nav-item.is-open>.nav-link,.nav-item:focus-within>.nav-link,.nav-item:has(.mega:hover)>.nav-link{color:var(--blue)}
.nav-item:hover>.nav-link::after,.nav-item.is-open>.nav-link::after,.nav-item.is-active>.nav-link::after,.nav-item:focus-within>.nav-link::after{transform:scaleX(1)}
.nav-item.has-menu>.nav-link::before{content:"";position:absolute;left:-8px;right:-8px;top:100%;height:26px}
.nav-link .chev{opacity:.6;transition:transform .25s,opacity .15s}
.nav-item:hover>.nav-link .chev,.nav-item.is-open>.nav-link .chev,.nav-item:focus-within>.nav-link .chev{transform:rotate(180deg);opacity:1}
.header-cta{display:flex;align-items:center;gap:14px;margin-left:auto}
.header-cta .btn-primary{background:linear-gradient(135deg,var(--orange),var(--amber));box-shadow:0 8px 20px rgba(253,115,47,.28)}
.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:0;background:transparent;cursor:pointer;border-radius:8px}
.nav-toggle span{display:block;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Mega menu */
.nav-item.has-menu{position:static}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 30px 60px rgba(11,31,58,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .18s ease .25s,transform .18s cubic-bezier(.2,.8,.2,1) .25s,visibility 0s linear .43s;border-top:1px solid var(--line)}
.mega::before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:linear-gradient(90deg,var(--blue),var(--blue-400) 55%,var(--orange))}
.nav-item.has-menu:hover>.mega,.nav-item.is-open>.mega,.nav-item.has-menu:focus-within>.mega{opacity:1;visibility:visible;transform:none;transition-delay:0s,0s,0s}
.mega-inner{max-width:var(--container);margin:0 auto;padding:28px var(--gutter) 32px;display:grid;grid-template-columns:280px 1fr;gap:36px}
.mega-feature{position:relative;border-radius:16px;padding:22px;background:linear-gradient(160deg,var(--blue-50),#fff 60%,#fff5ef);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px;overflow:hidden}
.mega-feature img{width:100%;max-height:150px;object-fit:contain;margin:0 0 6px;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.nav-item:hover .mega-feature img{transform:translateY(-4px) scale(1.03)}
.mega-feature-title{font-weight:700;color:var(--navy);font-size:1.1rem;margin:0}
.mega-feature-text{font-size:var(--fs-xs);color:var(--ink-600);margin:0;line-height:1.55}
.mega-cta{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-weight:600;font-size:var(--fs-xs);color:var(--blue)}
.mega-cta svg{transition:transform .15s}.mega-cta:hover svg{transform:translateX(3px)}
.mega-cols{display:grid;gap:28px}
.mega-cols.cols-2{grid-template-columns:repeat(2,1fr)}.mega-cols.cols-3{grid-template-columns:repeat(3,1fr)}
.mega-col{opacity:0;transform:translateY(8px)}
.nav-item.has-menu:hover .mega-col,.nav-item.is-open .mega-col,.nav-item.has-menu:focus-within .mega-col{animation:col-in .35s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.05s + var(--i) * .06s)}
@keyframes col-in{to{opacity:1;transform:none}}
.mega-title{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--navy);font-size:var(--fs-md);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mega-title:hover{color:var(--blue)}
.mega-ico{width:36px;height:36px;border-radius:10px;background:var(--blue-50);display:grid;place-items:center;flex:none;transition:background .15s,transform .15s}
.mega-title:hover .mega-ico{background:var(--blue-100);transform:rotate(-6deg)}
.mega-col li a{position:relative;display:block;padding:6px 0 6px 14px;color:var(--ink-600);font-size:var(--fs-sm);transition:color .15s,padding-left .15s}
.mega-col li a::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--orange);opacity:0;transform:scale(.4);transition:opacity .15s,transform .15s}
.mega-col li a:hover{color:var(--blue);padding-left:18px}.mega-col li a:hover::before{opacity:1;transform:scale(1)}
.mega-col ul:has(li:nth-child(10)){columns:2;column-gap:24px}
.mega-col ul:has(li:nth-child(10)) li{break-inside:avoid}
/* Mobile nav */
.mobile-nav{position:fixed;inset:0;z-index:120;display:flex;flex-direction:column;background:#fff;animation:drawer-in .25s ease}
.mobile-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex:0 0 auto;border-bottom:1px solid var(--line)}
.nav-close{display:grid;place-items:center;width:44px;height:44px;margin-right:-10px;border:0;border-radius:8px;background:transparent;color:var(--navy);cursor:pointer}
.mobile-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px var(--gutter) calc(32px + env(safe-area-inset-bottom))}
@keyframes drawer-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mobile-nav[hidden]{display:none}
.mobile-list>li{border-bottom:1px solid var(--line)}
.mobile-row{display:flex;align-items:center;justify-content:space-between}
.mobile-row>a{flex:1;padding:16px 0;font-weight:600;color:var(--navy);font-size:1.05rem}
.acc-toggle{width:44px;height:44px;border:0;background:transparent;color:var(--navy);display:grid;place-items:center;border-radius:8px}
.acc-toggle svg{transition:transform .2s}.acc-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.acc-panel{padding:0 0 14px 4px;animation:drawer-in .2s ease}.acc-panel[hidden]{display:none}
.acc-intro{font-size:var(--fs-xs);color:var(--muted);margin:0 0 10px;line-height:1.5}
.acc-group{margin:12px 0 4px;font-weight:600;font-size:var(--fs-sm)}.acc-group a{color:var(--navy);display:inline-flex;align-items:center;gap:8px}
.acc-group img{width:20px;height:20px}
.acc-panel ul li a{display:block;padding:7px 0 7px 14px;margin-left:9px;color:var(--ink-600);font-size:var(--fs-sm);border-left:2px solid var(--line)}
.acc-panel ul li a:hover{color:var(--blue);border-left-color:var(--blue-400)}
.mobile-cta{display:grid;gap:10px;padding-top:20px}
html.nav-open,body.nav-open{overflow:hidden}body.nav-open{touch-action:none}.mobile-scroll{touch-action:pan-y}
@media (min-width:1024px){.main-nav{display:block}.nav-toggle,.mobile-nav{display:none!important}}
@media (max-width:1279px){.mega-inner{grid-template-columns:240px 1fr;gap:28px}}
@media (max-width:1023px){.brand img{width:190px}.header-inner{min-height:68px}}
@media (max-width:479px){.header-cta .btn{display:none}.brand img{width:170px}}
@media (prefers-reduced-motion:reduce){.mega-col{opacity:1;transform:none;animation:none!important}.mobile-nav,.acc-panel{animation:none}}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#f3f8fd 0%,#fff 70%)}
.hero{background-image:radial-gradient(rgba(0,92,185,.10) 1px,transparent 1px);background-size:22px 22px}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:url(../img/mountains.svg) bottom/100% 100% no-repeat;pointer-events:none}
.hero-inner{position:relative;z-index:1}
.hero .btn-primary{animation:cta-glow 2.8s ease-in-out infinite}
@keyframes cta-glow{0%,100%{box-shadow:0 8px 20px rgba(253,115,47,.32)}50%{box-shadow:0 8px 34px rgba(253,115,47,.6)}}
.hero::before{content:"";position:absolute;inset:auto -20% -40% auto;width:60vw;height:60vw;max-width:820px;max-height:820px;border-radius:50%;background:radial-gradient(closest-side,rgba(58,136,216,.14),rgba(58,136,216,0));pointer-events:none}
.hero-inner{display:grid;gap:40px;align-items:center;padding-block:clamp(40px,7vw,96px)}
.hero h1{margin-bottom:18px}
.hero h1 .accent{color:var(--blue)}
.hero .lead{margin-bottom:28px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}
.hero-proof{display:flex;flex-wrap:wrap;gap:18px 28px;color:var(--ink-600);font-size:var(--fs-sm);font-weight:500}
.hero-proof li{display:flex;align-items:center;gap:8px}
.hero-proof svg{flex:none;color:var(--orange)}
.stars{color:var(--amber);letter-spacing:1px;font-size:1rem}
.hero-art{position:relative;padding:12px 0 28px}
@media (min-width:900px){.hero-inner{grid-template-columns:1.05fr 1fr;gap:56px}.hero-art{padding:24px 24px 44px 12px}}

/* Hero dashboard */
.dash{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 22px 14px;box-shadow:var(--shadow-lg);animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.dash-head{display:flex;align-items:center;gap:10px;font-size:var(--fs-xs);font-weight:600;color:var(--navy);margin-bottom:16px}
.dash-dot{width:10px;height:10px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 0 rgba(34,160,107,.5);animation:dash-ping 2s infinite}
.dash-pill{margin-left:auto;background:var(--blue-50);color:var(--blue-600);padding:4px 10px;border-radius:999px;font-weight:500}
.dash-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.kpi{background:var(--bg-soft);border-radius:12px;padding:12px 12px 10px;min-width:0}
.kpi small{display:block;font-size:.7rem;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi strong{display:block;font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.15;color:var(--navy);letter-spacing:-.02em;margin:2px 0}
.kpi:first-child strong{color:#22a06b}.kpi:nth-child(2) strong{color:var(--blue)}.kpi:nth-child(3) strong{color:var(--orange)}
.kpi em{font-style:normal;font-size:.68rem;color:var(--muted)}
.dash-chart{width:100%;height:auto;display:block}
.js .dash-chart .bar{transform:scaleY(0);animation:bar-grow .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.3s + var(--d))}
.js .dash-chart .line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:line-draw 2.2s cubic-bezier(.4,0,.2,1) forwards .6s}
.js .dash-chart .area{opacity:0;animation:fade-in 1s ease forwards 2.2s}
.js .dash-chart .dot{opacity:0;animation:fade-in .4s ease forwards 2.6s}
.js .dash-chart .dot-pulse{opacity:0;transform-origin:center;transform-box:fill-box;animation:dot-pulse 2s ease-out infinite 2.8s}
.dash-float{position:absolute;display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-lg);border:1px solid var(--line);font-size:var(--fs-xs);color:var(--muted)}
.dash-float small{display:block;font-size:.7rem;font-weight:500}
.dash-float strong{display:flex;align-items:center;gap:6px;color:var(--navy);font-size:1.05rem;line-height:1.2;white-space:nowrap}
.dash-float.rank{left:-18px;bottom:-26px;animation:float-a 6s ease-in-out infinite,dash-in .8s .9s cubic-bezier(.2,.8,.2,1) both}
.dash-float.speed{right:-18px;top:-22px;animation:float-b 7s ease-in-out infinite,dash-in .8s 1.2s cubic-bezier(.2,.8,.2,1) both}
.rank-from{color:var(--muted);text-decoration:line-through;font-weight:500}.rank-to{color:var(--orange)}
.g-logo{width:34px;height:34px;border-radius:50%;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;font-weight:700;font-size:1.1rem;flex:none}
.js .ring{stroke-dasharray:0 100;animation:ring-fill 1.6s cubic-bezier(.2,.8,.2,1) forwards 1.4s}
@keyframes bar-grow{to{transform:scaleY(1)}}
@keyframes line-draw{to{stroke-dashoffset:0}}
@keyframes fade-in{to{opacity:1}}
@keyframes dot-pulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
@keyframes ring-fill{to{stroke-dasharray:98 100}}
@keyframes dash-in{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes dash-ping{0%{box-shadow:0 0 0 0 rgba(34,160,107,.5)}70%{box-shadow:0 0 0 8px rgba(34,160,107,0)}100%{box-shadow:0 0 0 0 rgba(34,160,107,0)}}
@keyframes float-a{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes float-b{0%,100%{translate:0 0}50%{translate:0 8px}}
@media (max-width:899px){.dash{padding:16px 14px 10px}.dash-float.rank{left:4px;bottom:-22px}.dash-float.speed{right:4px;top:-18px}}
@media (max-width:479px){.dash-float.speed{display:none}.dash-float.rank{left:16px;right:16px;bottom:-24px;justify-content:center}}
@media (prefers-reduced-motion:reduce){.js .dash-chart .bar{transform:none;animation:none}.js .dash-chart .line{stroke-dashoffset:0;animation:none}.js .dash-chart .area,.js .dash-chart .dot{opacity:1;animation:none}.js .dash-chart .dot-pulse{display:none}.js .ring{stroke-dasharray:98 100;animation:none}.dash,.dash-float{animation:none}}

/* Client ticker */
.ticker{position:relative;z-index:1;padding:8px 0 36px}
.ticker-label{text-align:center;font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.ticker-track{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.ticker-row{display:flex;gap:56px;width:max-content;animation:ticker 48s linear infinite}
.ticker:hover .ticker-row{animation-play-state:paused}
.ticker-row li{display:flex;align-items:center;height:44px;flex:none}
.ticker-row img{height:40px;width:auto;filter:grayscale(1);opacity:.7}
.ticker-row .wordmark{font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:#8b95a5;white-space:nowrap}
@keyframes ticker{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-row{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.ticker-track{mask-image:none;-webkit-mask-image:none}}

/* Trust strip */
.trust{padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.trust-inner{display:flex;align-items:center;gap:24px 40px;flex-wrap:wrap;justify-content:center}
.trust-label{font-size:var(--fs-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.trust-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 36px}
.trust-logos img{height:52px;width:auto;filter:grayscale(1);opacity:.8;transition:filter .2s,opacity .2s}
.trust-logos img:hover{filter:none;opacity:1}

/* Services grid */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 1px 2px rgba(11,31,58,.04);transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--blue-100)}
.service-card:hover{background:linear-gradient(160deg,#fff,var(--blue-50))}
.service-card:hover .icon-box{background:var(--blue);transform:translateY(-3px)}.service-card:hover .icon-box img{filter:brightness(0) invert(1)}
.icon-box{transition:background .2s,transform .2s}
.bento{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media (min-width:900px){.bento{grid-template-columns:repeat(4,1fr)}.bento .feature{grid-column:span 2;display:grid;grid-template-columns:1fr 150px;gap:20px;align-items:center}.bento .feature .feat-art{order:2}}
.bento .feature{background:linear-gradient(160deg,#fff,var(--blue-50));border-color:var(--blue-100)}
.bento .feature h3{font-size:1.35rem}.bento .feature .feat-art img{width:100%;max-height:170px;object-fit:contain}
@media (max-width:899px){.bento .feature .feat-art{display:none}}
.card h3{font-size:1.15rem;margin:16px 0 8px}
.card p{font-size:var(--fs-sm);color:var(--ink-600);margin-bottom:14px}
.card .more{font-weight:600;font-size:var(--fs-sm);display:inline-flex;align-items:center;gap:6px}
.card .more::after{content:"→";transition:transform .15s}.card:hover .more::after{transform:translateX(4px)}
.card-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.icon-box{width:64px;height:64px;border-radius:16px;background:var(--blue-50);display:grid;place-items:center;padding:12px}
.icon-box img{width:100%;height:100%;object-fit:contain}

/* Split feature */
.split{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px}.split.reverse>:first-child{order:2}}
.split h2{margin-bottom:16px}
.checks{display:grid;gap:12px;margin:20px 0 28px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:var(--fs-sm);color:var(--ink-600)}
.checks svg{flex:none;margin-top:4px;color:var(--blue)}
.checks strong{color:var(--navy)}
.cta-band .checks svg{color:#ffd9c4}.cta-band .checks strong{color:#fff}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media (min-width:720px){.stats{grid-template-columns:repeat(4,1fr)}}
.stat{position:relative;overflow:hidden;text-align:center;padding:28px 16px;border-radius:var(--radius);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.stat strong{display:block;font-size:clamp(2rem,4vw,2.9rem);font-weight:700;color:#fff;line-height:1.1;letter-spacing:-.02em}
.stat strong span{color:var(--amber)}
.stat small{display:block;margin-top:8px;font-size:var(--fs-sm);color:#aebbd0;position:relative}
.stat strong{position:relative}
.stat .spark{position:absolute;left:0;right:0;bottom:0;height:46%;width:100%;opacity:.35}

/* Case studies */
.cs-card{display:flex;flex-direction:column;overflow:hidden;padding:0}
.cs-spark{height:72px;background:linear-gradient(180deg,var(--blue-50),#fff)}.cs-spark svg{width:100%;height:100%;display:block}
.cs-top{padding:20px 28px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.tag{display:inline-block;font-size:var(--fs-xs);font-weight:600;padding:5px 11px;border-radius:999px;background:var(--blue-100);color:var(--blue-600)}
.cs-metric{padding:16px 28px 0}
.cs-metric strong{display:block;font-size:clamp(2.4rem,4vw,3.2rem);font-weight:700;color:var(--blue);line-height:1;letter-spacing:-.02em}
.cs-metric span{display:block;color:var(--ink-600);font-size:var(--fs-sm);margin-top:6px}
.cs-card h3{padding:0 28px;margin-top:18px}
.cs-card p{padding:0 28px}
.cs-card .more{padding:0 28px 28px;margin-top:auto}

/* Section dividers */
.wave{display:block;width:100%;height:60px;line-height:0;margin-bottom:-1px;position:relative;z-index:1}.wave svg{width:100%;height:100%;display:block}
.section-navy .wave-top{margin-top:-60px}

/* Reviews carousel */
.rating-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;margin-bottom:28px;font-weight:600;color:var(--navy)}
.rating-head .stars{font-size:1.4rem}.rating-head .g{font-weight:700;color:var(--blue)}
.carousel{position:relative}
.carousel-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 14px;-webkit-overflow-scrolling:touch}
.carousel-track::-webkit-scrollbar{display:none}
.review{flex:0 0 min(86%,380px);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 1px 2px rgba(11,31,58,.04);display:flex;flex-direction:column}
.review .stars{font-size:1rem;margin-bottom:10px}
.review p{font-size:var(--fs-sm);color:var(--ink-600);flex:1}
.review footer{display:flex;align-items:center;gap:10px;font-size:var(--fs-xs);color:var(--muted)}
.review footer strong{display:block;color:var(--navy);font-size:var(--fs-sm)}
.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-400));color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.carousel-nav{display:flex;justify-content:center;gap:10px;margin-top:8px}
.carousel-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}
.carousel-nav button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}

/* Before / after slider */
.ba{position:relative;aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);user-select:none;background:#eef2f7}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba .ba-before{clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.ba .ba-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(11,31,58,.15);pointer-events:none}
.ba .ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#fff;box-shadow:var(--shadow-lg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1f3a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7l-5 5 5 5M16 7l5 5-5 5'/%3E%3C/svg%3E");background-size:22px;background-position:center;background-repeat:no-repeat}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba-tag{position:absolute;top:14px;padding:5px 11px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;color:#fff;background:rgba(11,31,58,.75);pointer-events:none}
.ba-tag.l{left:14px}.ba-tag.r{right:14px;background:var(--orange)}

/* Sticky mobile CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;grid-template-columns:1fr 1fr;gap:10px;padding:10px var(--gutter);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(11,31,58,.12);transform:translateY(110%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.sticky-cta.show{transform:none}
@media (max-width:1023px){.sticky-cta{display:grid}body{padding-bottom:0}}

/* Audit strip */
.audit-strip{background:linear-gradient(90deg,var(--navy-800),var(--navy));color:#dbe4f0;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.audit-inner{display:grid;gap:18px;align-items:center}
@media (min-width:900px){.audit-inner{grid-template-columns:1.1fr 1fr}}
.audit-strip h2{color:#fff;font-size:1.35rem;margin:0 0 4px}.audit-strip p{margin:0;font-size:var(--fs-sm);color:#aebbd0}
.audit-form{display:grid;gap:10px;grid-template-columns:1fr}
@media (min-width:560px){.audit-form{grid-template-columns:1fr 1fr auto}}
.audit-form input{font:inherit;font-size:var(--fs-sm);padding:13px 14px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff}
.audit-form input::placeholder{color:#8fa1ba}.audit-form input:focus{outline:none;border-color:var(--blue-400);background:rgba(255,255,255,.12)}
.audit-form .form-msg{grid-column:1/-1;margin:0}

/* Process steps */
.steps{display:grid;gap:22px;counter-reset:step}
@media (min-width:720px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{position:relative;padding:28px 24px 24px;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);display:inline-block;font-weight:700;color:var(--orange);font-size:.95rem;letter-spacing:.08em;margin-bottom:10px}
.step h3{font-size:1.05rem;margin-bottom:8px}.step p{font-size:var(--fs-sm);color:var(--ink-600);margin:0}

/* Video / testimonial */
.testimonial{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.testimonial{grid-template-columns:1fr 1.1fr;gap:64px}}
.video-facade{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:16/9;background:var(--navy)}
.video-facade img{width:100%;height:100%;object-fit:cover;opacity:.92}
.video-facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;background:var(--orange);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px rgba(253,115,47,.45);transition:transform .15s}
.play:hover{transform:scale(1.06)}
.quote{font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.5;color:var(--navy);font-weight:500;margin:0 0 18px}
.quote::before{content:"\201C";color:var(--orange);font-size:3rem;line-height:0;vertical-align:-18px;margin-right:4px}
.cite{display:flex;align-items:center;gap:12px;font-size:var(--fs-sm);color:var(--ink-600)}.cite strong{color:var(--navy);display:block}

/* Locations */
.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.chip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:500;font-size:var(--fs-sm);transition:border-color .15s,color .15s,transform .15s}
.chip:hover{border-color:var(--blue-400);color:var(--blue);transform:translateY(-2px)}
.chip svg{color:var(--orange)}

/* Blog cards */
.post-meta{font-size:var(--fs-xs);color:var(--muted);margin-bottom:10px}

/* CTA band + form */
.cta-band{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-400) 100%);color:#fff;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-10%;top:-40%;width:50vw;height:50vw;max-width:700px;max-height:700px;border-radius:50%;background:rgba(255,255,255,.08)}
.cta-band h2{color:#fff}.cta-band .lead{color:#dbeafe}
.cta-inner{position:relative;display:grid;gap:40px;align-items:center}
@media (min-width:900px){.cta-inner{grid-template-columns:1fr 1fr;gap:64px}}
.form-card{background:#fff;border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-lg);color:var(--ink)}
.form-card h3{margin-bottom:4px}.form-card .form-note{font-size:var(--fs-sm);color:var(--muted);margin-bottom:18px}
.field{display:grid;gap:6px;margin-bottom:14px}
.field label{font-size:var(--fs-xs);font-weight:600;color:var(--navy)}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:var(--fs-sm);padding:12px 14px;border:1px solid #cfd6e0;border-radius:var(--radius-sm);background:#fff;color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--blue-400);box-shadow:0 0 0 3px rgba(58,136,216,.2)}
.field-row{display:grid;gap:14px}@media (min-width:560px){.field-row{grid-template-columns:1fr 1fr}}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.form-msg{margin-top:12px;font-size:var(--fs-sm);font-weight:500}.form-msg.ok{color:#1a7f37}.form-msg.err{color:#b42318}
.form-privacy{font-size:var(--fs-xs);color:var(--muted);margin:10px 0 0}

/* Footer */
.site-footer{background:var(--navy) url(../img/topo.svg) center/400px repeat;color:#c4d0e0;padding:64px 0 28px;font-size:var(--fs-sm)}
.site-footer a{color:#c4d0e0}.site-footer a:hover{color:#fff}
.footer-grid{display:grid;gap:36px;margin-bottom:44px}
@media (min-width:720px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}}
.footer-logo{width:200px;margin-bottom:16px}
.footer-brand p{max-width:40ch}
.site-footer address{font-style:normal;margin-bottom:12px;color:#e7edf5}
.footer-contact li{margin-bottom:4px}
.footer-heading{font-size:.95rem;color:#fff;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px}.footer-heading a{color:#fff}
.footer-col li{margin-bottom:8px}
.social{display:flex;gap:10px;margin-top:18px}
.social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center}
.social a:hover{background:var(--blue)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;font-size:var(--fs-xs)}
.footer-bottom p{margin:0}
.footer-legal{display:flex;flex-wrap:wrap;gap:8px 18px}

/* Reveal animation (progressive enhancement) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ===== Inner pages ===== */
/* Page hero */
.page-hero{position:relative;padding:36px 0 56px;background:linear-gradient(180deg,#fff 0%,var(--bg-soft) 100%);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(0,92,185,.14) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000 10%,transparent 90%);-webkit-mask-image:linear-gradient(180deg,#000 10%,transparent 90%);pointer-events:none}
.page-hero>.container{position:relative}
.page-hero h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 18px;max-width:22ch}
.page-hero .lead{margin-bottom:26px}
.page-hero .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.page-hero-inner{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.page-hero-inner.has-aside{grid-template-columns:1.25fr 1fr;gap:56px}}
.page-hero-aside{position:relative;isolation:isolate}
.page-hero-aside .hero-photo{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:hero-photo-in .8s cubic-bezier(.2,.7,.2,1) both}
.page-hero-aside::after{content:"";position:absolute;right:-18px;bottom:-18px;width:60%;height:60%;border-radius:var(--radius);background:linear-gradient(135deg,var(--blue),var(--blue-400));opacity:.18;z-index:-1}
.hero-member .page-hero-aside .hero-photo{aspect-ratio:3/2;object-fit:cover}
@keyframes hero-photo-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.crumbs{margin-bottom:28px;font-size:var(--fs-xs)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted)}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--line);font-weight:400}
.crumbs a{color:var(--ink-600)}.crumbs a:hover{color:var(--blue)}
.crumbs [aria-current]{color:var(--navy);font-weight:600}

/* Facts strip */
.facts-strip{padding:0;margin-top:-28px;position:relative;z-index:2}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
@media (min-width:720px){.facts{grid-template-columns:repeat(4,1fr)}}
.fact{background:#fff;text-align:center;padding:26px 16px}
.fact strong{display:block;font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;color:var(--blue);letter-spacing:-.02em;line-height:1.1}
.fact small{display:block;margin-top:6px;font-size:var(--fs-sm);color:var(--ink-600)}
.facts-compact{box-shadow:none}.facts-compact .fact{padding:18px 12px}.facts-compact .fact strong{font-size:1.5rem}

/* Timeline */
.timeline{position:relative;display:grid;gap:28px;counter-reset:none}
@media (min-width:900px){.timeline{grid-template-columns:repeat(3,1fr);gap:44px 32px}}
@media (min-width:1100px){.timeline{grid-template-columns:repeat(6,1fr);gap:0 18px}.timeline::before{content:"";position:absolute;left:0;right:0;top:9px;height:2px;background:linear-gradient(90deg,var(--blue-100),var(--blue),var(--orange));border-radius:2px}}
.tl-item{position:relative;padding:34px 0 0;transition-delay:calc(var(--i,0)*90ms)}
.tl-item::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--blue);box-shadow:0 0 0 6px var(--bg-soft)}
.tl-item:last-child::before{border-color:var(--orange)}
.tl-year{display:inline-block;font-weight:700;color:var(--blue);font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.tl-item:last-child .tl-year{color:var(--orange)}
.tl-item h3{font-size:1.05rem;margin:0 0 8px}
.tl-item p{font-size:var(--fs-sm);color:var(--ink-600);margin:0}
@media (max-width:1099px){.timeline::after{content:"";position:absolute;left:9px;top:10px;bottom:10px;width:2px;background:var(--blue-100)}.tl-item{padding:0 0 0 40px}.tl-item::before{top:2px}}

/* Award wall */
.award-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.award{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px;display:grid;place-items:center;min-height:110px;transition:transform .2s,box-shadow .2s}
.award:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.award img{max-width:100%;max-height:70px;width:auto;height:auto;object-fit:contain}
.award:first-child{grid-column:span 2}
.award-list{display:grid;gap:12px;max-width:820px;margin:0 auto}
.award-list li{display:flex;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 20px;transition-delay:calc(var(--i,0)*60ms)}
.award-year{flex:none;font-weight:700;color:var(--blue);font-size:var(--fs-sm);width:48px}
.award-list strong{display:block;color:var(--navy)}.award-list div span{font-size:var(--fs-sm);color:var(--ink-600)}

/* Pull quote */
.pull-quote{background:linear-gradient(160deg,#fff,var(--blue-50));border:1px solid var(--blue-100);border-radius:var(--radius);padding:34px 32px;margin:0;position:relative}
.pull-quote::before{content:"\201C";position:absolute;top:-10px;left:22px;font-size:5rem;line-height:1;color:var(--orange);font-weight:700;opacity:.9}
.pull-quote blockquote{margin:0}.pull-quote p{font-size:1.15rem;line-height:1.55;color:var(--navy);font-weight:500;margin:0 0 14px}
.pull-quote figcaption{font-size:var(--fs-sm);color:var(--ink-600)}
.muted{color:var(--ink-600)}

/* Team */
.team-grid{display:grid;gap:28px;max-width:920px;margin:0 auto}
@media (min-width:720px){.team-grid{grid-template-columns:repeat(2,1fr)}}
.team-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue-100)}
.team-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .5s}
.team-card:hover img{transform:scale(1.03)}
.team-body{padding:22px 26px 26px}
.team-body h3{font-size:1.25rem;margin:0 0 2px}
.team-role{display:block;color:var(--blue);font-weight:600;font-size:var(--fs-sm);margin-bottom:10px}
.team-body p{font-size:var(--fs-sm);color:var(--ink-600);margin-bottom:12px}
.team-card .more{font-weight:600;font-size:var(--fs-sm);color:var(--blue)}.team-card .more::after{content:" →"}
.chip-lg{padding:14px 22px;font-size:1rem;font-weight:600}
.chips.left{justify-content:flex-start}
.values .chip{border-color:var(--blue-100);background:var(--blue-50)}

/* Side layout */
.layout-side{display:grid;gap:36px;align-items:start}
@media (min-width:1000px){.layout-side{grid-template-columns:minmax(0,1fr) 340px;gap:56px}}
.side{display:grid;gap:18px;position:sticky;top:96px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 1px 2px rgba(11,31,58,.04)}
.side-card h3{font-size:1.05rem;margin:0 0 12px}
.side-card p{font-size:var(--fs-sm);color:var(--ink-600)}
.side-card .btn-block{width:100%;margin-top:10px}
.side-card .checks{margin:0}
.side-links li+li{border-top:1px solid var(--line)}
.side-links a{display:block;padding:9px 0;font-size:var(--fs-sm);font-weight:500;color:var(--navy)}.side-links a:hover{color:var(--blue)}
.side-person{display:flex;gap:14px;align-items:center;color:inherit}
.side-person img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
.side-person small{display:block;font-size:var(--fs-xs);color:var(--muted)}
.side-person strong{display:block;color:var(--navy)}.side-person span{font-size:var(--fs-sm);color:var(--blue)}
.side-person:hover{border-color:var(--blue-100)}
.facts-dl{display:grid;gap:10px;margin:0}
.facts-dl div{display:grid;gap:2px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.facts-dl div:last-child{border:0;padding-bottom:0}
.facts-dl dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.facts-dl dd{margin:0;font-weight:500;color:var(--navy)}
.benefits .checks{gap:10px}

/* Prose */
.prose h2{font-size:1.5rem;margin:34px 0 12px}.prose h2:first-child{margin-top:0}
.prose p{color:var(--ink-600);margin-bottom:16px}
.prose ul{list-style:none;display:grid;gap:10px;margin:0 0 20px}
.prose ul li{position:relative;padding-left:26px;color:var(--ink-600)}
.prose ul li::before{content:"";position:absolute;left:0;top:.5em;width:14px;height:14px;border-radius:50%;background:var(--blue-50);border:2px solid var(--blue-400)}

/* FAQ */
.faq{display:grid;gap:12px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.faq-item[open]{border-color:var(--blue-100);box-shadow:var(--shadow)}
.faq-item summary{display:flex;align-items:center;gap:16px;padding:20px 22px;cursor:pointer;font-weight:600;color:var(--navy);list-style:none;font-size:1.05rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{color:var(--blue)}
.faq-n{flex:none;font-size:var(--fs-xs);font-weight:700;color:var(--orange);letter-spacing:.08em}
.faq-ico{flex:none;margin-left:auto;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);position:relative;transition:transform .25s,background .2s}
.faq-ico::before,.faq-ico::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:currentColor;transform:translate(-50%,-50%)}
.faq-ico::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item[open] .faq-ico{transform:rotate(45deg);background:var(--blue);color:#fff;border-color:var(--blue)}
.faq-body{padding:0 22px 22px 60px;animation:drawer-in .25s ease}
.faq-body p{font-size:var(--fs-sm);color:var(--ink-600);margin-bottom:12px}.faq-body p:last-child{margin:0}
@media (max-width:600px){.faq-body{padding-left:22px}}

/* Jobs */
.job-card h3{margin-top:14px}.job-card h3 a{color:var(--navy)}
.job-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 14px;font-size:var(--fs-xs);color:var(--ink-600)}
.job-meta li{display:inline-flex;align-items:center;gap:6px}.job-meta svg{color:var(--blue-400);width:16px;height:16px}
.banner-img{width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow)}
.form-card.on-light{box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.form-card input[type=file]{padding:10px;font-size:var(--fs-sm)}
.form-card input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--blue-50);color:var(--navy);font-weight:600;font:inherit;cursor:pointer}

/* Support */
.support-grid .card{color:inherit}.support-grid .icon-box{color:var(--blue)}.support-grid .icon-box svg{width:32px;height:32px}
.support-grid .card:hover .icon-box{background:var(--blue);color:#fff}
.hours{display:grid;gap:18px}
@media (min-width:700px){.hours{grid-template-columns:1fr 1fr}}
.hours-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.hours-block h3{font-size:1.05rem;margin:0 0 12px}
.hours-block dl{margin:0;display:grid;gap:10px}
.hours-block dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.hours-block dd{margin:2px 0 0;color:var(--navy);font-weight:500;font-size:var(--fs-sm)}

/* ===== Contact ===== */
.hero-compact{padding-bottom:40px}
.contact-section{padding-top:40px}
.contact-grid{display:grid;gap:32px;align-items:start}
@media (min-width:1000px){.contact-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:48px}}
.contact-form{padding:34px}
@media (max-width:600px){.contact-form{padding:24px 18px}}
.form-title{font-size:1.6rem;margin:0 0 4px}
fieldset.field{border:0;padding:0;margin:0 0 18px;min-width:0}
fieldset.field legend{font-size:var(--fs-xs);font-weight:600;color:var(--navy);margin-bottom:8px;padding:0}
.check-grid{display:flex;flex-wrap:wrap;gap:8px}
.check-chip{position:relative;cursor:pointer}
.check-chip input{position:absolute;opacity:0;width:1px;height:1px}
.check-chip span{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid #cfd6e0;background:#fff;font-size:var(--fs-sm);font-weight:500;color:var(--navy);transition:background .15s,border-color .15s,color .15s}
.check-chip span::before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid #cfd6e0;background:#fff;transition:background .15s,border-color .15s;flex:none}
.check-chip:hover span{border-color:var(--blue-400)}
.check-chip input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}
.check-chip input:checked+span::before{background:#fff;border-color:#fff;box-shadow:inset 0 0 0 3px var(--blue)}
.check-chip input:focus-visible+span{outline:3px solid var(--amber);outline-offset:2px}
.contact-side{display:grid;gap:18px}
.contact-list{display:grid;gap:14px}
.contact-list li{display:flex;gap:12px;align-items:center}
.contact-list svg{flex:none;width:22px;height:22px;color:var(--blue)}
.contact-list small{display:block;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.contact-list a,.contact-list span{font-weight:600;color:var(--navy);font-size:1.05rem}.contact-list a:hover{color:var(--blue)}
.office{display:flex;gap:10px;font-style:normal;color:var(--ink-600);line-height:1.55;margin-bottom:12px}
.office svg{flex:none;margin-top:4px;color:var(--orange)}
.office a{color:var(--navy);font-weight:600}
.text-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:var(--fs-sm);color:var(--blue)}
.text-link .arrow{transition:transform .15s}.text-link:hover .arrow{transform:translateX(3px)}
.steps-3{grid-template-columns:1fr}
@media (min-width:720px){.steps-3{grid-template-columns:repeat(3,1fr)}}
.map-facade{position:relative;border-radius:var(--radius);overflow:hidden;min-height:380px;background:var(--navy);display:grid;place-items:center;text-align:center;color:#fff;box-shadow:var(--shadow-lg)}
.map-facade::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at 50% 50%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 20%,transparent 75%)}
.map-facade::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(58,136,216,.35),transparent 60%);top:50%;left:50%;transform:translate(-50%,-50%)}
.map-inner{position:relative;z-index:1;padding:48px 24px}
.map-inner h2{color:#fff;margin:14px 0 6px;font-size:1.6rem}.map-inner p{color:#c8d4e6;margin-bottom:22px}
.map-pin{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--orange);color:#fff;box-shadow:0 0 0 12px rgba(253,115,47,.18);animation:pin-bob 2.4s ease-in-out infinite}
@keyframes pin-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.map-facade iframe{width:100%;height:440px;border:0;display:block}
.map-facade.loaded{display:block;min-height:0;background:#e9eef5}
.thanks{padding-top:60px}
.thanks-ico{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#e6f4ea;color:#1a7f37;margin:0 auto 18px;animation:hero-photo-in .6s ease both}
body.page-contact .sticky-cta,body.page-thank-you .sticky-cta{display:none!important}
.thanks h1{max-width:20ch;margin-inline:auto}
@media (prefers-reduced-motion:reduce){.map-pin{animation:none}}
.social.social-light a{background:var(--blue-50);color:var(--navy)}.social.social-light a:hover{background:var(--blue);color:#fff}

/* ===== SEO / service pages ===== */
.hero-seo .page-hero-inner.has-aside{grid-template-columns:1.1fr 1fr}
@media (max-width:899px){.hero-seo .page-hero-inner.has-aside{grid-template-columns:1fr}}
.hero-seo .page-hero-aside::after{display:none}
.hero-seo .hero-art{padding:0}
.plans{display:grid;gap:22px}
@media (min-width:900px){.plans{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.plan{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;box-shadow:0 1px 2px rgba(11,31,58,.04);transition:transform .2s,box-shadow .2s}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.plan.featured{border:2px solid var(--blue);box-shadow:var(--shadow-lg)}
.plan-badge{position:absolute;top:-14px;left:28px;background:var(--orange);color:#fff;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.plan h3{font-size:1.25rem;margin:0 0 6px}
.plan-desc{font-size:var(--fs-sm);color:var(--ink-600);min-height:3.2em}
.plan-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:14px 0 2px}
.plan-price .from{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
.plan-price strong{font-size:2.4rem;font-weight:700;color:var(--navy);letter-spacing:-.02em;line-height:1}
.plan-price small{font-size:var(--fs-sm);color:var(--ink-600);flex-basis:100%}
.plan-setup{font-size:var(--fs-xs);color:var(--muted);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.plan .checks{margin:0 0 22px;flex:1}
.plan .btn-block{width:100%}
.plan .text-link{margin-top:14px;justify-content:center}
.hire .eyebrow{color:var(--amber)}
.hire p{color:#c8d4e6}
.hire-list{display:grid;gap:16px;margin:22px 0}
.hire-list li{display:flex;gap:14px;align-items:flex-start}
.hire-list strong{display:block;color:#fff;margin-bottom:2px}
.hire-list p{font-size:var(--fs-sm);margin:0}
.hire-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-weight:700;font-size:.85rem;display:grid;place-items:center;margin-top:2px}
.video-caption{font-size:var(--fs-xs);color:#aebbd0;margin:12px 0 24px}
.pull-quote.on-dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.pull-quote.on-dark p{color:#fff}.pull-quote.on-dark figcaption{color:#aebbd0}.pull-quote.on-dark figcaption strong{color:#fff}
.spec-card{color:inherit}.spec-card h3{margin-top:0;color:var(--navy)}.spec-card:hover h3{color:var(--blue)}

/* ===== Local SEO ===== */
.mappack{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.mp-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:10px 14px;font-size:var(--fs-sm);color:var(--ink);box-shadow:0 1px 4px rgba(11,31,58,.08)}
.mp-g{font-weight:700;color:var(--blue);font-size:1.1rem}
.mp-mic{margin-left:auto;width:14px;height:20px;border-radius:7px;background:linear-gradient(var(--orange),var(--amber))}
.mp-map{position:relative;height:120px;margin:14px 0;border-radius:12px;background:linear-gradient(135deg,#e8f1fb,#f3f7fb);background-image:linear-gradient(rgba(0,92,185,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,92,185,.08) 1px,transparent 1px);background-size:24px 24px;overflow:hidden}
.mp-map::before{content:"";position:absolute;left:-10%;top:48%;width:120%;height:10px;background:#fff;transform:rotate(-8deg);opacity:.9}
.mp-map::after{content:"";position:absolute;left:62%;top:-10%;width:10px;height:120%;background:#fff;transform:rotate(12deg);opacity:.9}
.mp-pin{position:absolute;width:16px;height:16px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#9fb2cc;z-index:1}
.mp-pin.p1{left:22%;top:30%}.mp-pin.p2{left:74%;top:58%}
.mp-pin.you{left:48%;top:38%;width:22px;height:22px;background:var(--orange);box-shadow:0 0 0 0 rgba(253,115,47,.5);animation:pin-pulse 2.2s ease-out infinite}
@keyframes pin-pulse{0%{box-shadow:0 0 0 0 rgba(253,115,47,.5)}70%{box-shadow:0 0 0 14px rgba(253,115,47,0)}100%{box-shadow:0 0 0 0 rgba(253,115,47,0)}}
.mp-rows{display:grid;gap:8px;position:relative}
.mp-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;font-size:var(--fs-sm)}
.mp-row strong{display:block;color:var(--navy);font-size:.95rem}
.mp-row small{display:block;color:var(--muted);font-size:var(--fs-xs)}
.mp-stars{display:block;color:var(--amber);font-size:.8rem}.mp-stars em{font-style:normal;color:var(--ink-600)}
.mp-rank{flex:none;width:26px;height:26px;border-radius:50%;background:var(--blue-50);color:var(--blue);font-weight:700;display:grid;place-items:center;font-size:.8rem}
.mp-row.you{border-color:var(--blue);background:linear-gradient(135deg,#fff,var(--blue-50));box-shadow:var(--shadow);animation:row-rise 1.1s cubic-bezier(.2,.8,.2,1) .9s both}
.mp-row.you .mp-rank{background:var(--blue);color:#fff}
.mp-row:not(.you){animation:row-sink 1.1s cubic-bezier(.2,.8,.2,1) .9s both}
@keyframes row-rise{from{transform:translateY(calc(200% + 16px))}to{transform:none}}
@keyframes row-sink{from{transform:translateY(calc(-100% - 8px))}to{transform:none}}
.mp-badge{margin-left:auto;background:var(--orange);color:#fff;font-size:var(--fs-xs);font-weight:700;padding:4px 10px;border-radius:999px}
.mp-float{position:absolute;top:-14px;right:-10px;background:var(--navy);color:#fff;font-size:var(--fs-xs);font-weight:600;padding:8px 12px;border-radius:999px;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;animation:dash-in .8s ease 1.8s both}
.mp-float .dot{width:8px;height:8px;border-radius:50%;background:#2ecc71;box-shadow:0 0 0 3px rgba(46,204,113,.25)}
.hero-local .page-hero-aside{padding:16px 10px 0}
.factors{display:grid;gap:22px}
@media (min-width:900px){.factors{grid-template-columns:1fr 1fr}}
.factor-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 28px;box-shadow:0 1px 2px rgba(11,31,58,.04)}
.factor-card h3{font-size:1.1rem;margin:0 0 16px}
.factor-card ul{display:grid;gap:10px}
.factor-card li{display:grid;grid-template-columns:150px 1fr 44px;align-items:center;gap:12px;font-size:var(--fs-sm)}
.factor-name{color:var(--ink-600)}.factor-pct{font-weight:700;color:var(--navy);text-align:right}
.factor-bar{height:10px;border-radius:999px;background:var(--bg-soft);overflow:hidden}
.factor-bar i{display:block;height:100%;width:0;border-radius:999px;background:var(--c);transition:width 1s cubic-bezier(.2,.8,.2,1) calc(var(--i)*80ms)}
.reveal.in .factor-bar i,.no-js .factor-bar i{width:var(--w)}
@media (max-width:480px){.factor-card li{grid-template-columns:110px 1fr 40px}}
.price-card{position:relative;background:#fff;color:var(--ink);border-radius:var(--radius);padding:34px 30px 30px;box-shadow:var(--shadow-lg)}
.price-card .plan-badge{position:absolute;top:-14px;left:30px;background:var(--blue)}
.price-card p{color:var(--ink-600);font-size:var(--fs-sm)}
.price-card .checks{margin:14px 0 22px}.price-card .btn-block{width:100%}
.tips{display:grid;gap:12px}
.tips li{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px}
.tip-n{flex:none;font-weight:700;color:var(--orange);font-size:var(--fs-xs);letter-spacing:.08em;margin-top:4px}
.tips strong{display:block;color:var(--navy);margin-bottom:2px}.tips p{font-size:var(--fs-sm);color:var(--ink-600);margin:0}
.pull-quote.compact{padding:26px 22px 20px}.pull-quote.compact p{font-size:1rem}
@media (prefers-reduced-motion:reduce){.mp-row,.mp-row.you,.mp-pin.you,.mp-float{animation:none}}

@media (min-width:1100px){.grid-3{grid-template-columns:repeat(3,1fr)}}

/* ===== SEO audit ===== */
.audit-report{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);max-width:460px;margin:0 auto;overflow:hidden;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.ar-head{display:flex;align-items:center;gap:6px;padding:12px 16px;background:var(--bg-soft);border-bottom:1px solid var(--line)}
.ar-dot{width:10px;height:10px;border-radius:50%;background:#d5dce6}.ar-dot:first-child{background:#ff7b6b}.ar-dot:nth-child(2){background:#ffcd5a}.ar-dot:nth-child(3){background:#6fd58b}
.ar-url{margin-left:10px;flex:1;background:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 12px;font-size:var(--fs-xs);color:var(--muted)}
.ar-body{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:20px;align-items:center}
.ar-score{position:relative;width:140px;height:140px}
.ar-score svg{width:100%;height:100%;transform:rotate(-90deg)}
.ar-track{fill:none;stroke:var(--bg-soft);stroke-width:10}
.ar-ring{fill:none;stroke:url(#arGrad);stroke:#2ecc71;stroke-width:10;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:ar-fill 1.6s cubic-bezier(.2,.8,.2,1) .5s forwards}
@keyframes ar-fill{to{stroke-dashoffset:8}}
.ar-score-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.ar-score-num strong{font-size:2.2rem;font-weight:700;color:var(--navy);line-height:1}
.ar-score-num small{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.ar-checks{display:grid;gap:7px}
.ar-checks li{display:flex;align-items:center;gap:10px;font-size:var(--fs-xs);color:var(--ink);padding:7px 10px;border-radius:8px;background:var(--bg-soft);opacity:0;transform:translateX(12px);animation:ar-row .5s ease forwards}
.ar-checks li:nth-child(1){animation-delay:.6s}.ar-checks li:nth-child(2){animation-delay:.8s}.ar-checks li:nth-child(3){animation-delay:1s}.ar-checks li:nth-child(4){animation-delay:1.2s}.ar-checks li:nth-child(5){animation-delay:1.4s}.ar-checks li:nth-child(6){animation-delay:1.6s}
@keyframes ar-row{to{opacity:1;transform:none}}
.ar-checks i{width:10px;height:10px;border-radius:50%;flex:none}
.ar-checks li.ok i{background:#2ecc71}.ar-checks li.warn i{background:var(--amber)}.ar-checks li.bad i{background:#ff5a5f}
.ar-checks b{margin-left:auto;font-weight:600;font-size:.7rem;padding:2px 8px;border-radius:999px;background:#fff;color:var(--ink-600)}
.ar-checks li.bad b{color:#c0392b}.ar-checks li.warn b{color:#b26a00}.ar-checks li.ok b{color:#1a7f37}
.ar-foot{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding:14px 20px;border-top:1px solid var(--line);font-size:var(--fs-xs);color:var(--ink-600)}
.ar-foot strong{color:var(--navy);font-size:1rem}
.ar-cta{margin-left:auto;background:var(--orange);color:#fff;font-weight:600;padding:6px 12px;border-radius:999px}
@media (max-width:480px){.ar-body{grid-template-columns:1fr;justify-items:center}.ar-checks{width:100%}}
.hero-audit .page-hero-aside{padding:16px 10px 0}
.outputs{display:grid;gap:14px}
.output{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:16px 18px}
.output strong{display:block;color:var(--navy);margin-bottom:2px}.output p{font-size:var(--fs-sm);color:var(--ink-600);margin:0}
.check-cloud{display:grid;gap:10px 22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:1000px;margin:0 auto}
.check-cloud li{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-sm);color:var(--ink-600);padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm)}
.check-cloud svg{flex:none;color:var(--blue);margin-top:3px}
.check-cloud.compact{gap:6px 14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.check-cloud.compact li{padding:6px 10px;background:var(--bg-soft);border:0;font-size:var(--fs-xs)}
.share{display:grid;gap:8px;margin-top:12px}
.share li{display:grid;grid-template-columns:90px 1fr 48px;align-items:center;gap:10px;font-size:var(--fs-sm)}
.cta-simple{padding:72px 0}
.cta-simple h2{color:#fff;font-size:clamp(1.8rem,3.5vw,2.6rem)}
.btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}.btn-ghost:hover{background:rgba(255,255,255,.12)}
.section-soft .faq-item,.section-soft .output{background:#fff}
@media (prefers-reduced-motion:reduce){.ar-ring{animation:none;stroke-dashoffset:8}.ar-checks li{animation:none;opacity:1;transform:none}}

/* ===== SEO programs ===== */
.hours-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow-lg);max-width:460px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.ha-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.ha-head strong{color:var(--navy);font-size:.95rem}
.ha-pill{font-size:var(--fs-xs);font-weight:600;color:var(--blue);background:var(--blue-50);padding:5px 10px;border-radius:999px;white-space:nowrap}
.ha-bar{display:flex;height:38px;border-radius:10px;overflow:hidden;background:var(--bg-soft)}
.ha-bar span{display:grid;place-items:center;width:var(--w);background:var(--c);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.02em;transform-origin:left;animation:ha-grow .7s cubic-bezier(.2,.8,.2,1) var(--d) both;overflow:hidden;white-space:nowrap}
@keyframes ha-grow{from{transform:scaleX(0);opacity:0}to{transform:none;opacity:1}}
.ha-note{font-size:var(--fs-xs);color:var(--muted);margin:10px 0 14px}
.ha-chart{position:relative;height:120px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,var(--bg-soft))}
.ha-chart svg{width:100%;height:100%}
.ha-results,.ha-cost{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:ha-draw 1.6s ease 1.6s forwards}
.ha-results{stroke:var(--blue)}.ha-cost{stroke:var(--orange);stroke-dasharray:100;animation-delay:1.9s}
@keyframes ha-draw{to{stroke-dashoffset:0}}
.ha-lbl{position:absolute;font-size:var(--fs-xs);font-weight:700;opacity:0;animation:ar-row .5s ease 3s forwards}
.ha-lbl.results{right:12px;top:32px;color:var(--blue)}.ha-lbl.cost{right:12px;bottom:34px;color:var(--orange)}
.ha-foot{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:var(--fs-xs);font-weight:600;color:var(--navy)}
.ha-foot .dot{width:8px;height:8px;border-radius:50%;background:#2ecc71;box-shadow:0 0 0 3px rgba(46,204,113,.25)}
.hero-programs .page-hero-aside{padding:16px 10px 0}
.cmp-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}
.cmp{width:100%;border-collapse:collapse;font-size:var(--fs-sm);min-width:640px}
.cmp th,.cmp td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.cmp thead th{background:var(--navy);color:#fff;font-size:var(--fs-sm);font-weight:600}
.cmp thead th:nth-child(2){background:var(--blue)}
.cmp tbody th{font-weight:600;color:var(--navy);width:200px;background:var(--bg-soft)}
.cmp tbody td{color:var(--ink-600)}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp td:first-of-type{background:rgba(0,92,185,.04);font-weight:500;color:var(--navy)}
.cmp-yes{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#e6f4ea;color:#1a7f37}
.cmp-no{color:var(--muted);font-size:1.2rem}
.hire-list.on-light p{color:var(--ink-600)}.hire-list.on-light strong{color:var(--navy)}
.steps-4{grid-template-columns:1fr}
@media (min-width:600px){.steps-4{grid-template-columns:repeat(2,1fr)}}
.award-list li .award-year:empty{display:none}
@media (prefers-reduced-motion:reduce){.ha-bar span,.ha-results,.ha-cost,.ha-lbl{animation:none;transform:none;opacity:1;stroke-dashoffset:0}}

/* ===== Enterprise SEO ===== */
.ent-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow-lg);max-width:460px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.ent-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.ent-head strong{color:var(--navy);font-size:.95rem}
.ent-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}
.ent-grid i{aspect-ratio:1;border-radius:4px;background:var(--bg-soft);animation:ent-tile .5s ease var(--d) both}
.ent-grid i.warm{background:var(--blue-100)}.ent-grid i.hot{background:var(--blue)}
@keyframes ent-tile{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
.ent-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}
.ent-kpis div{background:var(--bg-soft);border-radius:12px;padding:12px 10px;text-align:center}
.ent-kpis strong{display:block;font-size:1.35rem;font-weight:700;color:var(--navy);line-height:1.1}
.ent-kpis small{display:block;font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-top:4px}
.ent-foot{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:var(--fs-xs);font-weight:600;color:var(--navy)}
.ent-foot .dot{width:8px;height:8px;border-radius:50%;background:#2ecc71;box-shadow:0 0 0 3px rgba(46,204,113,.25)}
.hero-enterprise .page-hero-aside{padding:16px 10px 0}
.wordmark{font-weight:700;color:var(--navy);font-size:.95rem;letter-spacing:-.01em;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.ent-grid i{animation:none}}

/* ===== Small Business SEO: search-results hero art ===== */
.serp-art{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 18px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.serp-bar{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:.92rem;color:var(--ink)}
.serp-g{font-weight:800;color:#4285f4;font-size:1.05rem}
.serp-q em{font-style:normal;font-weight:600;color:var(--navy)}
.serp-ico{margin-left:auto;width:16px;height:16px;border:2px solid var(--blue);border-radius:50%;position:relative}
.serp-ico::after{content:"";position:absolute;width:2px;height:7px;background:var(--blue);right:-5px;bottom:-6px;transform:rotate(-45deg);border-radius:2px}
.serp-rows{position:relative;height:300px;margin-top:14px}
.serp-row{position:absolute;left:0;right:0;top:calc(var(--i) * 60px);display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;height:52px;animation:serp-down 1.6s 1.2s cubic-bezier(.2,.8,.2,1) both}
.serp-row strong{display:block;font-size:.9rem;color:#1a0dab;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.serp-row small{display:block;font-size:.72rem;color:#4d5156;margin-top:2px;white-space:nowrap}
.serp-row>div{min-width:0;flex:1}
.serp-fav{flex:none;width:26px;height:26px;border-radius:50%;background:#e8eaed}
.serp-row.you{--i:4;background:rgba(0,92,185,.07);border:1px solid rgba(0,92,185,.25);animation:serp-up 1.6s 1.2s cubic-bezier(.2,.8,.2,1) both;z-index:2}
.serp-row.you .serp-fav{background:linear-gradient(135deg,var(--blue),var(--orange))}
.serp-row.you strong{color:var(--navy)}
.serp-stars{color:#fbbc04;letter-spacing:-1px}
.serp-pos{flex:none;font-weight:800;color:#fff;background:var(--orange);border-radius:8px;padding:4px 8px;font-size:.8rem;animation:serp-pop .5s 2.9s cubic-bezier(.2,.8,.2,1) both}
.serp-chip{position:absolute;right:16px;bottom:-16px;display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;font-size:.78rem;font-weight:600;padding:8px 12px;border-radius:999px;box-shadow:var(--shadow);animation:serp-pop .5s 3.1s cubic-bezier(.2,.8,.2,1) both}
.serp-chip .arrow{transform:rotate(-90deg)}
@keyframes serp-up{from{top:240px}to{top:0}}
@keyframes serp-down{from{top:calc(var(--i) * 60px)}to{top:calc((var(--i) + 1) * 60px)}}
@keyframes serp-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.hero-sb .page-hero-aside{padding:16px 10px 20px}
.tips-2{gap:12px}
@media (min-width:820px){.tips-2{grid-template-columns:1fr 1fr;gap:12px 20px}}
@media (prefers-reduced-motion:reduce){.serp-row,.serp-row.you{animation:none}.serp-row.you{top:0}.serp-row:not(.you){top:calc((var(--i) + 1) * 60px)}.serp-pos,.serp-chip{animation:none;opacity:1}}

/* ===== SEO Consulting: roadmap hero art + Core Web Vitals list ===== */
.consult-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.ca-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ca-title{font-weight:700;color:var(--navy)}.ca-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.ca-pill{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1a7f37;background:#e6f4ea;border-radius:999px;padding:4px 10px}
.ca-rows{list-style:none;margin:6px 0 0;padding:0}
.ca-rows li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);animation:ca-in .5s calc(.4s + var(--i) * .25s) both}
.ca-rows li:last-child{border:0}
.ca-rows li>div{flex:1;min-width:0}
.ca-rows strong{display:block;font-size:.84rem;color:var(--navy);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ca-n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--bg-soft,#f4f7fb);color:var(--blue);font-size:.72rem;font-weight:700;display:grid;place-items:center}
.ca-bar{display:block;height:6px;border-radius:3px;background:#edf1f7;margin-top:6px;overflow:hidden}
.ca-bar i{display:block;height:100%;width:var(--p);background:linear-gradient(90deg,var(--blue),var(--blue-light,#3a88d8));border-radius:3px;animation:ca-fill 1.2s calc(.9s + var(--i) * .3s) cubic-bezier(.2,.8,.2,1) both}
.ca-status{flex:none;font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.ca-status.s-done{background:#e6f4ea;color:#1a7f37}.ca-status.s-in-progress{background:#fff1e6;color:#c2410c}.ca-status.s-next{background:#eef2f7;color:var(--muted)}
.ca-foot{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:var(--fs-xs);font-weight:600;color:var(--navy)}
.ca-foot .dot{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(253,115,47,.25)}
@keyframes ca-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
@keyframes ca-fill{from{width:0}to{width:var(--p)}}
.hero-consulting .page-hero-aside{padding:16px 10px 0}
.section-navy .price-card h3{color:var(--navy)}
.cwv{list-style:none;margin:16px 0 22px;padding:0;display:grid;gap:10px}
.cwv li{display:flex;gap:12px;align-items:flex-start}
.cwv-k{flex:none;width:46px;height:34px;border-radius:8px;background:var(--navy);color:#fff;font-weight:800;font-size:.8rem;display:grid;place-items:center;letter-spacing:.03em}
.cwv strong{display:block;color:var(--navy);font-size:.92rem}.cwv p{margin:2px 0 0;font-size:var(--fs-xs)}
@media (prefers-reduced-motion:reduce){.ca-rows li,.ca-bar i{animation:none}}

/* ===== White Label SEO: branded-report hero art + partner checklist ===== */
.wl-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.wl-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.wl-brand{display:flex;align-items:center;gap:9px;min-width:0}
.wl-logo{flex:none;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--orange));animation:wl-hue 9s linear infinite}
.wl-names,.wl-by{position:relative;display:inline-block;height:1.3em;overflow:hidden;vertical-align:bottom;min-width:9.5em}
.wl-names b,.wl-by b{position:absolute;left:0;top:0;white-space:nowrap;color:var(--navy);font-weight:700;opacity:0;animation:wl-swap 9s infinite}
.wl-names b:nth-child(2),.wl-by b:nth-child(2){animation-delay:3s}.wl-names b:nth-child(3),.wl-by b:nth-child(3){animation-delay:6s}
.wl-pill{flex:none;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);background:rgba(0,92,185,.08);border-radius:999px;padding:4px 10px}
.wl-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.wl-kpis div{background:#f4f7fb;border-radius:10px;padding:10px 10px 8px}
.wl-kpis small{display:block;font-size:.66rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.wl-kpis strong{display:block;font-size:1.15rem;color:var(--navy);line-height:1.2;margin-top:2px}
.wl-kpis em{font-style:normal;font-size:.7rem;font-weight:700;color:#1a7f37}
.wl-chart{height:70px;margin-top:12px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.wl-chart svg{width:100%;height:100%;display:block}
.wl-tasks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.wl-tasks li{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--ink);animation:ca-in .5s both}
.wl-tasks li:nth-child(1){animation-delay:.8s}.wl-tasks li:nth-child(2){animation-delay:1.1s}.wl-tasks li:nth-child(3){animation-delay:1.4s}
.wl-tasks svg{color:#1a7f37;flex:none}
.wl-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:.76rem;color:var(--muted)}
.wl-foot .wl-by{flex:1;min-width:9.5em}.wl-foot .wl-by b{font-size:.8rem}
.wl-not{margin-left:auto;text-decoration:line-through;opacity:.6}
@keyframes wl-swap{0%,2%{opacity:0;transform:translateY(8px)}6%,30%{opacity:1;transform:none}34%,100%{opacity:0;transform:translateY(-8px)}}
@keyframes wl-hue{0%,100%{filter:hue-rotate(0)}50%{filter:hue-rotate(60deg)}}
.hero-wl .page-hero-aside{padding:16px 10px 0}
.demand{gap:20px}
.demand .card{position:relative;padding:28px 28px 26px}
.demand .tip-n{display:block;margin-bottom:8px}
.demand h3{margin:0 0 8px}
.demand-why{color:var(--ink-600);font-size:var(--fs-sm);margin:0 0 12px}
.demand-us{margin:0;padding:14px 16px;background:rgba(0,92,185,.05);border-left:3px solid var(--blue);border-radius:0 8px 8px 0;font-size:var(--fs-sm)}
.demand-us strong{color:var(--navy)}
@media (min-width:820px){.demand{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.wl-names b,.wl-by b{animation:none}.wl-names b:nth-child(3),.wl-by b:nth-child(3){opacity:1}.wl-logo{animation:none}.wl-tasks li{animation:none}}

/* ===== SEO Tools: health dashboard hero art + tool cards ===== */
.tools-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.ta-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ta-title{font-weight:700;color:var(--navy)}.ta-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.ta-live{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1a7f37;background:#e6f4ea;border-radius:999px;padding:4px 10px}
.ta-live i{width:7px;height:7px;border-radius:50%;background:#1a7f37;animation:ta-blink 1.6s infinite}
.ta-body{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:center;margin-top:14px}
.ta-gauge{position:relative;text-align:center}
.ta-gauge svg{width:100%;height:auto;display:block}
.ta-arc{stroke-dasharray:100;stroke-dashoffset:100;animation:ta-arc 1.4s .6s cubic-bezier(.2,.8,.2,1) forwards}
.ta-gauge strong{position:absolute;left:0;right:0;top:26px;font-size:1.9rem;font-weight:800;color:var(--navy);line-height:1}
.ta-gauge small{display:block;font-size:.68rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:-4px}
.ta-dist{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ta-dist li{display:grid;grid-template-columns:48px 1fr 32px;align-items:center;gap:8px;font-size:.74rem;color:var(--muted);font-weight:600}
.ta-dist i{display:block;height:9px;border-radius:5px;background:#edf1f7;overflow:hidden;position:relative}
.ta-dist i::after{content:"";position:absolute;inset:0;width:var(--w);background:linear-gradient(90deg,var(--blue),#3a88d8);border-radius:5px;transform-origin:left;animation:ta-grow 1s .9s cubic-bezier(.2,.8,.2,1) both}
.ta-dist b{color:var(--navy);text-align:right}
.ta-issues{list-style:none;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;gap:8px}
.ta-issues li{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--ink);animation:ca-in .5s both}
.ta-issues li:nth-child(1){animation-delay:1.2s}.ta-issues li:nth-child(2){animation-delay:1.5s}.ta-issues li:nth-child(3){animation-delay:1.9s}
.ta-issues svg{color:#1a7f37;flex:none}
.ta-issues em{margin-left:auto;font-style:normal;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;background:#e6f4ea;color:#1a7f37;white-space:nowrap}
.ta-issues .alert em{background:#fff1e6;color:#c2410c}
.ta-dot{flex:none;width:18px;height:18px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(253,115,47,.2);animation:ta-blink 1.6s infinite}
@keyframes ta-arc{to{stroke-dashoffset:6}}
@keyframes ta-grow{from{transform:scaleX(0)}to{transform:none}}
@keyframes ta-blink{0%,100%{opacity:1}50%{opacity:.35}}
.hero-tools .page-hero-aside{padding:16px 10px 0}
.tool-card h3{margin-top:0}.tool-card>p{color:var(--ink-600);font-size:var(--fs-sm);margin-bottom:14px}
.checks.compact{gap:7px}.checks.compact li{font-size:var(--fs-sm)}
.tool-list h3{margin-top:0}.tool-list a{color:var(--blue);text-decoration:none}.tool-list a:hover{text-decoration:underline}
@media (max-width:420px){.ta-body{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ta-arc{animation:none;stroke-dashoffset:6}.ta-dist i::after,.ta-issues li,.ta-live i,.ta-dot{animation:none}}

/* ===== SEO Workshops: seat card hero art, sessions list, workshop cards ===== */
.ws-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.ws-top{display:flex;gap:14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}
.ws-cal{flex:none;width:58px;border-radius:12px;overflow:hidden;border:1px solid var(--line);text-align:center;background:#fff}
.ws-cal span{display:block;background:var(--orange);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 0}
.ws-cal strong{display:block;font-size:1.35rem;color:var(--navy);padding:4px 0 6px;line-height:1.1}
.ws-meta{min-width:0}.ws-meta strong{display:block;color:var(--navy);font-size:.95rem;line-height:1.25}.ws-meta small{display:block;color:var(--muted);font-size:.74rem;margin-top:4px}
.ws-seats{display:flex;align-items:center;gap:12px;margin-top:14px;font-size:.74rem;font-weight:600;color:var(--muted)}
.ws-dots{display:flex;gap:5px;flex:1}
.ws-dots i{width:16px;height:16px;border-radius:50%;background:#edf1f7;border:1px solid var(--line)}
.ws-dots i:nth-child(-n+9){background:var(--blue);border-color:var(--blue);animation:ws-fill .4s calc(.6s + var(--i) * .12s) both}
.ws-seats em{font-style:normal;color:var(--navy)}
.ws-agenda{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:7px}
.ws-agenda li{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--ink);animation:ca-in .5s both}
.ws-agenda li:nth-child(1){animation-delay:1.6s}.ws-agenda li:nth-child(2){animation-delay:1.8s}.ws-agenda li:nth-child(3){animation-delay:2s}.ws-agenda li:nth-child(4){animation-delay:2.2s}
.ws-agenda svg{color:#1a7f37;flex:none}
.ws-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.ws-tag{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);background:rgba(0,92,185,.08);border-radius:999px;padding:4px 10px}
.ws-tag.alt{color:#c2410c;background:#fff1e6}
@keyframes ws-fill{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
.hero-workshops .page-hero-aside{padding:16px 10px 0}
.sessions{list-style:none;margin:0 auto;padding:0;display:grid;gap:14px;max-width:900px}
.sessions li{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;flex-wrap:wrap}
.session-body{flex:1;min-width:220px}.session-body strong{display:block;color:var(--navy);font-size:1.05rem}.session-body span{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--ink-600);margin-top:4px}
.session-empty{max-width:760px;margin:0 auto;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:var(--radius);padding:30px 28px}
.session-empty p{margin:0 0 16px}.session-empty p:last-child{margin:0;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.ws-card{display:flex;flex-direction:column}.ws-card h3{margin-top:0}.ws-card>p{color:var(--ink-600);font-size:var(--fs-sm)}
.ws-card .checks{margin:12px 0 16px}
.ws-card-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line);font-size:var(--fs-sm)}
@media (prefers-reduced-motion:reduce){.ws-dots i,.ws-agenda li{animation:none}}

/* ===== Digital Marketing hub: channel-mix hero art, channel cards ===== */
.dm-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.dm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.dm-title{font-weight:700;color:var(--navy)}.dm-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.dm-total{text-align:right}.dm-total strong{display:block;font-size:1.7rem;font-weight:800;color:var(--navy);line-height:1}.dm-total em{font-style:normal;font-size:.72rem;font-weight:700;color:#1a7f37}
.dm-mix{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}
.dm-mix li{display:grid;grid-template-columns:118px 1fr 40px;align-items:center;gap:10px;animation:ca-in .5s calc(.3s + var(--i) * .15s) both}
.dm-lbl strong{display:block;font-size:.8rem;color:var(--navy);line-height:1.2}.dm-lbl small{display:block;font-size:.66rem;color:var(--muted)}
.dm-bar{display:block;height:12px;border-radius:6px;background:#edf1f7;overflow:hidden}
.dm-bar i{display:block;height:100%;width:var(--p);border-radius:6px;background:linear-gradient(90deg,var(--blue),#3a88d8);transform-origin:left;animation:ta-grow 1s calc(.8s + var(--i) * .2s) cubic-bezier(.2,.8,.2,1) both}
.dm-mix li:nth-child(2) .dm-bar i{background:linear-gradient(90deg,var(--orange),#ff9600)}
.dm-mix li:nth-child(3) .dm-bar i{background:linear-gradient(90deg,#6f42c1,#9b6ff0)}
.dm-mix li:nth-child(4) .dm-bar i{background:linear-gradient(90deg,#1a7f37,#3fb95c)}
.dm-mix b{font-size:.78rem;color:var(--navy);text-align:right}
.dm-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:12px;border-top:1px dashed var(--line)}
.dm-chip{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--blue);background:rgba(0,92,185,.08);border-radius:999px;padding:4px 10px}
.dm-chip svg{width:13px;height:13px}.dm-chip.alt{color:#c2410c;background:#fff1e6}
.hero-dm .page-hero-aside{padding:16px 10px 0}
.channel-card{display:flex;flex-direction:column}.channel-card h3{margin-bottom:6px}.channel-card>p{color:var(--ink-600);font-size:var(--fs-sm)}
.channel-links{list-style:none;margin:10px 0 18px;padding:0;display:grid;gap:4px;flex:1}
.channel-links a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:8px;font-size:var(--fs-sm);font-weight:500;color:var(--navy);text-decoration:none;transition:background .15s}
.channel-links a:hover{background:rgba(0,92,185,.06);color:var(--blue)}.channel-links svg{color:var(--blue);flex:none}
.award-list-2{max-width:none}
@media (min-width:900px){.award-list-2{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.dm-mix li,.dm-bar i{animation:none}}

/* ===== SEM hub: paid-search dashboard hero art ===== */
.sem-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.sem-ad{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.sem-spon{display:inline-block;font-size:.68rem;font-weight:800;color:var(--ink);letter-spacing:.02em;margin-bottom:4px}
.sem-ad strong{display:block;color:#1a0dab;font-size:.92rem;line-height:1.25}
.sem-ad small{display:block;color:#1a7f37;font-size:.72rem;margin:2px 0 4px}
.sem-ad p{margin:0;font-size:.76rem;color:#4d5156;line-height:1.4}
.sem-ext{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:.7rem;color:#1a0dab;flex-wrap:wrap}
.sem-ext svg{color:var(--blue)}
.sem-kpis{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sem-kpis li{background:#f4f7fb;border-radius:10px;padding:8px 8px 7px;text-align:center}
.sem-kpis small{display:block;font-size:.6rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.sem-kpis strong{display:block;font-size:1rem;color:var(--navy);line-height:1.2;margin-top:2px}
.sem-kpis em{font-style:normal;font-size:.66rem;font-weight:700;color:#1a7f37}
.sem-bars{display:flex;align-items:flex-end;gap:5px;height:56px;margin-top:12px;padding:0 2px;border-bottom:1px solid var(--line)}
.sem-bars i{flex:1;height:var(--h);border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--orange),#ff9600);transform-origin:bottom;animation:sem-bar .6s calc(.5s + var(--i) * .07s) cubic-bezier(.2,.8,.2,1) both}
.sem-bars i:nth-child(n+9){background:linear-gradient(180deg,var(--blue),#3a88d8)}
.sem-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@keyframes sem-bar{from{transform:scaleY(0)}to{transform:none}}
.hero-sem .page-hero-aside{padding:16px 10px 0}
@media (min-width:1100px){.steps-5{grid-template-columns:repeat(5,1fr)}}
@media (prefers-reduced-motion:reduce){.sem-bars i{animation:none}}

/* ===== Google Ads: account-audit hero art ===== */
.ga-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.ga-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ga-title{font-weight:700;color:var(--navy)}.ga-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.ga-score{text-align:center;background:#e6f4ea;border-radius:12px;padding:6px 12px;min-width:64px}.ga-score em{display:block;font-style:normal;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#1a7f37}.ga-score strong{display:block;font-size:1.3rem;color:#1a7f37;line-height:1.1}
.ga-cpl{position:relative;display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;margin-top:12px;padding:10px 12px;background:#f4f7fb;border-radius:12px}
.ga-cpl small{display:block;font-size:.62rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.ga-cpl strong{display:block;font-size:1.4rem;color:var(--navy);line-height:1.1}
.ga-cpl svg{width:100%;height:52px}
.ga-line{stroke-dasharray:100;stroke-dashoffset:100;animation:ga-draw 1.6s .8s cubic-bezier(.2,.8,.2,1) forwards}
.ga-tag{position:absolute;right:12px;top:8px;font-size:.68rem;font-weight:800;color:#1a7f37;background:#fff;border-radius:999px;padding:2px 8px;border:1px solid #c9e8d1;animation:serp-pop .4s 2.3s both}
.ga-leaks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}
.ga-leaks li{position:relative;height:30px;border-radius:8px;overflow:hidden;background:#fff1e6;animation:ca-in .5s calc(.4s + var(--i) * .2s) both}
.ga-leaks li span{position:absolute;inset:0;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:.76rem;font-weight:600}
.ga-bad{color:#c2410c;text-decoration:line-through;text-decoration-color:rgba(194,65,12,.5)}
.ga-fix{color:#1a7f37;background:#e6f4ea;transform:translateX(100%);animation:ga-slide .5s calc(1.6s + var(--i) * .35s) cubic-bezier(.2,.8,.2,1) forwards}
.ga-fix svg{width:14px;height:14px;flex:none}
@keyframes ga-draw{to{stroke-dashoffset:0}}
@keyframes ga-slide{to{transform:none}}
.hero-ga .page-hero-aside{padding:16px 10px 0}
@media (prefers-reduced-motion:reduce){.ga-line{animation:none;stroke-dashoffset:0}.ga-leaks li,.ga-tag{animation:none}.ga-fix{animation:none;transform:none}}

/* ===== PPC services: Quality Score hero art ===== */
.qs-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.qs-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.qs-title{font-weight:700;color:var(--navy)}.qs-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.qs-pill{display:inline-flex;align-items:center;gap:5px;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1a7f37;background:#e6f4ea;border-radius:999px;padding:4px 10px;white-space:nowrap}
.qs-pill svg{width:12px;height:12px}
.qs-rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:11px}
.qs-rows li{display:grid;grid-template-columns:1fr 92px 54px;align-items:center;gap:10px;animation:ca-in .5s calc(.3s + var(--i) * .15s) both}
.qs-kw{font-size:.8rem;color:var(--navy);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qs-bar{display:block;height:10px;border-radius:5px;background:#edf1f7;overflow:hidden}
.qs-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#f59e0b,#1a7f37);width:calc(var(--b) * 10%);transform-origin:left;animation:qs-grow 1.4s calc(.9s + var(--i) * .2s) cubic-bezier(.2,.8,.2,1) both}
.qs-num{position:relative;font-size:1rem;color:var(--navy);text-align:right;line-height:1}
.qs-num em,.qs-num b{position:absolute;right:18px;top:0;font-style:normal}
.qs-num em{color:#c2410c;animation:qs-out .4s calc(1.4s + var(--i) * .2s) both}
.qs-num b{color:#1a7f37;opacity:0;animation:qs-in .4s calc(1.7s + var(--i) * .2s) both}
.qs-num small{font-size:.66rem;color:var(--muted);font-weight:600}
.qs-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.qs-foot small{display:block;font-size:.6rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.qs-foot strong{display:block;font-size:.92rem;color:var(--navy);margin-top:2px}
.qs-foot em{display:block;font-style:normal;font-size:.64rem;color:var(--muted);font-weight:500;text-decoration:line-through}
@keyframes qs-grow{from{transform:scaleX(calc(var(--a) / var(--b)))}to{transform:none}}
@keyframes qs-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes qs-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-ppc .page-hero-aside{padding:16px 10px 0}
@media (prefers-reduced-motion:reduce){.qs-rows li,.qs-bar i{animation:none}.qs-num em{display:none}.qs-num b{opacity:1;animation:none}}

/* ===== Advertising management: media-plan hero art ===== */
.adm-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.adm-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.adm-title{font-weight:700;color:var(--navy)}.adm-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.adm-pill{font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#1a7f37;background:#e6f4ea;border-radius:999px;padding:4px 10px}
.adm-split{display:flex;height:16px;border-radius:8px;overflow:hidden;margin-top:14px;background:#edf1f7}
.adm-split i{display:block;width:var(--w);transform-origin:left;animation:ta-grow .9s calc(.4s + var(--i) * .25s) cubic-bezier(.2,.8,.2,1) both}
.adm-legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.72rem;color:var(--ink-600);font-weight:600}
.adm-legend li{display:flex;align-items:center;gap:6px}.adm-legend span{width:10px;height:10px;border-radius:3px}.adm-legend b{color:var(--navy)}
.adm-cal{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:14px;padding:26px 0 0;border-top:1px dashed var(--line);height:104px}
.adm-m{position:absolute;top:8px;font-size:.62rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.adm-m:nth-child(1){left:0}.adm-m:nth-child(2){left:33.3%}.adm-m:nth-child(3){left:66.6%}
.adm-flight{position:absolute;height:20px;border-radius:6px;font-size:.66rem;font-weight:600;color:#fff;display:flex;align-items:center;padding:0 8px;white-space:nowrap;overflow:hidden;transform-origin:left;animation:ta-grow .7s both}
.adm-flight i{display:none}
.adm-flight.f1{top:28px;left:0;right:0;background:var(--blue);animation-delay:1.3s}
.adm-flight.f2{top:52px;left:36%;right:4%;background:#6f42c1;animation-delay:1.6s}
.adm-flight.f3{top:76px;left:0;right:48%;background:var(--orange);animation-delay:1.9s}
.adm-kpis{list-style:none;margin:10px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.adm-kpis small{display:block;font-size:.6rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.adm-kpis strong{display:block;font-size:1.05rem;color:var(--navy);margin-top:2px}
.hero-adm .page-hero-aside{padding:16px 10px 0}
@media (prefers-reduced-motion:reduce){.adm-split i,.adm-flight{animation:none}}

/* ===== Content marketing: calendar hero art ===== */
.cm-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.cm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cm-title{font-weight:700;color:var(--navy)}.cm-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.cm-kpi{text-align:right}.cm-kpi small{display:block;font-size:.6rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.cm-kpi strong{display:block;font-size:1.3rem;color:var(--navy);line-height:1.1}.cm-kpi em{font-style:normal;font-size:.7rem;font-weight:700;color:#1a7f37}
.cm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px}
.cm-w{font-size:.6rem;font-weight:700;color:var(--muted);text-align:center;text-transform:uppercase}
.cm-d{position:relative;height:30px;border-radius:7px;background:#f4f7fb;font-size:.66rem;color:var(--muted);padding:3px 0 0 5px;font-weight:600}
.cm-d.empty{background:transparent}
.cm-d.has{color:var(--navy)}
.cm-d.has i{position:absolute;right:5px;bottom:5px;width:9px;height:9px;border-radius:50%;background:var(--c);animation:serp-pop .35s calc(.5s + var(--i) * .12s) both}
.cm-legend{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.68rem;color:var(--ink-600);font-weight:600}
.cm-legend li{display:flex;align-items:center;gap:5px}.cm-legend span{width:9px;height:9px;border-radius:50%}
.cm-pipe{display:flex;gap:4px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.cm-pipe span{flex:1;text-align:center;font-size:.6rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);background:#edf1f7;border-radius:6px;padding:6px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:cm-stage .5s calc(2.2s + var(--i) * .3s) both}
@keyframes cm-stage{to{background:var(--blue);color:#fff}}
.hero-cm .page-hero-aside{padding:16px 10px 0}
@media (prefers-reduced-motion:reduce){.cm-d.has i{animation:none}.cm-pipe span{animation:none;background:var(--blue);color:#fff}}

/* ===== CRO: split-test hero art ===== */
.cro-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:460px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.cro-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.cro-title{font-weight:700;color:var(--navy)}.cro-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.cro-pill{font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);background:rgba(0,92,185,.08);border-radius:999px;padding:4px 10px;white-space:nowrap}
.cro-variants{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.cro-v{position:relative;border:1px solid var(--line);border-radius:12px;padding:10px;background:#fafbfd}
.cro-v.b{border-color:#1a7f37;background:#f3faf5;animation:cro-glow .6s 2.6s both}
.cro-win{position:absolute;top:-11px;left:10px;display:inline-flex;align-items:center;gap:4px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:#1a7f37;border-radius:999px;padding:3px 8px;animation:serp-pop .4s 2.6s both}
.cro-win svg{width:11px;height:11px}
.cro-wire{display:grid;gap:5px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px;min-height:92px}
.cro-wire i{display:block;border-radius:3px;background:#e6ebf2;height:6px}
.cro-wire .w-hero{height:22px;background:linear-gradient(90deg,#dfe7f2,#eef2f8)}.cro-wire .w-hero.alt{background:linear-gradient(90deg,#cfe0f7,#e3edfa)}
.cro-wire .w-line.short{width:60%}
.cro-wire .w-btn{width:40%;height:9px;background:#b9c6d8;border-radius:5px}.cro-wire .w-btn.big{width:70%;height:12px;background:var(--orange)}
.cro-wire .w-form{height:16px;border:1px dashed #b9c6d8;background:#fff}
.cro-meta{margin-top:8px}.cro-meta small{display:block;font-size:.62rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cro-meta strong{display:block;font-size:1.2rem;color:var(--navy);line-height:1.2;margin:2px 0 4px}
.cro-v.b .cro-meta strong{color:#1a7f37}
.cro-bar{display:block;height:7px;border-radius:4px;background:#e6ebf2;overflow:hidden}
.cro-bar i{display:block;height:100%;width:var(--w);border-radius:4px;background:#b9c6d8;transform-origin:left;animation:ta-grow 1.2s .8s cubic-bezier(.2,.8,.2,1) both}
.cro-v.b .cro-bar i{background:#1a7f37}
.cro-foot{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.cro-foot small{display:block;font-size:.6rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.cro-foot strong{display:block;font-size:1.05rem;color:var(--navy);margin-top:2px}
@keyframes cro-glow{from{box-shadow:0 0 0 0 rgba(26,127,55,.35)}to{box-shadow:0 0 0 6px rgba(26,127,55,0)}}
.hero-cro .page-hero-aside{padding:16px 10px 0}
@media (prefers-reduced-motion:reduce){.cro-bar i,.cro-win,.cro-v.b{animation:none}}

/* ===== Reputation management: reviews dashboard hero art ===== */
.rep-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px 16px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.rep-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.rep-title{font-weight:700;color:var(--navy)}.rep-title small{display:block;font-weight:500;font-size:.72rem;color:var(--muted);margin-top:2px}
.rep-score{text-align:right}.rep-score strong{display:block;font-size:1.7rem;font-weight:800;color:var(--navy);line-height:1}
.rep-stars{display:block;color:#fbbc04;font-size:.8rem;letter-spacing:-1px;margin-top:2px}
.rep-score small{display:block;font-size:.66rem;color:var(--muted);font-weight:600}.rep-score small b{color:var(--navy)}
.rep-plat{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.rep-plat li{display:grid;grid-template-columns:70px 1fr 30px 28px;align-items:center;gap:8px;font-size:.74rem;animation:ca-in .5s calc(.3s + var(--i) * .15s) both}
.rep-n{font-weight:700;color:var(--navy)}
.rep-bar{display:block;height:8px;border-radius:4px;background:#edf1f7;overflow:hidden}
.rep-bar i{display:block;height:100%;width:var(--w);border-radius:4px;background:linear-gradient(90deg,#f59e0b,#fbbc04);transform-origin:left;animation:ta-grow 1s calc(.8s + var(--i) * .15s) cubic-bezier(.2,.8,.2,1) both}
.rep-plat b{color:var(--navy);text-align:right}.rep-plat small{color:var(--muted);text-align:right;font-weight:600}
.rep-feed{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.rep-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#f4f7fb;animation:ca-in .5s 1.6s both}
.rep-item.alert{background:#fff7f0;animation-delay:2s}
.rep-item>div{flex:1;min-width:0}.rep-item strong{display:block;font-size:.78rem;color:var(--navy);line-height:1.2}.rep-item small{display:block;font-size:.66rem;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rep-av{flex:none;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:.66rem;font-weight:800;display:grid;place-items:center}
.rep-av.warn{background:var(--orange)}
.rep-item em{flex:none;display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#c2410c;background:#fff1e6;border-radius:999px;padding:3px 8px}
.rep-item em.rep-ok{color:#1a7f37;background:#e6f4ea}.rep-item em svg{width:11px;height:11px}
.rep-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.hero-rep .page-hero-aside{padding:16px 10px 0}
@media (prefers-reduced-motion:reduce){.rep-plat li,.rep-bar i,.rep-item{animation:none}}

/* ===== Social media hub: post-card hero art + platform cards ===== */
.sm-art{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px 18px 14px;box-shadow:var(--shadow-lg);max-width:440px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}
.sm-post{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}
.sm-top{display:flex;align-items:center;gap:10px}
.sm-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--orange));flex:none}
.sm-top strong{display:block;font-size:.86rem;color:var(--navy)}.sm-top small{display:block;font-size:.68rem;color:var(--muted)}
.sm-dots{margin-left:auto;color:var(--muted);font-weight:800;letter-spacing:1px}
.sm-post p{margin:10px 0;font-size:.82rem;color:var(--ink);line-height:1.45}
.sm-img{height:96px;border-radius:10px;background:linear-gradient(135deg,#dbe7f7,#f3e6da);position:relative;overflow:hidden}
.sm-img i{position:absolute;border-radius:50%;opacity:.55}
.sm-img i:nth-child(1){width:120px;height:120px;left:-30px;top:20px;background:var(--blue)}
.sm-img i:nth-child(2){width:90px;height:90px;right:30px;top:-20px;background:var(--orange)}
.sm-img i:nth-child(3){width:60px;height:60px;right:-10px;bottom:-14px;background:#6f42c1}
.sm-stats{display:flex;gap:12px;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted);flex-wrap:wrap}
.sm-stats b{color:var(--navy);font-weight:700}.sm-stats em{margin-left:auto;font-style:normal;font-weight:600;color:var(--ink-600)}
.sm-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:12px}
.sm-week div{text-align:center;animation:ca-in .4s calc(.6s + var(--i) * .12s) both}
.sm-week small{display:block;font-size:.62rem;font-weight:700;color:var(--muted);margin-bottom:4px}
.sm-week i{display:block;height:26px;border-radius:7px}
.p-fb{background:#1877f2}.p-ig{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af)}.p-li{background:#0a66c2}.p-pi{background:#e60023}.p-x{background:#0f1419}.p-more{background:linear-gradient(135deg,#ff0000,#25f4ee)}
.sm-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.hero-sm .page-hero-aside{padding:16px 10px 0}
.sm-card{position:relative}.sm-badge{display:block;width:38px;height:38px;border-radius:11px;margin-bottom:14px}
@media (prefers-reduced-motion:reduce){.sm-week div{animation:none}}

/* ===== Social platform pages ===== */
.sp-art .sm-av.p-fb{background:#1877f2}.sp-art .sm-av.p-ig{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af)}.sp-art .sm-av.p-li{background:#0a66c2}.sp-art .sm-av.p-pi{background:#e60023}.sp-art .sm-av.p-x{background:#0f1419}
.sp-img-fb{background:linear-gradient(135deg,#dbe7fb,#eef3fb)}.sp-img-ig{background:linear-gradient(135deg,#fde4d6,#f3d7ea)}.sp-img-li{background:linear-gradient(135deg,#d6e6f5,#eef3f8)}.sp-img-pi{background:linear-gradient(135deg,#fbd9de,#fbeef0)}.sp-img-x{background:linear-gradient(135deg,#e2e5e8,#f1f3f4)}
.sp-kpis{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sp-kpis li{background:#f4f7fb;border-radius:10px;padding:8px 6px 7px;text-align:center;animation:ca-in .5s calc(.5s + var(--i) * .15s) both}
.sp-kpis small{display:block;font-size:.58rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.2;min-height:2.4em}
.sp-kpis strong{display:block;font-size:.98rem;color:var(--navy);line-height:1.2;margin-top:3px}
.hero-sp .page-hero-aside{padding:16px 10px 0}
@media (prefers-reduced-motion:reduce){.sp-kpis li{animation:none}}

/* ===== Websites section (hub + 16 pages). Hero art = web_art() in includes/web-art.php ===== */
.hero-web .page-hero-aside{padding:16px 10px 0}
.wa{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px 14px;box-shadow:var(--shadow-lg);max-width:460px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both;font-size:.78rem;color:var(--ink-600)}
.wa-chrome{display:flex;align-items:center;gap:6px;padding:0 0 10px;border-bottom:1px solid var(--line);margin-bottom:12px}
.wa-chrome>i{width:9px;height:9px;border-radius:50%;background:#e3e8ef}.wa-chrome>i:nth-child(1){background:#ff5f57}.wa-chrome>i:nth-child(2){background:#febc2e}.wa-chrome>i:nth-child(3){background:#28c840}
.wa-url{margin-left:8px;flex:1;display:flex;align-items:center;gap:5px;background:#f3f6fa;border-radius:8px;padding:5px 10px;font-size:.72rem;color:var(--ink-600)}
.wa-url.secure{color:#1a7f37}.wa-url.secure b{font-weight:600}
.wa-chrome.dark{border-color:#2a3647}.wa-chrome.dark .wa-url{background:#1e2735;color:#9fb0c8}
.wa-page{display:grid;gap:10px}
.wa-nav{display:flex;align-items:center;gap:8px}.wa-nav b{width:46px;height:10px;border-radius:3px;background:var(--blue)}.wa-nav i{width:22px;height:6px;border-radius:3px;background:#dfe5ee}.wa-nav em{margin-left:auto;width:44px;height:14px;border-radius:7px;background:var(--orange)}
.wa-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:center;padding:8px 0}
.wa-hero i{display:block;height:8px;border-radius:4px;background:#dfe5ee;margin-bottom:7px;transform-origin:left;animation:wa-line .5s cubic-bezier(.2,.8,.2,1) both}
.wa-hero .l1{height:14px;width:92%;background:var(--navy);animation-delay:.3s}.wa-hero .l2{width:70%;animation-delay:.45s}.wa-hero .l3{width:55%;animation-delay:.6s}
.wa-btn{display:inline-block;height:16px;width:64px;border-radius:8px;background:var(--orange);animation:wa-line .5s .8s cubic-bezier(.2,.8,.2,1) both}
.wa-img{aspect-ratio:4/3;border-radius:10px;background:linear-gradient(135deg,var(--blue-100),var(--blue-400));animation:fade-in .6s .5s both;opacity:0}
.wa-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wa-cards i{height:34px;border-radius:8px;background:#f3f6fa;border:1px solid var(--line);animation:wa-up .5s both;opacity:0}
.wa-cards i:nth-child(1){animation-delay:.9s}.wa-cards i:nth-child(2){animation-delay:1.05s}.wa-cards i:nth-child(3){animation-delay:1.2s}
@keyframes wa-line{from{opacity:0;transform:scaleX(.3)}to{opacity:1;transform:none}}
@keyframes wa-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wa-float{position:absolute;right:-14px;top:-16px;display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;font-weight:600;font-size:.74rem;padding:8px 12px;border-radius:999px;box-shadow:var(--shadow-lg);animation:dash-in .7s 1.3s both,float-a 6s 2s ease-in-out infinite}
.wa-float svg{color:#7ee2a8}
.wa-kpis{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wa-kpis li{display:grid;gap:1px}.wa-kpis small{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-500,#6b7a90)}.wa-kpis strong{font-size:1.05rem;color:var(--navy);line-height:1.1}.wa-kpis em{font-style:normal;font-size:.68rem;color:#1a7f37;font-weight:600}
/* design */
.wa-page.design .wa-img{background:repeating-linear-gradient(45deg,#e8eef7 0 6px,#f6f8fb 6px 12px)}
.wa-palette,.wa-type{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px 10px;display:flex;align-items:center;gap:6px;animation:dash-in .7s 1.1s both}
.wa-palette{right:-14px;top:68px}.wa-palette small,.wa-type small{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;margin-right:4px}
.wa-palette span{width:16px;height:16px;border-radius:5px;background:var(--c)}
.wa-type{right:-14px;top:122px;animation-delay:1.3s}.wa-type strong{font-size:1.1rem;color:var(--navy);font-family:var(--font-head,inherit)}.wa-type span{font-size:.66rem}
/* devices */
.wa-devices{padding:16px 16px 14px}.wa-stage{position:relative;height:262px}
.wa-screen{background:#fff;border-radius:6px;overflow:hidden;padding:7px;height:100%}
.wa-mini{display:grid;gap:5px;align-content:start}.wa-mini b{height:5px;width:30%;border-radius:2px;background:var(--blue)}.wa-mini i{height:4px;border-radius:2px;background:#dfe5ee}.wa-mini .l1{height:7px;width:85%;background:var(--navy)}.wa-mini .l2{width:60%}.wa-mini em{height:7px;width:34%;border-radius:4px;background:var(--orange)}.wa-mini span{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:2px}.wa-mini span i{height:16px;background:#eef2f8;border-radius:4px}
.wa-desk{position:absolute;left:0;top:6px;width:62%;animation:wa-up .7s .2s both}.wa-desk .wa-screen{aspect-ratio:16/10;border:6px solid #1f2733;border-radius:10px;padding:10px}
.wa-stand{display:block;width:18%;height:16px;margin:0 auto;background:#2a3441}.wa-base{display:block;width:40%;height:5px;margin:0 auto;border-radius:3px;background:#2a3441}
.wa-tab{position:absolute;right:40px;top:52px;width:32%;animation:wa-up .7s .5s both}.wa-tab .wa-screen{aspect-ratio:3/4;border:7px solid #1f2733;border-radius:12px}
.wa-phone{position:absolute;right:0;top:92px;width:18%;animation:wa-up .7s .8s both}.wa-phone .wa-screen{aspect-ratio:9/18;border:5px solid #1f2733;border-radius:12px;padding:5px}
.wa-devices .wa-kpis{margin-top:6px}
/* code */
.wa-code{background:#141b26;border:1px solid #2a3647;border-radius:12px;padding:12px 12px;margin:-2px 0 10px;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;line-height:1.7;color:#d6deea}
.wa-code .wa-ln{display:flex;gap:10px;opacity:0;animation:wa-up .35s both;animation-delay:calc(.25s + var(--i) * .13s)}.wa-code b{color:#52607a;font-weight:400;min-width:14px;text-align:right}
.wa-code k{color:#c792ea}.wa-code f{color:#82aaff}.wa-code v{color:#f78c6c}.wa-code st{color:#c3e88d}.wa-code pr{color:#ffcb6b}.wa-code c{color:#6a7a94;font-style:italic}
.wa-term{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:.72rem;padding:8px 10px;border-radius:10px;background:#141b26;color:#9fb0c8;animation:fade-in .5s 1.5s both;opacity:0}.wa-term strong{color:#fff}.wa-term .ok{display:inline-flex;align-items:center;gap:5px;color:#7ee2a8;font-weight:600}
.wa-term.light{background:#f3f6fa;color:var(--ink-600);margin-top:10px}.wa-term.light .ok{color:#1a7f37}.wa-term.light strong{color:var(--navy)}
/* app + wp */
.wa-app,.wa-wp{display:grid;grid-template-columns:52px 1fr;gap:12px;min-height:230px}
.wa-app aside,.wa-wp aside{background:var(--navy);border-radius:12px;padding:12px 10px;display:grid;gap:9px;align-content:start}.wa-wp aside{background:#1d2327}
.wa-app aside b,.wa-wp aside b{height:12px;border-radius:4px;background:var(--blue-400)}.wa-app aside i,.wa-wp aside i{height:7px;border-radius:3px;background:rgba(255,255,255,.22)}.wa-app aside i.on,.wa-wp aside i.on{background:var(--orange)}
.wa-app-head{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--navy);font-size:.8rem}
.wa-live{display:inline-flex;align-items:center;gap:5px;font-style:normal;font-size:.64rem;font-weight:700;color:#1a7f37;background:#e6f6ec;padding:3px 8px;border-radius:999px}.wa-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#22a06b;animation:dash-ping 1.6s infinite}
.wa-app .wa-kpis{border:0;padding:0;margin:8px 0 10px}.wa-app .wa-kpis small{font-size:.58rem;white-space:nowrap}.wa-app .wa-kpis strong{font-size:.95rem}.wa-app .wa-kpis em{white-space:nowrap}.wa-app-head span{white-space:nowrap}
.wa-rows{display:grid;gap:6px}.wa-row{display:grid;grid-template-columns:14px 1fr 50px 40px;gap:8px;align-items:center;opacity:0;animation:wa-up .4s both}.wa-row i{height:8px;border-radius:4px;background:#e3e8ef}.wa-row i:first-child{height:14px;border-radius:50%;background:var(--blue-100)}.wa-row em{height:8px;border-radius:4px;background:#d7f0e1}
.wa-row:nth-child(1){animation-delay:.6s}.wa-row:nth-child(2){animation-delay:.75s}.wa-row:nth-child(3){animation-delay:.9s}.wa-row:nth-child(4){animation-delay:1.05s}.wa-row:nth-child(5){animation-delay:1.2s}
.wa-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.wa-chips span{font-size:.64rem;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-100)}
.wa-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.wa-list li{display:flex;gap:10px;align-items:center;opacity:0;animation:wa-up .4s both;animation-delay:calc(.5s + var(--i) * .16s)}.wa-list li div{display:flex;flex-wrap:wrap;gap:0 6px;align-items:baseline}.wa-list strong{color:var(--navy);font-size:.78rem}.wa-list small{font-size:.68rem}
.wa-shield{flex:none;width:30px;height:30px;border-radius:50%;background:#e6f6ec;color:#1a7f37;display:grid;place-items:center}.wa-shield.sm{width:24px;height:24px}
/* store */
.wa-shop{display:grid;grid-template-columns:1.25fr 1fr;gap:10px}
.wa-prods{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wa-prod{border:1px solid var(--line);border-radius:10px;padding:6px;opacity:0;animation:wa-up .45s both;animation-delay:calc(.3s + var(--i) * .15s)}
.wa-prod i{display:block;aspect-ratio:1;border-radius:7px;margin-bottom:5px}.wa-prod .p-a{background:linear-gradient(135deg,#dbe8fb,#3a88d8)}.wa-prod .p-b{background:linear-gradient(135deg,#ffe6c7,#ff9600)}.wa-prod .p-c{background:linear-gradient(135deg,#dfe5ee,#0b1f3a)}.wa-prod .p-d{background:linear-gradient(135deg,#ffd9c4,#fd732f)}
.wa-prod strong{display:block;font-size:.68rem;color:var(--navy);line-height:1.2}.wa-prod span{font-size:.66rem}
.wa-cart{border:1px solid var(--line);border-radius:12px;padding:10px;background:#f8fafc;display:grid;gap:8px;align-content:start;animation:dash-in .6s .9s both}.wa-cart small{font-weight:600;color:var(--navy)}.wa-cart div{display:grid;gap:5px}.wa-cart div i{height:7px;border-radius:4px;background:#dfe5ee}.wa-cart strong{display:flex;justify-content:space-between;font-size:.74rem;color:var(--ink-600)}.wa-cart strong b{color:var(--navy);font-size:.95rem}.wa-cart .wa-btn{width:100%;height:22px;color:#fff;font-size:.68rem;font-weight:700;text-align:center;line-height:22px;font-style:normal}
/* speed */
.wa-speed-grid{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;padding:6px 0 2px}
.wa-gauge{position:relative;width:120px;height:120px;display:grid;place-items:center;text-align:center}.wa-gauge svg{position:absolute;inset:0;transform:rotate(-90deg)}
.wa-gauge circle{fill:none;stroke-width:10;stroke-linecap:round}.wa-gauge .t{stroke:#eef2f8}.wa-gauge .v{stroke:#22a06b;stroke-dasharray:0 327;animation:wa-ring 1.6s .4s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes wa-ring{to{stroke-dasharray:calc(327 * var(--p) / 100) 327}}
.wa-gauge strong{font-size:1.9rem;color:#1a7f37;line-height:1;position:relative;z-index:1}.wa-gauge small{display:block;font-size:.54rem;text-transform:uppercase;letter-spacing:.04em;position:relative;z-index:1}
.wa-vitals{list-style:none;margin:0;padding:0;display:grid;gap:9px}.wa-vitals li{display:grid;grid-template-columns:34px 1fr 52px;grid-template-areas:"k n v" "k b v";gap:2px 8px;align-items:center}
.wa-vitals b{grid-area:k;width:34px;height:26px;border-radius:7px;background:var(--navy);color:#fff;font-size:.62rem;display:grid;place-items:center}.wa-vitals span{grid-area:n;font-size:.66rem}.wa-vitals i{grid-area:b;height:6px;border-radius:3px;background:#eef2f8;position:relative;overflow:hidden}.wa-vitals i::after{content:"";position:absolute;inset:0;width:var(--w);background:#22a06b;border-radius:3px;transform:scaleX(0);transform-origin:left;animation:wa-bar 1s .6s cubic-bezier(.2,.8,.2,1) forwards}.wa-vitals strong{grid-area:v;text-align:right;color:#1a7f37;font-size:.84rem}
@keyframes wa-bar{to{transform:none}}
/* server */
.wa-rack{display:grid;gap:7px;background:#141b26;border-radius:12px;padding:10px}
.wa-unit{display:grid;grid-template-columns:18px 54px 8px 8px 1fr;gap:8px;align-items:center;background:#1e2735;border:1px solid #2a3647;border-radius:8px;padding:8px 10px;color:#c9d4e3;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.66rem;opacity:0;animation:wa-up .4s both;animation-delay:calc(.3s + var(--i) * .15s)}
.wa-unit b{height:12px;border-radius:3px;background:#2f3b4e}.wa-led{width:7px;height:7px;border-radius:50%;background:#3a88d8;animation:wa-blink 1.4s infinite}.wa-led.g{background:#22a06b;animation-duration:2.3s}
.wa-unit em{height:6px;border-radius:3px;background:#2a3647;position:relative;overflow:hidden}.wa-unit em i{position:absolute;inset:0;width:var(--w);background:#3a88d8;border-radius:3px;transform:scaleX(0);transform-origin:left;animation:wa-bar 1s .8s forwards}
@keyframes wa-blink{0%,100%{opacity:1}50%{opacity:.25}}
/* domain */
.wa-search{display:flex;align-items:center;gap:8px;border:2px solid var(--blue);border-radius:12px;padding:8px 8px 8px 14px;font-size:.95rem;color:var(--navy);font-weight:600}
.wa-typed{flex:1;overflow:hidden;white-space:nowrap;border-right:2px solid var(--navy);width:0;animation:wa-type 1.2s .3s steps(18) forwards,wa-caret .8s step-end infinite}
@keyframes wa-type{to{width:100%}}@keyframes wa-caret{50%{border-color:transparent}}
.wa-search .wa-btn{height:30px;line-height:30px;width:auto;padding:0 14px;color:#fff;font-size:.74rem;font-style:normal;animation:none}
.wa-hits{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:7px}.wa-hits li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;opacity:0;animation:wa-up .4s both;animation-delay:calc(1.5s + var(--i) * .15s)}
.wa-hits strong{color:var(--navy);font-size:.82rem}.wa-hits strong b{color:var(--blue)}.wa-hits .ok{display:inline-flex;align-items:center;gap:4px;color:#1a7f37;font-weight:600;font-size:.7rem}.wa-hits .no{color:#b42318;font-size:.7rem;font-weight:600}
.wa-btn.sm{height:22px;line-height:22px;width:auto;padding:0 10px;color:#fff;font-size:.66rem;font-weight:700;font-style:normal;animation:none}
/* ssl */
.wa-cert{border:1px solid var(--line);border-radius:12px;padding:12px}.wa-cert-head{display:flex;gap:10px;align-items:center;margin-bottom:10px}.wa-cert-head strong{display:block;color:var(--navy);font-size:.84rem}.wa-cert-head small{font-size:.68rem}
.wa-redir{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.62rem}.wa-redir li{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;opacity:0;animation:wa-up .4s both;animation-delay:calc(.6s + var(--i) * .2s)}.wa-redir li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a96a8;text-decoration:line-through}.wa-redir li .ok{color:#1a7f37;text-decoration:none}.wa-redir b{font-size:.58rem;background:var(--blue-50);color:var(--blue-600);padding:2px 6px;border-radius:999px}
/* estimate + report */
.wa-est,.wa-rep{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}.wa-est-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.wa-est-head strong{color:var(--navy);font-size:.86rem}.wa-est-head small{font-size:.66rem}
.wa-est ul,.wa-scores{list-style:none;margin:0;padding:0;display:grid;gap:6px}.wa-est li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.74rem;opacity:0;animation:wa-up .4s both;animation-delay:calc(.4s + var(--i) * .14s)}.wa-est li b{color:var(--navy)}
.wa-est-total{display:flex;justify-content:space-between;align-items:center;padding-top:10px;font-weight:600;color:var(--navy)}.wa-est-total strong{font-size:1.25rem}
.wa-scores li{display:grid;grid-template-columns:1fr 90px 26px;gap:10px;align-items:center;font-size:.72rem;opacity:0;animation:wa-up .4s both;animation-delay:calc(.4s + var(--i) * .14s)}.wa-scores i{height:7px;border-radius:4px;background:#eef2f8;position:relative;overflow:hidden}.wa-scores i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:4px;transform:scaleX(0);transform-origin:left;animation:wa-bar .9s .8s forwards}.wa-scores i.bad::after{background:#e5484d}.wa-scores i.mid::after{background:var(--amber)}.wa-scores i.good::after{background:#22a06b}.wa-scores b{text-align:right;color:var(--navy)}
/* portfolio grid + misc page bits */
.work-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.work-shot{background:#f3f6fa;border-bottom:1px solid var(--line)}.work-shot img{display:block;width:100%;height:auto}
.work-body{padding:20px 24px 24px;display:flex;flex-direction:column;flex:1}.work-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tag.alt{background:#fff1e8;color:#c2511a}.work-card h3{margin:0 0 6px;font-size:1.05rem}.work-card p{font-size:var(--fs-sm);color:var(--ink-600)}.work-card .more{margin-top:auto;padding-top:12px}
.price-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.price-table th,.price-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.price-table th{background:var(--bg-soft);color:var(--navy);font-weight:600}.price-table td strong{color:var(--navy);white-space:nowrap}
.plan .plan-price strong.sm{font-size:1.5rem}
.stack{display:flex;flex-wrap:wrap;gap:8px}.stack span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:var(--fs-sm);font-weight:500;color:var(--navy)}
.cmp-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.cmp-table th,.cmp-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.cmp-table th{color:var(--navy)}.cmp-table td:first-child{font-weight:600;color:var(--navy)}
.section-navy .stack span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#eaf2ff}.section-navy .price-card .stack span{background:#fff;border-color:var(--line);color:var(--navy)}

/* ===== City / location pages ===== */
.wa-msearch{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font-size:.82rem;color:var(--ink);box-shadow:0 1px 4px rgba(11,31,58,.08)}
.wa-msearch b{color:var(--blue);font-size:1.05rem;font-weight:700}.wa-msearch i{margin-left:auto;width:12px;height:18px;border-radius:6px;background:linear-gradient(var(--orange),var(--amber))}
.wa-mapbox{position:relative;height:210px;margin:12px 0 0;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#e8f1fb,#f3f7fb);background-image:linear-gradient(rgba(0,92,185,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,92,185,.08) 1px,transparent 1px);background-size:24px 24px}
.wa-roads{position:absolute;inset:0;width:100%;height:100%}.wa-roads path{fill:none;stroke:#fff;stroke-width:9;stroke-linecap:round}.wa-roads path.w{stroke:#cfe3f7;stroke-width:14}
.wa-mapbox .wa-pin{position:absolute;width:14px;height:14px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#9fb2cc;animation:pin-drop .5s cubic-bezier(.2,.8,.2,1) both}
.wa-mapbox .p1{left:18%;top:26%;animation-delay:.2s}.wa-mapbox .p2{left:72%;top:20%;animation-delay:.35s}.wa-mapbox .p3{left:80%;top:62%;animation-delay:.5s}
.wa-mapbox .you{left:44%;top:38%;width:22px;height:22px;background:var(--orange);box-shadow:0 0 0 0 rgba(253,115,47,.5);animation:pin-drop .5s cubic-bezier(.2,.8,.2,1) .7s both,pin-pulse 2.2s ease-out 1.3s infinite}
.wa-mlabel{position:absolute;left:calc(44% + 30px);top:38%;background:var(--navy);color:#fff;font-size:.7rem;font-weight:600;padding:4px 9px;border-radius:999px;white-space:nowrap;animation:dash-in .6s ease-out 1s both}
.wa-mcard{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--blue);border-radius:12px;padding:8px 12px;box-shadow:var(--shadow);animation:row-rise 1s cubic-bezier(.2,.8,.2,1) 1.2s both}
.wa-mcard strong{display:block;font-size:.82rem;color:var(--navy);line-height:1.2}.wa-mcard small{display:block;font-size:.66rem;color:var(--amber)}
.wa-mrank{flex:none;width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:.75rem;display:grid;place-items:center}
.wa-mcard em{font-style:normal;background:var(--orange);color:#fff;font-size:.62rem;font-weight:700;padding:3px 8px;border-radius:999px;margin-left:4px}
@keyframes pin-drop{from{opacity:0;translate:0 -18px}to{opacity:1;translate:0 0}}
.city-area{display:grid;gap:14px}
@media (min-width:700px){.city-area{grid-template-columns:repeat(2,1fr)}}@media (min-width:1000px){.city-area{grid-template-columns:repeat(3,1fr)}}
.city-area a,.city-area div{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--navy);font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.city-area a:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--blue)}
.city-area small{display:block;font-weight:400;color:var(--ink-600);font-size:var(--fs-xs)}
.city-area .ico{flex:none;width:38px;height:38px;border-radius:10px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center}
.city-area a .more{margin-left:auto;color:var(--blue)}
.listing-3{display:grid;gap:18px}@media (min-width:900px){.listing-3{grid-template-columns:repeat(3,1fr)}}
.listing{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:0 1px 2px rgba(11,31,58,.04)}
.listing .serp{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:.8rem;background:var(--bg-soft)}
.listing .serp b{display:block;color:var(--blue);font-size:.9rem}.listing .serp i{display:block;height:6px;border-radius:3px;background:#d7e0ec;margin-top:6px;width:80%}.listing .serp i+i{width:60%}
.listing .serp.ad b::before{content:"Sponsored";display:inline-block;font-size:.62rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:1px 5px;margin-right:6px;vertical-align:middle;font-weight:600}
.listing .serp.map{display:flex;align-items:center;gap:10px}.listing .serp.map .pin{width:16px;height:16px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--orange);flex:none}
.listing h3{font-size:1.05rem;margin:0 0 8px}.listing p{font-size:var(--fs-sm);color:var(--ink-600);margin:0}
.section-navy .plan h3,.section-navy .plan .plan-desc{color:var(--navy)}.section-navy .plan .plan-desc{color:var(--ink-600)}
@media (max-width:480px){.wa-mlabel{left:auto;right:10px;top:auto;bottom:66px}}

/* ===== Case studies ===== */
.wa-res .wa-bars{display:grid;grid-template-columns:repeat(12,1fr);gap:5px;align-items:end;height:110px;margin:10px 0 2px;padding:0 2px 6px;border-bottom:1px solid var(--line)}
.wa-res .wa-bars i{display:block;height:var(--h);border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--blue-400,#3a88d8),var(--blue));transform:scaleY(0);transform-origin:bottom;animation:wa-bar-up .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.35s + var(--i) * .07s)}
.wa-res .wa-bars i:last-child{background:linear-gradient(180deg,#ff9600,#fd732f)}
@keyframes wa-bar-up{to{transform:scaleY(1)}}
.wa-res .wa-kpis strong{color:var(--blue)}.wa-res .wa-kpis em{color:var(--ink-500,#6b7a90);font-weight:500}
.cs-shot{max-width:560px;margin:0 auto;animation:dash-in .8s cubic-bezier(.2,.8,.2,1) both}.cs-shot img{display:block;width:100%;height:auto;filter:drop-shadow(0 24px 40px rgba(11,31,58,.22))}
.cs-metrics-strip{padding:34px 0 10px}
.cs-metrics{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cs-metrics li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;box-shadow:0 1px 2px rgba(11,31,58,.04);position:relative;overflow:hidden}
.cs-metrics li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--amber),var(--orange,#fd732f))}
.cs-metrics strong{display:block;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;color:var(--blue);line-height:1;letter-spacing:-.02em}
.cs-metrics span{display:block;margin-top:8px;font-weight:600;color:var(--navy)}.cs-metrics small{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:2px}
.cs-headline{margin:22px auto 0;max-width:820px;text-align:center;font-weight:600;color:var(--navy);font-size:1.1rem}
.cs-body h2{margin-top:38px}.cs-body h3{font-size:1.15rem;margin:26px 0 8px;color:var(--navy)}
.cs-body .checks{margin:14px 0 26px}.cs-body .checks li{color:var(--ink)}.cs-body .checks li span{color:var(--ink-600)}
.cs-fig{margin:18px 0 28px}.cs-fig img,.cs-fig picture img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.cs-fig figcaption{margin-top:8px;font-size:var(--fs-xs);color:var(--muted);text-align:center}
.cs-graph img{padding:8px}
.cs-full-frame{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-lg)}
.cs-full-frame .wa-chrome{margin:0;border-radius:0;border-bottom:1px solid var(--line);padding:10px 14px;background:#f3f6fa}
.cs-full-scroll{max-height:560px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.cs-full-scroll img{border:0;border-radius:0}
.chips.left{justify-content:flex-start;gap:6px;margin-top:4px}.chips.left .chip{padding:5px 10px;font-size:var(--fs-xs)}
.side-pdf{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--navy);border-color:var(--blue-100);background:linear-gradient(160deg,#fff,var(--blue-50))}
.side-pdf:hover{border-color:var(--blue)}.side-pdf strong{display:block;font-size:var(--fs-sm)}.side-pdf small{display:block;color:var(--ink-600);font-size:var(--fs-xs)}.side-pdf .icon-box{flex:none}
/* hub + listing pages */
.cs-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:0 0 28px}
.cs-filter .chip{cursor:pointer;user-select:none}.cs-filter .chip[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.cs-filter select{padding:9px 36px 9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%230b1f3a' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;appearance:none;font:inherit;font-size:var(--fs-sm);font-weight:500;color:var(--navy)}
.cs-count{text-align:center;color:var(--muted);font-size:var(--fs-sm);margin:-14px 0 22px}
.cs-grid [hidden]{display:none}
.cs-card .cs-client{display:block;padding:0 28px;margin-top:10px;font-size:var(--fs-xs);color:var(--muted)}
.cs-group-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px;margin:0 0 20px}.cs-group-head h2{margin:0}.cs-group-head a{font-weight:600;font-size:var(--fs-sm)}
.cs-jump{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:-6px 0 10px}
.cs-award-note{display:grid;gap:18px;grid-template-columns:1fr;align-items:center}
@media (min-width:900px){.cs-award-note{grid-template-columns:1.2fr .8fr}}
.wp-extra{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.wp-extra figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.wp-extra img{display:block;width:100%;height:auto}.wp-extra figcaption{padding:12px 16px;font-weight:600;color:var(--navy);font-size:var(--fs-sm)}
.side-pdf .icon-box{width:46px;height:46px;border-radius:12px;color:var(--blue)}
.cs-hero-stats{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:var(--fs-sm);color:var(--ink-600)}.cs-hero-stats strong{color:var(--navy);font-size:1.1rem;margin-right:4px}
.wa-res .wa-est-head{display:grid;gap:2px;padding-right:120px}.wa-res .wa-est-head small{display:block}
/* Reduced motion: the global animation:none above would otherwise leave the pre-animation (hidden) states in place */
@media (prefers-reduced-motion:reduce){.wa-img,.wa-cards i,.wa-code .wa-ln,.wa-term,.wa-row,.wa-list li,.wa-prod,.wa-unit,.wa-hits li,.wa-redir li,.wa-est li,.wa-scores li{opacity:1;animation:none}.wa-vitals i::after,.wa-unit em i,.wa-scores i::after,.wa-res .wa-bars i{transform:none;animation:none}.wa-typed{width:100%;animation:none;border-right-color:transparent}.wa-gauge .v{stroke-dasharray:calc(327 * var(--p) / 100) 327;animation:none}}

/* ===== Blog ===== */
.hero-blog .page-hero-aside{padding:0}
.post-feature{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 40px -24px rgba(11,31,58,.35)}
.post-feature-shot{display:block;background:#f3f6fa;aspect-ratio:16/9;overflow:hidden}.post-feature-shot img{width:100%;height:100%;object-fit:cover;display:block}
.post-feature-body{padding:22px 26px 26px}.post-feature-body h2{font-size:1.35rem;margin:10px 0 8px;line-height:1.3}.post-feature-body h2 a{color:var(--navy)}.post-feature-body h2 a:hover{color:var(--blue)}
.post-feature-body p{color:var(--ink-600);margin-bottom:16px;font-size:var(--fs-sm)}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:var(--fs-xs);color:var(--muted)}
.post-meta time{font-weight:500}.post-meta span{display:inline-flex;align-items:center;gap:4px}.post-meta svg{width:14px;height:14px;color:var(--blue-400)}
.post-meta .tag{margin:0}
.post-grid{margin-top:26px}
.post-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.post-shot{display:block;background:#eef3f9;aspect-ratio:16/9;overflow:hidden}.post-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.post-card:hover .post-shot img{transform:scale(1.03)}
.post-cover{display:flex;align-items:flex-end;width:100%;height:100%;padding:18px;background:linear-gradient(135deg,var(--navy),#1d4f8f 60%,var(--blue-400));color:#fff;position:relative;overflow:hidden}
.post-cover::before{content:"";position:absolute;inset:auto -40px -60px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(253,115,47,.55),transparent 65%)}
.post-cover::after{content:"";position:absolute;left:18px;top:18px;width:34px;height:3px;background:var(--orange);border-radius:2px}
.post-cover span{position:relative;font-weight:700;font-size:1.05rem;letter-spacing:.02em}
.post-card-body{padding:18px 24px 24px;display:flex;flex-direction:column;flex:1;gap:10px}
.post-card-body h3{font-size:1.1rem;line-height:1.35;margin:0}.post-card-body h3 a{color:var(--navy)}.post-card-body h3 a:hover{color:var(--blue)}
.post-card-body p{font-size:var(--fs-sm);color:var(--ink-600);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-card-body .more{margin-top:auto;padding-top:6px}
.blog-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.blog-chips-label{font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-right:6px}
.blog-chips .chip{padding:7px 12px;font-size:var(--fs-xs)}.blog-chips .chip small{color:var(--muted);font-weight:400}
.blog-chips .chip.active{background:var(--navy);color:#fff;border-color:var(--navy)}.blog-chips .chip.active small{color:#cfe0f7}
.blog-page-note{margin:18px 0 -10px;font-size:var(--fs-sm);color:var(--muted)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:40px;flex-wrap:wrap}
.pagination ol{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.pagination li a,.pagination li span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--navy);font-weight:600;font-size:var(--fs-sm)}
.pagination li a:hover{border-color:var(--blue);color:var(--blue)}.pagination li span[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}
.pagination .pg-gap{display:inline-flex;align-items:center;padding:0 6px;color:var(--muted)}
.pg-prev,.pg-next{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--navy);font-size:var(--fs-sm)}.pg-prev svg{transform:rotate(180deg)}.pg-prev.disabled,.pg-next.disabled{color:var(--muted);opacity:.5}
.popular-card{position:relative;padding:28px 28px 26px;color:inherit;display:flex;flex-direction:column;gap:10px}.popular-card h3{font-size:1.1rem;line-height:1.35;margin:0}.popular-card p{font-size:var(--fs-sm);color:var(--ink-600);margin:0;flex:1}
.popular-n{position:absolute;top:18px;right:22px;font-size:2rem;font-weight:800;color:var(--blue-100);line-height:1}
.popular-card .tag{align-self:flex-start}
.author-wall{display:grid;gap:14px}
.author-tile{display:flex;align-items:center;gap:16px;padding:16px 18px;border-radius:var(--radius);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff}
.author-tile:hover{background:rgba(255,255,255,.1)}.author-tile strong{display:block;font-size:1.05rem}.author-tile small{color:#aebbd0;font-size:var(--fs-sm)}
.avatar{display:block;width:72px;height:72px;border-radius:50%;overflow:hidden;flex:none;background:#fff}.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.hero-blog-cat .cat-card{max-width:360px;margin-left:auto}.cat-card .facts-dl dd a{display:inline-flex;align-items:center;gap:6px;color:var(--blue)}.cat-card .facts-dl dd a svg{width:14px;height:14px}
/* single post */
.post-tags-bar{background:var(--blue-50)}.post-tags-bar .container{padding-top:18px}.post-tags-bar .post-meta{gap:6px}
.hero-post .page-hero-text h1{font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.2}
.hero-post .page-hero-text .lead{font-size:1.05rem}
.hero-post .hero-actions{margin-top:0}
.post-byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;font-size:var(--fs-sm);color:var(--ink-600)}
.post-byline .avatar{width:48px;height:48px;border:2px solid #fff;box-shadow:0 2px 8px rgba(11,31,58,.15)}
.post-byline>div{display:grid;gap:1px}.post-byline small{font-size:var(--fs-xs);color:var(--muted)}
.post-author-name{font-weight:600;color:var(--navy)}
.post-dates time{font-weight:500;color:var(--navy)}
.post-read{display:inline-flex;align-items:center;gap:6px;color:var(--blue)}.post-read svg{width:14px;height:14px}
.post-hero-shot{border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 40px -24px rgba(11,31,58,.35);background:#fff;border:1px solid var(--line)}.post-hero-shot img{display:block;width:100%;height:auto}
.post-cover-big{aspect-ratio:16/10;border:0}.post-cover-big .post-cover span{font-size:1.6rem}
.post-section{padding-top:48px}
.post-body{max-width:760px;font-size:1.0625rem;line-height:1.75}
.post-body>p,.post-body>ul,.post-body>ol{margin-bottom:22px}.post-body p,.post-body li{font-size:inherit}
.post-body h2{font-size:1.55rem;margin:44px 0 14px;scroll-margin-top:90px;line-height:1.3}.post-body h3{font-size:1.25rem;margin:32px 0 10px}.post-body h4{font-size:1.08rem;margin:26px 0 8px}.post-body h5,.post-body h6{font-size:1rem;margin:20px 0 6px}
.post-body ol{padding-left:24px;display:grid;gap:10px;color:var(--ink-600)}.post-body ol li::marker{color:var(--blue);font-weight:700}
.post-body ul ul,.post-body ol ol,.post-body ul ol,.post-body ol ul{margin:8px 0 0}
.post-body a{color:var(--blue);text-decoration:underline;text-decoration-color:var(--blue-100);text-underline-offset:3px}.post-body a:hover{text-decoration-color:var(--blue)}
.post-body a.btn{text-decoration:none;color:#fff}
.post-body figure{margin:26px 0;text-align:center}.post-body figure img{max-width:100%;height:auto;display:inline-block;border-radius:12px}
.post-body figcaption{font-size:var(--fs-sm);color:var(--muted);margin-top:8px}
.post-body figure.fig-small img{max-width:min(100%,320px)}
@media (min-width:700px){.post-body figure.fig-left{float:left;margin:4px 26px 14px 0;max-width:42%}.post-body figure.fig-right{float:right;margin:4px 0 14px 26px;max-width:42%}.post-body h2,.post-body h3{clear:both}}
.post-body figure.video{aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}.post-body figure.video iframe{width:100%;height:100%;border:0;display:block}
.post-body table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);margin:0 0 24px}.post-body th,.post-body td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.post-body th{background:var(--blue-50);color:var(--navy)}
.post-body blockquote{margin:26px 0;padding:18px 24px;border-left:4px solid var(--orange);background:var(--blue-50);border-radius:0 12px 12px 0;color:var(--navy)}.post-body blockquote p:last-child{margin-bottom:0}
.post-body blockquote.tweet{border-left-color:var(--navy);font-size:var(--fs-sm)}
.post-body hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.post-body details{border:1px solid var(--line);border-radius:12px;padding:0 20px;margin:0 0 12px;background:#fff}.post-body summary{cursor:pointer;font-weight:600;color:var(--navy);padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.post-body summary::-webkit-details-marker{display:none}.post-body summary::after{content:"+";color:var(--blue);font-weight:700;flex:none}.post-body details[open] summary::after{content:"–"}.post-body details>div{padding:0 0 16px}
.post-body sup{font-size:.7em}.post-body strong{color:var(--navy)}
.post-body .post-cta{text-align:center;margin:32px 0}
.post-note{display:flex;gap:10px;align-items:flex-start;background:#fff8f3;border:1px solid #fde1cf;border-radius:12px;padding:14px 18px;font-size:var(--fs-sm);color:var(--ink-600)}.post-note svg{flex:none;width:16px;height:16px;color:var(--orange);margin-top:3px}
.post-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:40px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:var(--fs-sm)}
.post-share>span{font-weight:600;color:var(--navy);margin-right:6px}
.post-share a,.post-share button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--navy);font:inherit;font-size:var(--fs-xs);font-weight:600;cursor:pointer;text-decoration:none}
.post-share a:hover,.post-share button:hover{border-color:var(--blue);color:var(--blue)}.post-share button.done{background:var(--navy);color:#fff;border-color:var(--navy)}
.post-author-card{display:flex;gap:22px;align-items:flex-start;margin-top:30px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,#fff,var(--blue-50))}
.post-author-card .more{display:inline-flex;align-items:center;gap:6px}.post-author-card .avatar{width:88px;height:88px}.post-author-card h2{font-size:1.15rem;margin:4px 0 8px}.post-author-card h2 a{color:var(--navy);text-decoration:none}.post-author-card p{font-size:var(--fs-sm);margin-bottom:8px}
.post-nav{display:grid;gap:14px;margin-top:30px}@media (min-width:640px){.post-nav{grid-template-columns:1fr 1fr}}
.post-nav a{display:grid;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;color:var(--navy);text-decoration:none;font-size:var(--fs-sm);font-weight:600}.post-nav a:hover{border-color:var(--blue)}
.post-nav small{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.post-nav-prev small svg{transform:rotate(180deg)}.post-nav-next{text-align:right}.post-nav-next small{justify-content:flex-end}
.post-side{display:grid;gap:20px}@media (min-width:1000px){.post-side{position:sticky;top:90px}}
.post-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:toc}.post-toc li{counter-increment:toc}
.post-toc a{display:flex;gap:10px;padding:7px 0;font-size:var(--fs-sm);color:var(--ink-600);line-height:1.35;border-left:2px solid transparent;padding-left:10px;margin-left:-12px}
.post-toc a::before{content:counter(toc,decimal-leading-zero);color:var(--blue-400);font-weight:600;font-size:var(--fs-xs);flex:none;margin-top:2px}
.post-toc a:hover,.post-toc a.active{color:var(--navy);border-left-color:var(--orange)}
.side-links a strong{display:inline-flex;align-items:center;gap:6px}.side-cta{background:linear-gradient(160deg,var(--navy),#15396b);border:0;color:#fff}.side-cta h3{color:#fff}.side-cta p{color:#cfe0f7;font-size:var(--fs-sm);margin-bottom:14px}.side-cta .eyebrow{color:var(--amber)}
@media (max-width:999px){.post-toc{display:none}}

/* ===== Legal, landing, utility pages ===== */
.legal-updated{font-size:var(--fs-sm);color:var(--muted);margin:0}
.legal-body h2{font-size:1.35rem}.legal-body h3{font-size:1.1rem}
.sitemap-grid{display:grid;gap:28px 32px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.sitemap-col h2{font-size:1rem;margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--blue-100)}.sitemap-col h2 a{color:var(--navy)}
.sitemap-col ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}.sitemap-col li a{font-size:var(--fs-sm);color:var(--ink-600)}.sitemap-col li a:hover{color:var(--blue)}
.sitemap-years{margin-top:30px;display:grid;gap:10px}
.sitemap-year{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 20px}.sitemap-year summary{cursor:pointer;font-weight:700;color:var(--navy);padding:14px 0;list-style:none;display:flex;justify-content:space-between}.sitemap-year summary::-webkit-details-marker{display:none}.sitemap-year summary small{color:var(--muted);font-weight:500}
.sitemap-posts{list-style:none;margin:0;padding:0 0 14px;display:grid;gap:4px}.sitemap-posts li{display:flex;justify-content:space-between;gap:14px;font-size:var(--fs-sm)}.sitemap-posts time{color:var(--muted);white-space:nowrap;font-size:var(--fs-xs)}
.sitemap-posts a{color:var(--ink-600)}.sitemap-posts a:hover{color:var(--blue)}
.simple-hero-img{border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 40px -24px rgba(11,31,58,.35);border:1px solid var(--line);background:#fff}.simple-hero-img img{display:block;width:100%;height:auto}
.simple-section{padding-top:48px}.simple-side{display:grid;gap:20px;align-self:start}
.simple-form{margin-top:36px}.simple-form .form-card,.fb-form.on-light{color:var(--ink)}
.form-section{margin:28px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--blue-100);color:var(--navy);font-size:1.05rem}.form-section:first-child{margin-top:0}
.field-help{display:block;margin-top:4px;font-size:var(--fs-xs);color:var(--muted)}
.field .label{display:block;font-weight:600;font-size:var(--fs-sm);margin-bottom:8px}
.choice-list{display:grid;gap:8px}.choice{display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);font-weight:400;cursor:pointer}.choice input{width:18px;height:18px;accent-color:var(--blue);margin:0}
.star-row{display:flex;gap:6px;margin:10px 0 6px}.star-row a{font-size:2.6rem;line-height:1;color:#d9dee7;text-decoration:none;transition:color .15s,transform .15s}.star-row a:hover,.star-row a:focus-visible{color:var(--amber);transform:scale(1.1)}.star-row:hover a{color:var(--amber)}.star-row a:hover~a{color:#d9dee7}
.star-help{font-size:var(--fs-xs);color:var(--muted)}
.hero-landing .page-hero-aside{padding:0}.lp-form-wrap .form-card{box-shadow:0 18px 40px -24px rgba(11,31,58,.35)}
.lp-phone{font-size:var(--fs-sm);color:var(--ink-600);margin:0}.lp-phone a{font-weight:700;color:var(--navy)}
.photo-frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 18px 40px -24px rgba(11,31,58,.35)}.photo-frame img{display:block;width:100%;height:auto}
.narrow-820{max-width:820px}
.band-statement{padding:56px 0}.band-statement h2{color:#fff}.band-statement .lead{margin-inline:auto;color:#dbeafe}.band-statement .btn{margin-top:22px}
.industry-icons{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.industry-icon{display:grid;justify-items:center;gap:10px;padding:20px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-align:center;font-size:var(--fs-sm);font-weight:600;color:var(--navy)}.industry-icon svg{width:52px;height:52px}
.step-card,.feature-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.step-shot{position:relative;background:#f3f6fa;aspect-ratio:16/9;overflow:hidden}.step-shot img{width:100%;height:100%;object-fit:cover;display:block}
.step-n{position:absolute;left:16px;top:16px;width:40px;height:40px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2)}
.step-card .card-body,.feature-card .card-body{padding:20px 24px 24px}.step-card h3,.feature-card h3{font-size:1.1rem;margin:0 0 8px}.step-card p,.feature-card p{font-size:var(--fs-sm);color:var(--ink-600);margin:0}
.feature-card{padding:28px 28px 26px}.feature-card .card-body{padding:0}.feature-ico{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--blue-50);margin-bottom:16px}.feature-ico img{width:44px;height:44px}.feature-ico svg{width:40px;height:40px}
.list-callout{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px}.list-callout.warn{border-left:5px solid var(--orange)}.list-callout h2{font-size:1.4rem;margin-bottom:10px}
.num-list{padding-left:0;list-style:none;counter-reset:n;display:grid;gap:10px;margin:0 0 22px}.num-list li{counter-increment:n;display:flex;gap:12px;align-items:flex-start;color:var(--ink-600)}.num-list li::before{content:counter(n);flex:none;width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:var(--fs-xs);display:grid;place-items:center}
.lp-video{aspect-ratio:16/9;background:#000;border-radius:12px;overflow:hidden}.lp-video iframe{width:100%;height:100%;border:0;display:block}
.prose ul.checks{display:grid;gap:10px}.prose ul.checks li{padding-left:0;display:flex;gap:10px}.prose ul.checks li::before{display:none}
.section-navy .lead{color:#cfe0f7}
/* ===== Home: services grid (2 feature boxes, then two rows of 3) ===== */
@media (min-width:900px){#services .bento{grid-template-columns:repeat(6,1fr)}#services .bento .feature{grid-column:span 3}#services .bento>.card:not(.feature){grid-column:span 2}}
