
/* ==========================================================================

   AQ Marketing — compiled site stylesheet (main.css)

   Loaded by the AutoForge stub theme for the AQM WordPress site.



   LAYERING (top → bottom = lowest → highest cascade priority):

     LAYER 1  Engine base design system — Tailwind v3.4 recompiled with AQM

              tokens (accent-* = RED #c8102e, brand-* = neutral-dark ramp,

              fonts = Inter). Provides ALL engine component/utility classes

              the section templates use: .pill-eyebrow .card .container-edge

              .container-x .btn .btn-primary .hero-btn .article-body .eyebrow

              .reveal .mega-panel .sticky-bar etc.

     LAYER 2  AQM brand-token bridge — declares the legacy .hm-* token

              vocabulary on :root (--teal:#c8102e KEPT + mapped to accent,

              --red --orange --ink --muted --line --display …) and repaints

              the handful of base component classes whose SOURCE carried

              literal blue hex (Tailwind cannot tokenise raw hex inside

              @layer components) to AQM RED/ORANGE.

     LAYER 3  Hand-written AQM layer — the FULL 2026 design system +

              .hm-* / .ab-hero* animated sections, appended VERBATIM from the

              AQM static site styles.css for pixel parity. Highest priority.



   Brand: primary RED #c8102e (legacy var --teal), secondary ORANGE #f26b3a,

   dark band ~#06080b. Fonts: Inter / Inter Fallback.



   NOTE (asset path): Layer 3 references url('/assets/generated/hero-boston.webp?v=2')

   for .hero background — ensure that image is served at that path (or rewrite

   the URL) when wiring the theme.



   Regenerate Layer 1: `tailwindcss -c <aqm tokens cfg> -i theme/aqm-base/

   assets/css/src/global.css -o … --minify` (AQM tokens come from

   content/design.json: accent ramp = RED, brand ramp = neutral-dark).

   ========================================================================== */



/* ====================== LAYER 1 — ENGINE BASE (recompiled w/ AQM tokens) ====================== */

*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--tw-text-opacity:1;color:rgb(37 42 49/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:Inter,Inter Fallback,system-ui,sans-serif;text-wrap:balance;color:inherit;letter-spacing:-.01em}h1{font-size:2.25rem;line-height:2.5rem;font-weight:700;line-height:1.1}@media (min-width:768px){h1{font-size:3rem;line-height:1}}@media (min-width:1024px){h1{font-size:3.75rem;line-height:1}}h2{margin-top:3rem;margin-bottom:1rem;font-size:1.875rem;line-height:2.25rem;font-weight:700;line-height:1.25}@media (min-width:768px){h2{font-size:2.25rem;line-height:2.5rem}}h3{margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;line-height:1.375}@media (min-width:768px){h3{font-size:1.5rem;line-height:2rem}}article h1,article h2,article h3,article h4,main h1,main h2,main h3,main h4,section h1,section h2,section h3,section h4{--tw-text-opacity:1;color:rgb(19 23 28/var(--tw-text-opacity,1))}.bg-brand-700 :is(h1,h2,h3,h4),.bg-brand-800 :is(h1,h2,h3,h4),.bg-brand-900 :is(h1,h2,h3,h4){color:inherit}p{line-height:1.625;text-wrap:pretty}a{text-underline-offset:4px;color:#2563eb}main blockquote a,main details a,main li a:not(.btn):not(.btn-primary):not(.hero-btn),main p a:not(.btn):not(.btn-primary):not(.hero-btn),main summary a{transition:color .15s}main blockquote a:hover,main details a:hover,main li a:not(.btn):not(.btn-primary):not(.hero-btn):hover,main p a:not(.btn):not(.btn-primary):not(.hero-btn):hover,main summary a:hover{color:#1d4ed8!important}.eyebrow{font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;--tw-text-opacity:1;color:rgb(200 16 46/var(--tw-text-opacity,1))}@media (min-width:768px){.eyebrow{font-size:.875rem;line-height:1.25rem}}.skip-to-content{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-to-content:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;position:fixed;top:.5rem;left:.5rem;z-index:50;border-radius:.25rem;--tw-bg-opacity:1;background-color:rgb(200 16 46/var(--tw-bg-opacity,1));padding:.5rem 1rem;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-width:2px;border-color:transparent;padding:.75rem 1.5rem;font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5rem;font-weight:600;text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\!btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(200 16 46/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-width:2px;border-color:transparent;padding:.75rem 1.5rem;font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5rem;font-weight:600;text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(200 16 46/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.\!btn{border-radius:4px!important;box-sizing:border-box!important}.\!btn,.btn{text-decoration:none!important}.btn{border-radius:4px;box-sizing:border-box}.\!btn:focus,.\!btn:hover,.btn:focus,.btn:hover{text-decoration:none!important}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-width:2px;border-color:transparent;padding:.75rem 1.5rem;font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5rem;font-weight:600;text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(200 16 46/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-primary{border-radius:4px;box-sizing:border-box}.btn-primary,.btn-primary:focus,.btn-primary:hover{text-decoration:none}.btn-primary{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background:#3b82f6;color:#fff}.btn-primary:hover{background:#1d4ed8;color:#fff}.btn-secondary :is(h1,h2,h3,h4){color:inherit}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-width:2px;border-color:transparent;padding:.75rem 1.5rem;font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5rem;font-weight:600;text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(200 16 46/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-secondary{border-radius:4px;box-sizing:border-box}.btn-secondary,.btn-secondary:focus,.btn-secondary:hover{text-decoration:none}.btn-secondary{--tw-bg-opacity:1;background-color:rgb(19 23 28/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-secondary:hover :is(h1,h2,h3,h4){color:inherit}.btn-secondary:hover{--tw-bg-opacity:1;background-color:rgb(10 12 15/var(--tw-bg-opacity,1))}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-width:2px;border-color:transparent;padding:.75rem 1.5rem;font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5rem;font-weight:600;text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-outline:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(200 16 46/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-outline{border-radius:4px;box-sizing:border-box}.btn-outline,.btn-outline:focus,.btn-outline:hover{text-decoration:none}.btn-outline{--tw-border-opacity:1;border-color:rgb(19 23 28/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(19 23 28/var(--tw-text-opacity,1))}.btn-outline:hover{--tw-bg-opacity:1;background-color:rgb(247 249 250/var(--tw-bg-opacity,1))}.btn-outline-light{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-width:2px;border-color:transparent;padding:.75rem 1.5rem;font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5rem;font-weight:600;text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-outline-light:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(200 16 46/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}.btn-outline-light{border-radius:4px;box-sizing:border-box}.btn-outline-light,.btn-outline-light:focus,.btn-outline-light:hover{text-decoration:none}.btn-outline-light{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.btn-outline-light:hover{background-color:hsla(0,0%,100%,.1)}.container-x{margin-left:auto;margin-right:auto;max-width:1320px;padding-left:1rem;padding-right:1rem}@media (min-width:640px){.container-x{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.container-x{padding-left:2rem;padding-right:2rem}}.container-edge{width:100%;padding-left:30px;padding-right:30px}@media (min-width:768px){.container-edge{padding-left:3%;padding-right:3%}.container-edge--wide{padding-left:6%;padding-right:6%}}.prose-content{margin-left:auto;margin-right:auto;max-width:70ch}.prose-content p{margin-bottom:1rem}.prose-content ul{margin-top:1rem;margin-bottom:1rem;list-style-type:disc}.prose-content ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.prose-content ul{padding-left:1.5rem}.prose-content ol{margin-top:1rem;margin-bottom:1rem;list-style-type:decimal}.prose-content ol>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.prose-content ol{padding-left:1.5rem}.card{border-radius:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(230 232 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));padding:1.5rem;--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.card,.card:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.card:hover{--tw-border-opacity:1;border-color:rgb(212 216 222/var(--tw-border-opacity,1));--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.pill-eyebrow{display:inline-block;background:#3b82f630;border:1px solid #3b82f6;color:#3b82f6;font-size:12px;font-weight:700;padding:5px 12px 4px;border-radius:50px}.hero-btn,.pill-eyebrow{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;text-transform:uppercase}.hero-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;font-size:16px;font-weight:600;padding:14px 28px;border-radius:4px;border:1px solid transparent;text-decoration:none!important;transition:background-color .2s,color .2s,border-color .2s}@media (min-width:640px){.hero-btn{width:auto}}.hero-btn:hover{text-decoration:none!important}.hero-btn--primary{background:#3b82f6;color:#fff}.hero-btn--primary:hover{background:#1d4ed8;color:#fff}.hero-btn--secondary{background:hsla(0,0%,100%,.25);color:#fff;border-color:hsla(0,0%,100%,.4)}.hero-btn--secondary:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.cta-call-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:13px 24px;border:1px solid #fff;border-radius:4px;color:#fff;font-weight:600;text-decoration:none!important;transition:background-color .2s,color .2s,border-color .2s;box-sizing:border-box}.cta-call-btn:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.article-body{--tw-text-opacity:1;color:rgb(37 42 49/var(--tw-text-opacity,1));font-size:1.0625rem;line-height:1.8}.article-body>p:first-of-type{font-size:1.125rem;line-height:1.75rem;line-height:1.625;--tw-text-opacity:1;color:rgb(19 23 28/var(--tw-text-opacity,1))}.article-body p{margin-top:1.25rem;margin-bottom:1.25rem}.article-body h2{margin-top:3rem;margin-bottom:1rem;font-size:1.5rem;line-height:2rem;--tw-text-opacity:1;color:rgb(19 23 28/var(--tw-text-opacity,1))}@media (min-width:768px){.article-body h2{font-size:1.875rem;line-height:2.25rem}}.article-body h3{margin-top:2.25rem;margin-bottom:.75rem;font-size:1.25rem;line-height:1.75rem;--tw-text-opacity:1;color:rgb(19 23 28/var(--tw-text-opacity,1))}.article-body ul{margin-top:1.25rem;margin-bottom:1.25rem;list-style-type:disc}.article-body ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.article-body ul{padding-left:1.5rem}.article-body ol{margin-top:1.25rem;margin-bottom:1.25rem;list-style-type:decimal}.article-body ol>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.article-body ol{padding-left:1.5rem}.article-body li{padding-left:.25rem}.article-body strong{font-weight:600;--tw-text-opacity:1;color:rgb(19 23 28/var(--tw-text-opacity,1))}.article-body a{font-weight:500;--tw-text-opacity:1;color:rgb(134 10 30/var(--tw-text-opacity,1));text-decoration-line:underline}.article-body blockquote{margin-top:1.75rem;margin-bottom:1.75rem;border-left-width:4px;--tw-border-opacity:1;border-color:rgb(200 16 46/var(--tw-border-opacity,1));padding-left:1.25rem;font-style:italic;--tw-text-opacity:1;color:rgb(37 42 49/var(--tw-text-opacity,1))}.article-body table{margin-top:2rem;margin-bottom:2rem;width:100%;border-collapse:collapse;overflow:hidden;border-radius:.5rem;font-size:.875rem;line-height:1.25rem;box-shadow:0 0 0 1px #e6e8eb}.article-body thead :is(h1,h2,h3,h4){color:inherit}.article-body thead{--tw-bg-opacity:1;background-color:rgb(19 23 28/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.article-body td,.article-body th{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(230 232 235/var(--tw-border-opacity,1));padding:.75rem 1rem;text-align:left;vertical-align:top}.article-body thead th{--tw-border-opacity:1;border-color:rgb(19 23 28/var(--tw-border-opacity,1));font-weight:600}.article-body tbody tr:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(247 249 250/var(--tw-bg-opacity,1))}.article-body tbody tr:last-child td{border-bottom-width:0}.article-body h2,.article-body h3{scroll-margin-top:140px}.article-toc{margin-bottom:2.25rem;border-radius:.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(230 232 235/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(247 249 250/var(--tw-bg-opacity,1));padding:1.25rem}@media (min-width:768px){.article-toc{padding:1.5rem}}.article-toc__label{margin:0 0 .75rem;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity:1;color:rgb(91 100 113/var(--tw-text-opacity,1))}.article-toc ul{margin:0;list-style-type:none}.article-toc ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.article-toc ul{padding:0}.article-toc li{margin:0;line-height:1.375}.article-toc a{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(37 42 49/var(--tw-text-opacity,1));text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.article-toc a:hover{--tw-text-opacity:1;color:rgb(134 10 30/var(--tw-text-opacity,1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-left-\[2\.55rem\]{left:-2.55rem}.-top-3{top:-.75rem}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.top-0{top:0}.top-1\.5{top:.375rem}.top-4{top:1rem}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-12{grid-column:span 12/span 12}.col-span-4{grid-column:span 4/span 4}.col-span-8{grid-column:span 8/span 8}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-16{margin-top:4rem;margin-bottom:4rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.\!mb-0{margin-bottom:0!important}.\!mt-0{margin-top:0!important}.\!mt-1{margin-top:.25rem!important}.\!mt-2{margin-top:.5rem!important}.\!mt-3{margin-top:.75rem!important}.\!mt-4{margin-top:1rem!important}.\!mt-5{margin-top:1.25rem!important}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[3\/2\]{aspect-ratio:3/2}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-12{max-height:3rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[1000px\]{max-width:1000px}.max-w-\[260px\]{max-width:260px}.max-w-\[760px\]{max-width:760px}.max-w-\[820px\]{max-width:820px}.max-w-\[860px\]{max-width:860px}.max-w-\[930px\]{max-width:930px}.max-w-content{max-width:1320px}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-prose{max-width:70ch}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-2{row-gap:.5rem}.gap-y-2\.5{row-gap:.625rem}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-brand-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(230 232 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-b-4{border-bottom-width:4px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-accent-400{--tw-border-opacity:1;border-color:rgb(221 47 75/var(--tw-border-opacity,1))}.border-accent-500{--tw-border-opacity:1;border-color:rgb(200 16 46/var(--tw-border-opacity,1))}.border-accent-700{--tw-border-opacity:1;border-color:rgb(134 10 30/var(--tw-border-opacity,1))}.border-brand-100{--tw-border-opacity:1;border-color:rgb(230 232 235/var(--tw-border-opacity,1))}.border-brand-200{--tw-border-opacity:1;border-color:rgb(212 216 222/var(--tw-border-opacity,1))}.border-brand-300{--tw-border-opacity:1;border-color:rgb(170 178 189/var(--tw-border-opacity,1))}.border-brand-50{--tw-border-opacity:1;border-color:rgb(247 249 250/var(--tw-border-opacity,1))}.border-brand-500{--tw-border-opacity:1;border-color:rgb(91 100 113/var(--tw-border-opacity,1))}.border-brand-800{--tw-border-opacity:1;border-color:rgb(19 23 28/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/30{border-color:hsla(0,0%,100%,.3)}.border-white\/\[0\.13\]{border-color:hsla(0,0%,100%,.13)}.bg-accent-50{--tw-bg-opacity:1;background-color:rgb(253 234 237/var(--tw-bg-opacity,1))}.bg-accent-500{--tw-bg-opacity:1;background-color:rgb(200 16 46/var(--tw-bg-opacity,1))}.bg-black\/30{background-color:rgba(0,0,0,.3)}.bg-brand-100{--tw-bg-opacity:1;background-color:rgb(230 232 235/var(--tw-bg-opacity,1))}.bg-brand-200{--tw-bg-opacity:1;background-color:rgb(212 216 222/var(--tw-bg-opacity,1))}.bg-brand-50{--tw-bg-opacity:1;background-color:rgb(247 249 250/var(--tw-bg-opacity,1))}.bg-brand-500\/10{background-color:rgba(91,100,113,.1)}.bg-brand-600{--tw-bg-opacity:1;background-color:rgb(59 66 76/var(--tw-bg-opacity,1))}.bg-brand-700\/60{background-color:rgba(37,42,49,.6)}.bg-brand-800{--tw-bg-opacity:1;background-color:rgb(19 23 28/var(--tw-bg-opacity,1))}.bg-brand-900{--tw-bg-opacity:1;background-color:rgb(10 12 15/var(--tw-bg-opacity,1))}.bg-brand-900\/80{background-color:rgba(10,12,15,.8)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/\[0\.05\]{background-color:hsla(0,0%,100%,.05)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-brand-800{--tw-gradient-from:#13171c var(--tw-gradient-from-position);--tw-gradient-to:rgba(19,23,28,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-brand-900\/95{--tw-gradient-from:rgba(10,12,15,.95) var(--tw-gradient-from-position);--tw-gradient-to:rgba(10,12,15,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-brand-900\/80{--tw-gradient-to:rgba(10,12,15,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(10,12,15,.8) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-brand-900{--tw-gradient-to:#0a0c0f var(--tw-gradient-to-position)}.to-brand-900\/50{--tw-gradient-to:rgba(10,12,15,.5) var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-5{padding-bottom:1.25rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Inter,Inter Fallback,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.font-serif{font-family:Inter,Inter Fallback,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.leading-\[1\.15\]{line-height:1.15}.leading-\[1\.2\]{line-height:1.2}.leading-\[1\.7em\]{line-height:1.7em}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent-300{--tw-text-opacity:1;color:rgb(236 98 117/var(--tw-text-opacity,1))}.text-accent-400{--tw-text-opacity:1;color:rgb(221 47 75/var(--tw-text-opacity,1))}.text-accent-500{--tw-text-opacity:1;color:rgb(200 16 46/var(--tw-text-opacity,1))}.text-accent-500\/40{color:rgba(200,16,46,.4)}.text-accent-600{--tw-text-opacity:1;color:rgb(163 13 37/var(--tw-text-opacity,1))}.text-accent-700{--tw-text-opacity:1;color:rgb(134 10 30/var(--tw-text-opacity,1))}.text-accent-800{--tw-text-opacity:1;color:rgb(107 8 24/var(--tw-text-opacity,1))}.text-brand-100{--tw-text-opacity:1;color:rgb(230 232 235/var(--tw-text-opacity,1))}.text-brand-200{--tw-text-opacity:1;color:rgb(212 216 222/var(--tw-text-opacity,1))}.text-brand-300{--tw-text-opacity:1;color:rgb(170 178 189/var(--tw-text-opacity,1))}.text-brand-400{--tw-text-opacity:1;color:rgb(124 135 148/var(--tw-text-opacity,1))}.text-brand-50{--tw-text-opacity:1;color:rgb(247 249 250/var(--tw-text-opacity,1))}.text-brand-500{--tw-text-opacity:1;color:rgb(91 100 113/var(--tw-text-opacity,1))}.text-brand-600{--tw-text-opacity:1;color:rgb(59 66 76/var(--tw-text-opacity,1))}.text-brand-700{--tw-text-opacity:1;color:rgb(37 42 49/var(--tw-text-opacity,1))}.text-brand-800{--tw-text-opacity:1;color:rgb(19 23 28/var(--tw-text-opacity,1))}.text-brand-900{--tw-text-opacity:1;color:rgb(10 12 15/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/30{color:hsla(0,0%,100%,.3)}.text-white\/40{color:hsla(0,0%,100%,.4)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/70{color:hsla(0,0%,100%,.7)}.text-white\/80{color:hsla(0,0%,100%,.8)}.text-white\/90{color:hsla(0,0%,100%,.9)}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-0{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-accent-500{--tw-ring-opacity:1;--tw-ring-color:rgb(200 16 46/var(--tw-ring-opacity,1))}.ring-brand-50{--tw-ring-opacity:1;--tw-ring-color:rgb(247 249 250/var(--tw-ring-opacity,1))}.ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.ring-white\/15{--tw-ring-color:hsla(0,0%,100%,.15)}.blur{--tw-blur:blur(8px)}.blur,.drop-shadow{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-\[600ms\]{transition-duration:.6s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.faq-question{font-family:Georgia,Cambria,Times New Roman,serif;font-weight:700;font-size:1rem}.faq-answer,.faq-answer li,.faq-answer p{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.faq-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}.faq-content-inner{overflow:hidden}.faq-item[data-open=true] .faq-content{grid-template-rows:1fr}.faq-icon{transition:transform .32s ease;display:inline-block}.faq-item[data-open=true] .faq-icon{transform:rotate(45deg)}.h1-sub,.h2-sub{color:#3b82f6}.h1-sub{font-size:.72em;font-weight:500;letter-spacing:0}.overlay-cta,.overlay-hero{background-color:rgba(15,23,42,.9)}.icon-badge,.icon-badge--bordered{background-color:rgba(59,130,246,.15)}.icon-badge--bordered{color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.text-on-dark{line-height:1.7em}.text-on-dark,.text-on-dark-base{color:hsla(0,0%,100%,.85)}.text-on-dark-muted{color:hsla(0,0%,100%,.75)}.text-on-dark-faint{color:hsla(0,0%,100%,.7)}.link-learn-more{font-size:14px}.link-learn-more,.link-learn-more--lg{color:#3b82f6;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:600}.link-learn-more--lg{font-size:15px}.embed-iframe{width:100%;min-height:850px;border:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease-out,transform .7s ease-out;will-change:opacity,transform}.reveal-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.mega-panel{opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease-out,transform .2s ease-out,visibility 0s linear .2s;pointer-events:none}.mega-panel.mega-open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .2s ease-out,transform .2s ease-out,visibility 0s linear 0s}@media (prefers-reduced-motion:reduce){.mega-panel{transition:none;transform:none}}.sticky-bar{position:fixed;bottom:0;left:0;right:0;z-index:100000001;background:#0f172a;border-top:1px solid rgba(59,130,246,.25);box-shadow:0 -4px 24px rgba(0,0,0,.35);transform:translateY(100%);transition:transform .34s cubic-bezier(.32,0,.14,1);will-change:transform}.sticky-bar.is-visible{transform:translateY(0)}.sticky-bar.is-dismissed{transform:translateY(100%);pointer-events:none}.sticky-bar__inner{max-width:1280px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sticky-bar__left{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:1}.sticky-bar__label{font-size:13px;font-weight:500;color:hsla(0,0%,100%,.7)}.sticky-bar__label,.sticky-bar__phone{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;white-space:nowrap}.sticky-bar__phone{font-size:15px;font-weight:700;color:#fff;text-decoration:none;transition:color .16s}.sticky-bar__phone:hover{color:#3b82f6;text-decoration:none}.sticky-bar__right{display:flex;align-items:center;gap:10px;flex-shrink:0}.sticky-bar__cta{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;background:#3b82f6;color:#fff;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;text-decoration:none;transition:background .16s,color .16s;white-space:nowrap}.sticky-bar__cta:hover{background:#1d4ed8;color:#fff;text-decoration:none}.sticky-bar__dismiss{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid hsla(0,0%,100%,.2);background:transparent;color:hsla(0,0%,100%,.5);cursor:pointer;transition:border-color .16s,color .16s,background .16s;flex-shrink:0;padding:0}.sticky-bar__dismiss:hover{border-color:hsla(0,0%,100%,.5);color:#fff;background:hsla(0,0%,100%,.08)}@media (max-width:639px){.sticky-bar{display:none!important}}@media (min-width:1024px){.ka-article-layout{display:grid;grid-template-columns:minmax(0,820px) 22rem;gap:3.5rem;justify-content:center;align-items:start}.ka-article-main{grid-column:1;grid-row:1;min-width:0}.ka-toc-aside{grid-column:2;grid-row:1;position:sticky;top:152px;max-height:calc(100vh - 180px);overflow-y:auto}.ka-toc-aside .article-toc{margin-bottom:0}}.hover\:bg-brand-700:hover :is(h1,h2,h3,h4){color:inherit}.open\:shadow-sm[open]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-accent-300:hover{--tw-border-opacity:1;border-color:rgb(236 98 117/var(--tw-border-opacity,1))}.hover\:border-accent-400:hover{--tw-border-opacity:1;border-color:rgb(221 47 75/var(--tw-border-opacity,1))}.hover\:border-accent-500:hover{--tw-border-opacity:1;border-color:rgb(200 16 46/var(--tw-border-opacity,1))}.hover\:border-brand-200:hover{--tw-border-opacity:1;border-color:rgb(212 216 222/var(--tw-border-opacity,1))}.hover\:bg-accent-500:hover{--tw-bg-opacity:1;background-color:rgb(200 16 46/var(--tw-bg-opacity,1))}.hover\:bg-accent-600:hover{--tw-bg-opacity:1;background-color:rgb(163 13 37/var(--tw-bg-opacity,1))}.hover\:bg-brand-50:hover{--tw-bg-opacity:1;background-color:rgb(247 249 250/var(--tw-bg-opacity,1))}.hover\:bg-brand-700:hover{--tw-bg-opacity:1;background-color:rgb(37 42 49/var(--tw-bg-opacity,1))}.hover\:bg-white\/15:hover{background-color:hsla(0,0%,100%,.15)}.hover\:bg-white\/\[0\.08\]:hover{background-color:hsla(0,0%,100%,.08)}.hover\:text-accent-400:hover{--tw-text-opacity:1;color:rgb(221 47 75/var(--tw-text-opacity,1))}.hover\:text-accent-600:hover{--tw-text-opacity:1;color:rgb(163 13 37/var(--tw-text-opacity,1))}.hover\:text-accent-700:hover{--tw-text-opacity:1;color:rgb(134 10 30/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-accent-500:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(200 16 46/var(--tw-ring-opacity,1))}.hover\:grayscale-0:hover{--tw-grayscale:grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.group[open] .group-open\:rotate-45{--tw-rotate:45deg}.group:hover .group-hover\:translate-x-1,.group[open] .group-open\:rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:scale-\[1\.04\]{--tw-scale-x:1.04;--tw-scale-y:1.04;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-accent-500{--tw-bg-opacity:1;background-color:rgb(200 16 46/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-accent-300{--tw-text-opacity:1;color:rgb(236 98 117/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-accent-600{--tw-text-opacity:1;color:rgb(163 13 37/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-accent-700{--tw-text-opacity:1;color:rgb(134 10 30/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.sm\:-left-\[3\.05rem\]{left:-3.05rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-center{justify-content:center}.sm\:pl-10{padding-left:2.5rem}.sm\:text-\[32px\]{font-size:32px}.sm\:text-\[36px\]{font-size:36px}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:tracking-wider{letter-spacing:.05em}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:my-12{margin-top:3rem;margin-bottom:3rem}.md\:my-20{margin-top:5rem;margin-bottom:5rem}.md\:mb-10{margin-bottom:2.5rem}.md\:mb-12{margin-bottom:3rem}.md\:mt-10{margin-top:2.5rem}.md\:mt-12{margin-top:3rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-10{height:2.5rem}.md\:h-16{height:4rem}.md\:h-24{height:6rem}.md\:h-36{height:9rem}.md\:max-h-14{max-height:3.5rem}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-10{gap:2.5rem}.md\:p-10{padding:2.5rem}.md\:p-12{padding:3rem}.md\:p-7{padding:1.75rem}.md\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-\[72px\]{padding-top:72px;padding-bottom:72px}.md\:pb-16{padding-bottom:4rem}.md\:pl-8{padding-left:2rem}.md\:pt-10{padding-top:2.5rem}.md\:pt-8{padding-top:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-8{top:2rem}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:aspect-auto{aspect-ratio:auto}.lg\:min-h-\[440px\]{min-height:440px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[45fr_55fr\]{grid-template-columns:45fr 55fr}.lg\:grid-cols-\[55fr_40fr\]{grid-template-columns:55fr 40fr}.lg\:gap-8{gap:2rem}.lg\:gap-\[5\%\]{gap:5%}.lg\:p-12{padding:3rem}.lg\:py-20{padding-top:5rem;padding-bottom:5rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:py-28{padding-top:7rem;padding-bottom:7rem}.lg\:py-\[100px\]{padding-top:100px;padding-bottom:100px}.lg\:pb-20{padding-bottom:5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-\[42px\]{font-size:42px}.lg\:text-\[46px\]{font-size:46px}}



/* ============================================================

   LAYER 2 — AQM BRAND-TOKEN BRIDGE  (engine base → AQM brand)

   The engine base (Layer 1) was recompiled with AQM Tailwind

   tokens so accent-* utilities already emit RED (#c8102e) and

   brand-* utilities emit the neutral-dark ramp. This bridge:

     (a) declares the legacy .hm-* token vocabulary on :root so

         the hand-written layer (Layer 3) resolves --teal/--red/

         --orange/--ink/--muted/--line/--display, AND

     (b) repaints the few base component classes whose source

         carried literal blue hex (Tailwind can't tokenise raw

         hex inside @layer components) to AQM RED/ORANGE.

   --teal is intentionally KEPT and === #c8102e (legacy var name,

   AQM value) and mapped to the engine accent.

   ============================================================ */

:root{

  /* AQM brand tokens (mirror of styles.css :root — authoritative) */

  --teal:#c8102e;        /* legacy name, AQM RED value — DO NOT rename */

  --teal-600:#a30d25;

  --red:#c8102e;

  --orange:#f26b3a;

  --ink:#0b0d0f;

  --muted:#5b6471;

  --line:#e6e8eb;

  --soft:#f7f9fa;

  --dark:#0d1014;

  --green:#1a8f4f;

  --yellow:#f4c542;

  /* map AQM RED onto the engine accent vocabulary */

  --accent:#c8102e;

  --accent-600:#a30d25;

  --accent-700:#860a1e;

}



/* --- repaint base component classes that shipped literal blue hex --- */

a{color:var(--teal)}

.btn-primary{background:var(--teal);color:#fff}

.btn-primary:hover{background:var(--teal-600);color:#fff}

.hero-btn--primary{background:var(--teal);color:#fff}

.hero-btn--primary:hover{background:var(--teal-600);color:#fff}

.hero-btn--secondary:hover{background:var(--teal-600);color:#fff;border-color:var(--teal-600)}

.cta-call-btn:hover{background:var(--teal-600);border-color:var(--teal-600);color:#fff}

.pill-eyebrow{background:rgba(200,16,46,.12);border:1px solid var(--teal);color:var(--teal)}

.h2-sub,.h1-sub{color:var(--teal)}

.link-learn-more,.link-learn-more--lg{color:var(--teal)}

.icon-badge{background-color:rgba(200,16,46,.15)}

.icon-badge--bordered{background-color:rgba(200,16,46,.15);color:var(--teal);border:1px solid rgba(200,16,46,.3)}

.sticky-bar{border-top:1px solid rgba(200,16,46,.25)}

.sticky-bar__phone:hover{color:var(--teal)}

.sticky-bar__cta{background:var(--teal)}

.sticky-bar__cta:hover{background:var(--teal-600);color:#fff}

/* inline content links hover (base used #1d4ed8 !important) */

main p a:not(.btn):not(.btn-primary):not(.hero-btn):hover,

main li a:not(.btn):not(.btn-primary):not(.hero-btn):hover,

main blockquote a:hover, main details a:hover, main summary a:hover{color:var(--teal-600)!important}

/* focus ring → AQM red */

*,::before,::after{--tw-ring-color:rgba(200,16,46,.5)}



/* ====================== LAYER 3 — AQM HAND-WRITTEN (verbatim styles.css) ======================

   Appended exactly as authored in the AQM static site so .hm-* / .ab-hero* /

   .cta-band / marquee / ghost numerals / .hm-vmap / .hm-serp / .hm-phone /

   .hm-dash / .hm-rv / .hm-compare etc. render with pixel parity. Its :root

   (with --teal:#c8102e) is authoritative for the legacy token vocabulary.

   ============================================================================== */

:root{

  --bg:#ffffff; --soft:#f7f9fa; --line:#e6e8eb; --ink:#0b0d0f; --muted:#5b6471;

  --dark:#0d1014; --teal:#c8102e; --teal-600:#a30d25; --orange:#f26b3a;

  --red:#c8102e; --green:#1a8f4f; --yellow:#f4c542;

  --radius:14px; --radius-sm:10px; --maxw:1320px;

}

*{box-sizing:border-box}

html,body{margin:0;padding:0}

@font-face{font-family:'Inter Fallback';src:local('Segoe UI'),local('Roboto'),local('Arial');size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}

body{font-family:'Inter','Inter Fallback',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}

a{color:inherit;text-decoration:none}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

.eyebrow{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

h1,h2,h3{letter-spacing:-.02em;margin:0;text-wrap:balance}

h1{font-size:54px;line-height:1.05;font-weight:700}

h2{font-size:36px;line-height:1.1;font-weight:700}

h3{font-size:18px;font-weight:600}

p.lede,.sec-head p,.prose p{text-wrap:pretty}

p{margin:0;color:var(--muted)}

img{max-width:100%;height:auto}

.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:6px;font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;transition:.15s ease}

.btn-primary{background:var(--teal);color:#fff}

.btn-primary:hover{background:var(--teal-600)}

.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}

.btn-ghost:hover{background:rgba(255,255,255,.08)}

.btn-lg{padding:14px 22px;font-size:15px}

.btn-dark-solid{background:var(--ink);color:#fff}

.btn-dark-solid:hover{background:#1e232a}

.btn-outline-dark{background:#fff;color:var(--ink);border:1px solid var(--line)}

.btn-outline-dark:hover{border-color:var(--ink)}



/* NAV */

nav.top{position:sticky;top:0;z-index:50;background:rgba(10,12,15,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}

nav.top .row{display:flex;align-items:center;justify-content:space-between;height:88px;color:#fff}

.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.01em}

.logo img{max-height:52px;width:auto;height:auto;display:block;transition:max-height .25s ease}

nav.top.scrolled .logo img{max-height:32px}

footer .logo{display:inline-flex;background:transparent;padding:0}

footer .logo img{max-height:44px;width:auto;height:auto;max-width:100%;opacity:1}

nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:14px;color:#c9cfd6;font-weight:500}

nav ul a:hover{color:#fff}

nav ul a.active{color:#fff}

.nav-cta{display:flex;gap:20px;align-items:center}

.nav-cta .btn-phone{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25)}

.nav-cta .btn-phone i{color:var(--teal)}

.nav-cta .btn-phone:hover{border-color:#fff;background:rgba(255,255,255,.06)}

.nav-cta .btn{padding:10px 16px;font-size:13px;line-height:1;transition:padding .25s ease,font-size .25s ease}

nav.top.scrolled .nav-cta .btn{padding:8px 14px;font-size:12.5px}

/* MEGA MENU */

nav ul.nav-main{position:static}

.has-mega > a{display:inline-flex;align-items:center;gap:6px}

.has-mega > a .fa-chevron-down{font-size:9px;opacity:.55;transition:transform .2s ease,opacity .2s ease}

.has-mega.mega-open > a .fa-chevron-down,.has-mega:focus-within > a .fa-chevron-down{transform:rotate(180deg);opacity:1}

.mega{position:absolute;left:0;right:0;top:100%;background:#0d1014;border-top:1px solid rgba(255,255,255,.06);box-shadow:0 30px 60px -24px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;z-index:60;pointer-events:none}

.has-mega.mega-open .mega,.has-mega:focus-within .mega{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;transition:opacity .18s ease,transform .18s ease,visibility 0s}

.mega-inner{max-width:var(--maxw);margin:0 auto;padding:32px 24px 30px}

.mega-cols{display:grid;grid-template-columns:1fr 1fr 1fr 1.15fr;gap:28px}

.mega-col{min-width:0}

.mega-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a94a1;display:block;margin-bottom:12px;padding-bottom:10px;border-bottom:1px dashed rgba(255,255,255,.08)}

.mega-link{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:10px;color:#c9cfd6;margin:2px -10px;transition:background .15s,color .15s;text-decoration:none}

.mega-link:hover{background:rgba(255,255,255,.05);color:#fff}

.mega-link > i:first-child{color:var(--teal);width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:rgba(200,16,46,.14);display:grid;place-items:center;font-size:13px;margin-top:1px;transition:background .15s}

.mega-link:hover > i:first-child{background:rgba(200,16,46,.22)}

.mega-link b{display:block;font-size:14px;font-weight:600;color:#fff;letter-spacing:-.005em}

.mega-link span{display:block;font-size:12.5px;color:#8a94a1;margin-top:2px;line-height:1.4}

.mega-feature{border-left:1px solid rgba(255,255,255,.08);padding-left:28px;display:flex;flex-direction:column;gap:14px}

.mega-card{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(200,16,46,.22),rgba(242,107,58,.08));border:1px solid rgba(200,16,46,.3);border-radius:12px;padding:20px}

.mega-card:before{content:"";position:absolute;inset:-40% -10% auto auto;width:180px;height:180px;background:radial-gradient(circle,rgba(242,107,58,.22),transparent 70%);pointer-events:none}

.mega-card .tag{position:relative;display:inline-block;font-size:10px;font-weight:700;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:#ffb3bd;background:rgba(200,16,46,.22);padding:5px 8px 3px;border-radius:4px;margin-bottom:10px}

.mega-card h4{position:relative;color:#fff;font-size:16px;margin:0 0 6px;font-weight:700;letter-spacing:-.01em}

.mega-card p{position:relative;color:#c9cfd6;font-size:13px;line-height:1.5;margin:0 0 12px}

.mega-card .btn{position:relative;padding:8px 14px;font-size:13px}

.mega-all{color:#fff;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:4px 0}

.mega-all:hover{color:var(--teal)}

.mega-all i{transition:transform .2s ease}

.mega-all:hover i{transform:translateX(4px)}

@media (max-width:1024px){.mega{display:none}}



.hamburger{display:none;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#fff;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;font-size:16px}

.hamburger:hover{border-color:#fff}

.mobile-menu{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;height:100dvh;background:#0a0c0f;z-index:100;transform:translateY(-100%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s;overflow-y:auto;-webkit-overflow-scrolling:touch}

.mobile-menu.open{transform:translateY(0);visibility:visible;transition:transform .25s ease,visibility 0s linear 0s}

html.menu-open,body.menu-open{overflow:hidden}

.mobile-menu .mobile-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08);min-height:72px}

.mobile-menu .mobile-head img{height:42px;width:auto;display:block}

.mobile-menu .mobile-close{background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#fff;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px}

.mobile-menu .mobile-body{padding:20px;flex:1}

.mobile-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}

.mobile-menu li a{display:block;padding:14px 6px;color:#c9cfd6;font-size:17px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.06)}

.mobile-menu li a:hover,.mobile-menu li a:active{color:#fff}

.mobile-menu .mobile-cta{display:flex;flex-direction:column;gap:10px;margin-top:20px}

.mobile-menu .mobile-cta .btn{justify-content:center;width:100%;padding:14px}



/* HERO (home) */

.hero{position:relative;overflow:hidden;padding:112px 0 128px;color:#fff;background-color:#0a0c0f}.hero>.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}

.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 100% 80% at 50% 50%, #000 30%, transparent 95%);-webkit-mask-image:radial-gradient(ellipse 100% 80% at 50% 50%, #000 30%, transparent 95%);pointer-events:none;z-index:0}

.hero:after{content:"";position:absolute;inset:-30% -20% -30% -20%;background:radial-gradient(32% 38% at 28% 32%, rgba(200,16,46,.28), transparent 70%),radial-gradient(28% 32% at 78% 68%, rgba(242,107,58,.18), transparent 70%);filter:blur(40px);pointer-events:none;z-index:0;animation:blob 22s ease-in-out infinite alternate}

.hero .wrap{position:relative;z-index:1}

.hero h1{color:#fff;font-size:60px;line-height:1.02;letter-spacing:-.03em}

.hero h1 span.accent{color:var(--teal)}

.hero p.lede{font-size:19px;color:#c9cfd6;margin-top:20px;max-width:760px;line-height:1.55}

.hero .cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}

.hero .tinynote{font-size:13px;color:#c9cfd6;margin-top:18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}

.hero .tinynote span{display:inline-flex;align-items:center;gap:6px}

.hero .tinynote i{color:var(--green)}

.hero-grid{display:grid;grid-template-columns:minmax(0,880px) 1fr;gap:48px;align-items:center;position:relative;z-index:2}

.hero-visual{display:none}

.hero-pin{position:absolute;right:28%;bottom:5%;height:68%;width:auto;object-fit:contain;pointer-events:none;z-index:1;mix-blend-mode:screen}.hero .badge{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18)}

.hero .badge i{color:var(--teal)}

.hero .btn-outline-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}

.hero .btn-outline-dark:hover{border-color:#fff;background:rgba(255,255,255,.06)}

.hero .btn-dark-solid{background:var(--teal);color:#fff}

.hero .btn-dark-solid:hover{background:var(--teal-600)}

.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;line-height:1;padding:8px 14px 6px;border-radius:999px;background:rgba(200,16,46,.08);color:var(--teal);letter-spacing:.06em;text-transform:uppercase}

.badge i{font-size:9px}



/* PAGE HERO (inner pages — lighter, with animated blob + grid) */

.page-hero{position:relative;padding:72px 0 88px;background:linear-gradient(180deg,#0a0c0f 0%, #15191f 100%);color:#fff;overflow:hidden;isolation:isolate}

.page-hero:before,.page-hero:after{content:"";position:absolute;pointer-events:none;z-index:0}

.page-hero:before{

  inset:-40% -20% -40% -20%;

  background:

    radial-gradient(38% 42% at 20% 30%, rgba(200,16,46,.45), transparent 70%),

    radial-gradient(32% 36% at 80% 70%, rgba(242,107,58,.28), transparent 70%),

    radial-gradient(28% 30% at 60% 20%, rgba(200,16,46,.25), transparent 70%);

  filter:blur(40px);

  animation:blob 22s ease-in-out infinite alternate;

}

.page-hero:after{

  inset:0;

  background-image:

    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),

    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);

  background-size:44px 44px;

  mask-image:radial-gradient(ellipse 90% 70% at 50% 50%, #000 40%, transparent 100%);

  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 50%, #000 40%, transparent 100%);

  opacity:.65;

}

@keyframes blob{

  0%  {transform:translate3d(0,0,0) scale(1)}

  33% {transform:translate3d(3%,-2%,0) scale(1.05)}

  66% {transform:translate3d(-2%,3%,0) scale(.98)}

  100%{transform:translate3d(1%,1%,0) scale(1.03)}

}

@media (prefers-reduced-motion:reduce){.page-hero:before{animation:none}}

.page-hero .wrap{position:relative;z-index:1}

.page-hero .wrap > *{max-width:820px}

.page-hero .badge{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18)}

.page-hero .badge i{color:var(--teal)}

.page-hero h1{font-size:48px;line-height:1.08;color:#fff;margin-top:16px}

.page-hero h1 em{font-style:normal;color:var(--teal)}

.page-hero p.lede{font-size:18px;color:#c9cfd6;margin-top:18px;max-width:680px;line-height:1.55}

.page-hero .cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}

.page-hero .btn-dark-solid{background:var(--teal);color:#fff}

.page-hero .btn-dark-solid:hover{background:var(--teal-600)}

.page-hero .btn-outline-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}

.page-hero .btn-outline-dark:hover{border-color:#fff;background:rgba(255,255,255,.06)}



/* BREADCRUMBS */

.crumbs{padding:16px 0;border-bottom:1px solid var(--line);background:#fff;font-size:13px;color:var(--muted)}

.crumbs ol{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}

.crumbs li{display:flex;gap:8px;align-items:center}

.crumbs li+li:before{content:"/";color:var(--line)}

.crumbs a:hover{color:var(--ink)}

.crumbs li:last-child{color:var(--ink);font-weight:500}



/* TRUST BAR */

.trust{padding:28px 0;border-top:1px solid var(--line);background:var(--soft);overflow:hidden}

.trust .wrap{display:flex;align-items:center;gap:40px;flex-wrap:nowrap}

.trust .label{font-size:13px;color:var(--muted);font-weight:500;flex:0 0 auto;max-width:280px;line-height:1.4}

.trust .label b{color:var(--ink);white-space:nowrap}

.trust .stars{color:#f4c542;font-size:14px;margin-right:6px}

.trust .marquee{flex:1 1 auto;overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}

.trust .marquee-track{display:flex;gap:56px;width:max-content;animation:marquee 75s linear infinite;align-items:center}

.trust .marquee:hover .marquee-track{animation-play-state:paused}

.trust .client-logo{flex:0 0 auto;font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--muted);opacity:.7;white-space:nowrap;font-family:Georgia,serif;font-style:italic;transition:opacity .2s,color .2s}

.trust .client-logo:hover{opacity:1;color:var(--ink)}

@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}



/* SECTION base */

section{padding:96px 0;background:#ffffff}

section:nth-of-type(even){background:#f7f9fa}

.sec-num{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.2em}

.sec-head{display:flex;flex-direction:column;gap:12px;margin-bottom:48px;max-width:760px}

.sec-head h2+p{font-size:17px;color:var(--muted);max-width:620px}

.sec-head.center{align-items:center;text-align:center;margin-left:auto;margin-right:auto}



/* STATS */

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}

.stat b{font-size:40px;font-weight:700;letter-spacing:-.02em;display:block}

.stat span{font-size:14px;color:var(--muted);margin-top:6px;display:block}



/* PAIN */

.pain{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}

.pain .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:.15s}

.pain .card:hover{border-color:var(--ink);transform:translateY(-2px)}

.pain .ico{width:40px;height:40px;border-radius:10px;background:rgba(200,16,46,.08);color:var(--teal);display:grid;place-items:center;margin-bottom:14px;font-size:16px}

.pain h3{margin-bottom:8px}

.pain p{font-size:14px}



/* PROCESS */

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}

.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:relative}

.step .num{font-size:12px;color:var(--teal);font-weight:700;letter-spacing:.1em}

.step h3{margin:10px 0 8px}

.step p{font-size:14px}



/* SERVICES */

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

.svc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:10px;transition:.15s;text-decoration:none;color:inherit}

.svc:hover{border-color:var(--ink);transform:translateY(-2px)}

.svc .tag{font-size:11px;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:.12em}

.svc h3{font-size:19px}

.svc p{font-size:14px}

.svc ul{margin:8px 0 0;padding:0;list-style:none;font-size:13px;color:var(--muted)}

.svc li{padding:4px 0;padding-left:18px;position:relative}

.svc li:before{content:"→";position:absolute;left:0;color:var(--teal)}

.svc .more{margin-top:auto;padding-top:12px;font-weight:600;color:var(--teal);font-size:13px;display:inline-flex;align-items:center;gap:6px}



/* TESTIMONIAL */

.tcards{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:stretch}

.tmain{background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px;position:relative;display:flex;flex-direction:column;justify-content:space-between}

.tmain .quotemark{position:absolute;top:20px;right:28px;font-size:72px;color:rgba(200,16,46,.1);font-family:Georgia,serif;line-height:1;font-weight:700}

.tmain .stars{color:#f4c542;font-size:14px;margin-bottom:18px}

.tmain blockquote{margin:0;font-size:19px;line-height:1.55;letter-spacing:-.005em;font-weight:500;color:var(--ink)}

.tmain .meta{display:flex;gap:14px;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}

.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f26b3a,#c8102e);display:grid;place-items:center;color:#fff;font-weight:700;font-size:17px;letter-spacing:-.02em}

.meta b{display:block;font-size:15px}

.meta span{font-size:13px;color:var(--muted)}

.tside{display:grid;grid-template-rows:1fr 1fr;gap:24px}

.tresult{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:10px}

.tresult .lbl{font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.1em;text-transform:uppercase}

.tresult .val{display:flex;align-items:baseline;gap:10px;font-weight:700;letter-spacing:-.02em}

.tresult .val .from{font-size:22px;color:var(--muted);font-weight:500;text-decoration:line-through}

.tresult .val .to{font-size:40px;color:var(--teal)}

.tresult .cap{font-size:13px;color:var(--muted);margin-top:4px}

.tresult i{color:var(--green);margin-right:6px}



/* FEATURES */

.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}

.feat{background:#fff;padding:28px}

.feat h3{font-size:16px;margin-bottom:6px}

.feat p{font-size:13px}

.feat i{color:var(--teal);margin-bottom:12px;font-size:18px;display:block}



/* INDUSTRIES */

.industries{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}

.ind{border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center;font-size:13px;font-weight:500;background:#fff;transition:.15s;color:inherit}

.ind:hover{border-color:var(--ink);background:var(--soft)}



/* COMPARE */

.compare{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}

.compare table{width:100%;border-collapse:collapse;font-size:14px}

.compare th,.compare td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}

.compare th{background:var(--soft);font-weight:600;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

.compare tr:last-child td{border:none}

.yes{color:var(--green);font-weight:600}

.no{color:#6b7280}



/* FAQ */

details{border-bottom:1px solid var(--line);padding:20px 0;cursor:pointer}

details summary{font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;align-items:center}

details summary::after{content:"+";font-size:22px;color:var(--muted);font-weight:400}

details[open] summary::after{content:"–"}

details p{margin-top:10px;font-size:14px}



/* PROSE (long-form content blocks on service/location pages) */

.prose{max-width:780px}

.prose-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:56px;align-items:start}

.prose-split .prose{max-width:none}

.prose-side{position:sticky;top:112px;display:flex;flex-direction:column;gap:16px}

.prose-side .side-media{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 8px 30px -16px rgba(0,0,0,.2)}

.prose-side .side-media img{display:block;width:100%;height:auto}

.prose-side .side-caption{font-size:12px;color:var(--muted);padding:8px 12px 0;line-height:1.45}

.prose-side .side-note{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;font-size:14px}

.prose-side .side-note h4{margin:0 0 8px;font-size:14px;color:var(--ink);display:flex;align-items:center;gap:8px}

.prose-side .side-note h4 i{color:var(--teal)}

.prose-side .side-note p{font-size:13px;line-height:1.55;color:var(--muted);margin:0}

@media (max-width:1024px){.prose-split{grid-template-columns:1fr;gap:32px}.prose-side{position:static}}

.prose h2{font-size:28px;margin:48px 0 16px}

.prose h3{font-size:20px;margin:32px 0 10px}

.prose p{color:var(--ink);line-height:1.7;font-size:16px;margin:0 0 16px}

.prose ul,.prose ol{padding-left:22px;margin:0 0 18px;color:var(--ink);line-height:1.7;font-size:16px}

.prose li{margin:6px 0}

.prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}

.prose a:hover{color:var(--teal-600)}

.prose blockquote{border-left:3px solid var(--teal);padding:8px 0 8px 20px;margin:24px 0;color:var(--muted);font-style:italic}



/* SPLIT layout (image/content on inner pages) */

.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}



/* CARDS GRID (generic 2-3 up) */

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}



/* SOLUTION CARDS (à-la-carte catalog) */

.sol-tier{margin-bottom:56px}

.sol-tier:last-child{margin-bottom:0}

.sol-tier-head{display:flex;align-items:baseline;gap:14px;margin:0 0 22px;flex-wrap:wrap}

.sol-tier-head h2{font-size:24px;line-height:1.2}

.sol-tier-head .sol-count{font-size:13px;color:var(--muted);font-weight:500;margin-left:auto}

.sol-tier-head p{font-size:14px;color:var(--muted);flex-basis:100%;margin-top:2px}

.sol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

.sol-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;flex-direction:column;gap:8px;transition:.15s;text-decoration:none;color:inherit}

.sol-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 12px 30px -18px rgba(0,0,0,.15)}

.sol-card .sol-ico{width:38px;height:38px;border-radius:8px;background:rgba(200,16,46,.08);color:var(--teal);display:grid;place-items:center;font-size:15px;margin-bottom:4px}

.sol-card h3{font-size:15px;font-weight:700;margin:0;letter-spacing:-.01em}

.sol-card p{font-size:13px;line-height:1.5;color:var(--muted);margin:0;flex:1}

.sol-card .sol-price{font-size:12px;font-weight:600;color:var(--ink);margin-top:6px;padding-top:10px;border-top:1px dashed var(--line)}

.sol-card .sol-price .muted{color:var(--muted);font-weight:500}

.sol-card .sol-badge{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;line-height:1;letter-spacing:.08em;text-transform:uppercase;padding:5px 8px 3px;border-radius:4px;background:var(--teal);color:#fff}

.sol-card .sol-badge.popular{background:var(--ink)}

.sol-card.featured{border-color:var(--teal);box-shadow:0 10px 30px -18px rgba(200,16,46,.35)}

@media (max-width:1024px){.sol-grid,.grid-4{grid-template-columns:repeat(2,1fr)}}

@media (max-width:720px){.sol-grid,.grid-4{grid-template-columns:1fr;gap:12px}}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}

.card h3{font-size:18px;margin-bottom:8px}

.card p{font-size:14px}

.card .ico{width:40px;height:40px;border-radius:10px;background:rgba(200,16,46,.08);color:var(--teal);display:grid;place-items:center;margin-bottom:14px;font-size:16px}



/* CTA */

section.cta-band{position:relative;overflow:hidden;color:#fff;padding:96px 0;background:radial-gradient(900px 460px at 80% 20%, rgba(200,16,46,.38), transparent 60%),radial-gradient(700px 340px at 10% 90%, rgba(242,107,58,.18), transparent 60%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'><path d='M0 16h32M16 0v32' stroke='%23ffffff' stroke-opacity='0.04'/></svg>"),linear-gradient(135deg, #15191f 0%, #0a0c0f 100%)}

section.cta-band .wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center;position:relative;z-index:1}

.cta-band .eyebrow{color:#ffb3bd;letter-spacing:.14em;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:14px;display:inline-flex;align-items:center;gap:8px}

.cta-band .eyebrow i{color:var(--teal)}

.cta-band h2{font-size:44px;line-height:1.05;letter-spacing:-.03em;max-width:560px;margin:0;color:#fff}

.cta-band h2 em{font-style:normal;background:linear-gradient(90deg,#ff6a4a,#ffb3bd);-webkit-background-clip:text;background-clip:text;color:transparent}

.cta-band p{color:#c9cfd6;margin-top:16px;max-width:540px;font-size:17px;line-height:1.55}

.cta-band .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

.cta-side{display:flex;flex-direction:column;gap:12px}

.cta-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:18px 20px;backdrop-filter:blur(6px)}

.cta-stat b{display:block;font-size:24px;letter-spacing:-.02em}

.cta-stat span{color:#c9cfd6;font-size:13px}

.cta-stat i{color:var(--teal);margin-right:8px}



/* FOOTER */

footer{background:#0a0c0f;color:#c9cfd6;padding:64px 0 32px;border-top:3px solid #c8102e}

footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:36px}

footer h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px}

footer ul{list-style:none;margin:0;padding:0;font-size:13px;line-height:1.5;display:flex;flex-direction:column;gap:9px}

footer a:hover{color:#fff}

footer .legal{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;display:flex;justify-content:space-between;color:#7f8896}



.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--teal),#ff8a4a);z-index:70;transition:width .05s linear;pointer-events:none}

.to-top{position:fixed;right:20px;bottom:20px;width:44px;height:44px;border-radius:10px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.08);cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,background .15s;z-index:55;box-shadow:0 10px 30px -10px rgba(0,0,0,.35);font-size:15px}

.to-top.visible{opacity:1;transform:translateY(0)}

.to-top:hover{background:var(--teal)}



@media (max-width:1024px){

  .hero h1{font-size:48px}

  h2{font-size:30px}

  .services,.features,.grid-3{grid-template-columns:1fr 1fr}

  .stats,.pain,.steps{grid-template-columns:1fr 1fr}

  .industries{grid-template-columns:repeat(4,1fr)}

  .tcards,.split{grid-template-columns:1fr}

  section.cta-band .wrap{grid-template-columns:1fr;gap:32px}

  footer .cols{grid-template-columns:1fr 1fr 1fr}

  .wrap{padding:0 20px}

  .page-hero h1{font-size:38px}

}

@media (max-width:720px){

  h1,.hero h1{font-size:36px;line-height:1.08}

  h2{font-size:26px}

  h3{font-size:17px}

  nav ul{display:none}

  .hamburger{display:inline-flex}

  .nav-cta{display:none}

  nav.top .row{height:72px}

  .logo img{max-height:38px;height:auto;max-width:160px}

  nav.top.scrolled .logo img{max-height:28px}

  section{padding:56px 0}

  .hero{padding:64px 0 72px}

  .hero-grid{grid-template-columns:1fr}

  .hero .cta{flex-direction:column;align-items:stretch;width:100%}

  .hero .cta .btn{justify-content:center;width:100%}

  .page-hero{padding:36px 0 48px}

  .page-hero h1{font-size:30px}

  .sec-head{margin-bottom:32px}

  .stats,.pain,.steps,.services,.features,.grid-2,.grid-3{grid-template-columns:1fr;gap:14px}

  .features{border-radius:12px}

  .industries{grid-template-columns:repeat(2,1fr)}

  .trust .wrap{flex-direction:column;align-items:flex-start;gap:16px}

  .tmain{padding:28px}

  .tmain blockquote{font-size:17px}

  .tresult{padding:22px}

  .tresult .val .to{font-size:32px}

  section.cta-band{padding:64px 0}

  .cta-band h2{font-size:30px}

  .cta-band p{font-size:15px}

  .cta-band .actions{flex-direction:column;align-items:stretch}

  .cta-band .actions .btn{justify-content:center}

  .compare{overflow-x:auto}

  .compare table{min-width:560px}

  footer{padding:48px 0 24px}

  footer .cols{grid-template-columns:1fr;gap:28px}

  footer .legal{flex-direction:column;gap:10px;align-items:flex-start}

  .nav-cta .signin{display:none}

  .prose h2{font-size:22px}

  .prose h3{font-size:18px}

}



/* ============================================================

   HOME 2026 — "Local Growth Engine" editorial redesign

   GSAP-choreographed middle page (hero + footer untouched).

   All new classes are .hm-* (unique) + body.home overrides,

   so inner pages are unaffected.

   ============================================================ */

body.home{--soft-2:#eef1f5;--dark-2:#11151b;--display:'Inter','Inter Fallback',system-ui,sans-serif;overflow-x:clip}



/* hero stays full-viewport (unchanged) */

body.home .hero{display:flex;align-items:center;min-height:calc(100vh - 88px);min-height:calc(100svh - 88px);padding:72px 0}

body.home .hero .wrap{width:100%}



/* trust strip — blend into first band, display-face client names */

body.home .trust{background:linear-gradient(180deg,#f7f9fa 0%,#fdfdfe 100%)}

body.home .trust .client-logo{font-family:var(--display);font-style:normal;font-weight:600;letter-spacing:-.01em;opacity:.55}



/* ---------- SECTION FRAME ---------- */

.hm-sec{position:relative;padding:clamp(80px,9vw,124px) 0;overflow:clip;isolation:isolate}

.hm-sec .wrap{position:relative;z-index:2}

section.hm-sec.hm-light{background:linear-gradient(180deg,#fdfdfe 0%,#fff 18%,#fff 82%,#fafbfc 100%)}

section.hm-sec.hm-soft{background:linear-gradient(180deg,#fafbfc 0%,#eef1f5 24%,#eef1f5 76%,#fafbfc 100%)}

section.hm-sec.hm-soft:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(11,13,15,.05) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 95%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 95%);pointer-events:none;z-index:0}

section.hm-sec.hm-dark{background:linear-gradient(155deg,#171c23 0%,#11151b 38%,#0a0c0f 100%);color:#fff}

section.hm-sec.hm-dark:before{content:"";position:absolute;inset:0;background:radial-gradient(42% 46% at 16% 14%,rgba(200,16,46,.16),transparent 70%),radial-gradient(34% 38% at 86% 86%,rgba(242,107,58,.09),transparent 70%);pointer-events:none;z-index:0}

section.hm-sec.hm-dark:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");opacity:.05;mix-blend-mode:overlay;pointer-events:none;z-index:1}



/* giant outlined section numeral */

.hm-ghost{position:absolute;top:clamp(8px,3vw,36px);right:clamp(8px,2vw,40px);z-index:1;font-family:var(--display);font-weight:800;font-size:clamp(96px,15vw,240px);line-height:.8;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(11,13,15,.07);pointer-events:none;user-select:none}

.hm-dark .hm-ghost{-webkit-text-stroke-color:rgba(255,255,255,.06)}



/* ---------- EDITORIAL HEADERS ---------- */

.hm-kicker{display:inline-flex;align-items:center;gap:14px;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

.hm-kicker i{font-style:normal;display:grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border:1px solid rgba(200,16,46,.35);border-radius:8px;color:var(--red);font-family:var(--display);font-weight:800;font-size:12.5px;background:rgba(200,16,46,.06)}

.hm-kicker:after{content:"";width:48px;height:1px;background:linear-gradient(90deg,var(--red),transparent)}

.hm-dark .hm-kicker{color:#9aa4b0}

.hm-title{font-family:var(--display);font-weight:700;font-size:clamp(33px,4.4vw,60px);line-height:1.04;letter-spacing:-.02em;color:var(--ink);margin:20px 0 0}

.hm-title em{font-style:normal;color:var(--red)}

.hm-dark .hm-title{color:#fff}

.hm-title-sm{font-size:clamp(28px,3.2vw,42px)}

.hm-wm{display:inline-block;overflow:hidden;vertical-align:bottom;margin-bottom:-.14em;padding-bottom:.14em}

.hm-w{display:inline-block}

.hm-head{position:relative;z-index:2;margin-bottom:clamp(36px,5vw,64px);max-width:880px}

.hm-head-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(28px,5vw,80px);align-items:end;max-width:none}

.hm-head-aside{display:flex;flex-direction:column;gap:18px;padding-bottom:6px}

.hm-head-aside p{font-size:16.5px;line-height:1.6;color:var(--muted);margin:0}

.hm-dark .hm-head-aside p{color:#9aa4b0}

.hm-arrow-link{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--ink);letter-spacing:-.01em}

.hm-arrow-link i{font-size:12px;color:var(--red);transition:transform .25s ease}

.hm-arrow-link:hover i{transform:translateX(5px)}

.hm-dark .hm-arrow-link{color:#fff}



/* ---------- shared image panel ---------- */

.hm-art{position:relative;margin:0;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 30px 70px -45px rgba(11,13,15,.45)}

.hm-art img{display:block;width:100%;height:auto}

.hm-art-dark{border-color:rgba(255,255,255,.12);background:#0c0f13;box-shadow:0 30px 70px -40px rgba(0,0,0,.8)}



/* ---------- 01 · STATS ---------- */

.hm-why-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(28px,4.5vw,72px);align-items:center;margin-top:clamp(20px,3vw,36px)}

.hm-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}

.hm-stat{padding:clamp(26px,3vw,40px) clamp(18px,2.4vw,36px) 0;border-left:1px solid var(--line)}

.hm-stat:first-child{padding-left:0;border-left:0}

.hm-stats-2x2{grid-template-columns:1fr 1fr;border-top:0;column-gap:clamp(20px,2.6vw,40px);row-gap:clamp(8px,1.5vw,18px)}

.hm-stats-2x2 .hm-stat{border-left:0;border-top:1px solid var(--line);padding:clamp(20px,2.4vw,30px) 0 clamp(10px,1.6vw,20px)}

.hm-stat b{display:flex;align-items:baseline;font-family:var(--display);font-weight:800;font-size:clamp(44px,4.2vw,64px);line-height:.95;letter-spacing:-.03em;color:var(--ink)}

.hm-stat b em{font-style:normal;font-size:.34em;font-weight:700;color:var(--red);letter-spacing:-.01em}

.hm-stat>span{display:block;margin-top:12px;font-size:13.5px;line-height:1.5;color:var(--muted);max-width:26ch}



/* ---------- 02 · PROBLEM ---------- */

.hm-problem-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,110px)}

.hm-problem-side{align-self:start;position:sticky;top:128px}

.hm-aside-note{margin-top:22px;font-size:15.5px;color:#9aa4b0;max-width:36ch;border-left:2px solid var(--red);padding-left:16px;line-height:1.6}

.hm-problem-side .hm-art{margin-top:30px;max-width:440px}

.hm-painlist{list-style:none;margin:0;padding:0}

.hm-pain{display:grid;grid-template-columns:clamp(58px,7vw,104px) 1fr;gap:clamp(16px,2.6vw,36px);align-items:start;padding:clamp(26px,3.4vw,40px) 0;border-top:1px solid rgba(255,255,255,.1);transition:opacity .5s ease}

.hm-pain:last-child{border-bottom:1px solid rgba(255,255,255,.1)}

.hm-painlist.is-anim .hm-pain{opacity:.3}

.hm-painlist.is-anim .hm-pain.on{opacity:1}

.hm-pain-num{font-family:var(--display);font-weight:800;font-size:clamp(38px,4.4vw,66px);line-height:.85;padding-top:4px;color:transparent;-webkit-text-stroke:1.3px rgba(255,255,255,.35);transition:color .4s ease,-webkit-text-stroke-color .4s ease}

.hm-pain.on .hm-pain-num{color:var(--red);-webkit-text-stroke-color:transparent}

.hm-pain h3{display:flex;align-items:center;gap:14px;font-family:var(--display);font-size:clamp(20px,2vw,26px);font-weight:700;color:#fff;letter-spacing:-.015em}

.hm-pain-ico{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:rgba(200,16,46,.16);color:#ff5a72;font-size:15px}

.hm-pain p{margin-top:12px;font-size:15.5px;line-height:1.65;color:#9aa4b0;max-width:54ch}



/* ---------- 03 · PROCESS (sticky stacking cards) ---------- */

.hm-stack{display:flex;flex-direction:column;gap:20px}

.hm-step{position:sticky;top:calc(104px + var(--i,0)*18px);display:flex;flex-direction:column;gap:clamp(20px,3vw,40px);min-height:clamp(270px,34vh,380px);background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3.6vw,52px);overflow:hidden;box-shadow:0 24px 60px -36px rgba(11,13,15,.35);transform-origin:center top}

.hm-step-ghost{position:absolute;right:clamp(10px,3vw,40px);bottom:-.16em;font-family:var(--display);font-weight:800;font-size:clamp(110px,15vw,230px);line-height:1;letter-spacing:-.05em;color:rgba(11,13,15,.045);pointer-events:none;user-select:none}

.hm-step-top{display:flex;justify-content:space-between;align-items:center;gap:12px}

.hm-step-tag{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red);background:rgba(200,16,46,.07);border:1px solid rgba(200,16,46,.22);padding:8px 13px 7px;border-radius:999px}

.hm-step-count{font-family:var(--display);font-size:12.5px;font-weight:700;color:var(--muted);letter-spacing:.08em}

.hm-step-body{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(18px,4vw,72px);align-items:start;margin-top:auto;position:relative;z-index:1}

.hm-step-body h3{font-family:var(--display);font-size:clamp(26px,3.2vw,44px);font-weight:700;letter-spacing:-.02em;line-height:1.05}

.hm-step-body p{font-size:clamp(15px,1.4vw,17.5px);line-height:1.65;color:var(--muted)}

.hm-step-meta{display:flex;gap:9px;flex-wrap:wrap;list-style:none;margin:18px 0 0;padding:0}

.hm-step-meta li{font-size:12.5px;font-weight:600;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px 7px}

.hm-step-final{background:linear-gradient(135deg,#15191f 0%,#0a0c0f 70%);border-color:rgba(255,255,255,.12)}

.hm-step-final:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 88% 12%,rgba(200,16,46,.35),transparent 65%);pointer-events:none}

.hm-step-final .hm-step-body h3{color:#fff}

.hm-step-final .hm-step-body p{color:#9aa4b0}

.hm-step-final .hm-step-ghost{color:rgba(255,255,255,.05)}

.hm-step-final .hm-step-count{color:#8a94a1}

.hm-step-final .hm-step-tag{background:rgba(200,16,46,.18);border-color:rgba(200,16,46,.45);color:#ffb3bd}

.hm-step-final .hm-step-meta li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#e6e9ed}



/* ---------- 04 · SERVICES (mock duo + cards) ---------- */

.hm-duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px);margin:0 0 clamp(40px,5vw,64px)}

.hm-mock{margin:0;display:flex;flex-direction:column;gap:24px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(20px,2.6vw,36px);box-shadow:0 30px 70px -45px rgba(11,13,15,.4)}

.hm-mock figcaption{display:flex;flex-direction:column;gap:6px;margin-top:auto}

.hm-mock figcaption b{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:-.015em;color:var(--ink)}

.hm-mock figcaption>span{font-size:14.5px;color:var(--muted)}

.hm-mock figcaption .hm-arrow-link{margin-top:10px;font-size:13.5px}



/* SERP / map-pack mock */

.hm-serp{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 44px -30px rgba(11,13,15,.3)}

.hm-serp-bar{display:flex;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line)}

.hm-serp-g{font-family:var(--display);font-weight:800;font-size:17px;color:#4285f4}

.hm-serp-q{flex:1;font-size:13.5px;font-weight:500;color:var(--ink);display:flex;align-items:center}

.hm-caret{width:1.5px;height:15px;background:var(--red);display:inline-block;margin-left:3px;animation:hm-caret 1.1s step-end infinite}

@keyframes hm-caret{0%,100%{opacity:1}50%{opacity:0}}

.hm-serp-bar>i{color:#9aa4b0;font-size:13px}

.hm-serp-map{position:relative;height:116px;border-bottom:1px solid var(--line);background:radial-gradient(130px 90px at 88% -10%,#cfe0ee 0 58%,transparent 60%),linear-gradient(104deg,transparent 46.5%,#fff 46.5%,#fff 53.5%,transparent 53.5%),linear-gradient(14deg,transparent 30%,#fff 30%,#fff 34%,transparent 34%),repeating-linear-gradient(0deg,rgba(255,255,255,.7) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,rgba(255,255,255,.7) 0 1px,transparent 1px 24px),#e4eae2}

.hm-map-pin{position:absolute;left:50%;top:48%;transform:translate(-50%,-90%);color:var(--red);font-size:30px;filter:drop-shadow(0 8px 10px rgba(200,16,46,.4))}

.hm-pin-ring{position:absolute;left:50%;bottom:-7px;width:26px;height:9px;transform:translateX(-50%);border-radius:50%;border:2px solid rgba(200,16,46,.5);animation:hm-ring 2.4s ease-out infinite}

@keyframes hm-ring{0%{transform:translateX(-50%) scale(.5);opacity:.9}100%{transform:translateX(-50%) scale(1.7);opacity:0}}

.hm-map-tag{position:absolute;left:12px;bottom:10px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:6px;padding:5px 8px 4px}

.hm-serp-list{list-style:none;margin:0;padding:14px}

.hm-serp-item{position:relative;display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:8px}

.hm-serp-item:last-child{margin-bottom:0}

.hm-serp-divider{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#9aa4b1;font-weight:700;margin:11px 0 9px;white-space:nowrap}

.hm-serp-divider:before,.hm-serp-divider:after{content:"";flex:1;border-top:1px dashed var(--line)}

.hm-serp-name{display:flex;align-items:center;gap:8px;font-size:13.5px}

.hm-serp-name b{font-weight:700;color:var(--ink);letter-spacing:-.01em}

.hm-you-tag{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--red);border-radius:4px;padding:3px 6px 2px}

.hm-serp-meta{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--muted)}

.hm-serp-stars{color:#f4c542;font-size:11px;letter-spacing:1px}

.hm-serp-stars i{font-style:normal;color:#d7dbe0}

.hm-serp-item.hm-you{border-color:rgba(200,16,46,.5);background:linear-gradient(135deg,rgba(200,16,46,.05),rgba(242,107,58,.04));box-shadow:0 10px 26px -16px rgba(200,16,46,.45)}

.hm-serp-badge{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;padding:5px 11px;border-radius:10px;background:var(--red);color:#fff;font-family:var(--display);font-weight:800;font-size:12.5px;line-height:1.1;white-space:nowrap;box-shadow:0 8px 18px -8px rgba(200,16,46,.6)}

.hm-serp-item.hm-dimrow{opacity:.55}



/* AI receptionist chat mock */

.hm-phone{background:#0c0f13;border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:16px 16px 18px;box-shadow:0 18px 44px -28px rgba(11,13,15,.55);display:flex;flex-direction:column;gap:12px}

.hm-chat-head{display:flex;align-items:center;gap:11px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}

.hm-chat-ava{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#f26b3a,#c8102e);color:#fff;font-weight:800;font-size:13px;letter-spacing:-.02em}

.hm-chat-id{flex:1;min-width:0}

.hm-chat-id b{display:block;color:#fff;font-size:13.5px;font-weight:700}

.hm-chat-id span{display:flex;align-items:center;gap:6px;color:#8a94a1;font-size:11.5px;margin-top:2px}

.hm-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(26,143,79,.18)}

.hm-chat-head>i{color:#8a94a1;font-size:14px}

.hm-chat-body{display:flex;flex-direction:column;gap:9px}

.hm-chat-time{align-self:center;font-size:10.5px;color:#6b7585;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:2px}

.hm-bub{max-width:84%;padding:11px 14px;font-size:13px;line-height:1.5;border-radius:15px}

.hm-bub-u{align-self:flex-end;background:rgba(255,255,255,.09);color:#dde2e8;border:1px solid rgba(255,255,255,.07);border-bottom-right-radius:5px}

.hm-bub-a{align-self:flex-start;background:#fff;color:#11151b;font-weight:500;border-bottom-left-radius:5px}

.hm-typing{display:none;align-self:flex-start;gap:5px;padding:13px 14px;background:#fff;border-radius:15px;border-bottom-left-radius:5px}

.hm-typing.show{display:inline-flex}

.hm-typing span{width:6px;height:6px;border-radius:50%;background:#9aa4b1;animation:hm-tp 1s ease-in-out infinite}

.hm-typing span:nth-child(2){animation-delay:.15s}

.hm-typing span:nth-child(3){animation-delay:.3s}

@keyframes hm-tp{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}

.hm-chat-card{display:flex;align-items:center;gap:12px;margin-top:6px;background:rgba(26,143,79,.12);border:1px solid rgba(26,143,79,.35);border-radius:13px;padding:12px 14px}

.hm-chat-card i{color:#37c87b;font-size:16px}

.hm-chat-card b{display:block;color:#fff;font-size:13px;font-weight:700}

.hm-chat-card span{display:block;color:#8fd6b0;font-size:11.5px;margin-top:2px}



/* service cards */

.hm-svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}

.hm-svc{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,box-shadow .3s ease}

.hm-svc:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--red),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}

.hm-svc:hover{transform:translateY(-5px);border-color:rgba(200,16,46,.4);box-shadow:0 26px 50px -30px rgba(11,13,15,.3)}

.hm-svc:hover:before{transform:scaleX(1)}

.hm-svc-i{position:absolute;top:22px;right:24px;font-family:var(--display);font-weight:800;font-size:13px;color:rgba(11,13,15,.25)}

.hm-svc-tag{font-size:10.5px;font-weight:800;color:var(--red);text-transform:uppercase;letter-spacing:.14em}

.hm-svc h3{font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:-.015em}

.hm-svc p{font-size:14px;color:var(--muted)}

.hm-svc ul{margin:6px 0 0;padding:0;list-style:none;font-size:13px;color:var(--muted)}

.hm-svc li{padding:4.5px 0 4.5px 18px;position:relative}

.hm-svc li:before{content:"→";position:absolute;left:0;color:var(--red)}



/* ---------- 05 · CLIENT STORY ---------- */

.hm-results-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(20px,3vw,32px);align-items:stretch}

.hm-quote{position:relative;margin:0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;box-shadow:0 30px 70px -45px rgba(11,13,15,.35);overflow:hidden}

.hm-quote-mark{position:absolute;top:2px;right:26px;font-family:var(--display);font-size:170px;line-height:1;color:rgba(200,16,46,.07);font-weight:800;pointer-events:none}

.hm-stars{color:#f4c542;font-size:15px;letter-spacing:3px;margin-bottom:22px}

.hm-quote blockquote{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(21px,2.4vw,33px);line-height:1.3;letter-spacing:-.015em;color:var(--ink);text-wrap:pretty}

.hm-quote figcaption{display:flex;gap:14px;align-items:center;margin-top:clamp(24px,3vw,40px);padding-top:24px;border-top:1px solid var(--line)}

.hm-quote-ava{width:50px;height:50px;flex:0 0 50px;border-radius:50%;background:linear-gradient(135deg,#f26b3a,#c8102e);display:grid;place-items:center;color:#fff;font-weight:800;font-size:16px}

.hm-quote figcaption b{display:block;font-size:15px}

.hm-quote figcaption span{font-size:13px;color:var(--muted)}

.hm-results-side{display:grid;grid-template-rows:auto 1fr 1fr;gap:clamp(16px,2vw,24px)}

.hm-results-side .hm-art{aspect-ratio:16/9}

.hm-results-side .hm-art img{height:100%;width:100%;object-fit:cover}

.hm-metric{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;justify-content:center;gap:10px;box-shadow:0 24px 55px -40px rgba(11,13,15,.35)}

.hm-metric-l{display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--muted);font-weight:700;letter-spacing:.1em;text-transform:uppercase}

.hm-metric-l i{color:var(--red)}

.hm-metric-v{display:flex;align-items:baseline;gap:14px}

.hm-metric-v s{font-size:20px;color:var(--muted);font-weight:500}

.hm-metric-v b{font-family:var(--display);font-weight:800;font-size:clamp(42px,4.4vw,64px);letter-spacing:-.03em;line-height:1;color:var(--red);display:flex;align-items:baseline}

.hm-metric-v b em{font-style:normal;font-size:.36em;font-weight:700;color:var(--ink);margin-left:2px}

.hm-metric-c{font-size:13px;color:var(--muted)}



/* ---------- 06 · PLATFORM (spotlight grid) ---------- */

.hm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:0;overflow:hidden}

.hm-cell{position:relative;background:#10141a;padding:clamp(20px,2.2vw,30px);min-height:150px;transition:background .25s ease}

.hm-cell:hover{background:#141923}

.hm-cell:before{content:"";position:absolute;inset:0;background:radial-gradient(200px circle at var(--mx,50%) var(--my,50%),rgba(200,16,46,.18),transparent 60%);opacity:0;transition:opacity .35s ease;pointer-events:none}

.hm-grid:hover .hm-cell:before{opacity:1}

.hm-cell-art{padding:0;grid-column:span 2;grid-row:span 2;min-height:0}

.hm-cell-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.hm-cell>span{font-family:var(--display);font-weight:800;font-size:11.5px;color:rgba(255,255,255,.28);display:block;margin-bottom:14px}

.hm-cell h3{position:relative;color:#fff;font-size:16px;font-weight:600;margin-bottom:7px;letter-spacing:-.01em}

.hm-cell p{position:relative;font-size:13px;line-height:1.55;color:#97a1ad}



/* ---------- 07 · INDUSTRIES (marquee rows) ---------- */

.hm-industries .hm-head-split{margin-bottom:clamp(28px,4vw,48px)}

.hm-rows{display:flex;flex-direction:column;gap:14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);position:relative;z-index:2}

.hm-row{overflow:hidden}

.hm-row-track{display:flex;gap:12px;width:max-content;padding:4px 0;will-change:transform}

.hm-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:11px;padding:15px 24px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600;font-size:15px;color:var(--ink);letter-spacing:-.01em;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}

.hm-chip i{font-size:13px;color:var(--red);transition:color .25s ease}

.hm-chip:hover{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-2px)}

.hm-chip:hover i{color:var(--orange)}



/* ---------- 08 · COMPARE ---------- */

.hm-compare{position:relative;z-index:2;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 30px 70px -50px rgba(11,13,15,.4)}

.hm-compare table{width:100%;border-collapse:collapse;font-size:14.5px}

.hm-compare th,.hm-compare td{padding:17px 22px;text-align:left;border-bottom:1px solid var(--line)}

.hm-compare thead th{background:#0d1014;color:#9aa4b1;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;border-bottom:0;padding-top:19px;padding-bottom:17px}

.hm-compare thead th:first-child{color:#fff}

.hm-compare thead th:nth-child(2){background:var(--red);color:#fff}

.hm-th-flag{display:block;font-size:9.5px;letter-spacing:.16em;color:#ffd2da;margin-bottom:3px}

.hm-compare tbody td:first-child{font-weight:600;color:var(--ink)}

.hm-compare tbody td:nth-child(2){background:rgba(200,16,46,.045);border-left:1px solid rgba(200,16,46,.16);border-right:1px solid rgba(200,16,46,.16)}

.hm-compare tbody tr:last-child td{border-bottom:0}

.hm-compare tbody tr:hover td{background-color:#fafbfc}

.hm-compare tbody tr:hover td:nth-child(2){background-color:rgba(200,16,46,.07)}

.hm-compare .no{font-size:13.5px}



/* ---------- 09 · FAQ ---------- */

.hm-faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,6vw,110px);align-items:start}

.hm-faq-side{position:sticky;top:128px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}

.hm-faq-side p{font-size:15.5px;color:var(--muted);line-height:1.6;max-width:38ch;margin:0}

.hm-faq-list{display:flex;flex-direction:column}

.hm-faq-list details{border-bottom:1px solid var(--line);padding:0;cursor:pointer}

.hm-faq-list details:first-child{border-top:1px solid var(--line)}

.hm-faq-list summary{display:flex;align-items:baseline;gap:18px;padding:24px 0;list-style:none;font-weight:600;font-size:17px;color:var(--ink);transition:color .2s ease}

.hm-faq-list summary::-webkit-details-marker{display:none}

.hm-faq-list summary::after{content:none}

.hm-faq-list summary:hover{color:var(--red)}

.hm-faq-n{font-family:var(--display);font-weight:800;font-size:13px;color:var(--red);flex:0 0 28px}

.hm-faq-q{flex:1}

.hm-faq-x{position:relative;flex:0 0 30px;height:30px;align-self:center;border:1px solid var(--line);border-radius:50%;transition:background .25s ease,border-color .25s ease}

.hm-faq-x:before,.hm-faq-x:after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}

.hm-faq-x:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s cubic-bezier(.16,1,.3,1)}

.hm-faq-list details[open] .hm-faq-x:after{transform:translate(-50%,-50%) rotate(0deg)}

.hm-faq-list details[open] summary{color:var(--red)}

.hm-faq-list details p{margin:0;padding:0 46px 26px 46px;font-size:15px;line-height:1.65;color:var(--muted);max-width:62ch}

@supports (interpolate-size:allow-keywords){

  :root{interpolate-size:allow-keywords}

  .hm-faq-list details::details-content{transition:height .4s cubic-bezier(.16,1,.3,1),content-visibility .4s allow-discrete;height:0;overflow:clip}

  .hm-faq-list details[open]::details-content{height:auto}

}



/* ---------- CTA band (home polish) ---------- */

body.home section.cta-band{isolation:isolate;background:radial-gradient(900px 460px at 80% 20%, rgba(200,16,46,.40), transparent 60%),radial-gradient(700px 340px at 10% 90%, rgba(242,107,58,.18), transparent 60%),linear-gradient(100deg, rgba(8,10,13,.92) 0%, rgba(8,10,13,.60) 52%, rgba(8,10,13,.82) 100%),url("/assets/generated/cta-street.webp") center/cover no-repeat,#0a0c0f}

body.home .cta-band h2{font-family:var(--display);font-size:clamp(38px,4.6vw,58px);letter-spacing:-.025em}

body.home .cta-stat b{font-family:var(--display);letter-spacing:-.02em}



/* ---------- MOTION SAFETY ---------- */

@media (prefers-reduced-motion:reduce){

  .hm-caret,.hm-pin-ring,.hm-typing span{animation:none}

  .hm-typing{display:none!important}

  .hm-row-track{transform:none!important}

}

html.hm-no-gsap .hm-typing,html.hm-reduced .hm-typing{display:none}



/* ---------- RESPONSIVE ---------- */

@media (max-width:1180px){

  .hm-grid{grid-template-columns:repeat(3,1fr)}

}

@media (max-width:1024px){

  .hm-head-split{grid-template-columns:1fr;align-items:start;gap:18px}

  .hm-head-aside{padding-bottom:0}

  .hm-why-grid{grid-template-columns:1fr;gap:32px}

  .hm-problem-grid{grid-template-columns:1fr}

  .hm-problem-side{position:static}

  .hm-problem-side .hm-art{max-width:560px}

  .hm-duo{grid-template-columns:1fr}

  .hm-svcgrid{grid-template-columns:1fr 1fr}

  .hm-results-grid{grid-template-columns:1fr}

  .hm-results-side{grid-template-rows:none;grid-template-columns:1fr 1fr}

  .hm-faq-grid{grid-template-columns:1fr}

  .hm-faq-side{position:static}

  .hm-step-body{grid-template-columns:1fr;gap:14px}

}

@media (max-width:720px){

  .hm-sec{padding:64px 0}

  .hm-stats{grid-template-columns:1fr 1fr;border-top:0;column-gap:20px}

  .hm-stat{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}

  .hm-pain{grid-template-columns:50px 1fr;gap:14px}

  .hm-pain h3{flex-wrap:wrap;gap:10px}

  .hm-step{top:calc(86px + var(--i,0)*12px);min-height:0}

  .hm-svcgrid{grid-template-columns:1fr}

  .hm-results-side{grid-template-columns:1fr}

  .hm-grid{grid-template-columns:1fr 1fr}

  .hm-cell{min-height:0;padding:18px}

  .hm-cell-art{grid-row:auto;aspect-ratio:16/9}

  .hm-chip{padding:12px 18px;font-size:13.5px;gap:9px}

  .hm-compare{overflow-x:auto}

  .hm-compare table{min-width:640px}

  .hm-ghost{font-size:clamp(80px,22vw,130px)}

  .hm-faq-list summary{font-size:15.5px;padding:20px 0;gap:12px}

  .hm-faq-n{flex-basis:24px}

  .hm-faq-list details p{padding:0 0 22px 36px}

}



/* ============================================================

   CRAFTED SECTION VISUALS — pure CSS/SVG (replace AI rasters)

   Animated via GSAP in home.js; visible by default if JS is off.

   ============================================================ */

.hm-viz{position:relative;border-radius:22px}



/* --- 01 · WHY — local presence map --- */

.hm-viz-map{aspect-ratio:5/4;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 30px 70px -45px rgba(11,13,15,.45)}

.hm-vmap{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(11,13,15,.045) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(11,13,15,.045) 0 1px,transparent 1px 40px),#eaf0ea}

.hm-vmap-water{position:absolute;right:-10%;top:-12%;width:48%;height:50%;background:#cfe0ee;border-radius:0 0 0 65%;transform:rotate(-8deg)}

.hm-vmap-park{position:absolute;left:-8%;bottom:-10%;width:44%;height:42%;background:#d6e7cf;border-radius:0 55% 0 0}

.hm-vmap-road{position:absolute;background:#fff;box-shadow:0 0 0 1px rgba(11,13,15,.04)}

.hm-vmap-road.r1{left:-12%;right:-12%;top:55%;height:15px;transform:rotate(-7deg)}

.hm-vmap-road.r2{top:-12%;bottom:-12%;left:58%;width:15px;transform:rotate(6deg)}

.hm-vmap-dot{position:absolute;width:15px;height:15px;transform:translate(-50%,-100%) rotate(-45deg);background:#9aa4b1;border-radius:50% 50% 50% 0;box-shadow:0 4px 8px -2px rgba(0,0,0,.25)}

.hm-vmap-ping{position:absolute;width:22px;height:9px;transform:translate(-50%,-50%);border-radius:50%;background:rgba(200,16,46,.2);z-index:2}

.hm-vmap-ping::before,.hm-vmap-ping::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(200,16,46,.5);animation:hm-ring 2.6s ease-out infinite}

.hm-vmap-ping::after{animation-delay:1.3s}

.hm-vmap-pin{position:absolute;width:50px;height:50px;transform:translate(-50%,-100%) rotate(-45deg);background:linear-gradient(135deg,#ef3050,#a30d25);border-radius:50% 50% 50% 0;display:grid;place-items:center;box-shadow:0 18px 32px -8px rgba(200,16,46,.6);z-index:3}

.hm-vmap-pin b{transform:rotate(45deg);color:#fff;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.02em}

.hm-vmap-tag{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:var(--ink);background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:8px;padding:7px 10px 6px;box-shadow:0 8px 20px -10px rgba(0,0,0,.3);z-index:4}

.hm-vmap-tag i{color:var(--red)}

.hm-vmap-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 13px 7px;box-shadow:0 12px 28px -12px rgba(11,13,15,.4);z-index:4}

.hm-vmap-chip i{color:var(--red);font-size:11px}

.hm-vmap-chip.c1{left:14px;top:13%}

.hm-vmap-chip.c2{right:14px;bottom:20%}



/* --- 02 · PROBLEM — buried listings --- */

.hm-problem-side .hm-viz-buried{margin-top:30px;max-width:440px}

.hm-bsearch{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 15px;margin-bottom:14px;color:#c9cfd6;font-size:13.5px;font-weight:500}

.hm-bsearch i{color:#8a94a1;font-size:13px}

.hm-blist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}

.hm-brow{display:flex;align-items:center;gap:13px;background:#fff;border-radius:12px;padding:12px 15px;box-shadow:0 14px 28px -18px rgba(0,0,0,.7)}

.hm-bav{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:#eef1f5;color:#5b6471;font-weight:800;font-size:13px;font-family:var(--display)}

.hm-brow>div{flex:1;min-width:0}

.hm-brow b{display:block;font-size:14px;color:var(--ink);font-weight:700;letter-spacing:-.01em}

.hm-bstars{font-size:11px;color:#f4c542;letter-spacing:1.5px}

.hm-brow>i{color:#1a8f4f;font-size:14px}

.hm-bbadge{display:flex;align-items:center;gap:13px;margin:16px 0;background:linear-gradient(135deg,#1b1f25,#0a0c0f);border:1px solid rgba(200,16,46,.5);border-radius:12px;padding:13px 16px;box-shadow:0 0 0 1px rgba(200,16,46,.18),0 20px 44px -20px rgba(200,16,46,.55)}

.hm-bbadge>i{color:var(--red);font-size:21px}

.hm-bbadge b{display:block;color:var(--red);font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.06em}

.hm-bbadge span{display:block;color:#9aa4b0;font-size:12px;margin-top:1px}

.hm-byou{opacity:.55;filter:grayscale(.45)}

.hm-byou .hm-bav{background:rgba(200,16,46,.14);color:var(--red)}

.hm-byou .hm-bstars.dim{color:#c8ccd2}



/* --- 05 · REVIEWS — rating summary --- */

.hm-viz-reviews{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(18px,2vw,24px);box-shadow:0 24px 55px -40px rgba(11,13,15,.35)}

.hm-rv-head{display:flex;align-items:center;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--line)}

.hm-rv-g{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:10px;border:1px solid var(--line);font-family:var(--display);font-weight:800;font-size:19px;background:conic-gradient(from -50deg,#ea4335,#fbbc05,#34a853,#4285f4,#ea4335);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.hm-rv-head>div b{font-family:var(--display);font-weight:800;font-size:28px;letter-spacing:-.02em;line-height:1;color:var(--ink)}

.hm-rv-stars{color:#f4c542;font-size:13px;letter-spacing:1.5px;display:block;margin-top:3px}

.hm-rv-count{margin-left:auto;font-size:12px;color:var(--muted);font-weight:600}

.hm-rv-bars{display:flex;flex-direction:column;gap:7px;padding:16px 0}

.hm-rv-bar{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);font-weight:700}

.hm-rv-bar>i{flex:1;height:7px;border-radius:4px;background:#eef1f5;overflow:hidden;display:block}

.hm-rv-bar>i>b{display:block;height:100%;width:var(--w,80%);background:linear-gradient(90deg,#f4c542,#f26b3a);border-radius:4px;transform-origin:left center}

.hm-rv-snip{display:flex;gap:11px;padding-top:15px;border-top:1px solid var(--line)}

.hm-rv-av{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:linear-gradient(135deg,#f26b3a,#c8102e);color:#fff;font-weight:800;font-size:12px}

.hm-rv-snip .hm-rv-stars.sm{font-size:11px;margin:0 0 5px}

.hm-rv-snip p{font-size:12.5px;color:var(--ink);line-height:1.5;margin:0;font-weight:500}



/* --- 06 · PLATFORM — analytics dashboard cell --- */

.hm-cell-dash{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column;justify-content:center;gap:13px;padding:clamp(16px,1.7vw,22px)!important;background:#0e1218}

.hm-cell-dash>*{position:relative;z-index:1}

.hm-dash-top{display:flex;gap:13px}

.hm-dash-chart{flex:1;min-width:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}

.hm-dash-l{display:block;font-size:11px;color:#8a94a1;font-weight:600;letter-spacing:.04em;margin-bottom:10px}

.hm-dash-chart svg{display:block;width:100%;height:64px}

.hm-dash-line{fill:none;stroke:url(#hmDLine);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}

.hm-dash-area{fill:url(#hmDArea)}

.hm-dash-ring{position:relative;width:120px;flex:0 0 120px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;display:grid;place-items:center}

.hm-dash-ring svg{width:90px;height:90px;transform:rotate(-90deg)}

.hm-dash-ring-track{fill:none;stroke:rgba(255,255,255,.1);stroke-width:9}

.hm-dash-ring-val{fill:none;stroke:url(#hmDLine);stroke-width:9;stroke-linecap:round}

.hm-dash-ring-c{position:absolute;text-align:center}

.hm-dash-ring-c b{display:block;font-family:var(--display);font-weight:800;font-size:21px;color:#fff;line-height:1;letter-spacing:-.02em}

.hm-dash-ring-c span{font-size:10px;color:#8a94a1}

.hm-dash-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}

.hm-dash-kpis>div{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:11px 12px}

.hm-dash-kpis b{display:block;font-family:var(--display);font-weight:800;font-size:18px;color:#fff;letter-spacing:-.02em}

.hm-dash-kpis span{font-size:10px;color:#8a94a1}



@media (prefers-reduced-motion:reduce){

  .hm-vmap-ping::before,.hm-vmap-ping::after{animation:none}

}

@media (max-width:1024px){

  .hm-problem-side .hm-viz-buried{max-width:560px}

}

@media (max-width:720px){

  .hm-cell-dash{grid-column:span 2;grid-row:auto;aspect-ratio:auto}

  .hm-dash-ring{width:104px;flex-basis:104px}

}



/* ============================================================

   ABOUT 2026 — editorial sections + three.js hero

   Page carries both `home` + `about` classes, so it inherits the

   --display token and home.js choreography. Only the WebGL hero

   and a few about-specific bits are defined here.

   ============================================================ */

body.about section.cta-band{isolation:isolate;background:#0a0c0f}

body.about .cta-band h2{font-family:var(--display);font-size:clamp(38px,4.6vw,58px);letter-spacing:-.025em}

body.about .cta-stat b{font-family:var(--display);letter-spacing:-.02em}



/* hero shell */

.ab-hero{position:relative;isolation:isolate;overflow:hidden;background:#06080b;color:#fff;display:flex;align-items:center;min-height:calc(100vh - 88px);min-height:calc(100svh - 88px);padding:104px 0}

.ab-hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}

.ab-hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(6,8,11,.94) 0%,rgba(6,8,11,.78) 30%,rgba(6,8,11,.4) 60%,rgba(6,8,11,.6) 100%),radial-gradient(60% 60% at 80% 28%,rgba(200,16,46,.16),transparent 70%)}

.ab-hero-veil:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 100% 80% at 50% 50%,#000 28%,transparent 95%);mask-image:radial-gradient(ellipse 100% 80% at 50% 50%,#000 28%,transparent 95%)}

.ab-hero .wrap{position:relative;z-index:2;width:100%}

.ab-hero-inner{max-width:880px}

.ab-hero .badge{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18)}

.ab-hero .badge i{color:var(--teal)}

.ab-hero h1{font-family:var(--display);font-weight:700;color:#fff;font-size:clamp(38px,6vw,66px);line-height:1.02;letter-spacing:-.03em;margin:22px 0 0}

.ab-hero h1 .accent{color:var(--teal)}

.ab-hero p.lede{font-size:clamp(16.5px,1.55vw,19px);color:#c9cfd6;margin-top:22px;max-width:640px;line-height:1.6}

.ab-hero .cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}

.ab-hero .btn-dark-solid{background:var(--teal);color:#fff}

.ab-hero .btn-dark-solid:hover{background:var(--teal-600)}

.ab-hero .btn-outline-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}

.ab-hero .btn-outline-dark:hover{border-color:#fff;background:rgba(255,255,255,.06)}

.ab-hero-note{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;font-size:13px;color:#c9cfd6}

.ab-hero-note span{display:inline-flex;align-items:center;gap:7px}

.ab-hero-note i{color:var(--green)}

.ab-hero-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#7f8896;font-weight:700}

.ab-hero-scroll i{font-size:13px;color:var(--teal);animation:ab-bob 1.8s ease-in-out infinite}

@keyframes ab-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}



/* mission quote sits full-width on the about page */

body.about #mission .hm-quote{max-width:none}

body.about #mission .hm-head{margin-bottom:clamp(24px,3vw,36px)}



@media (prefers-reduced-motion:reduce){.ab-hero-scroll i{animation:none}}

@media (max-width:720px){

  .ab-hero{min-height:auto;padding:72px 0 60px}

  .ab-hero-scroll{display:none}

}



/* ── AQM dark header (headerStyle=dark) — mirrors the original #0a0c0f nav ── */

header[data-header="dark"]{background:#0a0c0f;border-bottom:1px solid rgba(255,255,255,.08);}

header[data-header="dark"] [data-megamenu] .text-brand-800{color:#fff;}

header[data-header="dark"] [data-megamenu] .text-brand-800:hover{color:#e2444f;}

header[data-header="dark"] [data-megamenu] a[href^="tel:"]{background:transparent;border:1px solid rgba(255,255,255,.25);}

header[data-header="dark"] [data-megamenu] a[href^="tel:"]:hover{border-color:#fff;background:rgba(255,255,255,.06);}

header[data-header="dark"] [data-nav-toggle]{color:#fff;border-color:rgba(255,255,255,.2);}

@media (max-width:720px){.hm-serp-item.hm-you{padding-right:96px}}

.hm-proofband{position:relative;background-color:#080a0e;background-size:cover;background-position:center;padding:clamp(76px,10vw,148px) 0;color:#fff;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.hm-proofband-inner{max-width:600px}.hm-proofband-kicker{display:inline-block;font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:16px}.hm-proofband-h{font-family:var(--display);font-weight:800;font-size:clamp(30px,4.4vw,52px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px;color:#fff}.hm-proofband-h em{font-style:normal;color:var(--red)}.hm-proofband-sub{font-size:clamp(15px,1.35vw,18px);line-height:1.6;color:#cfd6de;max-width:520px;margin:0 0 22px}.hm-proofband-chip{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#e8edf2;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 14px;margin-bottom:26px}.hm-proofband-chip i{color:var(--red)}.hm-proofband-cta{margin-top:4px}@media (max-width:720px){.hm-proofband{padding:64px 0}.hm-proofband:before{content:"";position:absolute;inset:0;background:rgba(8,10,14,.5);pointer-events:none}.hm-proofband .wrap{position:relative;z-index:1}.hm-proofband-inner{max-width:none}.hm-proofband-sub{color:#dfe4ea}}

.hm-indgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:clamp(26px,3vw,40px) 0 4px}.hm-indcard{position:relative;display:flex;align-items:flex-end;min-height:220px;border-radius:16px;overflow:hidden;background-size:cover;background-position:center;text-decoration:none;border:1px solid var(--line);transition:transform .35s ease,box-shadow .35s ease}.hm-indcard:hover{transform:translateY(-4px);box-shadow:0 26px 54px -30px rgba(0,0,0,.65)}.hm-indcard-label{position:relative;z-index:1;padding:18px;font-family:var(--display);font-weight:700;font-size:16.5px;color:#fff;letter-spacing:-.01em;display:flex;align-items:center;gap:8px}.hm-indcard-label i{font-size:12px;opacity:0;transform:translateX(-4px);transition:opacity .3s ease,transform .3s ease}.hm-indcard:hover .hm-indcard-label i{opacity:1;transform:translateX(0)}@media (max-width:980px){.hm-indgrid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.hm-indgrid{gap:10px}.hm-indcard{min-height:160px}}


/* ===== Article TOC fix (added 2026-07-08) =====================================
   The site-wide `nav ul{display:flex;gap:28px}` (header/footer menus) was also
   matching the article table of contents (<nav class="article-toc">), laying the
   jump links out in a horizontal row that overflowed the ~256px sidebar and
   produced a scrollbar. Force the TOC links to stack, and stop the sidebar from
   scrolling internally. */
.article-toc ul{display:block;gap:0}
.article-toc li{margin:0}
.article-toc li + li{margin-top:.5rem}
.ka-toc-aside{max-height:none;overflow:visible}
/* ===== end Article TOC fix ==================================================== */

/* Home platform (spotlight_grid) dashboard panel: square corners (2026-07-08) */
.hm-cell-dash,.hm-viz-dash{border-radius:0}


/* ===== nav active states + mobile mega accordion (2026-07-09) ===== */
.nav-main > li > a.active{color:#fff;font-weight:600;position:relative;}
.nav-main > li > a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:3px;background:#c8102e;border-radius:2px;box-shadow:0 0 10px rgba(200,16,46,.55);}
.nav-main .mega-link.active{background:rgba(200,16,46,.10);border-radius:10px;}
.nav-main .mega-link.active b{color:#e11d38;}
.nav-main .nav-home a{display:inline-flex;align-items:center;font-size:15px}
.nav-main .nav-home i{line-height:1}
/* mobile mega accordion */
.mobile-nav .m-group > details{border-bottom:1px solid rgba(255,255,255,.06);}
.mobile-nav .m-group summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 6px;color:#c9cfd6;font-size:17px;font-weight:500;cursor:pointer;}
.mobile-nav .m-group summary::-webkit-details-marker{display:none;}
.mobile-nav .m-group summary i{font-size:13px;opacity:.55;transition:transform .2s ease;}
.mobile-nav .m-group details[open] > summary{color:#fff;}
.mobile-nav .m-group details[open] > summary i{transform:rotate(180deg);}
.mobile-nav .m-sub{list-style:none;margin:0 0 8px;padding:2px 0 6px 12px;display:flex;flex-direction:column;border-left:2px solid rgba(200,16,46,.4);}
.mobile-nav .m-sub li a{display:block;padding:11px 8px;font-size:15px;color:#aeb7c2;border-bottom:1px solid rgba(255,255,255,.045);}
.mobile-nav .m-sub li a:hover,.mobile-nav .m-sub li a.active{color:#fff;}
.mobile-nav > li > a.active{color:#e11d38;}

/* neutralize global details +/- marker inside mobile nav accordion */
.mobile-nav .m-group > details{padding:0;border-bottom:1px solid rgba(255,255,255,.06);}
.mobile-nav .m-group summary::after{content:none !important;}

/* ===== Pre-launch QA fixes (2026-07-12) — appended overrides ===== */
/* Blog-post content tables scroll inside their column instead of widening the page on mobile. */
.article-body table{display:block;width:-webkit-max-content;width:max-content;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* Footer column headings changed h4 -> h2 for correct heading order; preserve the visual. */
footer .cols h2{color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px;line-height:1.3}
/* Mega-menu promo card title changed h4 -> div for correct heading order; preserve the visual. */
.mega-card .mega-card-title{position:relative;color:#fff;font-size:16px;margin:0 0 6px;font-weight:700;letter-spacing:-.01em;line-height:1.25}
/* ===== end pre-launch QA fixes ===== */


/* ====================== PORTFOLIO / CASE-STUDY BLOCKS (pf-*) ======================
   aqm_case_hero, aqm_project_grid, aqm_browser_frame, aqm_client_links.
   Reveal contract (can't-strand): .pf-rv starts hidden ONLY under a scripting
   media query and unhides on .in OR .reveal-in; reduced-motion and no-JS both
   render fully visible. site.js adds .in via IntersectionObserver. */

/* --- case hero --- */
.case-hero{position:relative;padding:104px 0 96px;color:#fff;overflow:hidden;isolation:isolate;background:#0a0c0f}
.case-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.case-hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,8,11,.92) 0%,rgba(6,8,11,.78) 42%,rgba(6,8,11,.45) 100%)}
.case-hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
.case-hero.has-shot .wrap{grid-template-columns:1.15fr .85fr}
.case-crumbs{font-size:13px;color:#c9cfd6;margin-bottom:18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.case-crumbs a{color:#c9cfd6}
.case-crumbs a:hover{color:#fff}
.case-crumbs .sep{opacity:.5}
.case-crumbs [aria-current]{color:#fff;font-weight:600}
.case-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#ffb3bd;margin-bottom:20px}
.case-badge i{color:var(--teal)}
.case-hero h1{font-size:48px;line-height:1.04;letter-spacing:-.03em;color:#fff;max-width:640px;margin:0}
.case-hero h1 em{font-style:normal;background:linear-gradient(90deg,#ff6a4a,#ffb3bd);-webkit-background-clip:text;background-clip:text;color:transparent}
.case-lede{color:#c9cfd6;font-size:18px;line-height:1.6;max-width:560px;margin-top:18px}
.case-hero .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.case-hero-shot{border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.12);background:#15191f;transform:rotate(1.2deg)}
.case-hero-shot img{display:block;width:100%;height:auto}

/* --- shared browser chrome --- */
.pf-chrome{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#15191f}
.pf-chrome>span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22);flex:none}
.pf-chrome>span:first-child{background:rgba(200,16,46,.75)}
.pf-chrome .pf-url{margin-left:10px;font-size:11px;font-weight:600;letter-spacing:.02em;color:#c9cfd6;background:rgba(255,255,255,.07);border-radius:6px;padding:4px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}

/* --- project grid --- */
.pf-grid{display:grid;gap:28px}
.pf-grid.pf-featured{grid-template-columns:repeat(2,1fr)}
.pf-grid.pf-compact{grid-template-columns:repeat(3,1fr);gap:22px}
.pf-grid.pf-quad{grid-template-columns:repeat(4,1fr);gap:20px}
.pf-quad .pf-blurb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1200px){.pf-grid.pf-quad{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.pf-grid.pf-quad{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pf-grid.pf-quad{grid-template-columns:1fr}}
.pf-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.pf-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(10,12,15,.12);border-color:#cfd6dd}
.pf-shot{position:relative;display:block;background:#15191f}
.pf-shot img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.pf-tag{position:absolute;top:44px;right:12px;background:var(--teal);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:999px}
.pf-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.pf-body h3{font-size:19px;letter-spacing:-.01em;margin:0}
.pf-meta{font-size:13px;color:var(--muted);margin:0}
.pf-blurb{font-size:14.5px;line-height:1.55;color:var(--muted);margin:2px 0 0}
.pf-compact .pf-blurb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pf-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.pf-more{font-size:14px;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:7px}
.pf-more i{transition:transform .15s ease;font-size:12px}
.pf-card:hover .pf-more i{transform:translateX(3px)}
.pf-visit{font-size:13.5px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.pf-visit:hover{color:var(--ink)}
.pf-visit i{font-size:11px}

/* filter bar (inserted by site.js only — no-JS pages never see it) */
.pf-filterbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:-20px 0 32px}
.pf-filterbar input{border:1px solid var(--line);border-radius:8px;padding:10px 14px;font-size:14px;min-width:220px;font-family:inherit}
.pf-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s;font-family:inherit}
.pf-chip:hover{border-color:var(--ink)}
.pf-chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.pf-card.pf-hide{display:none}
.pf-empty{font-size:15px;color:var(--muted);padding:18px 0}
.pf-sentinel{height:1px;width:100%}

/* --- browser frame section --- */
.pf-stage{position:relative}
.pf-browser{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 70px rgba(10,12,15,.14);background:#15191f}
.pf-browser a{display:block}
.pf-browser img{display:block;width:100%;height:auto}
.pf-stage.has-mobile .pf-browser{margin-right:120px}
.pf-mobile{position:absolute;right:0;bottom:-34px;width:190px;margin:0;border-radius:22px;overflow:hidden;border:6px solid #15191f;box-shadow:0 24px 60px rgba(10,12,15,.28);background:#15191f}
.pf-mobile img{display:block;width:100%;height:auto}
.pf-frame-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:26px}
.pf-stage.has-mobile+.pf-frame-foot{margin-top:56px}
.pf-caption{font-size:14px;color:var(--muted);max-width:640px;margin:0}

/* --- client links band --- */
section.pf-links-sec{background:linear-gradient(135deg,#15191f 0%,#0a0c0f 100%);color:#fff;position:relative;overflow:hidden}
section.pf-links-sec:before{content:"";position:absolute;inset:0;background:radial-gradient(700px 320px at 85% 15%,rgba(200,16,46,.28),transparent 60%);pointer-events:none}
.pf-links-sec .wrap{position:relative;z-index:1}
.pf-links-sec .sec-head h2{color:#fff}
.pf-links-sec .sec-head h2+p,.pf-links-sec .sec-head p{color:#c9cfd6}
.pf-links-sec .sec-num{color:#ffb3bd}
/* Case-study lead heading — browser-frame leads the page as its H1 (no separate hero) */
.pf-frame-sec .pf-lead-head{margin:0 auto 34px;max-width:840px;text-align:center;align-items:center}
.pf-frame-sec .pf-lead-head h1{font-size:clamp(30px,4.2vw,46px);line-height:1.08;letter-spacing:-.02em;margin:8px 0 0}
.pf-frame-sec .pf-lead-head .pf-lead-intro{font-size:18px;color:var(--muted);max-width:660px;line-height:1.6;margin:14px 0 0}
.pf-links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:900px}
.pf-link{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;transition:.15s ease}
.pf-link:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);transform:translateY(-2px);color:#fff}
.pf-link-ico{width:44px;height:44px;border-radius:10px;background:rgba(200,16,46,.18);color:#ff8fa0;display:grid;place-items:center;font-size:18px;flex:none}
.pf-link-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.pf-link-txt b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-link-txt span{font-size:13px;color:#c9cfd6}
.pf-link-ext{margin-left:auto;font-size:12px;color:#c9cfd6;flex:none}

/* --- reveal (safe: hides only when scripting is enabled; unhides on .in OR .reveal-in) --- */
@media (scripting: enabled){
	.pf-rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
}
.pf-rv.in,.pf-rv.reveal-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
	.pf-rv{opacity:1;transform:none;transition:none}
	.pf-card,.pf-link,.pf-more i{transition:none}
}

/* --- responsive --- */
@media (max-width: 1024px){
	.case-hero.has-shot .wrap{grid-template-columns:1fr}
	.case-hero-shot{max-width:560px;transform:none}
	.pf-grid.pf-featured{grid-template-columns:1fr}
	.pf-grid.pf-compact{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 720px){
	.case-hero{padding:80px 0 72px}
	.case-hero h1{font-size:36px}
	.pf-grid.pf-compact{grid-template-columns:1fr}
	.pf-links{grid-template-columns:1fr}
	.pf-stage.has-mobile .pf-browser{margin-right:0}
	.pf-mobile{width:130px;bottom:-22px;right:8px}
	.pf-filterbar input{min-width:0;width:100%}
}

/* AQM-HERO-IMG-LAYERING */
.hero>.hero-bg{z-index:0}
.hero>.hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg, rgba(10,12,15,.94) 0%, rgba(10,12,15,.88) 46%, rgba(10,12,15,.66) 68%, rgba(10,12,15,.22) 83%, transparent 95%);z-index:1;pointer-events:none}
.hero:before,.hero::before,.hero:after,.hero::after{z-index:2}
.hero .wrap{z-index:3}
