/* GENERATED by bin/build-scoped-css.php from the unscoped sheets. Do not edit. */
/* ---- primitives ---- */
:root {
--secondary-50:   #E8EEF2;
--secondary-100:  #C5D4DE;
--secondary-200:  #9DB8C8;
--secondary-300:  #6F98AF;
--secondary-400:  #4A7E9A;
--secondary-500:  #1F5C7A;
--secondary-600:  #033748;
--secondary-700:  #062535;
--secondary-800:  #041C2C;
--secondary-900:  #020E16;
--primary-50:  #FEF0EB;
--primary-100: #FCCFBE;
--primary-200: #F9A98E;
--primary-300: #F7845E;
--primary-400: #F56538;
--primary-500: #F4511E;
--primary-600: #D63D0F;
--primary-700: #B03009;
--primary-800: #8A2406;
--primary-900: #641803;
--gray-0:    #FFFFFF;
--gray-50:   #FBFBFC;
--gray-100:  #F4F5F7;
--gray-200:  #ECEEF0;
--gray-300:  #D1D5DB;
--gray-400:  #9CA3AF;
--gray-500:  #5B6770;
--gray-600:  #4B5563;
--gray-700:  #374151;
--gray-800:  #263238;
--gray-900:  #0A1620;
--green-50:  #E6F6EF;
--green-100: #C2E9D8;
--green-200: #85D4B1;
--green-300: #47BE8A;
--green-400: #22A06B;
--green-500: #1A8055;
--green-600: #126040;
--green-700: #0A402A;
--green-800: #052015;
--green-900: #021008;
--red-50:   #FDECEA;
--red-100:  #F9C5C2;
--red-200:  #F39B96;
--red-300:  #EC6E68;
--red-400:  #E54D46;
--red-500:  #D03A2E;
--red-600:  #A82D23;
--red-700:  #802119;
--red-800:  #581510;
--red-900:  #300A08;
--amber-50:  #FFFBEB;
--amber-100: #FEF3C7;
--amber-200: #FDE68A;
--amber-300: #FCD34D;
--amber-400: #FBBF24;
--amber-500: #F59E0B;
--amber-600: #D97706;
--amber-700: #B45309;
--amber-800: #92400E;
--amber-900: #78350F;
--blue-50:  #EFF6FF;
--blue-100: #DBEAFE;
--blue-200: #BFDBFE;
--blue-300: #93C5FD;
--blue-400: #60A5FA;
--blue-500: #3B82F6;
--blue-600: #2563EB;
--blue-700: #1D4ED8;
--blue-800: #1E40AF;
--blue-900: #1E3A8A;
--manila: #D9C58A;
--black-0:    rgba(0,0,0,0.00);
--black-5:    rgba(0,0,0,0.05);
--black-10:   rgba(0,0,0,0.10);
--black-15:   rgba(0,0,0,0.15);
--black-20:   rgba(0,0,0,0.20);
--black-30:   rgba(0,0,0,0.30);
--black-40:   rgba(0,0,0,0.40);
--black-50:   rgba(0,0,0,0.50);
--black-60:   rgba(0,0,0,0.60);
--black-70:   rgba(0,0,0,0.70);
--black-80:   rgba(0,0,0,0.80);
--black-90:   rgba(0,0,0,0.90);
--black-100:  rgba(0,0,0,1.00);
--white-0:    rgba(255,255,255,0.00);
--white-5:    rgba(255,255,255,0.05);
--white-10:   rgba(255,255,255,0.10);
--white-15:   rgba(255,255,255,0.15);
--white-20:   rgba(255,255,255,0.20);
--white-30:   rgba(255,255,255,0.30);
--white-40:   rgba(255,255,255,0.40);
--white-50:   rgba(255,255,255,0.50);
--white-60:   rgba(255,255,255,0.60);
--white-70:   rgba(255,255,255,0.70);
--white-80:   rgba(255,255,255,0.80);
--white-90:   rgba(255,255,255,0.90);
--white-100:  rgba(255,255,255,1.00);
--primary-a10: rgba(244,81,30,0.10);
--primary-a15: rgba(244,81,30,0.15);
--primary-a20: rgba(244,81,30,0.20);
--primary-a30: rgba(244,81,30,0.30);
--secondary-a10:   rgba(4,28,44,0.10);
--secondary-a20:   rgba(4,28,44,0.20);
--secondary-a40:   rgba(4,28,44,0.40);
--secondary-a60:   rgba(4,28,44,0.60);
--secondary-a80:   rgba(4,28,44,0.80);
--space-1:   2px;
--space-2:   4px;
--space-3:   6px;
--space-4:   8px;
--space-5:   10px;
--space-6:   12px;
--space-8:   16px;
--space-10:  20px;
--space-12:  24px;
--space-16:  32px;
--space-20:  40px;
--space-24:  48px;
--space-32:  64px;
--space-40:  80px;
--space-48:  96px;
--space-64:  128px;
--space-80:  160px;
--space-96:  192px;
--radius-none: 0px;
--radius-xs:   2px;
--radius-sm:   4px;
--radius-md:   8px;
--radius-lg:   12px;
--radius-xl:   16px;
--radius-2xl:  24px;
--radius-3xl:  32px;
--radius-full: 9999px;
--font-display: 'Outfit', 'Geist', system-ui, sans-serif;
--font-body:    'Geist', 'Cerebri Sans', system-ui, -apple-system, sans-serif;
--font-mono:    'JetBrains Mono', ui-monospace, Menlo, monospace;
--text-2xs:  10px;
--text-xs:   13px;
--text-sm:   13px;
--text-base: 16px;
--text-md:   18px;
--text-lg:   20px;
--text-xl:   24px;
--text-2xl:  28px;
--text-3xl:  32px;
--text-4xl:  40px;
--text-5xl:  48px;
--text-6xl:  56px;
--text-7xl:  64px;
--text-8xl:  76px;
--weight-light:     300;
--weight-regular:   400;
--weight-medium:    500;
--weight-semibold:  600;
--weight-bold:      700;
--weight-extrabold: 800;
--weight-black:     900;
--leading-none:    1;
--leading-tight:   1.1;
--leading-snug:    1.2;
--leading-normal:  1.5;
--leading-relaxed: 1.7;
--leading-loose:   2;
--tracking-tighter: -0.03em;
--tracking-tight:   -0.02em;
--tracking-snug:    -0.015em;
--tracking-normal:   0em;
--tracking-wide:     0.01em;
--tracking-wider:    0.02em;
--tracking-widest:   0.06em;
--shadow-raw-xs:  0 1px 2px rgba(4,28,44,0.06);
--shadow-raw-sm:  0 1px 1px rgba(0,0,0,0.04), 0 4px 8px -2px rgba(4,28,44,0.12);
--shadow-raw-md:  0 1px 1px rgba(0,0,0,0.04), 0 14px 28px -10px rgba(4,28,44,0.22);
--shadow-raw-lg:  0 4px 6px rgba(0,0,0,0.05), 0 24px 48px -12px rgba(4,28,44,0.28);
--shadow-raw-xl:  0 8px 12px rgba(0,0,0,0.06), 0 40px 64px -16px rgba(4,28,44,0.32);
--dur-instant: 0ms;
--dur-fast:    100ms;
--dur-base:    200ms;
--dur-slow:    350ms;
--dur-xslow:   500ms;
--dur-lazy:    800ms;
--ease-linear:   linear;
--ease-out:      cubic-bezier(0.23, 1, 0.32, 1);
--ease-in:       cubic-bezier(0.55, 0, 1, 0.45);
--ease-in-out:   cubic-bezier(0.77, 0, 0.175, 1);
--ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
--ease-enter:    cubic-bezier(0, 0, 0.2, 1);
--ease-exit:     cubic-bezier(0.4, 0, 1, 1);
--ease-spring:   cubic-bezier(0.32, 0.72, 0, 1);
}
/* ---- tokens ---- */
:root {
--t-font-display:   var(--font-display);
--t-font-body:      var(--font-body);
--t-font-mono:      var(--font-mono);
--t-h1:             clamp(27px, 3.75vw, 57px);
--t-h2:             clamp(28px, 4vw, 56px);
--t-h3:             clamp(20px, 3vw, 32px);
--t-h4:             var(--text-lg);
--t-h5:             var(--text-base);
--t-h6:             var(--text-sm);
--t-body-lg:        var(--text-md);
--t-body:           var(--text-base);
--t-small:          var(--text-sm);
--t-caption:        var(--text-xs);
--t-code:           var(--text-sm);
--t-label:          var(--text-sm);
--t-weight-heading: var(--weight-bold);
--t-weight-subhead: var(--weight-semibold);
--t-weight-ui:      var(--weight-medium);
--t-weight-body:    var(--weight-regular);
--t-weight-meta:    var(--weight-medium);
--t-leading-heading: var(--leading-tight);
--t-leading-body:    var(--leading-relaxed);
--t-leading-ui:      var(--leading-normal);
--bg-page:           var(--gray-50);
--bg-surface:        var(--gray-0);
--bg-surface-raised: var(--gray-0);
--bg-section-alt:    var(--gray-100);
--bg-section-dark:   var(--secondary-800);
--bg-overlay:        var(--black-50);
--bg-tooltip:        var(--secondary-800);
--bg-code:           var(--gray-100);
--bg-skeleton:       var(--gray-200);
--bg-input:          var(--gray-0);
--bg-input-disabled: var(--gray-100);
--text-heading:      var(--secondary-800);
--text-main:         var(--gray-800);
--text-muted:        var(--gray-500);
--text-disabled:     var(--gray-400);
--text-inverse:      var(--gray-0);
--text-inverse-muted:var(--white-70);
--text-on-dark:      var(--white-90);
--text-on-dark-muted: rgba(255,255,255,0.78);
--text-link:      var(--primary-400);
--text-link-hover:   var(--primary-400);
--text-code:         var(--secondary-700);
--text-tooltip:      var(--white-90);
--text-placeholder:  var(--gray-400);
--border-subtle:     var(--black-10);
--border-default:    var(--black-15);
--border-strong:     var(--black-30);
--border-focus:      var(--primary-400);
--border-on-dark:    var(--white-15);
--accent-main:   var(--primary-400);
--accent-hover: var(--primary-400);
--accent-active:  var(--primary-500);
--accent-subtle:      var(--primary-a10);
--accent-subtle-hover:var(--primary-a20);
--brand-primary:      var(--secondary-800);
--brand-secondary:    var(--primary-400);
--structural-main:    var(--secondary-700);
--structural-light:   var(--secondary-600);
--bg-success:      var(--green-50);
--text-success:    var(--green-600);
--border-success:  var(--green-300);
--icon-success:    var(--green-400);
--bg-error:        var(--red-50);
--text-error:      var(--red-600);
--border-error:    var(--red-300);
--icon-error:      var(--red-500);
--bg-warning:      var(--amber-50);
--text-warning:    var(--amber-700);
--border-warning:  var(--amber-300);
--icon-warning:    var(--amber-500);
--bg-info:         var(--blue-50);
--text-info:       var(--blue-700);
--border-info:     var(--blue-300);
--icon-info:       var(--blue-500);
--shadow-xs:      var(--shadow-raw-xs);
--shadow-surface: var(--shadow-raw-sm);
--shadow-raised:  var(--shadow-raw-md);
--shadow-overlay: var(--shadow-raw-lg);
--shadow-focus:   0 0 0 3px var(--primary-a20);
--container-max:       1440px;
--container-padding-x: var(--space-8);
--layout-gap:          var(--space-6);
--layout-columns:      1;
--section-padding-y:   var(--space-20);
--card-padding:        var(--space-8) var(--space-12);
--card-radius:         var(--radius-lg);
--card-border:         1px solid var(--border-subtle);
--input-height:        48px;
--input-padding:       var(--space-4) var(--space-8);
--input-radius:        var(--radius-md);
--input-border:        1px solid var(--border-default);
--input-border-focus:  2px solid var(--border-focus);
--btn-radius:          var(--radius-full);
--navbar-height:       56px;
--sidebar-width:       240px;
--sidebar-width-sm:    64px;
--transition-fast:   var(--dur-fast)   var(--ease-out);
--transition-base:   var(--dur-base)   var(--ease-standard);
--transition-slow:   var(--dur-slow)   var(--ease-standard);
--transition-enter:  var(--dur-slow)   var(--ease-enter);
--transition-exit:   var(--dur-base)   var(--ease-exit);
--transition-spring: var(--dur-slow)   var(--ease-spring);
--z-base:      0;
--z-raised:    10;
--z-dropdown:  100;
--z-sticky:    200;
--z-overlay:   300;
--z-modal:     400;
--z-toast:     500;
--z-tooltip:   600;
}
@media (min-width: 768px) {
:root {
--container-padding-x: var(--space-12);
--layout-gap:          var(--space-8);
--layout-columns:      2;
--section-padding-y:   var(--space-24);
--navbar-height:       64px;
--card-padding:        var(--space-10) var(--space-12);
}
}
@media (min-width: 1024px) {
:root {
--container-padding-x: var(--space-20);
--layout-gap:          var(--space-10);
--layout-columns:      12;
--section-padding-y:   var(--space-32);
--card-padding:        var(--space-12);
}
}
@media (min-width: 1280px) {
:root {
--container-padding-x: var(--space-20);
--section-padding-y:   var(--space-40);
}
}
:root {
--dap-navy:          #061C2C;
--dap-orange:        #F2501E;
--dap-blue:          #4285F4;
--dap-cyan:          #00B4D8;
--dap-slate:         #364D5D;
--dap-dark-teal:     #1E3342;
--dap-deep-navy:     #052236;
--dap-purple:        #644CA5;
--dap-green:         #70AD47;
--dap-card:          #0D2A3F;
--dap-card-2:        #102F46;
--dap-border:        #1A3A4F;
--dap-deep:          #041824;
--dap-yellow:        #F5B30B;
--dap-red:           #E04040;
--dap-orange-soft:   rgba(242,80,30,0.12);
--dap-cyan-soft:     rgba(0,180,216,0.12);
--dap-green-soft:    rgba(118,192,67,0.15);
--dap-yellow-soft:   rgba(245,179,11,0.15);
--dap-red-soft:      rgba(224,64,64,0.15);
--dap-purple-soft:   rgba(100,76,165,0.20);
--dap-white:         #FFFFFF;
--dap-muted:         #B0BEC5;
--dap-dim:           rgba(255,255,255,0.55);
--dap-text-dark:     #1A1A2E;
--dap-bg-light:      #FFFFFF;
--dap-bg-subtle:     #F5F5F5;
--dap-callout-bg:    #FFF0EB;
--dap-font:          'Lato', 'Calibri', system-ui, -apple-system, sans-serif;
--dap-font-mono:     'JetBrains Mono', ui-monospace, Menlo, monospace;
--dap-radius-sm:     4px;
--dap-radius-md:     8px;
--dap-radius-lg:     14px;
--dap-radius-pill:   999px;
--dap-shadow-sm:     0 2px 6px rgba(0,0,0,0.15);
--dap-shadow-md:     0 8px 24px rgba(0,0,0,0.25);
--dap-shadow-lg:     0 20px 48px rgba(0,0,0,0.35);
--dap-ease-out:      cubic-bezier(0.23, 1, 0.32, 1);
--dap-ease-in-out:   cubic-bezier(0.77, 0, 0.175, 1);
--dap-ease-drawer:   cubic-bezier(0.32, 0.72, 0, 1);
--dap-press:         160ms var(--dap-ease-out);
--dap-fast:          200ms var(--dap-ease-out);
--dap-med:           280ms var(--dap-ease-out);
}
:root { --text-xs: 14px; --text-sm: 14px; --t-caption: 14px; --t-small: 14px; }
:root {
--bg-page: #F2F4F7;
--bg-section-alt: #E8EBF1;
}
@keyframes marquee {
from { transform: translateX(0); }
to   { transform: translateX(calc(-50% - var(--marquee-gap, 12px) / 2)); }
}
@keyframes marquee-ltr {
from { transform: translateX(calc(-50% - var(--marquee-gap, 12px) / 2)); }
to   { transform: translateX(0); }
}
@keyframes marquee-rtl {
from { transform: translateX(0); }
to   { transform: translateX(calc(-50% - var(--marquee-gap, 12px) / 2)); }
}
@keyframes btn-pulse {
0%, 100% { box-shadow: 0 0 0 0 rgba(215,119,87,0.5); }
50%       { box-shadow: 0 0 0 7px rgba(215,119,87,0); }
}
@keyframes btn-shimmer {
0%   { background-position: 200% center; }
100% { background-position: -200% center; }
}
@keyframes btn-breathe {
0%, 100% { box-shadow: 0 0 0 0 rgba(215,119,87,0.4); }
50%       { box-shadow: 0 0 0 6px rgba(215,119,87,0); }
}
@keyframes t-draw { to { stroke-dashoffset: 0; } }
@keyframes f-breathe { 0%,100% { opacity: 0.5; } 50% { opacity: 0.9; } }
@keyframes urgency-pulse {
0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,.6); }
50% { box-shadow: 0 0 0 6px rgba(255,255,255,0); }
}
@keyframes dapPulse { 0% { transform: scale(1); opacity: .85 } 70% { transform: scale(4.6); opacity: 0 } 100% { opacity: 0 } }
@keyframes dapPillGlow {
0%, 100% { box-shadow: 0 0 0 0 rgba(245,101,56,0); }
50%      { box-shadow: 0 0 0 6px rgba(245,101,56,.22); }
}
@keyframes logo-scroll {
from { transform: translateX(0); }
to   { transform: translateX(calc(-50% - var(--logo-gap) / 2)); }
}

@scope (.dapv-canvas) {
[data-theme="dark"] {
--bg-page:           var(--secondary-800);
--bg-surface:        var(--secondary-700);
--bg-surface-raised: var(--secondary-600);
--bg-section-alt:    var(--secondary-900);
--bg-overlay:        var(--black-70);
--bg-tooltip:        var(--gray-800);
--bg-code:           var(--secondary-700);
--bg-skeleton:       var(--secondary-700);
--bg-input:          var(--secondary-700);
--bg-input-disabled: var(--secondary-900);
--text-heading:      var(--white-100);
--text-main:         var(--white-90);
--text-muted:        var(--white-50);
--text-disabled:     var(--white-30);
--text-inverse:      var(--secondary-800);
--text-link:         var(--primary-400);
--text-link-hover:   var(--primary-300);
--text-code:         var(--primary-200);
--text-placeholder:  var(--white-30);
--border-subtle:     var(--white-10);
--border-default:    var(--white-15);
--border-strong:     var(--white-30);
--border-focus:      var(--primary-400);
--border-on-dark:    var(--black-20);
--accent-main:        var(--primary-400);
--accent-hover:       var(--primary-400);
--accent-active:      var(--primary-300);
--accent-subtle:      var(--primary-a15);
--accent-subtle-hover:var(--primary-a30);
--structural-main:    var(--secondary-300);
--structural-light:   var(--secondary-200);
--bg-success:      var(--green-700);
--text-success:    var(--green-200);
--border-success:  var(--green-500);
--icon-success:    var(--green-300);
--bg-error:        var(--red-700);
--text-error:      var(--red-200);
--border-error:    var(--red-500);
--icon-error:      var(--red-300);
--bg-warning:      var(--amber-800);
--text-warning:    var(--amber-200);
--border-warning:  var(--amber-500);
--icon-warning:    var(--amber-300);
--bg-info:         var(--blue-800);
--text-info:       var(--blue-200);
--border-info:     var(--blue-500);
--icon-info:       var(--blue-300);
--shadow-xs:      0 1px 2px rgba(0,0,0,0.30);
--shadow-surface: 0 1px 1px rgba(0,0,0,0.20), 0 4px 8px -2px rgba(0,0,0,0.40);
--shadow-raised:  0 4px 12px rgba(0,0,0,0.50);
--shadow-overlay: 0 8px 32px rgba(0,0,0,0.60);
--shadow-focus:   0 0 0 3px var(--primary-a30);
}
[data-theme="dark-section"] {
--bg-page:           var(--secondary-800);
--bg-surface:        var(--secondary-700);
--bg-section-alt:    var(--secondary-900);
--bg-input:          var(--secondary-700);
--text-heading:      var(--white-100);
--text-main:         var(--white-90);
--text-muted:        var(--white-50);
--text-disabled:     var(--white-30);
--text-placeholder:  var(--white-30);
--border-subtle:     var(--white-10);
--border-default:    var(--white-15);
--border-strong:     var(--white-30);
--accent-main:       var(--primary-400);
--accent-hover:      var(--primary-400);
--structural-main:   var(--secondary-300);
--structural-light:  var(--secondary-200);
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-duration:        0.01ms !important;
animation-iteration-count: 1      !important;
transition-duration:       0.01ms !important;
scroll-behavior:           auto   !important;
}
}
/* ---- components ---- */
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
[data-theme="dark"], [data-theme="dark-section"] {
color: var(--text-main);
}
img, video, svg {
display: block;
max-width: 100%;
}
a {
color:           var(--text-link);
text-decoration: none;
transition:      color var(--transition-fast);
}
a:hover {
color: var(--text-link-hover);
}
a:focus-visible {
outline:        2px solid var(--border-focus);
outline-offset: 2px;
border-radius:  var(--radius-xs);
}
h1, h2, h3, h4, h5, h6 {
font-family:    var(--t-font-display);
color:          var(--text-heading);
line-height:    var(--t-leading-heading);
letter-spacing: var(--tracking-tight);
}
h1 { font-size: var(--t-h1); font-weight: var(--weight-extrabold); letter-spacing: var(--tracking-tighter); }
h2 { font-size: var(--t-h2); font-weight: var(--weight-extrabold); }
h3 { font-size: var(--t-h3); font-weight: var(--weight-bold); }
h4 { font-size: var(--t-h4); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-normal); }
h5 { font-size: var(--t-h5); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-normal); }
h6 { font-size: var(--t-h6); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide); }
p {
font-size:   var(--t-body);
line-height: var(--t-leading-body);
color:       var(--text-main);
}
p.lead {
font-size:   var(--t-body-lg);
line-height: var(--t-leading-body);
color:       var(--text-main);
}
.text-muted { color: var(--text-muted); }
.text-heading { color: var(--text-heading); }
.text-accent { color: var(--accent-main); }
.text-inverse { color: var(--text-inverse); }
.text-on-dark { color: var(--text-on-dark); }
.eyebrow {
font-family:    var(--t-font-body);
font-size:      var(--t-small);
font-weight:    var(--weight-bold);
letter-spacing: var(--tracking-widest);
text-transform: uppercase;
color:          var(--accent-main);
}
.meta {
font-family:    var(--t-font-body);
font-size:      var(--t-caption);
font-weight:    var(--t-weight-meta);
color:          var(--text-muted);
letter-spacing: var(--tracking-wide);
}
.mono-tag {
font-family:    var(--t-font-mono);
font-size:      var(--text-xs);
font-weight:    var(--weight-medium);
letter-spacing: var(--tracking-wider);
}
code, kbd {
font-family:   var(--t-font-mono);
font-size:     var(--t-code);
background:    var(--bg-code);
color:         var(--text-code);
padding:       var(--space-1) var(--space-2);
border-radius: var(--radius-sm);
border:        1px solid var(--border-subtle);
}
.container {
width:     100%;
max-width: var(--container-max);
margin:    0 auto;
padding:   0 var(--container-padding-x);
}
.section {
padding: var(--section-padding-y) 0;
}
.section--alt {
background: var(--bg-section-alt);
}
.grid-cards {
display:               grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap:                   var(--layout-gap);
}
.flex-between { display: flex; align-items: center; justify-content: space-between; }
.flex-col { display: flex; flex-direction: column; }
.btn {
display:         inline-flex;
align-items:     center;
justify-content: center;
gap:             var(--space-2);
font-family:     var(--t-font-body);
font-weight:     var(--weight-bold);
line-height:     1;
white-space:     nowrap;
border-radius:   var(--btn-radius);
border:          2px solid transparent;
cursor:          pointer;
text-decoration: none;
transition:      background var(--transition-base),
color       var(--transition-base),
border-color var(--transition-base),
transform   var(--transition-fast),
box-shadow  var(--transition-base);
-webkit-user-select: none;
user-select:         none;
}
.btn:focus-visible {
outline:        2px solid var(--border-focus);
outline-offset: 2px;
}
.btn:active {
transform: scale(0.97);
}
.btn--lg {
height:    56px;
padding:   0 var(--space-16);
font-size: var(--t-body-lg);
min-width: 160px;
}
.btn--md {
height:    48px;
padding:   0 var(--space-12);
font-size: var(--t-body);
min-width: 120px;
}
.btn--sm {
height:    36px;
padding:   0 var(--space-8);
font-size: var(--t-small);
}
.btn--primary {
background:   var(--accent-main);
color:        var(--text-inverse);
border-color: var(--accent-main);
}
.btn--primary:hover {
background:   var(--accent-hover);
border-color: var(--accent-hover);
color:        var(--text-inverse);
box-shadow:   0 4px 14px rgba(215,119,87,0.35);
transform:    translateY(-1px);
}
.btn--primary:active {
background:   var(--accent-active);
border-color: var(--accent-active);
transform:    scale(0.97);
}
.btn--outline {
background:   transparent;
color:        var(--text-heading);
border-color: var(--border-strong);
}
.btn--outline:hover {
background:   var(--bg-section-alt);
border-color: var(--text-heading);
color:        var(--text-heading);
}
.btn--outline-inverse {
background:   transparent;
color:        var(--text-inverse);
border-color: var(--border-on-dark);
}
.btn--outline-inverse:hover {
background:   var(--white-10);
border-color: var(--white-40);
color:        var(--text-inverse);
}
.btn--full {
width:           100%;
justify-content: center;
}
.btn:disabled, .btn--disabled {
opacity:        0.45;
cursor:         not-allowed;
pointer-events: none;
}
.card {
background:    var(--bg-surface);
border:        var(--card-border);
border-radius: var(--card-radius);
padding:       var(--card-padding);
}
.card--raised {
box-shadow: var(--shadow-surface);
border:     none;
}
.card--navy-hover {
cursor:     pointer;
transition: transform var(--transition-base), box-shadow var(--transition-base),
background var(--transition-base), border-color var(--transition-base);
}
.card--navy-hover:hover {
transform:    translateY(-3px);
background:   var(--brand-primary);
border-color: var(--brand-primary);
box-shadow:   var(--shadow-raised);
}
.card--navy-hover:hover, .card--navy-hover:hover h2, .card--navy-hover:hover h3, .card--navy-hover:hover h4, .card--navy-hover:hover p, .card--navy-hover:hover li, .card--navy-hover:hover .text-muted, .card--navy-hover:hover .meta { color: var(--text-on-dark) !important; }
.card--navy-hover:hover .text-accent, .card--navy-hover:hover .mono-tag { color: var(--accent-main) !important; }
.card--navy-hover:hover a.text-accent { color: var(--accent-main) !important; }
.navbar {
position:       sticky;
top:            0;
z-index:        var(--z-sticky);
background:     var(--bg-section-dark);
border-bottom:  1px solid var(--border-on-dark);
display:        flex;
align-items:    center;
transition:     background var(--transition-base),
box-shadow  var(--transition-base);
}
.navbar.is-scrolled {
box-shadow: 0 2px 16px rgba(0,0,0,0.35);
}
.navbar__inner {
display:         flex;
align-items:     center;
justify-content: space-between;
width:           100%;
max-width:       var(--container-max);
margin:          0 auto;
padding:         0 var(--container-padding-x);
gap:             var(--space-8);
}
.navbar__logo {
flex-shrink:  0;
max-height:   32px;
display:      flex;
align-items:  center;
}
.navbar__nav {
display:    none;
align-items: center;
gap:         var(--space-2);
list-style:  none;
}
@media (min-width: 1024px) {
.navbar__nav { display: flex; }
}
.navbar__link {
font-size:       var(--t-small);
font-weight:     var(--t-weight-ui);
color:           var(--white-70);
padding:         var(--space-3) var(--space-4);
border-radius:   var(--radius-md);
text-decoration: none;
transition:      color var(--transition-fast), background var(--transition-fast);
}
.navbar__link:hover {
color:      var(--white-100);
background: var(--white-5);
}
.navbar__link.is-active {
color:       var(--accent-main);
font-weight: var(--weight-semibold);
}
.navbar__actions {
display:     flex;
align-items: center;
gap:         var(--space-4);
flex-shrink: 0;
}
.navbar__toggle {
display:         flex;
align-items:     center;
justify-content: center;
width:           44px;
height:          44px;
background:      transparent;
border:          none;
cursor:          pointer;
color:           var(--white-90);
border-radius:   var(--radius-md);
transition:      background var(--transition-fast);
}
.navbar__toggle:hover { background: var(--white-10); }
.navbar__toggle:focus-visible {
outline:        2px solid var(--border-focus);
outline-offset: 2px;
}
@media (min-width: 1024px) {
.navbar__toggle { display: none; }
}
.nav-drawer {
position:   fixed;
inset:      0;
z-index:    var(--z-modal);
display:    flex;
visibility: hidden;
opacity:    0;
transition: opacity var(--transition-enter), visibility var(--transition-enter);
}
.nav-drawer.is-open {
visibility: visible;
opacity:    1;
}
.nav-drawer__overlay {
position:   absolute;
inset:      0;
background: var(--bg-overlay);
}
.nav-drawer__panel {
position:    relative;
margin-left: auto;
width:       min(320px, 85vw);
height:      100%;
background:  var(--bg-surface);
padding:     var(--space-8);
overflow-y:  auto;
transform:   translateX(100%);
transition:  transform var(--transition-spring);
}
.nav-drawer.is-open .nav-drawer__panel {
transform: translateX(0);
}
.nav-drawer__links {
list-style:     none;
display:        flex;
flex-direction: column;
gap:            var(--space-2);
margin-top:     var(--space-8);
}
.nav-drawer__link {
display:       block;
padding:       var(--space-4) var(--space-6);
font-size:     var(--t-body-lg);
font-weight:   var(--t-weight-ui);
color:         var(--text-main);
border-radius: var(--radius-lg);
transition:    background var(--transition-fast), color var(--transition-fast);
}
.nav-drawer__link:hover, .nav-drawer__link.is-active {
background: var(--bg-section-alt);
color:      var(--text-heading);
}
.hero {
padding:     var(--section-padding-y) 0;
min-height:  80vh;
display:     flex;
align-items: center;
}
.hero__grid {
display:        flex;
flex-direction: column;
gap:            var(--space-16);
align-items:    center;
}
@media (min-width: 1024px) {
.hero__grid {
display:               grid;
grid-template-columns: 1fr 1fr;
gap:                   var(--space-24);
align-items:           center;
}
}
.hero__content {
display:        flex;
flex-direction: column;
gap:            var(--space-8);
}
@media (max-width: 1023px) {
.hero__content { text-align: center; align-items: center; }
}
.hero__visual {
display:         flex;
align-items:     center;
justify-content: center;
}
.hero__ctas {
display:     flex;
flex-wrap:   wrap;
gap:         var(--space-4);
align-items: center;
}
@media (max-width: 767px) {
.hero__ctas { flex-direction: column; width: 100%; }
.hero__ctas .btn { width: 100%; }
}
.form-group {
display:        flex;
flex-direction: column;
gap:            var(--space-2);
}
.form-label {
font-size:   var(--t-small);
font-weight: var(--t-weight-ui);
color:       var(--text-main);
}
.form-input, .form-textarea {
width:         100%;
height:        var(--input-height);
padding:       var(--input-padding);
font-family:   var(--t-font-body);
font-size:     var(--t-body);
font-weight:   var(--t-weight-body);
color:         var(--text-main);
background:    var(--bg-input);
border:        var(--input-border);
border-radius: var(--input-radius);
transition:    border-color var(--transition-base), box-shadow var(--transition-base);
outline:       none;
appearance:    none;
-webkit-appearance: none;
}
.form-input::placeholder, .form-textarea::placeholder { color: var(--text-placeholder); opacity: 0.5; }
.form-input:hover, .form-textarea:hover { border-color: var(--border-strong); }
.form-input:focus, .form-textarea:focus {
border:     var(--input-border-focus);
box-shadow: var(--shadow-focus);
}
.form-textarea {
height:      auto;
min-height:  120px;
resize:      vertical;
line-height: var(--t-leading-body);
padding-top: var(--space-4);
}
.badge {
display:       inline-flex;
align-items:   center;
gap:           var(--space-1);
font-size:     var(--text-xs);
font-weight:   var(--weight-semibold);
line-height:   1;
padding:       var(--space-1) var(--space-3);
border-radius: var(--radius-full);
white-space:   nowrap;
}
.badge--neutral { background: var(--bg-section-alt); color: var(--text-muted); }
.badge--accent { background: var(--accent-main);     color: var(--text-inverse); }
.stat-card {
display:        flex;
flex-direction: column;
gap:            var(--space-2);
padding:        var(--card-padding);
background:     var(--bg-section-alt);
border-radius:  var(--card-radius);
}
.stat-card__value {
font-family:    var(--t-font-display);
font-size:      var(--text-5xl);
font-weight:    var(--weight-extrabold);
line-height:    1;
color:          var(--text-heading);
letter-spacing: var(--tracking-tighter);
}
.stat-card__value--accent { color: var(--accent-main); }
.stat-card__label {
font-size:   var(--t-small);
font-weight: var(--t-weight-meta);
color:       var(--text-muted);
}
.footer {
background: var(--bg-section-dark);
border-top: 1px solid var(--border-on-dark);
padding:    var(--section-padding-y) 0 var(--space-12);
}
.footer__grid {
display:               grid;
grid-template-columns: 1fr;
gap:                   var(--space-12);
margin-bottom:         var(--space-16);
}
@media (min-width: 768px) {
.footer__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
.footer__grid { grid-template-columns: 2fr repeat(3, 1fr); }
}
.footer__brand {
display:        flex;
flex-direction: column;
gap:            var(--space-6);
}
.footer__tagline {
font-size:   var(--t-small);
color:       var(--text-on-dark-muted);
line-height: var(--t-leading-body);
max-width:   280px;
}
.footer__col-title {
font-size:      var(--t-caption);
font-weight:    var(--weight-semibold);
letter-spacing: var(--tracking-widest);
text-transform: uppercase;
color:          var(--text-on-dark);
margin-bottom:  var(--space-4);
}
.footer__links {
list-style:     none;
display:        flex;
flex-direction: column;
gap:            var(--space-3);
}
.footer__link {
font-size:  var(--t-small);
color:      var(--white-50);
transition: color var(--transition-fast);
}
.footer__link:hover { color: var(--accent-main); }
.footer__bottom {
padding-top:     var(--space-8);
border-top:      1px solid var(--border-on-dark);
display:         flex;
align-items:     center;
justify-content: space-between;
flex-wrap:       wrap;
gap:             var(--space-4);
}
.footer__copy {
font-size: var(--t-caption);
color:     var(--white-40);
}
.mt-auto { margin-top: auto; }
.mb-0 { margin-bottom: 0; }
.sr-only {
position:   absolute;
width:      1px;
height:     1px;
padding:    0;
margin:     -1px;
overflow:   hidden;
clip:       rect(0, 0, 0, 0);
white-space: nowrap;
border:     0;
}
.text-center { text-align: center; }
.hidden { display: none !important; }
/* ---- shared ---- */
.reveal {
opacity: 0; transform: translateY(24px);
transition: opacity 0.6s var(--ease-enter) var(--reveal-delay, 0s),
transform 0.6s var(--ease-enter) var(--reveal-delay, 0s);
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.marquee-mask {
overflow: hidden;
-webkit-mask-image: linear-gradient(to right, transparent, var(--black-100) 8%, var(--black-100) 92%, transparent);
mask-image: linear-gradient(to right, transparent, var(--black-100) 8%, var(--black-100) 92%, transparent);
}
.marquee-track {
display: flex;
width: max-content;
gap: var(--space-16);
align-items: center;
animation: marquee 36s linear infinite;
}
.marquee-track:hover { animation-play-state: paused; }
.logo-marquee-track {
--marquee-gap: var(--space-6);
display: flex;
width: max-content;
gap: var(--marquee-gap);
align-items: center;
}
.logo-marquee-track--ltr { animation: marquee-ltr 52s linear infinite; }
.logo-marquee-track--rtl { animation: marquee-rtl 52s linear infinite; }
.logo-marquee-row + .logo-marquee-row { margin-top: var(--space-5); }
.marquee-mask:hover .logo-marquee-track { animation-play-state: paused; }
.band-label--dark { color: var(--text-on-dark-muted); }
.client-logo-pill {
flex: none;
display: flex; align-items: center; justify-content: center;
padding: 24px 40px;
background: var(--gray-0);
border: 1px solid rgba(255,255,255,0.15);
border-radius: 999px;
box-shadow: none;
}
.client-wordmark {
font-family: var(--t-font-display);
font-weight: 700;
font-size: 15px;
color: var(--secondary-800);
letter-spacing: -0.01em;
white-space: nowrap;
}
.client-logo-pill img { height: 23px; width: auto; display: block; }
.client-logo-pill img[src*="omron"] { filter: brightness(0); }
.client-logo-pill img[src*="tidewater"] { height: 30px; }
.client-logo-pill img[src*="socioh"] { height: 28px; }
@media (prefers-reduced-motion: reduce) {
.logo-marquee-track { animation: none; }
}
.tb-header {
display: grid;
grid-template-columns: 1.1fr 0.9fr;
gap: var(--space-12);
align-items: end;
margin-bottom: var(--space-10);
}
@media (min-width: 900px) {
.tb-header { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); align-items: start; }
}
@media (max-width: 820px) {
.tb-header { grid-template-columns: 1fr; gap: var(--space-6); align-items: start; }
}
.tb-hl {
position: relative;
color: var(--manila);
white-space: nowrap;
}
.tb-hl::after {
content: "";
position: absolute;
left: 0; right: 0; bottom: -2px;
height: 3px;
background: var(--manila);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.8s var(--ease-out) 0.45s;
}
.reveal.is-visible .tb-hl::after { transform: scaleX(1); }
.tb-closer { font-weight: 800; color: var(--white-100); }
.tb-closer span {
display: inline-block;
opacity: 0;
transform: translateY(7px);
transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out);
}
.reveal.is-visible .tb-closer span { opacity: 1; transform: translateY(0); }
.reveal.is-visible .tb-closer span:nth-child(1) { transition-delay: 0.65s; }
.reveal.is-visible .tb-closer span:nth-child(2) { transition-delay: 0.85s; }
.reveal.is-visible .tb-closer span:nth-child(3) { transition-delay: 1.05s; }
@media (prefers-reduced-motion: reduce) {
.tb-hl::after { transition: none; transform: scaleX(1); }
.tb-closer span { transition: none; opacity: 1; transform: none; }
}
.hero-canvas-wrap { position:relative; width:100%; min-height:480px; height:100%; background:transparent; }
#hero-canvas { display:block; width:100%; height:100%;
-webkit-mask-image: radial-gradient(ellipse 70% 70% at 55% 50%, #000 35%, rgba(0,0,0,.5) 65%, transparent 100%);
mask-image: radial-gradient(ellipse 70% 70% at 55% 50%, #000 35%, rgba(0,0,0,.5) 65%, transparent 100%); }
@media (max-width: 1023px) {
.hero { position: relative; overflow: hidden; }
.hero__grid { position: relative; z-index: 1; }
.hero__visual { position: static !important; width: 0 !important; height: 0 !important; overflow: visible; }
.hero-canvas-wrap {
display: block !important;
position: absolute;
inset: 0;
width: 100%;
height: 100%;
min-height: unset;
opacity: 0.12;
pointer-events: none;
z-index: 0;
}
#hero-canvas {
width: 100% !important;
height: 100% !important;
}
}
@media (min-width: 1024px) {
.hero { position: relative; overflow: hidden; min-height: 80vh; display: flex; align-items: center; padding-block: calc(var(--space-12) - 30px); }
.hero > .container { position: relative; z-index: 2; }
.hero__grid { display: block !important; }
.hero__visual {
position: absolute !important;
left: 50% !important;
right: auto !important;
top: 0 !important;
bottom: 0 !important;
width: 100vw !important;
height: 100% !important;
transform: translateX(-50%) !important;
z-index: 0;
opacity: 0.7;
align-items: stretch !important;
pointer-events: none;
}
.hero-canvas-wrap { width: 100% !important; height: 100% !important; min-height: 0; }
.hero #hero-canvas {
-webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, #000 60%, rgba(0,0,0,.7) 82%, transparent 100%) !important;
mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, #000 60%, rgba(0,0,0,.7) 82%, transparent 100%) !important;
}
.hero__content {
position: relative;
z-index: 2;
text-align: center !important;
align-items: center !important;
justify-content: center;
min-height: calc(80vh - (var(--space-12) - 30px) * 2);
max-width: 100%;
margin: 0 auto;
gap: 40px;
}
.hero__content::before {
content: "";
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
width: 130%;
height: 118%;
z-index: -1;
background: radial-gradient(ellipse 60% 56% at 50% 50%, rgba(8,13,28,0.72) 0%, rgba(8,13,28,0.5) 42%, rgba(8,13,28,0.22) 66%, transparent 84%);
pointer-events: none;
}
.hero__content > * { width: 100%; }
.hero h1 {
font-size: clamp(2.1rem, 2.85vw, 2.95rem) !important;
max-width: 100%;
margin: 0 auto;
margin-bottom: var(--space-2);
text-wrap: balance;
}
.hero .meta { text-align: center; }
.hero-proof { max-width: 100%; margin: 0 auto; }
.hero .lead { margin-left: auto; margin-right: auto; }
.hero__ctas { justify-content: center; }
.hero-verbs { text-align: center; }
}
.ind-asymmetric {
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: var(--space-4);
align-items: start;
}
.ind-a {
background: var(--bg-surface);
border: 1px solid var(--border-default);
border-radius: var(--radius-md);
padding: var(--space-8) var(--space-6);
box-shadow: var(--shadow-surface);
display: flex;
flex-direction: column;
gap: var(--space-2);
text-decoration: none;
cursor: pointer;
position: relative;
transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
.ind-a:hover {
transform: translateY(-4px);
border-color: var(--accent-main);
box-shadow: 0 10px 28px rgba(215,119,87,0.18);
}
.ind-a:focus-visible { outline: 2px solid var(--accent-main); outline-offset: 3px; }
.ind-a:nth-child(even) { margin-top: var(--space-6); }
.ind-ico { display: flex; color: var(--accent-main); }
.ind-ico svg { width: 28px; height: 28px; }
.ind-a-name { font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-base); color: var(--secondary-800); letter-spacing: var(--tracking-tight); line-height: 1.25; margin: 0; }
.ind-a-go {
display: inline-flex;
align-items: center;
gap: 5px;
margin-top: var(--space-2);
font-family: var(--t-font-body);
font-size: var(--text-xs);
font-weight: 700;
letter-spacing: .02em;
color: var(--accent-main);
opacity: 1;
transform: translateY(-2px);
transition: opacity var(--transition-base), transform var(--transition-base);
}
.ind-a-go svg { transition: transform var(--transition-base); }
.ind-a:hover .ind-a-go { opacity: 1; transform: translateY(0); }
.ind-a:hover .ind-a-go svg { transform: translateX(3px); }
.ind-a--featured { }
@media (max-width: 768px) {
.ind-asymmetric { grid-template-columns: 1fr 1fr; }
.ind-a:nth-child(even) { margin-top: 0; }
.ind-a-go { opacity: 1; transform: none; }
}
.industry-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-4);
}
@media (min-width: 640px) {
.industry-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
.industry-grid { grid-template-columns: repeat(5, 1fr); }
}
.team-head { max-width: 100%; margin-bottom: var(--space-16); }
.team-head h2 { margin-top: var(--space-3); }
.team-board {
display: flex;
flex-wrap: nowrap;
gap: var(--space-5);
overflow-x: auto;
overflow-y: hidden;
scroll-snap-type: x mandatory;
align-items: start;
justify-content: safe center;
width: 100vw;
margin-left: calc(-50vw + 50%);
padding: var(--space-2) var(--space-8) var(--space-6);
scrollbar-width: thin;
scrollbar-color: #CBD5E1 transparent;
}
.team-board::-webkit-scrollbar { height: 2px; }
.team-board::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 2px; }
.team-board::-webkit-scrollbar-track { background: transparent; }
.team-card {
flex: 0 0 240px;
scroll-snap-align: start;
position: relative;
}
.team-card:nth-child(odd) { padding-bottom: 0; }
.team-line { font-size: var(--t-caption); color: var(--text-muted); margin-top: var(--space-3); line-height: 1.5; max-width: 28ch; }
@media (max-width: 767px) {
.team-board {
width: auto;
margin-left: 0;
justify-content: flex-start;
padding: var(--space-2) var(--container-padding-x) var(--space-6) 12px;
scroll-padding-left: 12px;
touch-action: pan-x;
overscroll-behavior-x: contain;
}
.team-card { flex-basis: 200px; }
.team-card:nth-child(odd) { padding-bottom: 0; }
.team-board::after {
content: "";
flex: 0 0 var(--space-4);
}
}
.audit-hero { background: transparent; border: none; border-radius: 0; width: 100%; margin-bottom: var(--space-16); padding: 0; position: relative; overflow: hidden; }
.audit-hero .eyebrow { color: rgba(255,255,255,.7); }
.audit-hero h2 { color: #fff; margin-top: var(--space-4); max-width: 75%; }
.audit-hero .lead { color: rgba(255,255,255,.82); margin-top: var(--space-5); max-width: 75%; }
.audit-hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-5); margin-top: var(--space-10); width: 100%; }
.audit-hero-stat { padding: var(--space-6) var(--space-5); background: rgba(0,0,0,.15); border-radius: var(--radius-lg); text-align: center; border: none; display: flex; flex-direction: column; align-items: center; justify-content: center; }
@media (max-width: 767px) {
.audit-hero-stats { grid-template-columns: repeat(2, 1fr); }
}
.audit-hero-stat .sv { font-family: var(--t-font-display); font-size: var(--text-3xl); font-weight: 900; color: #fff; line-height: 1; }
.audit-hero-stat .sl { font-size: var(--text-xs); color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: var(--tracking-wider); margin-top: var(--space-1); }
.audit-v5-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.audit-v5-card { min-width: 0; }
.audit-v5-card { display: flex; flex-direction: column; gap: var(--space-5); }
.audit-v5-card .ac-label {
display: inline-flex;
align-items: center;
gap: var(--space-3);
align-self: flex-start;
font-family: var(--t-font-body);
font-size: var(--text-sm);
font-weight: var(--weight-bold);
letter-spacing: var(--tracking-wide);
text-transform: uppercase;
color: var(--accent-main);
}
.audit-v5-card .ac-ico {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: var(--radius-full);
background: var(--accent-main);
color: #fff;
flex: none;
}
.audit-v5-card .ac-q { font-size: var(--t-body-lg); font-weight: var(--weight-semibold); font-style: italic; color: var(--text-heading); line-height: 1.4; }
.audit-v5-card .ac-body { font-size: var(--t-body); color: var(--text-muted); line-height: 1.65; margin: 0; }
.audit-v5-card .ac-checks { display: flex; flex-direction: column; gap: var(--space-3); list-style: none; padding: 0; margin: 0; }
.audit-v5-card .ac-checks li { display: flex; gap: var(--space-3); font-size: var(--t-small); color: var(--text-main); line-height: 1.55; }
.audit-v5-card .ac-checks .ck { color: var(--accent-main); font-weight: 900; flex: none; margin-top: 1px; }
@media (max-width: 860px) {
.audit-v5-cards { grid-template-columns: 1fr; }
}
.team-card img {
width: 100%; height: auto; aspect-ratio: 2/3; object-fit: cover; object-position: center top;
display: block; border-radius: var(--radius-md); background: var(--bg-section-alt);
}
.team-name { font-family: var(--t-font-display); font-weight: 700; color: var(--text-heading); margin-top: var(--space-5); display: inline-block; position: relative; padding-bottom: 6px; }
.team-name::after { content: ""; position: absolute; left: 0; bottom: 0; width: 75%; height: 2px; background: var(--accent-main); }
.team-role { font-size: var(--t-caption); color: var(--text-muted); margin-top: var(--space-2); display: block; }
@media (max-width: 760px) {
.team-board { grid-template-columns: 1fr 1fr; }
.team-card:nth-child(odd) { margin-bottom: 0; }
}
.film-masonry {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: var(--space-3);
margin: var(--space-12) 0;
align-items: start;
}
.film-col {
display: flex;
flex-direction: column;
gap: var(--space-3);
}
.film-cell { position: relative; border-radius: var(--radius-lg); overflow: hidden; cursor: pointer;
opacity: 0; transform: translateY(28px) scale(.98); filter: saturate(0.6);
transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out), filter 0.6s var(--ease-out); }
.film-cell.is-visible { opacity: 1; transform: none; filter: saturate(1); }
.film-cell:nth-child(1) {transition-delay:.00s}
.film-cell:nth-child(2) {transition-delay:.10s}
.film-cell:nth-child(3) {transition-delay:.20s}
.film-cell:nth-child(4) {transition-delay:.30s}
.film-cell img { width:100%; height:auto; display:block;
transition: transform 0.6s cubic-bezier(.25,.46,.45,.94); }
.film-cell:hover img { transform: scale(1.04); }
.film-cell::after { content:""; position:absolute; inset:0;
background: linear-gradient(to top, rgba(4,28,44,.75) 0%, transparent 50%);
opacity:0; transition: opacity 0.3s var(--ease-out); }
.film-cell:hover::after { opacity:1; }
.film-cell .lbl { position:absolute; left:var(--space-4); bottom:var(--space-4); z-index:1;
color:#fff; font-family:var(--t-font-mono); font-size:var(--text-xs);
font-weight:var(--weight-semibold); letter-spacing:var(--tracking-wider); text-transform:uppercase;
opacity:0; transform:translateY(6px); transition: opacity 0.3s var(--ease-out), transform 0.3s var(--ease-out); }
.film-cell:hover .lbl { opacity:1; transform:translateY(0); }
@media (max-width:860px) {
.film-masonry { grid-template-columns: repeat(2,1fr); gap: var(--space-2); }
.film-masonry .film-col { margin-top: 0 !important; }
}
.files { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-8); }
.file { background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-md); padding: var(--space-12); box-shadow: var(--shadow-surface); grid-column: span 2; }
.file.f1, .file.f2 { grid-column: span 3; }
.file .id { font-family: var(--t-font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--accent-main); margin-bottom: var(--space-5); }
.file h3 { font-family: var(--t-font-display); font-size: var(--text-xl); color: var(--text-heading); margin: 0 0 var(--space-5); line-height: 1.25; }
.file p { color: var(--text-main); line-height: 1.6; margin: 0 0 var(--space-6); }
.file p b { color: var(--text-heading); }
.file .chips { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.file .chip { font-size: var(--text-xs); font-weight: var(--weight-semibold); color: var(--text-muted); background: var(--bg-section-alt); border: 1px solid var(--border-subtle); padding: var(--space-2) var(--space-4); border-radius: var(--radius-full); }
.com-closer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-8); margin-top: var(--space-12); }
.vert-tabs { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-12) 0 var(--space-10); }
.vert-tab { padding: var(--space-4) var(--space-8); border-radius: var(--radius-full); border: 1px solid var(--border-strong); background: var(--bg-surface); cursor: pointer; font-weight: var(--weight-semibold); color: var(--text-muted); font-size: var(--t-caption); }
.vert-tab.active { background: var(--accent-main); border-color: var(--accent-main); color: var(--gray-0); }
.vert-tab:hover:not(.active) { background: var(--secondary-800); border-color: var(--secondary-800); color: var(--text-on-dark); }
.vp { display: none; grid-template-columns: 1.3fr 1fr; gap: var(--space-16); }
.vp.active { display: grid; }
.vp .share { font-family: var(--t-font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--accent-main); margin-bottom: var(--space-4); }
.vp h3 { font-family: var(--t-font-display); font-size: var(--text-4xl); color: var(--text-heading); margin: 0 0 var(--space-6); }
.vp ul { margin: 0 0 var(--space-6); padding-left: var(--space-6); color: var(--text-main); line-height: 1.7; }
.vp .clients { color: var(--text-muted); font-size: var(--t-caption); line-height: 1.8; }
.client-link { color: var(--secondary-600); font-weight: var(--weight-semibold); }
.tabcta { display: inline-block; margin-top: var(--space-6); color: var(--accent-main); font-weight: var(--weight-bold); text-transform: capitalize; }
.vp .pull { background: var(--secondary-800); border-radius: var(--radius-2xl); padding: var(--space-12); color: var(--text-on-dark); }
.vp .quote-row { display: flex; gap: var(--space-5); align-items: flex-start; }
.vp .quote-row .avatar img { width: 56px; height: 56px; border-radius: var(--radius-full); object-fit: cover; flex-shrink: 0; }
.vp .q { font-style: italic; line-height: 1.5; color: var(--text-on-dark); }
.vp .q b { display: block; font-style: normal; color: var(--text-on-dark-muted); font-size: var(--t-caption); margin-top: var(--space-4); font-weight: var(--weight-semibold); }
.vp .metric { margin: var(--space-10) 0; }
.vp .metric .num { display: block; font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-5xl); color: var(--accent-main); line-height: 1; }
.vp .metric .lbl { color: var(--text-on-dark-muted); font-size: var(--t-caption); margin-top: var(--space-3); display: block; }
.vp .logo-row { min-height: 42px; display: flex; align-items: center; }
.vp .logo-row img { max-height: 40px; width: auto; filter: brightness(0) invert(1); opacity: .85; }
.vp .logo-row img[src*="fresh-thyme"] { filter: none; opacity: 1; max-height: 48px; }
.vp .client-name { color: var(--text-on-dark); font-weight: var(--weight-bold); }
.case-filters { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-12) 0 var(--space-10); }
.case-filter { padding: var(--space-3) var(--space-6); border-radius: var(--radius-full); border: 1px solid var(--border-strong); background: var(--bg-surface); cursor: pointer; font-weight: var(--weight-semibold); color: var(--text-muted); font-size: var(--t-caption); }
.case-filter.active { background: var(--accent-main); border-color: var(--accent-main); color: var(--gray-0); }
.case-filter:hover:not(.active) { background: var(--secondary-800); border-color: var(--secondary-800); color: var(--text-on-dark); }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
.case { display: flex; flex-direction: column; gap: var(--space-3); background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-md); padding: var(--space-10); box-shadow: var(--shadow-surface); transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.case:hover { transform: translateY(-4px); box-shadow: var(--shadow-raised); }
.case .meta { font-family: var(--t-font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--accent-main); }
.case .client { font-weight: var(--weight-bold); color: var(--text-heading); }
.case h4 { font-family: var(--t-font-display); font-size: var(--text-lg); color: var(--text-heading); margin: var(--space-2) 0 var(--space-4); line-height: 1.3; }
.case .wf { font-size: 14px; color: var(--text-muted); line-height: 1.5; margin-top: auto; padding-top: var(--space-5); border-top: 1px solid var(--border-subtle); }
.case .wf b { display: block; color: var(--text-heading); text-transform: uppercase; letter-spacing: var(--tracking-wide); font-size: 14px; margin-bottom: var(--space-2); }
.case .c-badge { align-self: flex-start; background: var(--accent-subtle); color: var(--accent-main); font-size: var(--text-xs); font-weight: var(--weight-bold); padding: var(--space-1) var(--space-4); border-radius: var(--radius-full); }
.case.browse { background: var(--secondary-800); }
.case.browse .meta { color: var(--accent-main); }
.case.browse h4 { color: var(--text-on-dark); }
.case.browse .body { font-size: var(--t-caption); color: var(--text-on-dark-muted); line-height: 1.6; }
.case.browse .browse-cta { margin-top: auto; color: var(--accent-main); font-weight: var(--weight-bold); }
.case.is-hidden { display: none; }
.faq-split { display: grid; grid-template-columns: 1fr 1.1fr; gap: var(--space-10); align-items: start; }
.faq-q-list { display: flex; flex-direction: column; gap: var(--space-4); }
.faq-item-wrap { display: flex; flex-direction: column; }
.faq-q {
display: block;
width: 100%; text-align: left; cursor: pointer;
background: var(--bg-surface); border: 1px solid var(--border-default);
border-radius: var(--radius-md); padding: var(--space-5) var(--space-6);
font-family: var(--t-font-display); font-weight: 600; font-size: var(--text-base);
color: var(--text-heading); line-height: 1.4;
transition: background .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out);
}
.faq-q:hover:not(.active) { background: var(--accent-main); border-color: var(--accent-main); color: #fff; }
.faq-q.active { background: var(--secondary-800); border-color: var(--secondary-800); color: #fff; }
.faq-q:focus-visible { outline: 2px solid var(--accent-main); outline-offset: 2px; }
.faq-a-inline { display: none; }
.faq-panel {
position: sticky; top: calc(var(--nav-total, 112px) + 10px);
background: var(--secondary-800); border-radius: var(--radius-lg);
padding: var(--space-10);
}
.faq-panel-q { font-family: var(--t-font-display); font-size: var(--text-2xl); color: #fff; margin: 0 0 var(--space-6); line-height: 1.25; }
.faq-panel-a { color: rgba(255,255,255,.82); line-height: 1.7; font-size: var(--t-body); }
.faq-panel-a a { color: var(--accent-main); font-weight: var(--weight-semibold); }
@media (max-width: 1023px) {
.faq-split { grid-template-columns: 1fr; gap: var(--space-6); }
.faq-panel { display: none; }
.faq-q.active { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.faq-q.active + .faq-a-inline {
display: block;
background: var(--secondary-800);
color: rgba(255,255,255,.85);
font-family: var(--t-font-body); font-weight: 400;
font-size: var(--t-small); line-height: 1.65;
padding: 0 var(--space-6) var(--space-6);
border: 1px solid var(--secondary-800); border-top: none;
border-radius: 0 0 var(--radius-md) var(--radius-md);
}
.faq-q.active + .faq-a-inline a { color: var(--accent-main); font-weight: var(--weight-semibold); }
}
.paths-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); margin-top: var(--space-12); }
.path { position: relative; background: var(--bg-surface); border-radius: var(--radius-2xl); padding: var(--space-16); }
.path--1 { background: var(--secondary-600); }
.path--2 { background: var(--secondary-900); }
.path .rib { display: inline-block; font-family: var(--t-font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--accent-main); margin-bottom: var(--space-5); }
.path h3 { font-family: var(--t-font-display); font-size: var(--text-2xl); color: var(--text-heading); margin: 0 0 var(--space-6); }
.path p { color: var(--text-main); line-height: 1.6; margin: 0; }
.mega { display: inline-flex; align-items: center; margin-top: var(--space-8); background: var(--accent-main); color: var(--gray-0); font-weight: var(--weight-bold); font-size: var(--t-body); height: 48px; padding: 0 var(--space-12); border-radius: var(--btn-radius); border: 2px solid transparent; text-decoration: none; white-space: nowrap; cursor: pointer; }
.mega { transition: background .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .1s var(--ease-out); }
.mega:hover { background: var(--accent-hover); color: var(--gray-0); box-shadow: 0 4px 12px rgba(0,0,0,.2); transform: translateY(-1px); }
.mega:active { background: var(--primary-400); color: var(--gray-0); transform: scale(0.97); }
.btn--primary:hover, .btn--primary:focus-visible {
background: var(--primary-400);
border-color: var(--primary-400);
color: var(--text-inverse);
}
.btn--primary:active {
background: var(--primary-400);
border-color: var(--primary-400);
color: var(--text-inverse);
}
.subline { color: var(--text-muted); font-size: var(--t-caption); margin-top: var(--space-5); }
.path .toggle { display: inline-flex; gap: var(--space-2); margin: var(--space-6) 0; padding: var(--space-2); background: var(--secondary-900); border-radius: 999px; }
.path .toggle button { flex: 1; padding: var(--space-3) var(--space-6); border-radius: 999px; border: none; background: transparent; cursor: pointer; font-weight: var(--weight-semibold); font-size: var(--t-caption); color: var(--text-on-dark-muted); white-space: nowrap; transition: background .2s, color .2s; }
.path .toggle button:hover { color: var(--text-on-dark); }
.path .toggle button.on { background: var(--accent-main); border: none; color: var(--gray-0); box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.slot-meta { color: var(--text-muted); font-size: var(--t-caption); margin: var(--space-5) 0; }
.slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.slot { padding: var(--space-4); text-align: center; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); cursor: pointer; font-weight: var(--weight-semibold); color: var(--text-heading); font-size: var(--t-caption); }
.slot:hover { border-color: var(--accent-main); color: var(--accent-main); }
.slot.taken { opacity: .4; text-decoration: line-through; pointer-events: none; }
@media (max-width: 860px) {
.files, .files .file, .files .file.f1, .files .file.f2 { grid-template-columns: 1fr; grid-column: auto; }
.vp.active { grid-template-columns: 1fr; gap: var(--space-10); }
.case-grid { grid-template-columns: 1fr; }
.paths-grid { grid-template-columns: 1fr; }
}
.bigstat-row {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-12) var(--space-8);
}
@media (min-width: 768px) {
.bigstat-row { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1024px) {
.bigstat-row { grid-template-columns: repeat(5, 1fr); }
}
.avatar-row { display: flex; flex-wrap: wrap; justify-content: center; }
.avatar-row img {
width: 56px; height: 56px; border-radius: var(--radius-full);
object-fit: cover; margin-left: calc(var(--space-4) * -1);
border: 2px solid var(--bg-section-dark);
background: var(--bg-section-alt);
}
.avatar-row img:first-child { margin-left: 0; }
#navbar .navbar__inner {
padding-top: 0 !important;
padding-bottom: 0 !important;
height: auto !important;
min-height: 0 !important;
}
#navbar {
height: auto !important;
padding-top: 12px !important;
padding-bottom: 12px !important;
}
@media (min-width: 1024px) {
#navbar {
padding-top: 27px !important;
padding-bottom: 27px !important;
}
}
#navbar .btn--primary {
color: #fff !important;
height: 48px !important;
padding: 0 var(--space-12) !important;
font-size: var(--t-body) !important;
animation: btn-breathe 2.4s ease-in-out infinite;
}
#navbar .btn--primary:hover {
animation: none !important;
box-shadow: 0 0 0 4px rgba(215,119,87,.3), 0 4px 20px rgba(215,119,87,.5) !important;
transform: translateY(-1px);
}
#navbar {
background: var(--secondary-800) !important;
border-bottom: 1px solid rgba(255,255,255,.08) !important;
box-shadow: none !important;
}
#navbar.is-scrolled {
background: var(--secondary-800) !important;
border-bottom: 1px solid rgba(255,255,255,.1) !important;
box-shadow: 0 2px 24px rgba(0,0,0,.3) !important;
}
#navbar .navbar__logo-dark { display: none !important; }
#navbar .navbar__logo-white { display: block !important; }
#navbar .navbar__link {
color: #ffffff !important;
position: relative;
font-size: 15px !important;
font-weight: 700 !important;
}
#navbar .navbar__actions .navbar__link {
font-weight: 400 !important;
font-size: 14px !important;
}
#navbar .navbar__link::after {
content: '';
position: absolute;
bottom: 0; left: 14px; right: 14px;
height: 2px;
background: var(--accent-main);
border-radius: 2px;
opacity: 0;
transition: opacity .22s;
}
#navbar .navbar__link:hover {
color: #fff !important;
background: transparent !important;
}
#navbar .navbar__link:hover::after { opacity: 1; }
#navbar .navbar__actions .navbar__link {
color: rgba(255,255,255,.4) !important;
}
#navbar .navbar__actions .navbar__link::after { display: none; }
#navbar .badge {
background: var(--accent-main) !important;
color: #fff !important;
}
#navbar { position: sticky !important; top: 0 !important; z-index: 1000 !important; }
@media (max-width: 1023px) {
#navbar .navbar__inner {
max-width: 100%;
justify-content: space-between;
align-items: center;
gap: 0;
}
#navbar .navbar__actions {
display: flex !important;
align-items: center;
gap: var(--space-2);
order: 3;
}
#navbar .navbar__logo {
order: 1;
margin: 0;
flex-shrink: 0;
}
#navbar nav[aria-label="Main navigation"] { order: 2; }
#navbar .navbar__actions a[href^="tel"] { display: none !important; }
#navbar .navbar__actions .btn--primary {
display: inline-flex !important;
font-size: 14px !important;
padding: 6px 12px !important;
white-space: nowrap;
}
}
#navbar .navbar__toggle { color: #fff !important; }
#navbar .navbar__actions a[href^="tel"] { color: #fff !important; }
#navbar .navbar__actions a[href^="tel"]:hover { color: var(--accent-main) !important; }
#navbar .navbar__toggle:hover { background: rgba(255,255,255,.1) !important; }
.contact-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-16);
}
@media (min-width: 960px) {
.contact-grid { grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: var(--space-32); align-items: start; }
}
.contact-square {
width: 88px; height: 88px;
background: var(--accent-main);
border-radius: var(--radius-md);
margin-bottom: var(--space-10);
}
@media (max-width: 959px) {
.contact-square { width: 64px; height: 64px; }
}
.contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8) var(--space-8); }
.contact-form .span-2 { grid-column: 1 / -1; }
.contact-form .form-label { color: var(--text-on-dark); letter-spacing: var(--tracking-wide); }
.contact-form .form-input, .contact-form .form-textarea {
background: var(--gray-100);
color: var(--gray-900);
border: 1.5px solid var(--gray-300);
}
.contact-form .form-input::placeholder, .contact-form .form-textarea::placeholder { color: var(--gray-500); }
.contact-fine { color: var(--text-on-dark-muted); font-size: var(--t-caption); line-height: var(--leading-relaxed); }
.contact-fine a { color: var(--text-on-dark); text-decoration: underline; text-underline-offset: 3px; transition: color 0.2s var(--ease-out); }
.contact-fine a:hover { color: var(--accent-main); }
.motto-badge {
display: inline-flex; align-items: center; gap: var(--space-3);
padding: var(--space-3) var(--space-6); border-radius: var(--radius-full);
background: var(--accent-subtle); border: 1px solid var(--accent-main);
color: var(--accent-main); font-weight: var(--weight-bold);
font-size: var(--t-small); letter-spacing: var(--tracking-widest); text-transform: uppercase;
}
.motto-badge::before { content: ""; width: 8px; height: 8px; border-radius: var(--radius-full); background: var(--accent-main); }
.motto-stack { display: flex; flex-direction: column; align-items: flex-start; margin: var(--space-12) 0 var(--space-16); }
.motto-word {
position: relative;
background: var(--gray-100);
border-bottom: 7px solid var(--secondary-800);
padding: var(--space-4) 0.65em var(--space-5) var(--space-8);
font-family: var(--t-font-display);
font-weight: 800;
font-size: clamp(56px, 10vw, 132px);
line-height: 0.96;
letter-spacing: var(--tracking-tighter);
color: var(--secondary-800);
width: max-content; max-width: 100%;
}
.motto-word:not(:first-child) { margin-top: calc(var(--space-3) * -1); }
.motto-word .o-suffix { color: var(--accent-main); }
.motto-word .o-num {
position: absolute; top: 0.1em; right: 0.08em;
display: inline-flex; align-items: center; justify-content: center;
width: 0.45em; height: 0.45em; padding: 0;
border-radius: var(--radius-full);
background: rgba(215,119,87,0.12);
border: 1px solid rgba(215,119,87,0.38);
color: var(--accent-main);
line-height: 1;
}
.motto-word .o-num svg { width: 0.26em; height: 0.26em; display: block; }
.motto-w3 { margin-left: clamp(0px, 22vw, 320px); }
.motto-w2 { margin-left: clamp(0px, 11vw, 170px); }
.motto-w1 { margin-left: 0; }
.motto-lede { font-size: var(--t-body-lg); line-height: 1.7; color: var(--text-main); max-width: 75%; }
.motto-mark { background: var(--secondary-800); color: var(--text-on-dark); font-weight: var(--weight-bold); padding: 2px 8px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.motto-emph { display: block; margin-top: var(--space-5); }
.motto-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-8); margin-top: var(--space-20); }
.motto-card { background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-md); padding: var(--space-12); box-shadow: var(--shadow-surface); }
.motto-card h3 { font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-2xl); color: var(--secondary-800); margin: 0 0 var(--space-6); letter-spacing: var(--tracking-tight); }
.motto-card h3 .o-suffix { color: var(--accent-main); }
.motto-card p { color: var(--text-main); line-height: 1.65; margin: 0; }
@media (max-width: 820px) {
.motto-cards { grid-template-columns: 1fr; }
.motto-w3, .motto-w2 { margin-left: 0; }
}
.tg-grid { display: flex; flex-direction: column; gap: var(--space-8); }
.tg-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); }
.tg-card {
background: var(--bg-surface);
border: 1px solid var(--border-default);
border-radius: var(--radius-md);
padding: var(--space-12) var(--space-16);
}
.tg-cat { display: block; font-family: var(--t-font-body); font-size: var(--t-small); font-weight: var(--weight-bold); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--accent-main); line-height: 1.3; }
.tg-date { display: block; font-family: var(--t-font-mono); font-size: var(--t-caption); letter-spacing: var(--tracking-wider); color: var(--text-muted); margin-top: var(--space-3); }
.tg-quote { font-size: var(--t-body-lg); line-height: 1.6; color: var(--text-main); text-wrap: pretty; }
.tg-author { display: flex; align-items: center; gap: var(--space-5); }
.tg-author img { width: 56px; height: 56px; border-radius: var(--radius-full); object-fit: cover; flex-shrink: 0; background: var(--bg-section-alt); }
.tg-name { font-weight: var(--weight-bold); color: var(--text-heading); line-height: 1.25; }
.tg-role { font-size: var(--t-caption); color: var(--text-muted); margin-top: 2px; }
.tg-card.wide { display: grid; grid-template-columns: 180px 1fr 260px; gap: var(--space-12); align-items: center; }
.tg-card.wide .tg-author { flex-direction: row-reverse; text-align: right; }
.tg-card.half { display: flex; flex-direction: column; gap: var(--space-8); }
.tg-card.half .tg-meta { margin-bottom: calc(var(--space-3) * -1); }
.tg-card.half .tg-author { margin-top: auto; }
.tg-footer { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6) var(--space-8); margin-top: var(--space-12); }
.tg-pill { background: var(--secondary-900); color: var(--gray-0); font-weight: var(--weight-bold); padding: var(--space-3) var(--space-6); border-radius: var(--radius-sm); }
.tg-foot-note { color: var(--text-muted); }
.tg-foot-links { display: flex; flex-wrap: wrap; gap: var(--space-10); margin-left: auto; }
.tg-foot-link { color: var(--accent-main); font-weight: var(--weight-bold); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; white-space: nowrap; }
.tg-foot-link:hover { color: var(--accent-hover); }
@media (max-width: 768px) {
.tg-row { grid-template-columns: 1fr; }
.tg-card.wide { grid-template-columns: 1fr; gap: var(--space-8); align-items: start; }
.tg-card.wide .tg-author { flex-direction: row; text-align: left; }
.tg-foot-links { margin-left: 0; }
}
.has-deco { position: relative; overflow: hidden; }
.section-deco { position: absolute; left: 0; right: 0; bottom: 0; pointer-events: none; z-index: 0; }
.section-deco svg { display: block; width: 100%; height: 100%; }
.deco-trend { height: 200px; opacity: 0.6; margin-top: 180px; }
.t-stop-0 { stop-color: var(--accent-main); stop-opacity: 0.30; }
.t-stop-1 { stop-color: var(--accent-main); stop-opacity: 0; }
.deco-trend .t-area { fill: url(#tFade); }
.deco-trend .t-line {
fill: none; stroke: var(--accent-main); stroke-width: 2.5;
stroke-linecap: round; stroke-linejoin: round;
stroke-dasharray: 1700; stroke-dashoffset: 1700;
animation: t-draw 2.6s var(--ease-out) 0.3s forwards;
}
@media (max-width: 768px) {
section[data-screen-label="stats"] { padding-top: var(--section-padding-y) !important; }
}
.deco-trend .t-runner { fill: var(--gray-0); }
.case { transition: transform .22s var(--ease-out), box-shadow .22s var(--ease-out), background .22s var(--ease-out), border-color .22s var(--ease-out); }
.case:hover {
background: var(--accent-main) !important;
border-color: var(--accent-main) !important;
transform: translateY(-4px);
box-shadow: 0 12px 32px rgba(215,119,87,.35);
}
.case:hover .meta, .case:hover .client, .case:hover h4, .case:hover .wf, .case:hover .wf b, .case:hover .browse-cta { color: #fff !important; }
.case:hover .c-badge { background: rgba(255,255,255,.25); color: #fff !important; }
.case:hover .wf { border-top-color: rgba(255,255,255,.25) !important; }
.case.browse:hover { background: var(--accent-main) !important; border-color: var(--accent-main) !important; }
.case.browse:hover .body { color: rgba(255,255,255,.85) !important; }
.tg-card { transition: transform .22s var(--ease-out), box-shadow .22s var(--ease-out); cursor: pointer; }
.tg-card:hover {
background: var(--accent-main) !important;
border-color: var(--accent-main) !important;
transform: translateY(-3px);
box-shadow: 0 12px 32px rgba(215,119,87,.35);
}
.tg-card:hover .tg-cat, .tg-card:hover .tg-company, .tg-card:hover .tg-quote, .tg-card:hover .tg-name, .tg-card:hover .tg-role { color: #fff !important; }
.tg-card:hover .tg-foot { border-top-color: rgba(255,255,255,.25) !important; }
[data-screen-label="services"] .grid-cards .card:hover {
background: var(--accent-main) !important;
border-color: var(--accent-main) !important;
cursor: pointer;
transform: translateY(-3px);
box-shadow: 0 12px 32px rgba(215,119,87,.4);
}
[data-screen-label="services"] .grid-cards .card:hover h4, [data-screen-label="services"] .grid-cards .card:hover p, [data-screen-label="services"] .grid-cards .card:hover .mono-tag, [data-screen-label="services"] .grid-cards .card:hover a { color: #fff !important; }
.form-input:focus, .form-textarea:focus {
outline: none;
background: var(--gray-0);
border: 1.5px solid var(--primary-400) !important;
box-shadow: 0 0 0 3px var(--primary-a20);
}
.form-input::placeholder, .form-textarea::placeholder {
opacity: 0.65;
}
[data-screen-label="audits"] .btn--outline:hover {
background: #fff !important;
border-color: var(--accent-main) !important;
color: var(--accent-main) !important;
}
[data-screen-label="audits"] .card:hover {
background: var(--secondary-800) !important;
border-color: var(--secondary-800) !important;
transform: translateY(-3px);
box-shadow: 0 12px 32px rgba(4,28,44,.4);
}
[data-screen-label="audits"] .card:hover h4, [data-screen-label="audits"] .card:hover p, [data-screen-label="audits"] .card:hover li, [data-screen-label="audits"] .card:hover .ck { color: #fff !important; }
[data-screen-label="audits"] .card:hover .btn--primary {
background: var(--primary-400) !important;
border-color: var(--primary-400) !important;
color: #fff !important;
}
.tg-card:hover .tg-date, .tg-card:hover .tg-role, .tg-card:hover .tg-cat, .tg-card:hover .tg-company { color: rgba(255,255,255,.75) !important; }
.case:hover .meta { color: rgba(255,255,255,.7) !important; }
.case:hover .client { color: #fff !important; }
[data-screen-label="services"] .grid-cards .card:hover .text-muted { color: rgba(255,255,255,.8) !important; }
[data-screen-label="services"] .grid-cards .card:hover .mono-tag { color: rgba(255,255,255,.7) !important; }
[data-screen-label="audits"] .card:hover .ac-label { color: var(--accent-main) !important; }
[data-screen-label="audits"] .card:hover .ac-q, [data-screen-label="audits"] .card:hover .ac-body { color: rgba(255,255,255,.9) !important; }
.btn--outline, .btn--outline-inverse { border-width: 2px; }
.btn--outline-inverse:hover { background: rgba(255,255,255,.15) !important; border-color: rgba(255,255,255,.65) !important; color: #fff !important; }
.case:hover .btn--primary, .tg-card:hover .btn--primary {
background: #fff !important;
border-color: #fff !important;
color: var(--primary-400) !important;
}
[data-screen-label="services"] .grid-cards .card:hover .btn--primary, [data-screen-label="services"] .grid-cards .card:hover .text-accent {
color: #fff !important;
}
.deco-flow { height: 120px; }
.deco-flow .f-line { stroke: url(#fLine); stroke-width: 1.5; fill: none; }
.fl-stop-0 { stop-color: var(--accent-main); stop-opacity: 0; }
.fl-stop-1 { stop-color: var(--accent-main); stop-opacity: 0.55; }
.fl-stop-2 { stop-color: var(--accent-main); stop-opacity: 0; }
.deco-flow .f-glow {
fill: url(#fGlow);
transform-origin: center bottom;
animation: f-breathe 6s var(--ease-in-out, ease-in-out) infinite;
}
.deco-flow .f-spark { fill: var(--accent-main); filter: drop-shadow(0 0 6px var(--accent-main)); }
.hero-eyebrow {
display: inline-flex;
align-items: center;
font-size: calc(var(--t-small) * 2);
line-height: 1.1;
font-weight: var(--weight-bold);
letter-spacing: 0.06em;
color: var(--accent-main);
padding: 0;
text-transform: uppercase;
text-align: center;
justify-content: center;
width: auto;
max-width: max-content;
align-self: center;
}
.hero__content > .hero-eyebrow { width: auto; max-width: max-content; align-self: center; }
@media (max-width: 767px) {
.hero-eyebrow { font-size: calc(var(--t-small) * 1.5); padding: 0; letter-spacing: 0.04em; }
}
.hero-verbs {
display: flex;
align-items: center;
gap: var(--space-4);
flex-wrap: wrap;
margin-top: var(--space-2);
padding-top: var(--space-6);
border-top: 1px solid rgba(255,255,255,0.18);
font-family: var(--t-font-display);
font-weight: 800;
font-size: var(--text-xl);
line-height: 1.2;
letter-spacing: 0.14em;
text-transform: uppercase;
color: #fff;
}
.hero-verbs .hv-dot {
width: 7px; height: 7px; border-radius: 50%;
background: var(--accent-main);
flex: none;
}
.svc-ico { display: flex; color: var(--accent-main); }
.svc-ico svg { width: 30px; height: 30px; }
[data-screen-label="services"] .grid-cards .card:hover .svc-ico { color: #fff; }
.tb-header--spaced { margin-bottom: var(--space-12); }
.tb-rule {
max-width: var(--container-max);
margin: 0 auto var(--space-10);
padding: 0 var(--container-padding-x);
}
.tb-rule span {
display: block;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.22) 12%, rgba(255,255,255,0.22) 88%, transparent);
}
@media (max-width: 767px) {
.tb-header--spaced { margin-bottom: var(--space-8); }
.tb-rule { margin-bottom: var(--space-8); }
}
@media (max-width: 767px) {
.hero-verbs { font-size: var(--text-base) !important; letter-spacing: 0.1em !important; gap: var(--space-3) !important; padding-top: var(--space-5) !important; }
}
@media (max-width: 767px) {
.bigstat-row { grid-template-columns: repeat(2, 1fr); gap: var(--space-10) var(--space-6); }
.bigstat-row > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
[data-screen-label="verticals"] > .container > h2 { line-height: 1.28; }
}
.stat-ico { display: none; }
@media (max-width: 767px) {
.stat-card { align-items: center; text-align: center; gap: var(--space-2); padding: var(--space-8) var(--space-5); }
.stat-ico {
display: flex; align-items: center; justify-content: center;
width: 92px; height: 92px; margin-bottom: var(--space-3);
border-radius: 999px;
background: #fff;
box-shadow: var(--shadow-surface);
color: var(--accent-main);
}
.stat-ico svg { width: 46px; height: 46px; }
.stat-card .stat-card__value { color: var(--accent-main); }
.stat-card .stat-card__label { max-width: 26ch; }
}
@media (max-width: 767px) {
.footer__link, .footer__tagline, .footer__copy { font-size: 14px !important; }
.footer__grid { text-align: center; }
.footer__links { align-items: center; }
.footer__brand { align-items: center; }
.footer__bottom { justify-content: center; text-align: center; }
}
.files.reveal { transform: none; }
[data-theme="dark-section"] .file .chip {
background: rgba(255,255,255,0.10);
border: 1px solid rgba(255,255,255,0.22);
color: var(--text-on-dark);
}
.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5); max-width: 880px; }
.hero-proof__card {
background: rgba(13,20,38,0.58);
-webkit-backdrop-filter: blur(8px);
backdrop-filter: blur(8px);
padding: var(--space-8) var(--space-12);
min-height: 234px;
border: 1px solid rgba(255,255,255,0.14);
border-radius: var(--radius-lg);
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
justify-content: center;
gap: 0;
}
.hero-proof__metric { font-family: var(--t-font-display); font-weight: 800; font-size: calc(var(--text-4xl) * 1.1); color: var(--accent-main); line-height: 1; letter-spacing: -.02em; }
.hero-proof__cap { color: var(--text-on-dark); font-weight: 700; font-size: var(--t-body); margin-top: 18px; }
.hero-proof__txt { display: contents; }
.hero-proof__sub { color: var(--text-on-dark-muted); font-size: var(--t-small); line-height: 1.45; margin-top: 32px; }
@media (max-width: 767px) {
.hero-proof { grid-template-columns: 1fr; gap: var(--space-3); max-width: 100%; }
.hero-proof__card { flex-direction: row; align-items: center; gap: var(--space-4); flex-wrap: nowrap; padding: var(--space-5) var(--space-5); min-height: 0; justify-content: flex-start; text-align: left; }
.hero-proof__metric { font-size: var(--text-3xl); min-width: 0; flex: none; }
.hero-proof__txt { display: flex; flex-direction: column; gap: 4px; flex: 1; text-align: left; }
.hero-proof__cap { flex: none; margin-top: 0; }
.hero-proof__sub { flex: none; margin-top: 0; }
}
.urgency-bar {
position: fixed;
left: 0; right: 0; bottom: 0;
z-index: 900;
background: var(--primary-400);
box-shadow: 0 -6px 24px rgba(0,0,0,.22);
transform: translateY(0);
transition: transform .4s var(--ease-out);
}
.urgency-bar.is-hidden { transform: translateY(110%); }
.urgency-bar__inner {
max-width: var(--container-max, 1200px);
margin: 0 auto;
padding: 14px var(--container-padding-x, 24px);
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-6);
}
.urgency-bar__text {
margin: 0;
display: flex;
align-items: center;
gap: var(--space-3);
color: #fff;
font-family: var(--t-font-body);
font-size: var(--t-small);
font-weight: 600;
letter-spacing: .04em;
text-transform: uppercase;
line-height: 1.35;
}
.urgency-bar__text strong { font-weight: 800; }
.urgency-bar__dot {
flex: none;
width: 9px; height: 9px; border-radius: 999px;
background: #fff;
box-shadow: 0 0 0 0 rgba(255,255,255,.7);
animation: urgency-pulse 1.8s ease-in-out infinite;
}
.urgency-bar__actions { display: flex; align-items: center; gap: var(--space-4); flex: none; }
.urgency-bar__cta {
display: inline-flex;
align-items: center;
background: #fff;
color: var(--primary-400);
font-family: var(--t-font-body);
font-weight: 700;
font-size: var(--t-small);
text-decoration: none;
white-space: nowrap;
height: 40px;
padding: 0 var(--space-6);
border-radius: 999px;
transition: background .18s var(--ease-out), color .18s var(--ease-out), transform .18s var(--ease-out);
}
.urgency-bar__cta:hover { background: var(--secondary-800); color: #fff; transform: translateY(-1px); }
.urgency-bar__close {
flex: none;
width: 34px; height: 34px;
display: flex; align-items: center; justify-content: center;
border: none; background: rgba(255,255,255,.18); color: #fff;
border-radius: 999px; cursor: pointer;
transition: background .18s var(--ease-out);
}
.urgency-bar__close:hover { background: rgba(255,255,255,.34); }
@media (max-width: 767px) {
.urgency-bar__inner { padding: 10px var(--space-4); gap: var(--space-3); }
.urgency-bar__text { font-size: 11px; letter-spacing: .02em; }
.urgency-bar__cta { height: 36px; padding: 0 var(--space-4); font-size: 12px; }
}
.audit-v5-card .ac-ico svg { width: 23px; height: 23px; flex: none; }
.ind-a-go__svg { width: 14px; height: 14px; flex: none; }
.nav-phone__svg { width: 15px; height: 15px; flex: none; }
.nav-burger__svg { width: 22px; height: 22px; flex: none; }
.urg-close__svg { width: 15px; height: 15px; flex: none; }
.drawer-close__svg { width: 22px; height: 22px; flex: none; }
.form-input, .form-textarea {
border-radius: var(--btn-radius);
background: var(--gray-100);
color: var(--gray-900);
border: 1.5px solid var(--gray-300);
}
.form-input::placeholder, .form-textarea::placeholder { color: var(--gray-500); opacity: 1; }
.form-input:hover, .form-textarea:hover { border-color: var(--gray-400); background: var(--gray-50); }
.form-input:focus, .form-textarea:focus, .form-input:focus-visible, .form-textarea:focus-visible {
outline: none;
background: var(--gray-0);
border: 1.5px solid var(--primary-400);
box-shadow: 0 0 0 3px var(--primary-a20);
}
.form-textarea { border-radius: 25px; }
.btn--primary { background: var(--primary-400); border-color: var(--primary-400); }
.btn--primary:hover { background: var(--primary-400); border-color: var(--primary-400); }
.btn--primary:active { background: var(--primary-400); border-color: var(--primary-400); }
.mega { background: var(--primary-400); }
.mega:hover { background: var(--primary-400); }
.mega:active { background: var(--primary-400); }
main h2 { max-width: 75%; text-wrap: pretty; }
main .lead { max-width: 75%; text-wrap: pretty; }
main [style*="text-align:center"] h2, main [style*="text-align: center"] h2, main .hero__content h2 { margin-inline: auto; }
main h2, main .lead { margin-inline: 0; }
.card, .case, .stat-card, .tg-card, .ind-a, .hc-door, .hc-case, .logo-tile, .prob-card, .comp-card, .svcd-card, .hc-acard, .audit-v5-card {
transition: transform var(--transition-base), box-shadow var(--transition-base),
border-color var(--transition-base), background var(--transition-base);
}
a.card:hover, a.case:hover, a.ind-a:hover, a.hc-door:hover, a.hc-case:hover, a.logo-tile:hover, a.svcd-card:hover, a.tg-card:hover {
transform: translateY(-4px);
}
a.ind-a, a.hc-door, a.hc-case, a.case, a.svcd-card { position: relative; overflow: hidden; }
a.ind-a::after, a.hc-door::after, a.hc-case::after, a.case::after, a.svcd-card::after {
content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
background: var(--accent-main); transform: scaleX(0); transform-origin: left;
transition: transform var(--transition-base);
}
a.ind-a:hover::after, a.hc-door:hover::after, a.hc-case:hover::after, a.case:hover::after, a.svcd-card:hover::after { transform: scaleX(1); }
a.ind-a .ind-num, a.case .meta, a.hc-case .hc-case__client { transition: color var(--transition-base); }
a.ind-a:hover .ind-num { color: var(--accent-main); }
a:hover > .ind-a-go svg, a:hover > .hc-door__go svg, a:hover > .hc-case__go svg, a:hover > .svcd-card__go svg, a:hover .browse-cta { transition: transform var(--transition-base); }
.audit-v5-card .btn { white-space: normal; overflow-wrap: anywhere; }
.faq-q.active .faq-q-text { color: var(--text-on-dark); }
#navbar .btn--primary:hover {
background: var(--accent-main) !important;
border-color: #fff !important;
box-shadow: none !important;
}
#navbar .navbar__logo { max-height: 40px; }
#navbar .navbar__logo img { height: 35px; max-height: 40px; width: auto; }
.faq-split { display: block !important; }
.faq-panel { display: none !important; }
.faq-q-list { max-width: 76ch; }
.faq-a-inline {
display: none;
padding: 0 var(--space-6) var(--space-6) 3.2ch;
font-size: var(--t-small);
line-height: 1.7;
color: var(--text-muted);
max-width: 72ch;
}
.faq-q.active + .faq-a-inline { display: block; }
.faq-q.active + .faq-a-inline a { color: var(--accent-main); font-weight: var(--weight-semibold); }
.faq-q.active { background: none; color: var(--text-heading); border-radius: 0; padding-left: var(--space-6); }
.faq-q.active .faq-q-text { color: var(--accent-main); }
.faq-q.active::before { color: var(--accent-main); }
.faq-q-list { gap: 0 !important; border-top: 1px solid var(--border-default); }
.faq-item-wrap { border-bottom: 1px solid var(--border-default); }
.faq-q {
background: none !important;
border: none !important;
border-radius: 0 !important;
box-shadow: none !important;
padding: var(--space-6) var(--space-2) !important;
color: var(--text-heading) !important;
transition: padding-left var(--transition-base), background var(--transition-base);
}
.faq-q:hover:not(.active) {
background: linear-gradient(90deg, rgba(245, 101, 56,.06), transparent 60%) !important;
border-color: transparent !important;
color: var(--text-heading) !important;
padding-left: var(--space-6) !important;
}
.faq-q:hover:not(.active) .faq-q-text { color: var(--accent-main); }
.faq-q.active + .faq-a-inline, .faq-q[aria-expanded="true"] + .faq-a-inline {
display: block;
background: none !important;
color: var(--text-muted) !important;
font-size: var(--t-small);
line-height: 1.7;
padding: 0 var(--space-6) var(--space-6) var(--space-6);
max-width: 72ch;
}
.faq-q.active + .faq-a-inline a, .faq-q[aria-expanded="true"] + .faq-a-inline a { color: var(--accent-main); font-weight: var(--weight-semibold); }
.faq-q.active + .faq-a-inline, .faq-q[aria-expanded="true"] + .faq-a-inline {
border: none !important;
border-radius: 0 !important;
}
:target, main > section[id], .faq-item-wrap[id] {
scroll-margin-top: calc(var(--nav-total, 112px) + var(--space-6));
}
@media (prefers-reduced-motion: reduce) {

}
.faq-split { display: block !important; }
.faq-panel { display: none !important; }
.faq-q-list { columns: auto !important; column-gap: normal !important; max-width: 900px; margin: 0 auto; border-top: 1px solid var(--border-default); }
.faq-item-wrap { border-bottom: 1px solid var(--border-default); break-inside: auto; }
.faq-q {
display: flex !important;
align-items: center;
justify-content: space-between;
gap: var(--space-6);
width: 100%;
padding: var(--space-6) 0 !important;
border: none !important;
border-left: none !important;
background: none !important;
text-align: left;
}
.faq-q-text { font-size: var(--t-body); font-weight: 700; color: var(--text-heading); }
.faq-q:hover .faq-q-text { color: var(--accent-main); }
.faq-q.active .faq-q-text { color: var(--text-heading) !important; }
.faq-q::after {
content: "";
flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%;
background: var(--bg-section-alt);
background-image: linear-gradient(var(--text-muted), var(--text-muted)), linear-gradient(var(--text-muted), var(--text-muted));
background-size: 12px 2px, 2px 12px;
background-position: center, center;
background-repeat: no-repeat;
transition: background-color var(--transition-base), background-size var(--transition-base), transform var(--transition-base);
}
.faq-q.active::after {
background-color: var(--accent-main);
background-image: linear-gradient(#fff, #fff), linear-gradient(#fff, #fff);
background-size: 12px 2px, 2px 12px;
transform: rotate(45deg);
}
.faq-q.active + .faq-a-inline, .faq-q[aria-expanded="true"] + .faq-a-inline {
display: block;
border: none !important;
background: none !important;
color: var(--text-muted) !important;
font-size: var(--t-small);
line-height: 1.75;
padding: 0 var(--space-16) var(--space-6) var(--space-8) !important;
max-width: 74ch;
}
.faq-q-list { max-width: none !important; margin: 0 !important; }
[data-theme="dark-section"] .text-muted, .hc-dark .text-muted, [data-screen-label="services"] .text-muted { color: rgba(255,255,255,0.78) !important; }
.case, .tg-card, .hc-case, .hc-door, .hc-svc, .svcd-card, .aw-item, [data-screen-label="services"] .grid-cards .card, [data-screen-label="find-your-service"] .grid-cards .card, [data-screen-label="audits"] .card {
transition: background-color .22s var(--ease-out), border-color .22s var(--ease-out),
transform .22s var(--ease-out), box-shadow .22s var(--ease-out);
}
.case h4, .case p, .case .meta, .case .client, .case .wf, .case .wf b, .case .browse-cta, .case .c-badge, .tg-card .tg-cat, .tg-card .tg-company, .tg-card .tg-quote, .tg-card .tg-name, .tg-card .tg-role, .tg-card .tg-date, .hc-case .hc-case__client, .hc-case .hc-case__head, .hc-case .hc-case__go, .hc-door .hc-door__name, .hc-door .hc-door__sub, .hc-door .hc-door__go, .hc-svc .hc-svc__name, .hc-svc .hc-svc__body, .hc-svc .hc-svc__go, .svcd-card .svcd-card__name, .svcd-card .svcd-card__body, .svcd-card .svcd-card__go, .aw-item .aw-item__name, .aw-item .aw-item__line, [data-screen-label="services"] .grid-cards .card h4, [data-screen-label="services"] .grid-cards .card p, [data-screen-label="services"] .grid-cards .card .text-muted, [data-screen-label="services"] .grid-cards .card .text-accent, [data-screen-label="services"] .grid-cards .card .mono-tag, [data-screen-label="services"] .grid-cards .card .svc-ico, [data-screen-label="find-your-service"] .grid-cards .card h4, [data-screen-label="find-your-service"] .grid-cards .card p, [data-screen-label="find-your-service"] .grid-cards .card .text-muted, [data-screen-label="find-your-service"] .grid-cards .card .text-accent, [data-screen-label="find-your-service"] .grid-cards .card .svc-ico, [data-screen-label="audits"] .card h4, [data-screen-label="audits"] .card p, [data-screen-label="audits"] .card li, [data-screen-label="audits"] .card .ac-label, [data-screen-label="audits"] .card .ac-q, [data-screen-label="audits"] .card .ac-body {
transition: color .22s var(--ease-out);
}
.case:hover .browse-cta, .svcd-card:hover .svcd-card__go svg, .hc-door:hover .hc-door__go svg, .hc-case:hover .hc-case__go svg { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) {
.case, .tg-card, .hc-case, .hc-door, .hc-svc, .svcd-card, .aw-item, [data-screen-label="services"] .grid-cards .card, [data-screen-label="find-your-service"] .grid-cards .card, [data-screen-label="audits"] .card { transition: none; }
}
.case:hover, .tg-card:hover, [data-screen-label="services"] .grid-cards .card:hover, [data-screen-label="find-your-service"] .grid-cards .card:hover { background: var(--accent-main); }
.case:hover .c-badge, #cases .case:hover .c-badge {
background: rgba(255,255,255,.32);
color: var(--secondary-800) !important;
}
.case:hover .wf, #cases .case:hover .wf { border-top-color: rgba(4,28,44,.28) !important; }
.case:hover .btn--primary, .tg-card:hover .btn--primary {
background: var(--secondary-800) !important;
border-color: var(--secondary-800) !important;
color: #fff !important;
}
[data-screen-label="services"] .grid-cards .card:hover h4, [data-screen-label="services"] .grid-cards .card:hover p, [data-screen-label="services"] .grid-cards .card:hover .text-muted, [data-screen-label="services"] .grid-cards .card:hover .text-accent, [data-screen-label="services"] .grid-cards .card:hover .mono-tag, [data-screen-label="services"] .grid-cards .card:hover .svc-ico, [data-screen-label="find-your-service"] .grid-cards .card:hover h4, [data-screen-label="find-your-service"] .grid-cards .card:hover p, [data-screen-label="find-your-service"] .grid-cards .card:hover .text-muted, [data-screen-label="find-your-service"] .grid-cards .card:hover .text-accent, [data-screen-label="find-your-service"] .grid-cards .card:hover .mono-tag, [data-screen-label="find-your-service"] .grid-cards .card:hover .svc-ico {
color: var(--secondary-800) !important;
opacity: 1;
}
[data-screen-label="services"] .grid-cards .card:hover h4, [data-screen-label="services"] .grid-cards .card:hover p, [data-screen-label="services"] .grid-cards .card:hover .text-muted, [data-screen-label="services"] .grid-cards .card:hover .text-accent, [data-screen-label="services"] .grid-cards .card:hover .mono-tag, [data-screen-label="services"] .grid-cards .card:hover .svc-ico, [data-screen-label="find-your-service"] .grid-cards .card:hover h4, [data-screen-label="find-your-service"] .grid-cards .card:hover p, [data-screen-label="find-your-service"] .grid-cards .card:hover .text-muted, [data-screen-label="find-your-service"] .grid-cards .card:hover .text-accent, [data-screen-label="find-your-service"] .grid-cards .card:hover .mono-tag, [data-screen-label="find-your-service"] .grid-cards .card:hover .svc-ico {
color: #fff !important;
opacity: 1;
}
.faq-q.active + .faq-a-inline, .faq-q[aria-expanded="true"] + .faq-a-inline {
max-width: none !important;
padding-right: var(--space-6) !important;
}
.file .chip {
background: color-mix(in srgb, var(--accent-main) 10%, transparent) !important;
border: 1.5px solid color-mix(in srgb, var(--accent-main) 45%, transparent) !important;
color: var(--primary-700) !important;
}
[data-theme="dark-section"] .file .chip {
background: rgba(255,255,255,.10) !important;
border: 1.5px solid rgba(255,255,255,.30) !important;
color: var(--text-on-dark) !important;
}
.case .c-badge, #cases .c-badge {
background: color-mix(in srgb, var(--accent-main) 12%, transparent) !important;
border: 1.5px solid color-mix(in srgb, var(--accent-main) 40%, transparent) !important;
color: var(--primary-700) !important;
}
.faq-q .faq-q-text, [data-screen-label="faq"] .faq-q .faq-q-text {
flex: 1 1 auto !important;
text-align: left !important;
min-width: 0;
}
.faq-q::before, [data-screen-label="faq"] .faq-q::before {
background: none !important;
color: var(--text-muted) !important;
font-family: var(--t-font-mono) !important;
font-size: var(--t-caption) !important;
font-weight: 400 !important;
letter-spacing: .1em !important;
width: auto !important;
height: auto !important;
flex: 0 0 auto !important;
min-width: 2ch;
border-radius: 0 !important;
}
#audits-top { display: block; scroll-margin-top: calc(var(--nav-total, 112px) + var(--space-6)); }
@media (max-width: 899px) {
.files { grid-template-columns: minmax(0, 1fr) !important; gap: var(--space-5) !important; }
.files .file, .file.f1, .file.f2, .file.f3, .file.f4, .file.f5 { grid-column: 1 / -1 !important; }
}
@media (min-width: 900px) and (max-width: 1199px) {
.files { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.file.f1, .file.f2, .file.f3, .file.f4, .file.f5 { grid-column: auto !important; }
.file.f5 { grid-column: 1 / -1 !important; }
}
@media (max-width: 899px) {
main h1, main h2, main h3, main .lead, main p, .hero h1, .audit-hero h2, .audit-hero .lead, .motto-lede, .team-line, .prob-close, .film-foot .l, .hc-h2, .hc-lead, .hc-hero__sub, .hc-audits .hc-h2, .hc-audits .hc-lead, .acc-b p, .aud-note, .pane-cap, #audits .lead, #audits2 .lead, #audits .acc-b p, #audits2 .acc-b p, #problem > .container > .hc-lead, .hero-proof__sub, .topform__intro h2, .topform__intro .lead, [data-screen-label="verticals"] .container > h2, [data-screen-label="verticals"] .container > .lead, [data-screen-label="founders"] .team-foot .lead, .tg-quote, .svcd-card__body, .wf-item__b, .hc-flow__b, .faq-q.active + .faq-a-inline, .faq-q[aria-expanded="true"] + .faq-a-inline {
max-width: 100% !important;
}
main h1, main h2, .hc-h2, .audit-hero h2 { text-wrap: balance; }
}
@media (min-width: 1100px) {
.team-board {
overflow-x: visible;
scroll-snap-type: none;
justify-content: stretch;
padding-left: 0;
padding-right: 0;
gap: var(--space-5);
position: static; left: auto; width: auto; max-width: none; margin-left: 0; margin-right: 0;
}
.team-board > * { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
.team-board::after { display: none; }
}
main h2, main h3 { max-width: 100% !important; }
main .lead { max-width: 100% !important; }
[data-screen-label="trust-bar"] h2 { max-width: 100% !important; text-wrap: nowrap; }
@media (max-width: 1100px) {
[data-screen-label="trust-bar"] h2 { text-wrap: balance; }
}
.tg-card:hover, .tg-card:hover *, .case:hover, .case:hover * { color: #fff !important; }
.tg-card:hover .tg-date, .tg-card:hover .tg-role, .tg-card:hover .tg-cat { color: rgba(255,255,255,.86) !important; }
.tg-card:hover .tg-foot, .case:hover .tg-foot { border-top-color: rgba(255,255,255,.28) !important; }
.tg-card:hover .btn--primary, .case:hover .btn--primary {
background: #fff !important; border-color: #fff !important; color: var(--secondary-800) !important;
}
.logo-marquee-row:hover .logo-marquee-track, .logo-marquee-row:focus-within .logo-marquee-track { animation-play-state: paused; }
a.client-logo-pill { text-decoration: none; cursor: pointer; }
a.client-logo-pill:hover { border-color: var(--accent-main); }
a.client-logo-pill:focus-visible { outline: 2px solid var(--accent-main); outline-offset: 2px; }
.lw-more { margin: var(--space-8) 0 0; text-align: center; }
.lw-more a { font-size: var(--t-small); font-weight: var(--weight-semibold); color: var(--accent-main); text-decoration: none; }
.lw-more a:hover { text-decoration: underline; text-underline-offset: 3px; }
.lm-dupe { display: contents; }
/* ---- pages ---- */
:where(svg:not([width]):not([height]):not([class])) { width: 1em; height: 1em; flex: none; }
.hc-h1 { font-family: var(--t-font-display); font-weight: 800; font-size: clamp(28px, 3.4vw, 45px); line-height: 1.1; letter-spacing: var(--tracking-tight); color: var(--text-on-dark); margin: 0; text-wrap: pretty; }
.hc-h2 { font-family: var(--t-font-display); font-weight: 800; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; letter-spacing: var(--tracking-tight); color: var(--text-heading); margin: var(--space-4) 0 0; max-width: 75%; text-wrap: pretty; }
.hc-h3 { font-family: var(--t-font-display); font-weight: 700; font-size: var(--text-lg); line-height: 1.3; color: var(--text-heading); margin: 0; }
.hl { color: var(--accent-main); }
.hc-lead { font-size: var(--t-body-lg); line-height: 1.65; color: var(--text-muted); margin: var(--space-6) 0 0; max-width: 75%; text-wrap: pretty; }
[data-theme="dark-section"] .hc-h2, .hc-dark .hc-h2 { color: var(--text-on-dark); }
[data-theme="dark-section"] .hc-lead, .hc-dark .hc-lead { color: var(--text-on-dark-muted); }
.hc-hero { position: relative; background: linear-gradient(135deg, var(--secondary-900) 0%, var(--secondary-800) 62%, var(--secondary-600) 100%); padding: calc(var(--section-padding-y) + var(--space-8)) 0; overflow: hidden; }
.hc-hero__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-12); align-items: start; }
.hc-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); font-size: var(--text-xs); color: var(--white-50); margin-bottom: var(--space-4); }
.hc-crumbs a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--space-2); color: var(--white-50); text-decoration: none; }
.hc-crumbs a:hover { color: var(--primary-300); }
.hc-crumbs span[aria-current] { color: var(--text-on-dark); }
.hc-hero__sub { font-size: var(--t-body-lg); line-height: 1.6; color: var(--text-on-dark-muted); margin: var(--space-6) 0 0; max-width: 75%; text-wrap: pretty; }
.hc-audit { margin-top: var(--space-10); padding-top: var(--space-8); border-top: 1px solid var(--border-on-dark); max-width: 34rem; }
.hc-audit__label { display: block; font-size: var(--t-small); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--primary-300); margin-bottom: var(--space-3); }
.hc-audit__row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: stretch; }
.hc-audit__input { flex: 1 1 15rem; min-width: 0; height: 52px; padding: 0 var(--space-8); font-family: var(--t-font-body); font-size: 16px; color: var(--text-on-dark); background: var(--white-10); border: 1.5px solid var(--white-40); border-radius: var(--btn-radius); transition: border-color var(--transition-base), background var(--transition-base); }
.hc-audit__input::placeholder { color: var(--white-50); }
.hc-audit__input:hover { background: rgba(255,255,255,.14); }
.hc-audit__input:focus-visible { outline: 3px solid var(--gray-0); outline-offset: 2px; border-color: var(--gray-0); background: rgba(255,255,255,.16); }
.hc-audit__btn { flex: 0 0 auto; min-height: 52px; }
.hc-audit__note { font-size: var(--t-small); line-height: 1.6; color: var(--text-on-dark-muted); margin: var(--space-4) 0 0; }
.hc-audit__note strong { color: var(--text-on-dark); font-weight: var(--weight-semibold); }
.hc-audit__err { display: none; align-items: center; gap: var(--space-2); font-size: var(--t-small); font-weight: var(--weight-semibold); color: var(--text-error); background: var(--bg-error); border: 1px solid var(--border-error); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-4); margin-top: var(--space-3); }
.hc-audit.is-invalid .hc-audit__err { display: inline-flex; }
.hc-audit.is-invalid .hc-audit__input { border-color: var(--gray-0); }
.hc-audit.is-loading .hc-audit__btn { pointer-events: none; opacity: .75; }
.hc-formcard { background: var(--gray-0); border: 1px solid var(--gray-0); border-radius: var(--radius-lg); box-shadow: var(--shadow-raised); padding: var(--space-10); }
.hc-formcard .eyebrow { color: var(--primary-400); }
.hc-formcard__h { font-family: var(--t-font-display); font-weight: 700; font-size: var(--text-xl); line-height: 1.25; color: var(--gray-900); margin: var(--space-3) 0 0; text-wrap: pretty; }
.hc-formcard__sub { font-size: var(--t-small); line-height: 1.6; color: var(--gray-600); margin: var(--space-4) 0 var(--space-8); }
.hc-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
.hc-form .span-2 { grid-column: 1 / -1; }
.hc-form .form-label { color: var(--gray-900); }
.hc-form .form-input, .hc-form .form-textarea { font-size: 16px; }
.hc-form .form-textarea { min-height: 104px; padding: var(--space-5) var(--space-8); }
.hc-fine { font-size: var(--t-caption); line-height: 1.6; color: var(--gray-600); margin: var(--space-5) 0 0; }
@media (max-width: 480px) {
.hc-form { grid-template-columns: 1fr; }
}
.hc-proof { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-8) var(--space-6); }
@media (min-width: 900px) {
.hc-proof { grid-template-columns: repeat(4, 1fr); }
}
.hc-proof__item { display: flex; flex-direction: column; gap: var(--space-2); padding-left: var(--space-5); border-left: 2px solid var(--accent-main); }
.hc-proof__v { font-family: var(--t-font-display); font-weight: 800; font-size: clamp(30px, 3.2vw, 44px); line-height: 1; letter-spacing: var(--tracking-tighter); color: var(--accent-main); }
.hc-proof__l { font-size: var(--t-small); line-height: 1.45; color: var(--text-muted); }
.hc-logos .band-label { font-family: var(--t-font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--text-muted); margin: 0 0 var(--space-6); }
.hc-logogrid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-4);
margin-top: var(--space-8);
align-items: stretch;
}
@media (min-width: 560px) {
.hc-logogrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
.hc-logogrid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
.hc-logogrid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.hc-logos .client-logo-pill {
display: flex;
align-items: center;
justify-content: center;
min-height: 84px;
padding: var(--space-5) var(--space-6);
background: var(--gray-0);
border: 1px solid var(--border-default);
border-radius: var(--radius-md);
box-shadow: var(--shadow-surface);
}
.hc-logos .client-logo-pill img { max-width: 100%; max-height: 40px; width: auto; height: auto; object-fit: contain; }
.hc-logos a.client-logo-pill { text-decoration: none; transition: transform var(--transition-base), border-color var(--transition-base); }
.hc-logos a.client-logo-pill:hover { transform: translateY(-2px); border-color: var(--accent-main); }
.hc-logos .client-wordmark { font-size: 14px; }
.hc-doors { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); margin-top: var(--space-12); }
@media (min-width: 700px) {
.hc-doors { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
.hc-doors { grid-template-columns: repeat(4, 1fr); }
}
.hc-door { position: relative; display: flex; flex-direction: column; gap: var(--space-3); min-height: 200px; padding: var(--space-8) var(--space-6) var(--space-6); background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-surface); text-decoration: none; overflow: hidden; transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); }
.hc-door::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--accent-main); transform: scaleX(0); transform-origin: left; transition: transform var(--transition-base); }
.hc-door:hover { transform: translateY(-4px); border-color: var(--accent-main); box-shadow: var(--shadow-raised); }
.hc-door:hover::before { transform: scaleX(1); }
.hc-door:focus-visible { outline: 2px solid var(--accent-main); outline-offset: 3px; }
.hc-door__ico { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--accent-main); }
.hc-door__ico svg { width: 26px; height: 26px; }
.hc-door__name { font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-base); line-height: 1.25; color: var(--text-heading); }
.hc-door__sub { font-size: var(--t-caption); line-height: 1.5; color: var(--text-muted); }
.hc-door__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: var(--space-5); font-size: var(--text-xs); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--primary-400); }
.hc-door__go svg { width: 14px; height: 14px; transition: transform var(--transition-base); }
.hc-door:hover .hc-door__go svg { transform: translateX(4px); }
.hc-also { margin-top: var(--space-12); padding-top: var(--space-8); border-top: 1px solid var(--border-subtle); }
.hc-also__h { font-size: var(--t-small); font-weight: var(--weight-semibold); color: var(--text-heading); margin: 0 0 var(--space-4); }
.hc-also__list { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); list-style: none; margin: 0; padding: 0; }
.hc-also__list li { font-size: var(--t-caption); color: var(--text-muted); background: var(--bg-section-alt); border-radius: var(--radius-full); padding: var(--space-2) var(--space-5); }
.hc-strip { padding: var(--space-12) 0; }
.hc-strip__h { font-family: var(--t-font-display); font-weight: 700; font-size: var(--text-base); color: var(--text-heading); margin: 0 0 var(--space-6); }
.hc-strip__items { display: flex; flex-wrap: wrap; gap: var(--space-3); list-style: none; margin: 0 0 var(--space-6); padding: 0; }
.hc-chip { display: inline-flex; align-items: center; min-height: 44px; padding: var(--space-2) var(--space-5); font-size: var(--t-caption); font-weight: var(--weight-semibold); color: var(--text-heading); background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-full); text-decoration: none; transition: border-color var(--transition-base), color var(--transition-base); }
.hc-chip:hover { border-color: var(--primary-400); color: var(--primary-400); }
.hc-strip__link { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--t-small); font-weight: 700; color: var(--accent-main); }
.hc-audits { background: var(--accent-main); }
.hc-audits .eyebrow { color: #fff; }
.hc-audits .hc-h2 { color: #fff; max-width: 75%; }
.hc-audits .hl { color: #fff; }
.hc-audits .hc-lead { color: #fff; max-width: 75%; }
.hc-audits__chips { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-4); margin: var(--space-10) 0 var(--space-12); }
@media (min-width: 760px) {
.hc-audits__chips { grid-template-columns: repeat(4, 1fr); }
}
.hc-achip { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 2px; padding: var(--space-5) var(--space-4); background: var(--gray-0); border-radius: var(--radius-lg); }
.hc-achip__v { font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-2xl); line-height: 1; color: var(--primary-400); }
.hc-achip__l { font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-muted); }
.hc-acards { display: grid; grid-template-columns: 1fr; gap: var(--space-6); }
@media (min-width: 900px) {
.hc-acards { grid-template-columns: 1fr 1fr; }
}
.hc-acard { display: flex; flex-direction: column; gap: var(--space-5); background: var(--bg-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-raised); padding: var(--space-10); }
.hc-acard__bullets { list-style: none; display: flex; flex-direction: column; gap: var(--space-3); margin: 0; padding: 0; }
.hc-acard__bullets li { position: relative; padding-left: var(--space-8); font-size: var(--t-small); line-height: 1.55; color: var(--text-muted); }
.hc-acard__bullets li::before { content: ""; position: absolute; left: 0; top: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent-main); }
.hc-acard .btn { margin-top: auto; }
.hc-aba { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-5) var(--space-8); margin-top: var(--space-10); padding: var(--space-6) var(--space-8); background: rgba(0,0,0,.14); border-radius: var(--radius-sm); }
.hc-aba__t { flex: 1 1 24rem; font-size: var(--t-small); line-height: 1.6; color: var(--gray-0); margin: 0; }
.hc-cases { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-12); }
@media (min-width: 700px) {
.hc-cases { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
.hc-cases { grid-template-columns: repeat(3, 1fr); }
}
.hc-case { display: flex; flex-direction: column; gap: var(--space-4); height: 100%; padding: var(--space-8); background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-md); box-shadow: var(--shadow-surface); text-decoration: none; transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); }
.hc-case:hover { transform: translateY(-3px); border-color: var(--accent-main); box-shadow: var(--shadow-raised); }
.hc-case__client { font-family: var(--t-font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--primary-400); }
.hc-case__head { font-family: var(--t-font-display); font-weight: 700; font-size: var(--text-base); line-height: 1.4; color: var(--text-heading); margin: 0; }
.hc-case__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: var(--space-4); font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--primary-400); }
.hc-case__go svg { width: 14px; height: 14px; flex: none; transition: transform var(--transition-base); }
.hc-case:hover .hc-case__go svg { transform: translateX(4px); }
.hc-case--browse { align-items: flex-start; justify-content: center; background: var(--secondary-900); border-color: var(--secondary-900); }
.hc-case--browse .hc-case__go { color: var(--primary-300); }
.hc-case--browse .hc-case__head { color: var(--text-on-dark); }
.hc-svcs { display: grid; grid-template-columns: 1fr; margin-top: var(--space-12); border-top: 1px solid var(--border-default); }
@media (min-width: 900px) {
.hc-svcs { grid-template-columns: 1fr 1fr; column-gap: var(--space-16); }
}
.hc-svc { display: grid; grid-template-columns: auto 1fr; column-gap: var(--space-6); row-gap: var(--space-2); align-items: start; padding: var(--space-8) 0; border-bottom: 1px solid var(--border-default); text-decoration: none; transition: background var(--transition-base); }
.hc-svc:hover { background: var(--bg-section-alt); }
.hc-svc:focus-visible { outline: 2px solid var(--accent-main); outline-offset: 2px; }
.hc-svc__n { grid-row: 1 / span 3; font-family: var(--t-font-mono); font-size: var(--text-xs); font-weight: 700; letter-spacing: .1em; color: var(--text-muted); padding-top: 4px; }
.hc-svc__name { font-family: var(--t-font-display); font-weight: 700; font-size: var(--text-base); line-height: 1.3; color: var(--text-heading); }
.hc-svc__body { font-size: var(--t-small); line-height: 1.6; color: var(--text-muted); margin: 0; }
.hc-svc__go { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--primary-400); }
.hc-svc__go svg { width: 13px; height: 13px; transition: transform var(--transition-base); }
.hc-svc:hover .hc-svc__go svg { transform: translateX(4px); }
.hc-cols { display: grid; grid-template-columns: 1fr; gap: var(--space-8); margin-top: var(--space-12); }
@media (min-width: 860px) {
.hc-cols { grid-template-columns: repeat(3, 1fr); }
}
.hc-col { padding: var(--space-8); background: var(--white-5); border: 1px solid var(--border-on-dark); border-radius: var(--radius-lg); }
.hc-col__h { font-family: var(--t-font-display); font-weight: 700; font-size: var(--text-base); color: var(--text-on-dark); margin: 0 0 var(--space-4); }
.hc-col__b { font-size: var(--t-small); line-height: 1.65; color: var(--text-on-dark-muted); margin: 0; }
.hc-flows { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-10); }
@media (min-width: 760px) {
.hc-flows { grid-template-columns: 1fr 1fr; }
}
.hc-flow { display: flex; flex-direction: column; gap: var(--space-2); padding-left: var(--space-6); border-left: 2px solid var(--accent-main); }
.hc-flow__b { font-size: var(--t-small); line-height: 1.6; color: var(--text-on-dark-muted); margin: 0; }
.hc-note { margin-top: var(--space-10); font-size: var(--t-small); font-weight: var(--weight-semibold); color: var(--text-on-dark); }
.hc-people { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-6); margin-top: var(--space-12); }
@media (min-width: 760px) {
.hc-people { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1100px) {
.hc-people { grid-template-columns: repeat(5, 1fr); }
}
.hc-person { display: flex; flex-direction: column; text-decoration: none; }
.hc-person img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center top; display: block; border-radius: var(--radius-md); background: var(--bg-section-alt); transition: transform var(--transition-base); }
.hc-person:hover img { transform: translateY(-3px); }
.hc-person__n { font-family: var(--t-font-display); font-weight: 700; font-size: var(--t-body); color: var(--text-heading); margin-top: var(--space-5); position: relative; padding-bottom: 6px; align-self: flex-start; }
.hc-person__n::after { content: ""; position: absolute; left: 0; bottom: 0; width: 75%; height: 2px; background: var(--accent-main); }
.hc-person__r { font-size: var(--t-caption); color: var(--primary-400); font-weight: var(--weight-semibold); margin-top: var(--space-3); }
.hc-person__l { font-size: var(--t-caption); line-height: 1.55; color: var(--text-muted); margin: var(--space-3) 0 0; }
.hc-close-line { margin-top: var(--space-12); font-size: var(--t-body); font-weight: var(--weight-semibold); color: var(--text-heading); }
.hc-closeband { background: linear-gradient(135deg, var(--secondary-900) 0%, var(--secondary-800) 100%);
padding: var(--space-20) 0 calc(var(--space-20) + var(--urgency-h, 0px)); }
.hc-closeband__grid { display: grid; grid-template-columns: 1fr; gap: var(--space-12); align-items: start; }
@media (min-width: 1024px) {
.hc-closeband__grid { grid-template-columns: 1fr 1fr; gap: var(--space-16); }
}
.hc-escape { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; margin-top: var(--space-8); font-size: var(--t-small); font-weight: 700; color: var(--primary-300); }
.hc-escape:hover { color: var(--gray-0); }
.hc-more { display: none; }
@media (max-width: 767px) {
.hc-more { display: inline-flex; margin-top: var(--space-8); }
[data-collapse]:not(.is-open) > [data-hidden-mobile] { display: none; }
}
.hc-audit__btn, .hc-chip, .hc-strip__link, .hc-escape, .hc-more { min-height: 44px; }
.faq-q { min-height: 44px; }
#services .hc-svcs { border-top-color: var(--border-on-dark); }
#services .hc-svc { border-bottom-color: var(--border-on-dark); }
#services .hc-svc:hover { background: var(--white-5); }
#services .hc-svc__n { color: var(--white-50); }
#services .hc-svc__name { color: var(--text-on-dark); }
#services .hc-svc__body { color: var(--text-on-dark-muted); }
#services .hc-svc__go { color: var(--primary-300); }
#services .hc-svc:focus-visible { outline-color: var(--primary-300); }
#how-ai-works .hc-col { background: var(--gray-0); border-color: var(--border-default); box-shadow: var(--shadow-surface); }
#how-ai-works .hc-col__h { color: var(--text-heading); }
#how-ai-works .hc-col__b { color: var(--text-muted); }
#how-ai-works .hc-flow__b { color: var(--text-muted); }
#how-ai-works .hc-note { color: var(--text-heading); }
main > section:not([data-theme="dark-section"]):not(.hc-audits):not(.audit-band) .eyebrow { color: var(--primary-400); }
.hc-door__go { align-items: flex-start; text-transform: none; letter-spacing: 0; line-height: 1.35; }
.hc-door__go svg { margin-top: 2px; }
.hc-doors, .hc-cases, .hc-people, .hc-cols, .hc-acards, .hc-audits__chips { align-items: stretch; }
.hc-doors > .hc-door, .hc-cases > .hc-case, .hc-cols > .hc-col, .hc-acards > .hc-acard { height: 100%; }
.hc-door__name, .hc-case__head { text-wrap: pretty; }
.hc-cases-cta { display: flex; justify-content: center; margin-top: var(--space-12); }
#people .hc-crumbs { color: var(--white-60); }
.hc-crumbs a { color: var(--white-60); min-width: 44px; justify-content: center; }
.hc-audit .hc-audit__btn { height: 52px; min-height: 52px; }
.hc-logos .client-logo-pill { min-height: 84px; height: auto; padding: var(--space-4) var(--space-4); }
.hc-logos .client-wordmark {
white-space: normal;
text-wrap: balance;
line-height: 1.25;
font-size: 14px;
text-align: center;
max-width: 100%;
overflow-wrap: break-word;
}
.hc-logohead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.hc-logohead .band-label { margin-bottom: 0; }
.hc-logolink { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: var(--t-small); font-weight: 700; color: var(--accent-main); text-decoration: none; }
.hc-logolink svg { width: 14px; height: 14px; transition: transform var(--transition-base); }
.hc-logolink:hover svg { transform: translateX(4px); }
.logo-static { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-5); margin-top: var(--space-10); }
.logo-tile { display: flex; align-items: center; justify-content: center; min-height: 88px; padding: var(--space-6) var(--space-8); background: var(--gray-0); border: 1px solid var(--border-default); border-radius: var(--radius-md); box-shadow: var(--shadow-surface); text-decoration: none; flex: 0 1 220px; transition: transform var(--transition-base), border-color var(--transition-base); }
a.logo-tile:hover { transform: translateY(-2px); border-color: var(--primary-400); }
.logo-tile img { max-height: 40px; width: auto; max-width: 100%; object-fit: contain; }
.logo-tile__name { font-family: var(--t-font-display); font-weight: 700; font-size: var(--t-small); line-height: 1.3; color: var(--secondary-800); text-align: center; text-wrap: balance; }
.prob-close {
margin-top: var(--space-12);
padding-left: var(--space-6);
border-left: 3px solid var(--accent-main);
font-size: var(--t-body-lg);
line-height: 1.55;
color: var(--text-heading);
max-width: 62ch;
}
.prob-close strong { color: var(--accent-main); }
.aiw__roles .hc-cols { display: contents; }
.aiw__flows .hc-flows { margin-top: 0; }
@media (min-width: 1024px) {
.aiw__flows .hc-flows { grid-template-columns: 1fr 1fr; align-items: stretch; }
}
.hc-flows { counter-reset: hcf; }
.hc-flow {
counter-increment: hcf;
position: relative;
display: flex; flex-direction: column; gap: var(--space-3);
height: 100%;
padding: var(--space-8) var(--space-6) var(--space-6);
background: var(--bg-surface);
border: 1px solid var(--border-default);
border-left: 1px solid var(--border-default);
border-radius: var(--radius-md);
box-shadow: var(--shadow-surface);
overflow: hidden;
transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}
.hc-flow::before {
content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
background: var(--accent-main); transform: scaleX(0); transform-origin: left;
transition: transform var(--transition-base);
}
.hc-flow:hover { transform: translateY(-3px); border-color: var(--accent-main); box-shadow: var(--shadow-raised); }
.hc-flow:hover::before { transform: scaleX(1); }
.hc-flow::after {
content: counter(hcf);
position: absolute; top: var(--space-6); right: var(--space-6);
font-family: var(--t-font-mono); font-size: var(--t-caption); font-weight: 700;
letter-spacing: .1em; color: var(--border-default);
transition: color var(--transition-base);
}
.hc-flow:hover::after { color: var(--accent-main); }
.hc-flow__n {
font-family: var(--t-font-display); font-weight: 800;
font-size: var(--text-base); line-height: 1.25;
letter-spacing: var(--tracking-tight); text-transform: none;
color: var(--text-heading); padding-right: var(--space-8);
}
.hc-flow__b { font-size: var(--t-small); line-height: 1.6; color: var(--text-muted); margin: 0; }
@media (min-width: 768px) {
main > section[data-chapter="open"] { padding-top: calc(var(--section-padding-y) + var(--space-16)); }
}
@media (min-width: 1024px) {
main > section[data-chapter="open"] { padding-top: calc(var(--section-padding-y) + var(--space-24)); }
}
@media (min-width: 1280px) {
main > section[data-chapter="open"] { padding-top: calc(var(--section-padding-y) + var(--space-32)); }
}
main > section .eyebrow { display: block; margin-bottom: var(--space-4); }
main > section > .container > .hc-h2 { margin-bottom: var(--space-6); }
main > section > .container > .hc-lead { margin-bottom: var(--space-12); }
@media (min-width: 1024px) {
.hc-doors { gap: var(--space-6); }
.hc-cases, .case3 { gap: var(--space-6); }
.svcd-grid { gap: var(--space-6); }
}
.hc-acard, .audit-v5-card { position: relative; overflow: hidden; }
.hc-acard::before, .audit-v5-card::before {
content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px;
background: var(--ac-accent, var(--accent-main));
}
.hc-acards .hc-acard:nth-child(1) { --ac-accent: var(--accent-main); }
.hc-acards .hc-acard:nth-child(2) { --ac-accent: var(--primary-400); }
.hc-acards .hc-acard {
padding-top: calc(var(--space-10) + 6px);
border: 2px solid color-mix(in srgb, var(--ac-accent) 55%, transparent);
box-shadow: 0 18px 40px -26px color-mix(in srgb, var(--ac-accent) 65%, transparent);
}
.hc-acards .hc-acard .ac-label {
display: flex; width: 100%;
padding: var(--space-4) var(--space-5); margin: 0 0 var(--space-2);
border-radius: var(--radius-md); border: none;
background: color-mix(in srgb, var(--ac-accent) 12%, transparent);
color: var(--ac-accent);
}
.hc-acards .hc-acard .ac-ico { background: var(--ac-accent); color: #fff; }
.hc-acards .hc-acard .hc-acard__bullets li::before { background: var(--ac-accent); }
.hc-acards .hc-acard { --ac-cta: var(--ac-accent); }
.hc-acards .hc-acard:nth-child(1) { --ac-cta: var(--primary-400); }
.hc-acards .hc-acard .btn--primary { background: var(--ac-cta); border-color: var(--ac-cta); }
.hc-acards .hc-acard .btn--primary:hover {
background: color-mix(in srgb, var(--ac-cta) 82%, #000);
border-color: color-mix(in srgb, var(--ac-cta) 82%, #000);
}
.hc-audits__chips { gap: var(--space-4); }
.hc-achip {
align-items: flex-start; text-align: left; gap: var(--space-2);
padding: var(--space-8) var(--space-6);
background: none; border: 1.5px solid rgba(255,255,255,.55);
border-radius: var(--radius-lg); box-shadow: none;
transition: border-color var(--transition-base), background var(--transition-base);
}
.hc-achip:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.hc-achip__v {
font-family: var(--t-font-display); font-weight: 900;
font-size: clamp(2rem, 3.1vw, 3rem); line-height: 1;
letter-spacing: -.035em; color: #fff;
}
.hc-achip__l {
font-size: var(--t-caption); font-weight: 700;
letter-spacing: var(--tracking-wide); text-transform: uppercase;
color: #fff; opacity: .9;
}
@media (max-width: 700px) {
.hc-achip { padding: var(--space-6) var(--space-5); }
}
.hc-faq { counter-reset: hcfaq; border-top: 1px solid var(--border-default); }
.hc-faq__item { counter-increment: hcfaq; border-bottom: 1px solid var(--border-default); }
.hc-faq__q {
display: grid; grid-template-columns: 3.2ch 1fr auto;
align-items: baseline; gap: var(--space-5);
padding: calc(var(--space-6) + 2px) var(--space-2);
background: none; border: none; border-radius: 0;
transition: padding-left var(--transition-base), background var(--transition-base);
}
.hc-faq__q::before {
content: counter(hcfaq);
font-family: var(--t-font-mono); font-size: var(--t-caption); font-weight: 700;
letter-spacing: .1em; color: var(--text-muted);
transition: color var(--transition-base);
}
.hc-faq__q:hover {
background: linear-gradient(90deg, rgba(245, 101, 56,.06), transparent 60%);
color: var(--accent-main); padding-left: var(--space-6);
}
.hc-faq__q:hover::before { color: var(--accent-main); }
.hc-faq__q[aria-expanded="true"] {
background: var(--secondary-800); border-radius: var(--radius-md);
padding-left: var(--space-6); color: var(--text-on-dark);
}
.hc-faq__q[aria-expanded="true"]::before { color: var(--primary-300); }
.hc-faq__q[aria-expanded="true"] .hc-faq__ico::before, .hc-faq__q[aria-expanded="true"] .hc-faq__ico::after { background: var(--primary-300); }
.hc-faq__item:has(.hc-faq__q[aria-expanded="true"]) { border-bottom-color: transparent; }
.hc-faq__a { padding-top: var(--space-5); }
.hc-closeband .hc-formcard { background: var(--gray-0); border: 1px solid var(--gray-0); }
.hc-closeband .hc-formcard .form-label { color: var(--gray-900); }
.hc-closeband .hc-formcard .form-input, .hc-closeband .hc-formcard .form-textarea {
background: var(--gray-0); color: var(--gray-900); border: 1px solid var(--gray-300);
}
.hc-closeband .hc-formcard .form-input::placeholder, .hc-closeband .hc-formcard .form-textarea::placeholder { color: var(--gray-500); }
.hc-closeband .hc-formcard .form-input:focus-visible, .hc-closeband .hc-formcard .form-textarea:focus-visible {
outline: 2px solid var(--accent-main); outline-offset: 1px; border-color: var(--accent-main);
}
.hc-closeband .hc-formcard .hc-fine { color: var(--gray-600); }
a.hc-case, a.hc-door, a.svcd-card, a.logo-tile { position: relative; overflow: hidden; }
a.hc-case::after, a.hc-door::after, a.svcd-card::after {
content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
background: var(--accent-main); transform: scaleX(0); transform-origin: left;
transition: transform var(--transition-base);
}
a.hc-case:hover::after, a.hc-door:hover::after, a.svcd-card:hover::after { transform: scaleX(1); }
a.hc-case:hover, a.hc-door:hover, a.svcd-card:hover, a.logo-tile:hover { transform: translateY(-4px); }
.logo-tile, .client-logo-pill { transition: transform var(--transition-base), border-color var(--transition-base); }
a.logo-tile:hover, a.client-logo-pill:hover { border-color: var(--accent-main); }
.hc-person img { filter: saturate(.92); transition: transform var(--transition-base), filter var(--transition-base); }
.hc-person:hover img { transform: translateY(-3px); filter: saturate(1); }
@media (min-width: 1024px) {
.hc-hero__grid {
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
gap: var(--space-32);
align-items: start;
}
.hc-hero__grid > div:first-child { align-self: start; display: flex; flex-direction: column; }
.hc-hero__sub { max-width: 100%; margin-top: var(--space-8); }
.hc-audit { max-width: 100%; margin-top: var(--space-12); padding-top: var(--space-10); }
.hc-audit__row { flex-wrap: wrap; }
.hc-audit__input { flex: 1 1 100%; }
.hc-audit__row > .btn { flex: 0 0 auto; white-space: nowrap; margin-top: var(--space-3); }
.hc-crumbs { margin-bottom: var(--space-6); }
}
@media (min-width: 1280px) {
.hc-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-40); }
}
#trust-bar { background: var(--gray-0); padding-top: var(--space-16); padding-bottom: var(--space-16); }
#trust-bar .hc-proof {
display: flex; flex-wrap: wrap; gap: 0;
border: 2px solid color-mix(in srgb, var(--accent-main) 40%, transparent);
border-radius: var(--radius-lg); overflow: hidden;
background: color-mix(in srgb, var(--accent-main) 5%, transparent);
}
#trust-bar .hc-proof__item {
flex: 1 1 0; min-width: 0;
display: flex; flex-direction: column; justify-content: center; gap: var(--space-3);
padding: var(--space-10) var(--space-8);
border-left: none;
border-right: 1px solid color-mix(in srgb, var(--accent-main) 25%, transparent);
transition: background var(--transition-base);
}
#trust-bar .hc-proof__item:last-child { border-right: none; }
#trust-bar .hc-proof__item:hover { background: color-mix(in srgb, var(--accent-main) 10%, transparent); }
#trust-bar .hc-proof__v { font-size: clamp(2.1rem, 3.1vw, 3.1rem); letter-spacing: -.035em; color: var(--accent-main); }
#trust-bar .hc-proof__l {
font-size: var(--t-caption); font-weight: 700;
letter-spacing: var(--tracking-wide); text-transform: uppercase;
color: var(--text-muted); line-height: 1.4;
}
@media (max-width: 899px) {
#trust-bar .hc-proof__item { flex: 1 1 50%; padding: var(--space-8) var(--space-6); }
#trust-bar .hc-proof__item:nth-child(2) { border-right: none; }
#trust-bar .hc-proof__item:nth-child(-n+2) { border-bottom: 1px solid color-mix(in srgb, var(--accent-main) 25%, transparent); }
}
.hc-logos__h { max-width: none; margin: 0; }
.hc-door {
display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto 1fr;
align-items: start; gap: var(--space-3) var(--space-5);
min-height: 0; padding: var(--space-8) var(--space-6);
}
.hc-door__ico { grid-column: 2; grid-row: 1; width: 56px; height: 56px; align-self: start; }
.hc-door__ico svg { width: 46px; height: 46px; }
.hc-door__name { grid-column: 1; grid-row: 1; font-size: var(--text-lg); align-self: center; }
.hc-door__sub { grid-column: 1 / -1; grid-row: 2; }
.hc-door__go { grid-column: 1 / -1; grid-row: 3; align-self: end; padding-top: var(--space-6); }
@media (max-width: 699px) {
.hc-door__ico { width: 44px; height: 44px; }
.hc-door__ico svg { width: 36px; height: 36px; }
.hc-door__name { font-size: var(--text-base); }
}
.hc-case {
display: grid; grid-template-columns: 1fr 30%; grid-template-rows: auto 1fr auto;
column-gap: var(--space-6); align-items: start;
}
.hc-case__logo {
grid-column: 2; grid-row: 1 / span 2;
display: flex; align-items: flex-start; justify-content: flex-end; min-width: 0;
}
.hc-case__logo img {
max-width: 100%; max-height: 56px; width: auto; height: auto;
object-fit: contain; object-position: top right; opacity: .9;
transition: opacity var(--transition-base);
}
.hc-case:hover .hc-case__logo img { opacity: 1; }
.hc-case__client { grid-column: 1; grid-row: 1; }
.hc-case__head { grid-column: 1; grid-row: 2; }
.hc-case__go { grid-column: 1 / -1; grid-row: 3; }
@media (max-width: 699px) {
.hc-case { grid-template-columns: 1fr 26%; }
.hc-case__logo img { max-height: 40px; }
}
[data-screen-label="find-your-service"] .grid-cards .card:hover {
background: var(--accent-main) !important;
border-color: var(--accent-main) !important;
cursor: pointer; transform: translateY(-4px);
}
[data-screen-label="find-your-service"] .grid-cards .card:hover h4, [data-screen-label="find-your-service"] .grid-cards .card:hover p { color: #fff !important; }
[data-screen-label="find-your-service"] .grid-cards .card:hover .text-muted { color: rgba(255,255,255,.8) !important; }
[data-screen-label="find-your-service"] .grid-cards .card:hover .text-accent { color: #fff !important; }
[data-screen-label="find-your-service"] .grid-cards .card:hover .svc-ico { color: #fff; }
@media (max-width: 767px) {
#hc-svcs.grid-cards > [data-hidden-mobile] { display: none; }
#hc-svcs.grid-cards.is-open > [data-hidden-mobile] { display: flex; }
}
.hc-strip { background: var(--bg-section-dark); padding: var(--space-16) 0; }
.hc-strip .hc-strip__h { color: var(--text-on-dark); }
.hc-strip .hc-strip__items {
display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5);
}
@media (min-width: 700px) {
.hc-strip .hc-strip__items { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
}
@media (min-width: 1024px) {
.hc-strip .hc-strip__items { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); }
}
.hc-strip .hc-strip__items > li { display: flex; }
.hc-strip .hc-chip {
background: var(--primary-400); border: 2px solid var(--primary-400); color: #fff;
font-size: var(--t-body); font-weight: var(--weight-bold);
width: 100%; justify-content: center; text-align: center; line-height: 1.3;
padding: var(--space-5) var(--space-6);
transition: background var(--transition-base), border-color var(--transition-base), transform var(--transition-base);
}
.hc-strip .hc-chip:hover {
background: var(--primary-400); border-color: var(--primary-400); color: #fff;
transform: translateY(-2px);
}
.hc-strip .hc-chip:focus-visible { outline: 3px solid var(--gray-0); outline-offset: 2px; }
.hc-strip .hc-strip__link { color: var(--primary-300); }
.hc-strip .hc-strip__link:hover { color: #fff; }
.hc-audits .eyebrow { color: #fff; }
.hc-audits .hc-h2 { color: #fff; max-width: 75%; }
.hc-audits .hc-lead { color: #fff; opacity: .95; max-width: 75%; }
.hc-audits .hl { color: #fff; }
.hc-aba { border-left: none; }
.lem { margin-top: var(--space-10); }
.lem__svg { display: block; width: 720px; height: 400px; margin: 0 auto; }
.lem__ghost path { fill: none; stroke: var(--border-default); stroke-width: 66; stroke-linecap: round; opacity: .35; }
.lem-seg { cursor: pointer; outline: none; }
.lem-seg__hit { fill: none; stroke: transparent; stroke-width: 74; stroke-linecap: round; }
.lem-seg__band {
fill: none; stroke: var(--secondary-800); stroke-width: 64; stroke-linecap: round;
transition: stroke var(--transition-base), stroke-width var(--transition-base);
}
.lem-seg:nth-of-type(even) .lem-seg__band { stroke: var(--secondary-600); }
.lem-seg:hover .lem-seg__band, .lem-seg.is-on .lem-seg__band {
stroke: var(--accent-main); stroke-width: 70;
filter: drop-shadow(0 0 10px color-mix(in srgb, var(--accent-main) 55%, transparent));
}
.lem-seg:focus-visible .lem-seg__band { stroke: var(--accent-main); stroke-width: 70; }
.lem-seg__ico { display: block; width: 24px; height: 24px; color: rgba(255,255,255,.9); pointer-events: none; }
.lem-seg__ico svg { width: 100%; height: 100%; }
.lem__panel {
max-width: 46rem; margin: var(--space-8) auto 0; padding: var(--space-8);
text-align: center; background: var(--bg-surface);
border: 1px solid var(--border-default); border-radius: var(--radius-lg);
box-shadow: var(--shadow-surface);
}
.lem__n { font-family: var(--t-font-mono); font-size: var(--t-caption); font-weight: 700; letter-spacing: .12em; color: var(--accent-main); }
.lem__name {
font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-xl);
line-height: 1.2; letter-spacing: -.02em; color: var(--text-heading);
margin: var(--space-3) 0 var(--space-4); max-width: none;
}
.lem__body { font-size: 17px; line-height: 1.65; color: var(--text-muted); margin: 0; }
.lem__data { display: none; }
@media (max-width: 759px) {
.lem__svg, .lem__panel { display: none; }
.lem__data { display: flex; flex-direction: column; }
.lem__data span {
display: block; padding: var(--space-5) 0;
border-bottom: 1px solid var(--border-default);
font-size: var(--t-small); line-height: 1.6; color: var(--text-muted);
}
.lem__data span::before {
content: attr(data-n) "  " attr(data-name);
display: block; font-family: var(--t-font-display); font-weight: 700;
font-size: var(--t-body); line-height: 1.25; color: var(--text-heading);
margin-bottom: var(--space-2);
}
}
.aiw { display: grid; grid-template-columns: 1fr; gap: var(--space-10); margin-top: var(--space-12); }
@media (min-width: 1024px) {
.aiw { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: var(--space-16); align-items: start; }
}
.aiw__roles { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }
.aiw__roles .hc-cols { display: contents; }
.aiw__shot { margin: 0; }
.aiw__shot--tall { aspect-ratio: 4 / 5; }
.aiw__shot--wide { aspect-ratio: 16 / 9; }
@media (min-width: 1024px) {
.aiw__shot--tall { aspect-ratio: auto; min-height: 420px; height: 100%; }
.aiw__shot--wide { aspect-ratio: auto; min-height: 260px; }
}
.aiw__flows { display: grid; grid-template-columns: 1fr; gap: var(--space-10); margin-top: var(--space-16); }
@media (min-width: 1024px) {
.aiw__flows { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: var(--space-16); align-items: center; }
}
.aiw__flows .wf-grid, .aiw__flows .hc-flows { margin-top: 0; }
@media (min-width: 1024px) {
.aiw__flows .wf-grid, .aiw__flows .hc-flows { grid-template-columns: 1fr 1fr; align-items: stretch; }
}
.wf-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-10); counter-reset: wf; }
@media (min-width: 560px) {
.wf-grid { grid-template-columns: 1fr 1fr; gap: var(--space-5); }
}
.wf-item {
counter-increment: wf; position: relative;
display: flex; flex-direction: column; gap: var(--space-3);
height: 100%; padding: var(--space-8) var(--space-6) var(--space-6);
background: var(--bg-surface); border: 1px solid var(--border-default);
border-radius: var(--radius-md); box-shadow: var(--shadow-surface); overflow: hidden;
transition: transform var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}
.wf-item::before {
content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px;
background: var(--accent-main); transform: scaleX(0); transform-origin: left;
transition: transform var(--transition-base);
}
.wf-item:hover { transform: translateY(-3px); border-color: var(--accent-main); box-shadow: var(--shadow-raised); }
.wf-item:hover::before { transform: scaleX(1); }
.wf-item::after {
content: counter(wf);
position: absolute; top: var(--space-6); right: var(--space-6);
font-family: var(--t-font-mono); font-size: var(--t-caption); font-weight: 700;
letter-spacing: .1em; color: var(--border-default);
transition: color var(--transition-base);
}
.wf-item:hover::after { color: var(--accent-main); }
.wf-item__n {
font-family: var(--t-font-display); font-weight: 800;
font-size: var(--text-base); line-height: 1.25;
letter-spacing: var(--tracking-tight); text-transform: none;
color: var(--text-heading); padding-right: var(--space-8);
}
.wf-item__b { font-size: var(--t-small); line-height: 1.6; color: var(--text-muted); margin: 0; }
.case3 { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-12); }
@media (min-width: 760px) {
.case3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
}
.sec-foot { display: flex; justify-content: center; margin-top: var(--space-12); }
.video-frame {
position: relative;
aspect-ratio: 16 / 9;
margin-top: var(--space-12);
background: var(--white-5);
border: 1px solid var(--border-on-dark);
border-radius: var(--radius-lg);
overflow: hidden;
}
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.video-cap { margin-top: var(--space-5); font-size: var(--t-caption); color: var(--text-on-dark-muted); }
.col-light__h {
font-family: var(--t-font-display); font-weight: 700;
font-size: var(--text-base); line-height: 1.3;
color: var(--gray-900); margin: 0 0 var(--space-4);
}
.col-light__b { font-size: var(--t-small); line-height: 1.65; color: var(--gray-600); margin: 0; }
.svcd-card__name {
font-family: var(--t-font-display); font-weight: 700;
font-size: var(--text-base); line-height: 1.3;
color: var(--text-on-dark); margin: 0;
}
.svcd-card__body { font-size: var(--t-small); line-height: 1.6; color: var(--text-on-dark-muted); margin: 0; }
.faq-q-text {
font-family: var(--t-font-body); font-size: var(--t-body);
font-weight: var(--weight-semibold); line-height: 1.45; color: var(--text-heading);
}
.svcd-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-12); }
@media (min-width: 700px) {
.svcd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
.svcd-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); }
}
.svcd-card {
display: flex; flex-direction: column; gap: var(--space-4);
height: 100%; padding: var(--space-8);
background: var(--white-5);
border: 1px solid var(--border-on-dark);
border-radius: var(--radius-lg);
text-decoration: none;
transition: transform var(--transition-base), border-color var(--transition-base), background var(--transition-base);
}
.svcd-card:hover { border-color: var(--primary-300); background: rgba(255,255,255,.09); }
.svcd-card:focus-visible { outline: 2px solid var(--gray-0); outline-offset: 3px; }
.svcd-card__go {
display: inline-flex; align-items: center; gap: 6px;
margin-top: auto; padding-top: var(--space-5); min-height: 44px;
font-size: var(--t-caption); font-weight: 700; letter-spacing: .04em;
text-transform: uppercase; color: var(--primary-300);
}
.svcd-card__go svg { width: 14px; height: 14px; transition: transform var(--transition-base); }
.svcd-card:hover .svcd-card__go svg { transform: translateX(4px); }
.film-foot {
display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
gap: var(--space-5); margin-top: var(--space-8);
font-size: var(--t-small); line-height: 1.6; color: var(--text-on-dark-muted);
}
.film-foot b { color: var(--text-on-dark); font-weight: var(--weight-bold); }
.col-light {
padding: var(--space-8);
background: var(--gray-0);
border: 1px solid var(--border-default);
border-radius: var(--radius-lg);
box-shadow: var(--shadow-surface);
}
.hc-person img, .hc-case__logo img, .aiw__shot image-slot, .logo-tile img {
transition: transform var(--transition-base), filter var(--transition-base),
box-shadow var(--transition-base), opacity var(--transition-base);
}
.aiw__shot { position: relative; border-radius: var(--radius-md); overflow: hidden; }
.aiw__shot image-slot { display: block; width: 100%; height: 100%; filter: saturate(.92); }
.aiw__shot:hover image-slot {
transform: translateY(-3px) scale(1.02);
filter: saturate(1);
}
.aiw__shot:hover { box-shadow: 0 16px 36px -22px rgba(35,31,32,.4); }
.hc-person:hover img { transform: translateY(-3px); filter: saturate(1); box-shadow: 0 16px 36px -22px rgba(35,31,32,.4); }
.hc-case:hover .hc-case__logo img { opacity: 1; transform: translateY(-3px); }
.faq-q.active, .faq-q.active .faq-q-text, .faq-q[aria-expanded="true"], .faq-q[aria-expanded="true"] .faq-q-text { color: var(--text-on-dark); }
.faq-q.active .faq-a-inline, .faq-q[aria-expanded="true"] .faq-a-inline { color: rgba(255,255,255,.85); }
.faq-q.active .faq-a-inline a { color: var(--primary-300); }
.hc-faq__q[aria-expanded="true"], .hc-faq__q[aria-expanded="true"] .hc-faq__qt { color: var(--text-on-dark); }
@media (max-width: 1023px) {
.aiw__shot--tall, .aiw__shot--wide { aspect-ratio: 16 / 9; }
}
.film-foot {
width: 100%;
max-width: var(--container-max);
margin: var(--space-16) auto 0;
padding: 0 var(--container-padding-x);
display: flex;
flex-direction: column;
align-items: flex-start;
gap: var(--space-8);
}
.film-foot .l { max-width: 68ch; }
@media (min-width: 1024px) {
.film-foot { margin-top: var(--space-20); }
}
.hc-logos__h { max-width: none; margin: 0; text-align: left; }
@media (min-width: 1100px) {
.hc-doors { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); }
}
.hc-door { padding: var(--space-8) var(--space-8) var(--space-6); column-gap: var(--space-6); }
.hc-door__ico { width: 72px; height: 72px; }
.hc-door__ico svg { width: 60px; height: 60px; }
.hc-door__name { font-size: var(--text-xl); }
@media (max-width: 699px) {
.hc-door__ico { width: 52px; height: 52px; }
.hc-door__ico svg { width: 44px; height: 44px; }
.hc-door__name { font-size: var(--text-base); }
}
@media (min-width: 700px) and (max-width: 1099px) {
.hc-doors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hc-door__ico { width: 56px; height: 56px; }
.hc-door__ico svg { width: 46px; height: 46px; }
.hc-door__name { font-size: var(--text-lg); }
}
.hc-doors { gap: var(--space-6); align-items: stretch; }
.hc-door { min-height: 208px; }
@media (max-width: 699px) {
.hc-door { min-height: 0; }
}
#audits .pill, #audits2 .pill {
display: inline-flex; align-items: center; gap: 9px;
padding: 7px 16px 7px 13px;
border-radius: var(--radius-full);
font-family: var(--font-mono); font-size: 14px; font-weight: 700;
letter-spacing: .05em; text-transform: uppercase;
margin-bottom: 16px; border: 1px solid;
}
.pill-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 8px; position: relative; background: currentColor; }
.pill-dot::after {
content: ""; position: absolute; inset: 0; border-radius: 50%; background: currentColor;
animation: dapPulse 2s cubic-bezier(.23,1,.32,1) infinite;
}
.pill-dot::before {
content: ""; position: absolute; inset: 0; border-radius: 50%; background: currentColor;
animation: dapPulse 2s cubic-bezier(.23,1,.32,1) 1s infinite;
}
#audits .pill, #audits2 .pill { animation: dapPillGlow 2s cubic-bezier(.23,1,.32,1) infinite; }
@media (prefers-reduced-motion: reduce) {
.pill-dot::after, .pill-dot::before { animation: none }
#audits .pill, #audits2 .pill { animation: none }
}
#audits .pill { background: rgba(255,255,255,.94); border-color: transparent; color: var(--primary-400); }
#audits2 .pill { background: rgba(245, 101, 56,.14); border-color: rgba(245, 101, 56,.45); color: var(--primary-400); }
#audits h2 span { color: #fff !important; }
#audits2 h2 span { color: var(--primary-400) !important; }
.aud-chips { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 26px; }
.aud-chip b { font-family: var(--font-display); font-size: 26px; font-weight: 800; display: block; line-height: 1; }
.aud-chip span { font-size: 14px; opacity: .85; }
.aud-split { display: grid; gap: 32px; margin-top: 38px; align-items: start; }
@media (min-width: 1024px) {
.aud-split { grid-template-columns: .86fr 1.14fr; gap: 44px; }
#audits2 .aud-split { grid-template-columns: 1.14fr .86fr; }
#audits2 .aud-left { order: 2; }
#audits2 .aud-right { order: 1; }
}
.acc {
width: 100%; display: flex; align-items: flex-start; gap: 14px;
background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.28);
padding: 18px 0; cursor: pointer; text-align: left; color: #fff;
font-family: var(--font-display);
}
.acc-n { font-family: var(--font-mono); font-size: 14px; font-weight: 700; opacity: .6; padding-top: 3px; }
.acc-t { font-size: 19px; font-weight: 700; line-height: 1.32; flex: 1; letter-spacing: -.01em; }
.acc-x { width: 22px; height: 22px; flex: 0 0 22px; position: relative; margin-top: 3px; }
.acc-x::before, .acc-x::after { content: ""; position: absolute; background: #fff; transition: transform .25s cubic-bezier(.23,1,.32,1); }
.acc-x::before { left: 0; top: 10px; width: 22px; height: 2px; }
.acc-x::after { left: 10px; top: 0; width: 2px; height: 22px; }
.acc[aria-expanded="true"] .acc-x::after { transform: scaleY(0); }
.acc[aria-expanded="true"] { border-bottom-color: transparent; }
.acc[aria-expanded="true"] .acc-n { opacity: 1; }
.acc-b { border-bottom: 1px solid rgba(255,255,255,.28); padding: 0 0 20px 34px; }
.acc-b p { font-size: 15px; line-height: 1.65; color: rgba(255,255,255,.88); max-width: 52ch; }
#audits2 .acc, #audits2 .acc-b { border-bottom-color: rgba(255,255,255,.18); }
#audits2 .acc[aria-expanded="true"] { border-bottom-color: transparent; }
#audits2 .acc-b p { color: rgba(255,255,255,.78); }
#audits2 .acc-x::before, #audits2 .acc-x::after { background: var(--primary-400); }
.aud-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.aud-ctas .btn { white-space: nowrap; }
#audits .aud-ctas .btn--primary { background: #fff; color: var(--secondary-800); border-color: #fff; }
#audits .aud-ctas .btn--primary:hover { background: var(--gray-100); color: var(--secondary-800); border-color: var(--gray-100); }
.aud-note { font-size: 14px; color: rgba(255,255,255,.8); margin-top: 16px; line-height: 1.55; max-width: 56ch; }
#audits2 .aud-note { color: rgba(255,255,255,.6); }
.pane-img {
width: 100%; height: auto; display: block; border-radius: 14px;
box-shadow: 0 4px 6px rgba(0,0,0,.05), 0 24px 48px -12px rgba(4,28,44,.28);
}
#audits2 .pane-img { box-shadow: 0 24px 60px -20px rgba(0,0,0,.55); }
.pane-cap { font-size: 14px; color: rgba(255,255,255,.82); margin-top: 14px; line-height: 1.5; }
#audits2 .pane-cap { color: rgba(255,255,255,.62); }
.team-sec { padding-block: 0 8px !important; padding-inline: 0 !important; overflow-x: clip; }
.team-sec .container { padding-bottom: 0; }
.team-line { margin: 0 0 22px; font-size: 19px; line-height: 1.6; color: var(--gray-500); max-width: 640px; width: 100%; }
.team-line strong { color: var(--secondary-800); font-weight: 700; }
.team-grid {
display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; gap: 4px;
position: relative; left: 50%; margin-left: -50vw; width: 100vw;
}
@media (min-width: 768px) {
.team-grid { grid-template-columns: repeat(4, 1fr); }
}
.team-grid figure { margin: 0; overflow: hidden; position: relative; background: var(--secondary-800); aspect-ratio: 3/2; }
.team-grid img {
display: block; width: 100%; height: 100%; object-fit: cover;
filter: grayscale(.5) contrast(1.05);
transition: filter .45s cubic-bezier(.23,1,.32,1), transform .7s cubic-bezier(.23,1,.32,1);
}
.team-grid figure:hover img { filter: none; transform: scale(1.05); }
@media (min-width: 768px) {
.team-grid .lg { grid-column: 1 / span 2; grid-row: 1 / span 2; aspect-ratio: auto; height: 100%; }
}
.pane-img[width="1520"][height="920"] { aspect-ratio: 1520 / 920; }
.pane-img[width="1520"][height="956"] { aspect-ratio: 1520 / 956; }
.pane-img[width="1520"][height="952"] { aspect-ratio: 1520 / 952; }
#audits2 { background: var(--bg-section-dark); }
#audits2 {
background: var(--secondary-800);
color: var(--text-on-dark);
}
#audits2 h2 { color: #fff; }
#audits2 .lead { color: rgba(255,255,255,.9); }
#audits2 .aud-chip b { color: #fff; }
#audits2 .aud-chip span { color: rgba(255,255,255,.85); }
#audits2 .acc { color: #fff; }
#audits2 .acc-t { color: #fff; }
#audits h2 { color: #fff; }
#audits .lead { color: #fff; }
#audits .aud-chip b { color: #fff; }
#audits .aud-chip span { color: #fff; }
#audits .acc, #audits .acc-t { color: #fff; }
#audits .acc-b p { color: #fff; }
#audits .aud-note { color: #fff; }
#audits .pane-cap { color: #fff; }
#audits2 .aud-chips {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-6);
padding: var(--space-8);
background: rgba(255,255,255,.10);
border: 1px solid rgba(255,255,255,.18);
border-radius: 14px;
width: 100%;
}
@media (min-width: 700px) {
#audits2 .aud-chips { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
#audits { background: var(--primary-400); }
#audits h2 span {
color: #fff !important;
background: var(--secondary-800);
padding: 0 .28em;
border-radius: 4px;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
}
#audits .aud-chips {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-6);
padding: var(--space-8);
background: rgba(255,255,255,.10);
border: 1px solid rgba(255,255,255,.22);
border-radius: 14px;
width: 100%;
}
@media (min-width: 700px) {
#audits .aud-chips { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
.lem__svg { width: 70%; height: auto; aspect-ratio: 720 / 400; }
}
.lem-seg__ico { width: 26px; height: 26px; }
.lem-seg__ico svg { width: 100%; height: 100%; }
.team-sec .container { padding-top: var(--section-padding-y); }
@media (min-width: 1024px) {
.aiw__flows .wf-grid, .aiw__flows .hc-flows { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.aiw__flows { align-items: stretch; }
.aiw__flows .aiw__shot--wide {
aspect-ratio: auto;
height: 100%;
min-height: 0;
}
.aiw__flows .aiw__shot--wide image-slot, .aiw__flows .aiw__shot--wide img { height: 100%; object-fit: cover; }
}
@media (min-width: 1024px) {
.aiw { align-items: stretch; }
.aiw__shot--tall { aspect-ratio: auto; height: 100%; min-height: 0; }
.aiw__shot--tall image-slot, .aiw__shot--tall img { height: 100%; object-fit: cover; }
}
.hc-strip { padding: var(--section-padding-y) 0; }
#audits { padding: var(--section-padding-y) 0; }
#audits2 { padding: var(--section-padding-y) 0; }
#trust-bar { padding-top: var(--section-padding-y); padding-bottom: var(--section-padding-y); }
.team-sec { padding-block: 0 !important; }
.team-sec .container { padding-top: var(--section-padding-y); padding-bottom: var(--section-padding-y); }
#audits, #audits2 { padding: calc(var(--section-padding-y) + var(--space-12)) 0; }
@media (max-width: 480px) {
.aud-ctas .btn {
white-space: normal;
text-align: center;
height: auto;
min-height: 48px;
padding: var(--space-4) var(--space-6);
line-height: 1.35;
}
}
.lem__svg { max-width: 100%; }
@media (min-width: 900px) {
.prob-close { margin-top: var(--space-8); font-size: var(--t-body); }
#problem { padding-top: var(--space-16); padding-bottom: var(--space-16); }
#problem > .container > .hc-lead {
font-size: var(--t-body);
line-height: 1.55;
max-width: 62ch;
margin-bottom: var(--space-8);
}
#problem > .container > .hc-h2 { margin-bottom: var(--space-4); }
}
@media (min-width: 900px) {
.hc-strip { padding: var(--space-12) 0; }
.hc-strip .hc-strip__h { margin-bottom: var(--space-6); }
.hc-strip .hc-strip__items { gap: var(--space-4); margin-bottom: var(--space-6); }
.hc-strip .hc-chip {
padding: var(--space-4) var(--space-5);
font-size: var(--t-small);
line-height: 1.25;
}
}
@media (min-width: 900px) {
#audits, #audits2 { padding: var(--space-16) 0; }
#audits .pill, #audits2 .pill { margin-bottom: 12px; }
#audits h2, #audits2 h2 { margin-bottom: var(--space-4); }
#audits .lead, #audits2 .lead { font-size: var(--t-body); line-height: 1.55; max-width: 66ch; }
#audits .aud-chips, #audits2 .aud-chips { padding: var(--space-5); gap: var(--space-4); margin-top: var(--space-6); }
.aud-chip b { font-size: 21px; }
.aud-split { margin-top: var(--space-8); gap: var(--space-10); }
.acc { padding: 12px 0; }
.acc-t { font-size: 16px; line-height: 1.3; }
.acc-b { padding-bottom: 14px; }
.acc-b p { font-size: var(--t-caption); line-height: 1.55; }
.aud-ctas { margin-top: var(--space-6); }
.aud-note { margin-top: 10px; font-size: var(--t-caption); }
.pane-cap { margin-top: 10px; font-size: var(--t-caption); }
}
@media (min-width: 900px) {
#audits .acc-b p, #audits2 .acc-b p { max-width: 46ch; }
}
@media (min-width: 900px) {
#cases { padding: var(--space-16) 0; }
#cases > .container > .hc-h2 { margin-bottom: var(--space-4); }
.case3 { gap: var(--space-5); margin-top: var(--space-8); }
.hc-case { padding: var(--space-6); gap: var(--space-3); }
.hc-case__head { font-size: var(--t-body); line-height: 1.35; }
.hc-case__logo img { max-height: 44px; }
.sec-foot { margin-top: var(--space-8); }
}
@media (min-width: 900px) {
#how-we-help { padding: var(--space-16) 0; }
#how-we-help > .container > .hc-h2 { margin-bottom: var(--space-4); }
#how-we-help > .container > .hc-lead { font-size: var(--t-body); line-height: 1.55; margin-bottom: var(--space-6); }
.lem { margin-top: var(--space-6); gap: var(--space-10); }
.lem__svg { width: 52%; }
.lem__panel { padding: var(--space-6); }
.lem__name { font-size: var(--text-lg); margin: var(--space-2) 0 var(--space-3); }
.lem__body { font-size: var(--t-caption); line-height: 1.55; }
}
@media (min-width: 1024px) {
.lem {
display: grid;
grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
align-items: center;
gap: var(--space-12);
}
.lem__svg { width: 100%; margin: 0; }
.lem__panel {
margin: 0;
max-width: none;
text-align: left;
}
}
.aiw__shot img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 12px; }
.slide-band { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); margin-top: var(--space-12); }
.slide-shot { margin: 0; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--secondary-900); }
.slide-shot img { width: 100%; height: 100%; object-fit: contain; display: block; }
.aiw__shot img { object-fit: contain; }
#reporting { padding: var(--space-16) 0; }
#reporting .slide-band { margin-top: 0; }
.slide-band { grid-column: 1 / -1; }
@media (min-width: 1024px) {
.aiw__flows .aiw__shot--wide img { object-fit: contain; }
}
#reporting { padding: var(--space-16) 0; }
.slide-band { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-top: 0; }
@media (min-width: 900px) {
.slide-band { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
}
.slide-shot {
margin: 0; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden;
background: var(--secondary-900); border: 1px solid var(--border-default);
cursor: zoom-in; position: relative;
transition: transform var(--transition-base), border-color var(--transition-base);
}
.slide-shot:hover { transform: translateY(-3px); border-color: var(--accent-main); }
.slide-shot img { width: 100%; height: 100%; object-fit: contain; display: block; }
.slide-shot::after {
content: "Click to enlarge";
position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%);
font-family: var(--t-font-mono); font-size: var(--t-caption); font-weight: 700;
letter-spacing: .06em; text-transform: uppercase;
color: #fff; background: rgba(4,28,44,.82); padding: 6px 12px; border-radius: var(--radius-full);
pointer-events: none;
}
.slide-lb {
position: fixed; inset: 0; z-index: 2000; display: none;
place-items: center; padding: var(--space-8);
background: rgba(4,28,44,.94);
}
.slide-lb[open] { display: grid; }
.slide-lb img { max-width: 100%; max-height: 100%; width: auto; height: auto; border-radius: 8px; }
.slide-lb__x {
position: absolute; top: var(--space-6); right: var(--space-6);
width: 44px; height: 44px; border-radius: 50%;
background: none; border: 2px solid rgba(255,255,255,.5); color: #fff;
font-size: var(--text-lg); cursor: pointer;
}
.slide-lb__x:hover { border-color: #fff; background: rgba(255,255,255,.1); }
@media (min-width: 900px) {
#audits .aud-left, #audits2 .aud-left { max-height: 430px; overflow: hidden; }
#audits .acc-b, #audits2 .acc-b { padding-bottom: 10px; }
#audits .acc-b p, #audits2 .acc-b p { font-size: var(--t-caption); line-height: 1.5; max-width: 44ch; }
#audits .aud-split, #audits2 .aud-split { align-items: start; }
}
@media (min-width: 900px) {
#audits .aud-left, #audits2 .aud-left { max-height: none; overflow: visible; }
#audits, #audits2 { padding: var(--space-12) 0; }
#audits .lead, #audits2 .lead { font-size: var(--t-small); line-height: 1.5; max-width: 62ch; }
#audits .aud-chips, #audits2 .aud-chips { padding: var(--space-4); gap: var(--space-3); margin-top: var(--space-5); }
.aud-chip b { font-size: 18px; }
.aud-chip span { font-size: var(--t-caption); }
.aud-split { margin-top: var(--space-6); }
.acc { padding: 9px 0; }
.acc-t { font-size: 15px; line-height: 1.28; }
.acc-b { padding: 0 0 10px 30px; }
.acc-b p { font-size: var(--t-caption); line-height: 1.45; max-width: 46ch; }
.aud-ctas { margin-top: var(--space-5); }
#problem { padding: var(--space-12) 0; }
.prob-close { margin-top: var(--space-6); font-size: var(--t-small); }
#how-ai-works { padding: var(--space-12) 0; }
#how-ai-works > .container > .hc-lead { font-size: var(--t-small); line-height: 1.5; margin-bottom: var(--space-6); }
.aiw { margin-top: var(--space-8); gap: var(--space-10); }
.aiw__flows { margin-top: var(--space-10); }
.col-light, .hc-col { padding: var(--space-5); }
.col-light__h, .hc-col__h { font-size: var(--t-body); margin-bottom: var(--space-3); }
.col-light__b, .hc-col__b { font-size: var(--t-caption); line-height: 1.5; }
.wf-item, .hc-flow { padding: var(--space-5) var(--space-5) var(--space-4); }
.wf-item__n, .hc-flow__n { font-size: var(--t-small); }
.wf-item__b, .hc-flow__b { font-size: var(--t-caption); line-height: 1.45; }
}
@media (min-width: 1024px) {
.aiw:not(:has(.aiw__shot)) { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
.aiw:not(:has(.aiw__shot)) .aiw__roles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.aiw__flows:not(:has(.aiw__shot)) { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.aiw__flows:not(:has(.aiw__shot)) .wf-grid, .aiw__flows:not(:has(.aiw__shot)) .hc-flows { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.aiw:not(:has(.aiw__shot)) .aiw__shot--tall { aspect-ratio: 16 / 9; height: auto; }
}
@media (min-width: 900px) {
#audits h2, #audits2 h2 { font-size: clamp(22px, 2vw, 28px); line-height: 1.15; max-width: 30ch; }
#audits .acc-b p, #audits2 .acc-b p { max-width: 42ch; }
}
@media (min-width: 1024px) {
.aiw:has(.aiw__shot) .col-light, .aiw:has(.aiw__shot) .hc-col { padding: var(--space-4); }
.aiw:has(.aiw__shot) .col-light__h, .aiw:has(.aiw__shot) .hc-col__h { font-size: var(--t-small); margin-bottom: var(--space-2); }
.aiw:has(.aiw__shot) .col-light__b, .aiw:has(.aiw__shot) .hc-col__b { font-size: var(--t-caption); line-height: 1.45; }
.aiw:has(.aiw__shot) .aiw__roles { gap: var(--space-3); }
.aiw__flows .hc-note { grid-column: 1 / -1; }
}
@media (min-width: 1024px) {
.aiw:has(.aiw__shot) .aiw__roles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.aiw__flows:has(.aiw__shot) .hc-flows { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
}
@media (min-width: 1024px) {
.aiw__flows:not(:has(.aiw__shot)) { grid-template-columns: minmax(0, 1fr); }
}
.acc-b p, .col-light__b, .hc-col__b, .wf-item__b, .hc-flow__b, .hc-door {
grid-template-columns: minmax(0, 1fr);
grid-template-rows: auto auto auto 1fr;
row-gap: var(--space-3);
}
.hc-door__ico { grid-column: 1; grid-row: 1; }
.hc-door__name { grid-column: 1; grid-row: 2; }
.hc-door__sub { grid-column: 1; grid-row: 3; }
.hc-door__go { grid-column: 1; grid-row: 4; align-self: end; }
.faq-split { display: block !important; }
.faq-panel { display: none !important; }
.faq-q-list { max-width: 76ch; }
.faq-a-inline {
display: none;
padding: 0 var(--space-6) var(--space-6) 3.2ch;
font-size: var(--t-small);
line-height: 1.7;
color: var(--text-muted);
max-width: 72ch;
}
.faq-q.active + .faq-a-inline, .faq-q[aria-expanded="true"] + .faq-a-inline { display: block; }
.faq-q.active + .faq-a-inline a { color: var(--accent-main); font-weight: var(--weight-semibold); }
.faq-q.active {
background: none;
color: var(--text-heading);
border-radius: 0;
padding-left: var(--space-6);
}
.faq-q.active .faq-q-text { color: var(--accent-main); }
.faq-q.active::before { color: var(--accent-main); }
.faq-item-wrap:has(.faq-q.active) { border-bottom-color: var(--border-default); }
.faq-q.active .faq-q-text, .faq-q[aria-expanded="true"] .faq-q-text { color: var(--primary-400) !important; }
.hc-person__r { color: var(--primary-400); }
main > section:not([data-theme="dark-section"]):not(.hc-audits) .hl { color: var(--primary-400); }
.hc-logolink { color: var(--primary-400); }
#audits .pill { color: var(--primary-400); }
#audits { background: var(--primary-400); }
.aud-right .pane-img, #audits .pane-img, #audits2 .pane-img { width: 100%; max-width: none; height: auto; }
#audits .aud-right, #audits2 .aud-right { max-height: none; }
#audits .pane-img, #audits2 .pane-img { max-height: none; width: 100%; height: auto; }
#audits .aud-left, #audits2 .aud-left { max-height: none; overflow: visible; }
#trust-bar .hc-proof__v { color: var(--primary-400); }
.hc-proof__v { color: var(--primary-400); }
#audits .aud-chips { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.40); }
#audits { background: var(--primary-400); }
#trust-bar .hc-proof__v, .hc-proof__v { color: var(--primary-400); }
.eyebrow { color: var(--accent-main); }
[data-theme="dark-section"] .eyebrow, [data-theme="dark-section"] .hl { color: var(--accent-main); }
.hc-formcard .eyebrow { color: var(--accent-main); }
.text-accent { color: var(--accent-main); }
.team-cta { margin-top: var(--space-12); }
.logo-strip {
position: relative;
overflow: hidden;
margin-top: var(--space-10);
-webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.logo-strip:focus-visible { outline: 3px solid var(--accent-main); outline-offset: 4px; }
.logo-strip__track {
display: flex;
align-items: center;
gap: var(--space-16);
width: max-content;
animation: logo-scroll 120s linear infinite;
}
.logo-strip:hover .logo-strip__track, .logo-strip:focus-within .logo-strip__track { animation-play-state: paused; }
.logo-strip .client-logo-pill, .logo-strip .logo-tile {
background: none;
border: none;
box-shadow: none;
border-radius: 0;
padding: 0;
min-height: 0;
flex: 0 0 auto;
transform: none;
}
.logo-strip img {
height: 46px;
width: auto;
max-height: none;
filter: grayscale(1);
opacity: .62;
transition: filter var(--transition-base), opacity var(--transition-base);
}
.logo-strip a:hover img, .logo-strip a:focus-visible img { filter: none; opacity: 1; }
.logo-strip a:hover, .logo-strip a:focus-visible { transform: none; border-color: transparent; }
.logo-lockup { display: inline-flex; align-items: center; gap: var(--space-3); flex: 0 0 auto; text-decoration: none; }
.logo-lockup__mono {
display: inline-flex; align-items: center; justify-content: center;
width: 40px; height: 40px; border-radius: 50%;
background: var(--secondary-800); color: #fff;
font-family: var(--t-font-display); font-weight: 800; font-size: var(--t-small);
letter-spacing: .02em; flex: none;
}
.logo-lockup__name {
font-family: var(--t-font-display); font-weight: 700; font-size: var(--t-small);
line-height: 1.25; color: var(--secondary-800); white-space: nowrap;
opacity: .62; transition: opacity var(--transition-base);
}
.logo-lockup:hover .logo-lockup__name, .logo-lockup:focus-visible .logo-lockup__name { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
.logo-strip { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
.logo-strip__track { animation: none; }
.logo-strip__track > [data-dup] { display: none; }
}
.hc-case {
display: flex;
flex-direction: column;
gap: var(--space-4);
}
.hc-case__logo {
display: flex;
align-items: center;
justify-content: flex-start;
height: 40px;
margin-bottom: var(--space-2);
}
.hc-case__logo img {
max-height: 40px;
max-width: 70%;
width: auto;
height: auto;
object-fit: contain;
object-position: left center;
}
.hc-case__client, .hc-case__head, .hc-case__go { grid-column: auto; grid-row: auto; }
.hc-case__go { margin-top: auto; }
[data-screen-label="committee"] .file .chip, .file .chip {
display: inline-flex;
align-items: center;
gap: 7px;
background: none;
border: 1.5px solid color-mix(in srgb, var(--accent-main) 45%, transparent);
border-radius: var(--radius-full);
padding: var(--space-2) var(--space-5) var(--space-2) var(--space-4);
font-family: var(--t-font-body);
font-size: var(--t-caption);
font-weight: var(--weight-bold);
letter-spacing: 0;
color: var(--secondary-800);
transition: border-color var(--transition-base), background var(--transition-base);
}
[data-screen-label="committee"] .file .chip::before, .file .chip::before {
content: "";
width: 11px; height: 6px;
border-left: 2px solid var(--accent-main);
border-bottom: 2px solid var(--accent-main);
transform: rotate(-45deg) translateY(-2px);
flex: none;
}
[data-screen-label="committee"] .file:hover .chip, .file:hover .chip {
border-color: var(--accent-main);
background: color-mix(in srgb, var(--accent-main) 8%, transparent);
}
.logo-strip .client-logo-pill, .logo-strip .logo-tile, .hc-logos .logo-strip .client-logo-pill, .hc-logos .logo-strip .logo-tile {
background: none;
border: none;
box-shadow: none;
border-radius: 0;
padding: 0;
min-height: 0;
height: auto;
flex: 0 0 auto;
}
.hc-logos .logo-strip .client-logo-pill img, .hc-logos .logo-strip .logo-tile img { height: 46px; width: auto; max-height: 46px; }
.hc-logos .logo-strip a.client-logo-pill:hover, .hc-logos .logo-strip a.logo-tile:hover { transform: none; border-color: transparent; }
.logo-strip .logo-tile__name {
font-family: var(--t-font-display);
font-weight: 700;
font-size: var(--t-small);
color: var(--secondary-800);
white-space: nowrap;
opacity: .62;
transition: opacity var(--transition-base);
}
.logo-strip a:hover .logo-tile__name { opacity: 1; }
#audits .hc-h2, #audits2 .hc-h2 { font-size: clamp(22px, 2vw, 30px); }
#audits .hc-lead, #audits2 .hc-lead { font-size: var(--t-body); }
.aud-chip b { font-size: 21px; }
.aud-chip span { font-size: var(--t-caption); }
.acc-t { font-size: var(--t-body); }
.acc-b p { font-size: var(--t-caption); line-height: 1.6; }
.pane-cap { font-size: var(--t-caption); }
.aud-note { font-size: var(--t-caption); }
@media (min-width: 1024px) {
.aud-split { gap: var(--space-12); }
#audits, #audits2 { padding: calc(var(--section-padding-y) + var(--space-6)) 0; }
}
.slide-shot { margin: 0; }
.slide-shot__btn { display: block; width: 100%; padding: 0; background: none; border: 0; cursor: zoom-in; }
.slide-shot__btn img { width: 100%; height: auto; display: block; border-radius: 12px; box-shadow: 0 18px 40px -22px rgba(4,28,44,.45); }
.slide-shot__btn:focus-visible { outline: 3px solid var(--accent-main); outline-offset: 3px; }
.slide-shot__cap { margin-top: var(--space-3); font-size: var(--t-caption); color: var(--text-muted); line-height: 1.5; }
.slide-lightbox { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; padding: var(--space-10); background: rgba(4,28,44,.92); }
.slide-lightbox[hidden] { display: none; }
.slide-lightbox img { max-width: 100%; max-height: 100%; width: auto; height: auto; border-radius: 10px; }
.slide-lightbox__close { position: absolute; top: var(--space-8); right: var(--space-8); width: 44px; height: 44px; border-radius: 50%; border: 2px solid rgba(255,255,255,.5); background: none; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.slide-lightbox__close:hover { border-color: #fff; }
@media (min-width: 1100px) {
.lem {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
align-items: center;
gap: var(--space-10);
}
.lem__svg { grid-column: 2; grid-row: 1; margin: 0; }
.lem__panel { grid-column: 3; grid-row: 1; margin: 0; max-width: none; text-align: left; }
.lem[data-side="left"] .lem__panel { grid-column: 1; }
}
.lem__name { font-size: calc(var(--text-xl) + 2px); }
.lem__body { font-size: calc(var(--t-small) + 2px); line-height: 1.7; }
#how-we-help .hc-lead { font-size: calc(var(--t-body) + 2px); }
.hc-case__head { font-size: var(--t-small); line-height: 1.6; color: var(--text-muted); }
.hc-case { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto; row-gap: var(--space-3); }
.hc-case__logo {
grid-column: 1; grid-row: 1;
justify-content: flex-start; align-items: center;
height: 34px; margin-bottom: var(--space-2);
}
.hc-case__logo img { max-height: 34px; max-width: 150px; object-position: left center; }
.hc-case__client { grid-column: 1; grid-row: 2; }
.hc-case__head { grid-column: 1; grid-row: 3; }
.hc-case__go { grid-column: 1; grid-row: 4; }
.logo-strip .logo-tile, .logo-strip .client-logo-pill {
flex: 0 0 auto !important;
width: auto !important;
background: none !important;
border: none !important;
box-shadow: none !important;
border-radius: 0 !important;
padding: 0 !important;
min-height: 0 !important;
height: auto !important;
}
.logo-strip .logo-tile img, .logo-strip .client-logo-pill img { height: 46px !important; width: auto !important; max-height: 46px !important; max-width: 180px !important; }
.logo-strip { overflow: hidden; }
#how-ai-works { background: var(--gray-0); border-top-color: transparent; }
.aiw-roles { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }
@media (min-width: 900px) {
.aiw-roles { grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
}
.aiw-role {
padding: var(--space-8);
background: rgba(255,255,255,.05); border: 1px solid var(--border-on-dark);
border-radius: var(--radius-lg);
}
.aiw-role h3 {
font-family: var(--t-font-display); font-weight: 700; font-size: var(--text-base);
line-height: 1.3; color: var(--text-heading); margin: 0 0 var(--space-3); max-width: none;
}
.aiw-role p { font-size: var(--t-small); line-height: 1.65; color: var(--text-muted); margin: 0; }
.aiw-screens { display: grid; grid-template-columns: 1fr; gap: var(--space-6); margin-top: var(--space-12); }
@media (min-width: 1024px) {
.aiw-screens { grid-template-columns: 1fr 1fr; }
}
.aiw-screens figure { margin: 0; }
.aiw-img {
width: 100%; height: auto; display: block;
border-radius: 12px; border: 1px solid var(--border-on-dark);
box-shadow: 0 24px 60px -20px rgba(0,0,0,.6);
}
.aiw-screens figcaption {
margin-top: var(--space-4);
font-family: var(--t-font-mono); font-size: var(--t-caption); font-weight: 700;
letter-spacing: var(--tracking-wide); text-transform: uppercase;
color: var(--primary-300);
}
.aiw-flows { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-16); padding-top: var(--space-10); border-top: 1px solid var(--black-15); }
@media (min-width: 700px) {
.aiw-flows { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
.aiw-flows { grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
}
.aiw-flow { padding: var(--space-6); }
.aiw-flow span:not(.aiw-flow__n) {
display: block; font-family: var(--t-font-mono); font-size: var(--t-caption);
font-weight: 700; letter-spacing: .1em; color: var(--primary-500); margin-bottom: var(--space-2);
}
.aiw-flow h4 {
font-family: var(--t-font-display); font-weight: 700; font-size: var(--t-body);
line-height: 1.3; color: var(--text-heading); margin: 0 0 var(--space-2); max-width: none;
}
.aiw-flow p { font-size: var(--t-caption); line-height: 1.6; color: var(--text-muted); margin: 0; }
@media (min-width: 900px) {
.lem {
display: grid;
grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr) minmax(0, .7fr);
align-items: start;
gap: var(--space-10);
}
.lem__svg { grid-column: 2; grid-row: 1; width: 100%; margin: 0; }
.lem__panel { grid-row: 1; margin: 0; max-width: none; text-align: left; }
.lem[data-side="right"] .lem__panel { grid-column: 3; }
.lem[data-side="left"]  .lem__panel { grid-column: 1; text-align: right; }
}
#how-ai-works .aiw-flows { margin-top: var(--space-20); }
@media (min-width: 1024px) {
#how-ai-works .aiw-flows { margin-top: var(--space-24); }
}
#how-ai-works .aiw-screens { width: 100%; margin-left: 0; }
#how-ai-works { padding-bottom: var(--section-padding-y); }
@media (min-width: 900px) {
.faq-q-list { columns: 2; column-gap: var(--space-16); }
.faq-item-wrap { break-inside: avoid; }
}
.faq-item-wrap { border-bottom: 1px solid var(--border-default); }
.faq-q { padding: var(--space-5) 0 !important; border-left: 3px solid transparent !important; padding-left: var(--space-5) !important; }
.faq-q.active { border-left-color: var(--accent-main) !important; background: none !important; }
.faq-q.active .faq-q-text { color: var(--accent-main) !important; }
.faq-q.active + .faq-a-inline { padding: 0 0 var(--space-5) var(--space-5) !important; border-left: 3px solid var(--accent-main) !important; }
.faq-split { display: block !important; }
.faq-panel { display: none !important; }
.faq-q-list { columns: auto !important; column-gap: normal !important; max-width: 900px; margin: 0 auto; border-top: 1px solid var(--border-default); }
.faq-item-wrap { border-bottom: 1px solid var(--border-default); break-inside: auto; }
.faq-q {
display: flex !important;
align-items: center;
justify-content: space-between;
gap: var(--space-6);
width: 100%;
padding: var(--space-6) 0 !important;
border: none !important;
border-left: none !important;
background: none !important;
text-align: left;
}
.faq-q-text { font-size: var(--t-body); font-weight: 700; color: var(--text-heading); }
.faq-q:hover .faq-q-text { color: var(--accent-main); }
.faq-q.active .faq-q-text { color: var(--text-heading) !important; }
.faq-q::after {
content: "";
flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%;
background: var(--bg-section-alt);
background-image: linear-gradient(var(--text-muted), var(--text-muted)), linear-gradient(var(--text-muted), var(--text-muted));
background-size: 12px 2px, 2px 12px;
background-position: center, center;
background-repeat: no-repeat;
transition: background-color var(--transition-base), background-size var(--transition-base), transform var(--transition-base);
}
.faq-q.active::after {
background-color: var(--accent-main);
background-image: linear-gradient(#fff, #fff), linear-gradient(#fff, #fff);
background-size: 12px 2px, 2px 12px;
transform: rotate(45deg);
}
.faq-q.active + .faq-a-inline, .faq-q[aria-expanded="true"] + .faq-a-inline {
display: block;
border: none !important;
background: none !important;
color: var(--text-muted) !important;
font-size: var(--t-small);
line-height: 1.75;
padding: 0 var(--space-16) var(--space-6) var(--space-8) !important;
max-width: 74ch;
}
.faq-q-list { max-width: none !important; margin: 0 !important; }
a.hc-person:hover img, a.hc-person:focus-visible img {
outline: 3px solid var(--accent-main);
outline-offset: -3px;
}
a.hc-person:hover .hc-person__n, a.hc-person:focus-visible .hc-person__n { color: var(--accent-main); }
a.hc-person:focus-visible { outline: none; }
.hc-case { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto auto; }
.hc-case__logo {
grid-column: 1; grid-row: 1;
justify-content: flex-start; align-items: center;
height: 34px; margin-bottom: var(--space-4);
}
.hc-case__logo img { max-height: 34px; object-position: left center; }
.hc-case__client { grid-column: 1; grid-row: 2; }
.hc-case__head { grid-column: 1; grid-row: 3; }
.hc-case__go { grid-column: 1; grid-row: 4; }
.hc-case__client { color: var(--secondary-800) !important; }
.team-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-8); margin-top: var(--space-12); }
.team-foot .hc-close-line { flex: 1 1 32rem; max-width: 62ch; margin: 0; }
.team-foot .btn { flex: 0 0 auto; }
.team-sec { display: flow-root; padding-bottom: var(--space-6); }
.logo-strip__track { --logo-gap: 32px; column-gap: var(--logo-gap); }
.logo-strip__track img, .logo-strip .logo-tile img {
height: 46px !important;
width: auto !important;
max-width: 180px !important;
max-height: 46px !important;
object-fit: contain;
aspect-ratio: auto !important;
}
.logo-strip .logo-tile { flex: 0 0 auto; }
.hc-awards .aw-grid {
display: grid; grid-template-columns: minmax(0, 1fr);
gap: 0; margin-top: var(--space-12);
border-top: 1px solid var(--border-default);
}
@media (min-width: 620px) {
.hc-awards .aw-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
.hc-awards .aw-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.aw-item {
display: flex; align-items: center; gap: var(--space-5);
padding: var(--space-6) var(--space-5);
border-bottom: 1px solid var(--border-default);
border-right: 1px solid var(--border-default);
transition: background var(--transition-base);
}
.aw-item:hover { background: var(--gray-0); }
@media (min-width: 1024px) {
.aw-item:nth-child(4n) { border-right: none; }
}
@media (min-width: 620px) and (max-width: 1023px) {
.aw-item:nth-child(2n) { border-right: none; }
}
@media (max-width: 619px) {
.aw-item { border-right: none; }
}
.aw-item__badge {
flex: 0 0 62px; display: flex; align-items: center; justify-content: center;
width: 62px; height: 62px;
}
.aw-item__badge img {
max-width: 100%; max-height: 62px; width: auto; height: auto; object-fit: contain;
filter: grayscale(1); opacity: .78;
transition: filter var(--transition-base), opacity var(--transition-base);
}
.aw-item:hover .aw-item__badge img { filter: none; opacity: 1; }
.aw-item__text { min-width: 0; }
.aw-item__name {
display: block; font-family: var(--t-font-display); font-weight: 800;
font-size: var(--t-body-lg); line-height: 1.15; color: var(--accent-main);
letter-spacing: var(--tracking-tight);
}
.aw-item__line {
margin: 4px 0 0; font-size: var(--t-small); line-height: 1.45; color: var(--text-muted);
text-wrap: pretty;
}
@media (prefers-reduced-motion: reduce) {
.aw-item, .aw-item__badge img { transition: none; }
}
.hc-case__logo {
height: 80px;
padding-top: 6px;
padding-bottom: 6px;
margin-bottom: var(--space-4);
}
.hc-case__logo img { max-height: 68px; max-width: 100%; object-position: left center; }
@media (max-width: 699px) {
.hc-case__logo { height: 68px; }
.hc-case__logo img { max-height: 56px; }
}
.hc-awards__h {
font-family: var(--t-font-body); font-size: var(--t-small); font-weight: 700;
letter-spacing: var(--tracking-widest); text-transform: uppercase;
color: var(--accent-main); max-width: none; margin: 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
.hc-awards .aw-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aw-item:nth-child(3n) { border-right: none; }
.aw-item:nth-child(2n) { border-right: 1px solid var(--border-default); }
}
[data-screen-label="services"] .grid-cards .card:hover h4, [data-screen-label="services"] .grid-cards .card:hover p, [data-screen-label="services"] .grid-cards .card:hover .text-muted, [data-screen-label="services"] .grid-cards .card:hover .text-accent, [data-screen-label="services"] .grid-cards .card:hover .mono-tag, [data-screen-label="services"] .grid-cards .card:hover .svc-ico, [data-screen-label="find-your-service"] .grid-cards .card:hover h4, [data-screen-label="find-your-service"] .grid-cards .card:hover p, [data-screen-label="find-your-service"] .grid-cards .card:hover .text-muted, [data-screen-label="find-your-service"] .grid-cards .card:hover .text-accent, [data-screen-label="find-your-service"] .grid-cards .card:hover .mono-tag, [data-screen-label="find-your-service"] .grid-cards .card:hover .svc-ico {
color: var(--secondary-800) !important;
opacity: 1;
}
[data-screen-label="services"] .grid-cards .card:hover h4, [data-screen-label="services"] .grid-cards .card:hover p, [data-screen-label="services"] .grid-cards .card:hover .text-muted, [data-screen-label="services"] .grid-cards .card:hover .text-accent, [data-screen-label="services"] .grid-cards .card:hover .mono-tag, [data-screen-label="services"] .grid-cards .card:hover .svc-ico, [data-screen-label="find-your-service"] .grid-cards .card:hover h4, [data-screen-label="find-your-service"] .grid-cards .card:hover p, [data-screen-label="find-your-service"] .grid-cards .card:hover .text-muted, [data-screen-label="find-your-service"] .grid-cards .card:hover .text-accent, [data-screen-label="find-your-service"] .grid-cards .card:hover .mono-tag, [data-screen-label="find-your-service"] .grid-cards .card:hover .svc-ico {
color: #fff !important;
opacity: 1;
}
.aiw-screens figure { cursor: zoom-in; }
.aiw-screens figure:focus-visible { outline: 3px solid var(--accent-main); outline-offset: 3px; }
@media (max-width: 767px) {
#aba-svcs.grid-cards > [data-hidden-mobile] { display: none; }
#aba-svcs.grid-cards.is-open > [data-hidden-mobile] { display: flex; }
}
[data-screen-label="services"] .grid-cards .card:hover { background: var(--accent-main) !important; border-color: var(--accent-main) !important; cursor: pointer; transform: translateY(-4px); }
[data-screen-label="services"] .grid-cards .card:hover h4, [data-screen-label="services"] .grid-cards .card:hover p, [data-screen-label="services"] .grid-cards .card:hover .text-muted, [data-screen-label="services"] .grid-cards .card:hover .text-accent { color: #fff !important; }
[data-screen-label="services"] .grid-cards .card:hover .svc-ico { color: #fff !important; }
.wf-item__n, .hc-flow__n { padding-right: 0; }
.hc-faq__q { grid-template-columns: 1fr auto; }
.num-chip, .wf-item::after, .hc-flow::after { position: absolute; top: var(--space-6); right: var(--space-6); }
.hc-faq__q::before { flex: 0 0 30px; }
.aiw-flow__n {
display: inline-flex; align-items: center; justify-content: center;
flex: 0 0 30px; width: 30px; height: 30px;
border-radius: 50%;
background: var(--accent-main); color: #fff;
font-family: var(--t-font-display); font-weight: 800;
font-size: 19px; line-height: 1; letter-spacing: 0;
margin-bottom: var(--space-3);
}
.faq-q-list { counter-reset: faq; }
.faq-item-wrap { counter-increment: faq; }
.faq-q::before {
content: counter(faq);
display: inline-flex; align-items: center; justify-content: center;
flex: 0 0 30px; width: 30px; height: 30px;
border-radius: 50%;
background: var(--accent-main); color: #fff;
font-family: var(--t-font-display); font-weight: 800;
font-size: 19px; line-height: 1;
margin-right: var(--space-5);
}
.lem-seg__n {
display: inline-flex; align-items: center; justify-content: center;
width: 54px; height: 54px; border-radius: 50%;
background: #fff; color: var(--secondary-800);
font-family: var(--t-font-display); font-weight: 800;
font-size: 34px; line-height: 1; letter-spacing: 0;
pointer-events: none;
}
.lem-seg.is-on .lem-seg__n, .lem-seg:hover .lem-seg__n { background: var(--secondary-800); color: #fff; }
.lem__n {
display: inline-flex; align-items: center; justify-content: center;
width: 30px; height: 30px; border-radius: 50%;
background: var(--accent-main); color: #fff;
font-family: var(--t-font-mono); font-size: var(--t-caption); font-weight: 700;
letter-spacing: 0;
}
.prob-close {
margin-top: var(--space-10);
padding-left: var(--space-6);
border-left: 3px solid var(--accent-main);
font-size: var(--t-body-lg); line-height: 1.55; color: var(--text-heading);
max-width: 62ch;
}
.hc-form .form-select {
appearance: none;
-webkit-appearance: none;
padding-right: var(--space-12);
background-image: linear-gradient(45deg, transparent 50%, var(--accent-main) 50%),
linear-gradient(135deg, var(--accent-main) 50%, transparent 50%);
background-position: calc(100% - 20px) center, calc(100% - 13px) center;
background-size: 7px 7px, 7px 7px;
background-repeat: no-repeat;
cursor: pointer;
}
.hc-form .form-select:invalid, .hc-form .form-select option[disabled] { color: var(--gray-500); }
.hc-form .form-select:focus-visible {
outline: 2px solid var(--accent-main);
outline-offset: 1px;
border-color: var(--accent-main);
}
#video .video-frame { max-width: 860px; margin-left: auto; margin-right: auto; }
.aiw-role:nth-child(2) {
background: rgba(255,255,255,.12);
border-color: var(--accent-main);
border-width: 2px;
}
.pricing { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-10); }
@media (min-width: 1024px) {
.pricing { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: var(--space-16); align-items: center; }
}
.pricing__left .lead { margin-top: var(--space-6); }
.pricing__card {
padding: var(--space-8); background: var(--gray-0);
border: 1px solid var(--border-default); border-radius: var(--radius-lg);
box-shadow: var(--shadow-surface);
}
.pricing__card h3 {
font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-lg);
line-height: 1.25; color: var(--text-heading); margin: 0;
}
.hs-slot {
display: flex; flex-direction: column; align-items: center; justify-content: center;
gap: var(--space-3); min-height: 420px; margin-top: var(--space-6);
background: var(--bg-section-alt); border: 1px dashed var(--border-default);
border-radius: var(--radius-md); text-align: center; padding: var(--space-8);
}
.hs-slot p {
margin: 0; font-family: var(--t-font-display); font-weight: 700;
font-size: var(--t-body-lg); color: var(--secondary-800);
}
.hs-slot__note {
font-family: var(--t-font-body) !important; font-weight: 400 !important;
font-size: var(--t-caption) !important; color: var(--text-muted) !important;
}
.pricing__chips {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-4); margin: var(--space-8) 0 0; padding: 0; list-style: none;
}
.pricing__chips li {
display: flex; flex-direction: column; gap: 2px;
padding: var(--space-5) var(--space-4);
background: var(--gray-0); border: 1px solid var(--border-default);
border-radius: var(--radius-md);
}
.pricing__chips b {
font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-2xl);
line-height: 1; letter-spacing: -.02em; color: var(--accent-main);
}
.pricing__chips span {
font-size: var(--t-caption); font-weight: var(--weight-semibold);
letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--text-muted);
}
@media (max-width: 599px) {
.pricing__chips { grid-template-columns: minmax(0, 1fr); }
.hs-slot { min-height: 280px; }
}
.pricing__right { min-width: 0; }
.acc-wrap { display: block; }
.v1-agg { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-4); }
@media (min-width: 760px) {
.hc-people {
display: flex;
flex-wrap: nowrap;
gap: var(--space-6);
grid-template-columns: none;
}
.hc-people > * { flex: 1 1 0; min-width: 0; }
}
.prob-grid { counter-reset: prob; display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-12); }
.prob-card {
counter-increment: prob;
position: relative;
display: grid;
grid-template-columns: 44px minmax(0, 1fr);
grid-template-rows: auto auto auto;
column-gap: var(--space-6);
row-gap: var(--space-2);
align-items: start;
padding: var(--space-6);
background: var(--gray-0);
border: 1px solid var(--border-default);
border-radius: var(--radius-md);
transition: border-color var(--transition-base), box-shadow var(--transition-base);
}
.prob-card:hover { border-color: color-mix(in srgb, var(--accent-main) 55%, transparent); box-shadow: var(--shadow-surface); }
.prob-card::before {
content: counter(prob);
grid-column: 1;
grid-row: 1 / -1;
align-self: start;
display: grid;
place-items: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--accent-main);
color: #fff;
font-family: var(--t-font-mono);
font-size: var(--t-body);
font-weight: 700;
}
.prob-card__tag {
grid-column: 2; grid-row: 1;
font-family: var(--t-font-mono); font-size: var(--t-caption);
font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide);
text-transform: uppercase; color: var(--accent-main);
}
.prob-card__tag--pl { color: var(--text-muted); }
.prob-card:not(:first-of-type) .prob-card__tag {
position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.prob-card:not(:first-of-type) { grid-template-rows: 0 auto auto; }
.prob-card__break {
grid-column: 2; grid-row: 2;
font-family: var(--t-font-display); font-weight: 800;
font-size: var(--text-lg); line-height: 1.25;
letter-spacing: var(--tracking-tight); color: var(--text-heading);
margin: 0; max-width: none;
}
.prob-card__pl {
grid-column: 2; grid-row: 3;
font-size: var(--t-small); line-height: 1.65; color: var(--text-muted); margin: 0;
}
@media (min-width: 900px) {
.prob-card { grid-template-columns: 44px minmax(0, .95fr) minmax(0, 1.05fr); grid-template-rows: auto auto; column-gap: var(--space-8); padding: var(--space-6) var(--space-8); }
.prob-card__tag--pl { grid-column: 3; grid-row: 1; }
.prob-card__pl { grid-column: 3; grid-row: 2; padding-left: var(--space-8); border-left: 1px solid var(--border-default); }
.prob-card:not(:first-of-type) { grid-template-rows: 0 auto; }
}
@media (max-width: 599px) {
.prob-card { grid-template-columns: 36px minmax(0, 1fr); column-gap: var(--space-5); padding: var(--space-5); }
.prob-card::before { width: 36px; height: 36px; font-size: var(--t-small); }
.prob-card__break { font-size: var(--text-base); }
}
.case:hover, .case:hover *, .tg-card:hover, .tg-card:hover * { color: #fff !important; }
.case:hover .c-mono, .tg-card:hover .c-mono {
background: rgba(255,255,255,.22) !important;
color: #fff !important;
}
.case:hover .tg-foot, .tg-card:hover .tg-foot { border-top-color: rgba(255,255,255,.28) !important; }
.case:hover .btn--primary, .tg-card:hover .btn--primary {
background: #fff !important; border-color: #fff !important; color: var(--secondary-800) !important;
}
.case:hover .c-badge {
background: rgba(255,255,255,.22) !important;
border-color: rgba(255,255,255,.45) !important;
color: #fff !important;
}
#cases .case { position: relative; }
#cases .c-logo {
position: absolute; top: var(--space-6); right: var(--space-6);
display: grid; place-items: center;
width: 44px; height: 44px; max-width: none; flex: none;
}
#cases .c-mono {
display: grid; place-items: center;
width: 44px; height: 44px; line-height: 1; text-align: center;
}
#cases .c-logo img { max-height: 32px; max-width: 44px; }
#cases .case .client, #cases .case h4 { padding-right: 56px; }
#logos .logo-strip__track {
animation: none !important;
width: 100% !important;
justify-content: center;
flex-wrap: wrap;
row-gap: var(--space-6);
}
#logos .logo-strip .logo-tile[data-dup] { display: none !important; }
#logos .logo-strip {
-webkit-mask-image: none;
mask-image: none;
}
#logos .logo-strip img {
filter: none;
opacity: 1;
height: 44px;
max-width: 150px;
}
#logos .logo-strip img[src*="advancing-beyond"] { height: 52px; max-width: 170px; }
#logos .logo-strip img[src*="cst-academy"] { height: 48px; max-width: 60px; }
@media (max-width: 599px) {
#logos .logo-strip img { height: 34px; max-width: 116px; }
#logos .logo-strip img[src*="advancing-beyond"] { height: 40px; max-width: 132px; }
}
#logos .logo-strip img[src*="advancing-beyond"] { height: 46px; max-width: 160px; }
#logos .logo-strip img[src*="breaking-news"] { height: 46px; max-width: 96px; }
@media (max-width: 599px) {
#logos .logo-strip img[src*="advancing-beyond"] { height: 36px; max-width: 124px; }
#logos .logo-strip img[src*="breaking-news"] { height: 36px; max-width: 76px; }
}
@media (max-width: 599px) {
#how-ai-works .aiw-roles { padding: var(--space-10) var(--space-5); }
}
#logos .logo-strip { overflow: visible; }
#logos .logo-strip__track { column-gap: var(--space-10); }
#logos .logo-strip .logo-tile { flex: 0 0 auto; }
#logos .logo-strip img { height: 40px; max-width: 124px; max-height: 40px; }
#logos .logo-strip img[src*="advancing-beyond"] { height: 42px; max-width: 132px; max-height: 42px; }
#logos .logo-strip img[src*="breaking-news"] { height: 42px; max-width: 78px; max-height: 42px; }
#logos .logo-strip img[src*="cst-academy"] { height: 44px; max-width: 46px; max-height: 44px; }
@media (max-width: 599px) {
#logos .logo-strip img { height: 32px; max-width: 100px; max-height: 32px; }
#logos .logo-strip img[src*="advancing-beyond"] { height: 34px; max-width: 108px; max-height: 34px; }
#logos .logo-strip img[src*="breaking-news"] { height: 34px; max-width: 62px; max-height: 34px; }
#logos .logo-strip img[src*="cst-academy"] { height: 36px; max-width: 38px; max-height: 36px; }
}
#how-ai-works .aiw-roles {
margin-top: var(--space-16);
padding: 0;
background: none;
border-radius: 0;
}
#how-ai-works .aiw-role {
background: var(--gray-0);
border: 1px solid var(--black-15);
box-shadow: var(--shadow-surface);
}
#how-ai-works .aiw-roles { background: none; }
#how-ai-works .aiw-role:nth-child(2) { border: 2px solid var(--primary-500); }
@media (max-width: 599px) {
#how-ai-works .aiw-roles { padding: var(--space-10) var(--space-5); }
}
#how-ai-works .eyebrow { color: var(--primary-500); }
#how-ai-works .hc-h2, #how-ai-works > .container > h2 { color: var(--text-heading); }
#how-ai-works .hc-h2 .hl, #how-ai-works .hl { color: var(--primary-500); }
#how-ai-works .hc-lead, #how-ai-works > .container > .lead { color: var(--text-muted); }
#how-ai-works .aiw-flow {
background: var(--gray-0);
border: 1px solid var(--black-15);
box-shadow: var(--shadow-surface);
}
#how-ai-works .aiw-flow__go, #how-ai-works .aiw-flow a { color: var(--primary-500); }
#how-ai-works .aiw-screens figcaption { color: var(--text-muted); }
#how-ai-works .aiw-flow, #how-ai-works .aiw-role {
padding: var(--space-6);
background: var(--gray-0);
border: 1px solid var(--black-15);
border-radius: 12px;
box-shadow: var(--shadow-surface);
}
#how-ai-works .aiw-role:nth-child(2) { border: 2px solid var(--primary-500); }
#how-ai-works .aiw-flow h4 { color: var(--text-heading); }
#how-ai-works .aiw-flow p { color: var(--text-muted); }
#how-ai-works .aiw-flow span:not(.aiw-flow__n) { color: var(--primary-500); }
#how-ai-works .aiw-flows { border-top: none; padding-top: 0; }
#pricing .pricing__card {
background: var(--secondary-800);
border: none;
box-shadow: var(--shadow-lg, 0 18px 40px -18px rgba(4,28,44,.45));
padding: var(--space-6) var(--space-6) var(--space-12);
}
#pricing .pricing__card h3 { color: #fff; font-size: var(--t-body); text-align: center; padding-top: var(--space-12); padding-bottom: var(--space-6); margin: 0; }
#pricing .meetings-iframe-container {
margin-top: 0;
border-radius: 10px;
overflow: hidden;
background: transparent;
min-height: 0 !important;
height: auto !important;
}
#pricing .meetings-iframe-container iframe {
display: block; width: 100%; border: 0;
height: 592px !important;
min-height: 0 !important;
min-width: 100% !important;
max-width: 100% !important;
}
@media (min-width: 1024px) {
#pricing .pricing__card { padding: var(--space-6) var(--space-6) var(--space-12); }
#pricing .meetings-iframe-container iframe { height: 592px !important; min-height: 0 !important; }
}
@media (max-width: 599px) {
#pricing .pricing__card { padding: var(--space-5) var(--space-5) var(--space-12); }
#pricing .meetings-iframe-container iframe { height: 580px !important; min-height: 0 !important; }
}
.approver {
display: flex; flex-wrap: wrap; align-items: baseline;
gap: var(--space-2) var(--space-5);
margin: var(--space-5) 0 0;
font-size: var(--t-small);
line-height: 1.5;
}
.approver__send, .approver__file {
min-height: 44px; display: inline-flex; align-items: center;
font-family: var(--t-font-body); font-size: var(--t-small);
}
.approver__send { font-weight: var(--weight-semibold); text-decoration: none; }
.approver__send:hover { text-decoration: underline; text-underline-offset: 3px; }
.approver__file { text-decoration: underline; text-underline-offset: 3px; }
.approver__send { color: var(--primary-700); }
.approver__file { color: var(--gray-600); }
.approver__file:hover { color: var(--primary-700); }
#audits .approver__send { color: var(--secondary-900); }
#audits .approver__file { color: var(--secondary-800); }
#audits .approver__file:hover { color: var(--secondary-900); }
#audits2 .approver__send { color: #fff; }
#audits2 .approver__file { color: var(--primary-300); }
#audits2 .approver__file:hover { color: #fff; }
.hc-hero__trust {
margin: var(--space-5) 0 0;
font-size: var(--t-small);
line-height: 1.55;
color: var(--text-on-dark-muted);
max-width: 62ch;
}
@media (max-width: 767px) {
.aud-ctas { flex-direction: column; align-items: stretch; }
.aud-ctas .btn {
white-space: normal;
height: auto;
min-height: 48px;
padding: var(--space-5) var(--space-6);
line-height: 1.3;
text-align: center;
width: 100%;
}
#cases .btn, .hc-cases-cta .btn, .sec-foot .btn {
white-space: normal;
height: auto;
min-height: 48px;
padding: var(--space-5) var(--space-6);
line-height: 1.3;
width: 100%;
}
}
@media (max-width: 767px) {
#logos .logo-strip__track:has(> :nth-child(12)) {
column-gap: 10px;
row-gap: 10px;
justify-content: center;
}
#logos .logo-strip__track:has(> :nth-child(12)) img {
height: 22px !important;
max-height: 22px !important;
max-width: 76px !important;
}
#logos .logo-strip__track:has(> :nth-child(12)) img[src*="advancing-beyond"] { height: 24px !important; max-height: 24px !important; max-width: 84px !important; }
#logos .logo-strip__track:has(> :nth-child(12)) img[src*="breaking-news"] { height: 24px !important; max-height: 24px !important; max-width: 48px !important; }
#logos .logo-strip__track:has(> :nth-child(12)) img[src*="cst-academy"] { height: 26px !important; max-height: 26px !important; max-width: 28px !important; }
#logos .hc-logohead { margin-bottom: var(--space-8); }
#logos.section { padding-block: var(--section-padding-y); }
}
@media (max-width: 599px) {
.hc-logogrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.hc-logocell { min-height: 44px; padding: var(--space-3) var(--space-2); }
.hc-logocell img { max-height: 26px; max-width: 100%; }
.hc-logocell .logo-wordmark, .hc-logocell span { font-size: 14px; line-height: 1.2; }
}
@media (max-width: 359px) {
.hc-logogrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 759px) {
.hc-people {
display: flex;
flex-wrap: nowrap;
grid-template-columns: none;
gap: var(--space-5);
overflow-x: auto;
overflow-y: hidden;
scroll-snap-type: x mandatory;
align-items: start;
justify-content: flex-start;
padding: var(--space-2) var(--container-padding-x) var(--space-6) 0;
scroll-padding-left: 0;
touch-action: pan-x;
overscroll-behavior-x: contain;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
}
.hc-people::-webkit-scrollbar { height: 2px; }
.hc-people::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 2px; }
.hc-people::-webkit-scrollbar-track { background: transparent; }
.hc-people::after { content: ""; flex: 0 0 var(--space-4); }
.hc-people > .hc-person {
flex: 0 0 200px;
min-width: 0;
scroll-snap-align: start;
}
.hc-person img { aspect-ratio: 2/3; object-fit: cover; object-position: center top; }
}
.hc-logos .logo-marquee-track .client-logo-pill {
min-height: 0;
height: auto;
padding: 24px 40px;
background: var(--gray-0);
border: 1px solid var(--border-default);
border-radius: 999px;
box-shadow: var(--shadow-surface);
flex: none;
transform: none;
}
.hc-logos .logo-marquee-track .client-logo-pill img {
height: 23px;
width: auto;
max-height: none;
max-width: none;
object-fit: contain;
}
.hc-logos .logo-marquee-track .client-logo-pill img[src*="tidewater"] { height: 30px; }
.hc-logos .logo-marquee-track .client-logo-pill img[src*="socioh"] { height: 28px; }
.hc-logos a.client-logo-pill:hover { transform: none; border-color: var(--accent-main); }
.hc-logos .logo-marquee-track--ltr { animation-duration: 110s; }
.hc-logos .logo-marquee-track--rtl { animation-duration: 110s; }
.hc-logos #logos .logo-marquee-track--ltr, .hc-logos #logos .logo-marquee-track--rtl, #logos .logo-marquee-track--ltr, #logos .logo-marquee-track--rtl { animation-duration: var(--marquee-dur, 39s); }
.prob-head {
display: none;
font-family: var(--t-font-mono);
font-size: var(--t-caption);
font-weight: var(--weight-semibold);
letter-spacing: var(--tracking-wide);
text-transform: uppercase;
color: var(--accent-main);
}
@media (min-width: 900px) {
.prob-head {
display: grid;
grid-template-columns: 44px minmax(0, .95fr) minmax(0, 1.05fr);
column-gap: var(--space-8);
padding: 0 var(--space-8) var(--space-3);
}
.prob-head__k { grid-column: 2; }
.prob-head__v { grid-column: 3; padding-left: var(--space-8); color: var(--text-muted); }
}
.prob-card, .prob-card:not(:first-of-type) { grid-template-rows: auto auto; }
@media (min-width: 900px) {
.prob-card, .prob-card:not(:first-of-type) { grid-template-rows: auto; }
.prob-card__break { grid-column: 2; grid-row: 1; }
.prob-card__pl { grid-column: 3; grid-row: 1; }
}
.lem__panel { padding: var(--space-16); }
@media (max-width: 899px) {
.lem__panel { padding: var(--space-12); }
}
.prob-card { align-items: center; }
.prob-card::before { align-self: center; }
.prob-card__break, .prob-card__pl { align-self: center; }
.hc-logos .marquee-mask { overflow: hidden; max-width: 100%; }
.hc-logos .logo-marquee-track { max-width: none; }
.hc-pods { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-5); margin-top: var(--space-12); align-items: stretch; }
@media (min-width: 1100px) {
.hc-pods { grid-template-columns: repeat(4, 1fr); }
}
.hc-pods > .hc-pod { height: 100%; }
.hc-pod { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-3); min-height: 150px; padding: var(--space-8) var(--space-6) var(--space-6); background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-surface); overflow: hidden; }
.hc-pod::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--accent-main); transform: scaleX(0); transform-origin: left; }
.hc-pod--on { border-color: var(--accent-main); box-shadow: var(--shadow-raised); }
.hc-pod--on::before { transform: scaleX(1); }
.hc-pod { justify-content: space-between; }
.hc-pod__ico { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--accent-main); }
.hc-pod__ico svg { width: 26px; height: 26px; }
.hc-pod__tag { font-size: var(--t-caption); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--accent-main); }
.hc-pod__n { font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-base); line-height: 1.25; color: var(--text-heading); }
.hc-pods__close { margin-top: var(--space-8); color: var(--text-muted); }
.hc-studies { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-12); align-items: stretch; }
@media (min-width: 700px) {
.hc-studies { grid-template-columns: repeat(2, 1fr); }
}
.hc-studies > .hc-study { height: 100%; }
.hc-study { position: relative; display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-8) var(--space-6) var(--space-6); background: var(--bg-surface); border: 1px solid var(--border-default); border-radius: var(--radius-lg); box-shadow: var(--shadow-surface); text-decoration: none; overflow: hidden; transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base); }
.hc-study::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--accent-main); transform: scaleX(0); transform-origin: left; transition: transform var(--transition-base); }
a.hc-study:hover { transform: translateY(-4px); border-color: var(--accent-main); box-shadow: var(--shadow-raised); }
a.hc-study:hover::before { transform: scaleX(1); }
a.hc-study:focus-visible { outline: 2px solid var(--accent-main); outline-offset: 3px; }
.hc-study--soon { cursor: default; }
.hc-study__tag { font-size: var(--t-caption); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--accent-main); }
.hc-study__t { font-family: var(--t-font-display); font-weight: 800; font-size: var(--text-base); line-height: 1.25; color: var(--text-heading); }
.hc-study__s { font-size: var(--t-caption); line-height: 1.5; color: var(--text-muted); }
.hc-study__meta { margin-top: auto; font-size: var(--t-caption); color: var(--text-muted); }
.hc-study__dot { margin: 0 var(--space-2); }
.hc-study__dl { font-weight: 700; color: var(--accent-main); }
.hc-studies__cta { margin-top: var(--space-12); }
/* ---- vertical-extras ---- */
.urgency-bar__text { font-size: 14px; }
.urgency-bar__cta { font-size: 14px; }
@media (max-width: 767px) {
.urgency-bar__text { font-size: 14px; letter-spacing: .02em; }
.urgency-bar__cta { font-size: 14px; }
}
.hc-logocell .logo-wordmark, .hc-logocell span { font-size: 14px; line-height: 1.2; }
:scope .btn, :scope .btn {
margin-left: 0;
margin-right: 0;
}
:scope, :scope {
background-color: var(--bg-page) !important;
}
:scope #main-content img, :scope #main-content img {
vertical-align: baseline;
}
:scope .btn, :scope .btn {
vertical-align: baseline;
}
:scope .form-label, :scope .form-label {
margin-bottom: 0;
}
:scope #main-content input, :scope #main-content select, :scope #main-content textarea, :scope #main-content input, :scope #main-content select, :scope #main-content textarea {
line-height: normal;
}
:scope #main-content ul, :scope #main-content ol, :scope #main-content ul, :scope #main-content ol {
font-size: inherit;
}
:scope a.btn, :scope a.btn {
text-align: inherit;
}
@media (max-width: 767px) {
:scope a.btn, :scope a.btn {
text-align: center;
}
}
:scope #main-content .acc, :scope #main-content .acc {
font-size: revert;
font-weight: revert;
line-height: revert;
border-radius: revert;
}
h1, h2, h3, h4, h5, h6 {
margin-bottom: 0;
}
:scope #main-content .form-select, :scope #main-content .form-select {
box-shadow: none;
}
:scope > .container-fluid.fixed-bottom, :scope > .container-fluid.fixed-bottom, :scope > div[id^="div-gpt-ad-"], :scope > div[id^="div-gpt-ad-"] {
display: none !important;
}
:scope .dapv-hsform .form-label, :scope .dapv-hsform .form-label {
font-size: var(--t-small);
padding-left: 0;
}
@media (max-width: 767px) {
.urgency-bar__more {
display: none;
}
.urgency-bar__inner {
align-items: center;
}
.urgency-bar__text {
align-items: center;
text-wrap: balance;
}
}
@media (max-width: 767px) {
.team-grid {
grid-auto-rows: auto;
}
.team-grid .lg {
grid-column: 1 / -1;
}
}
.hc-fine a {
color: var(--accent-main);
text-decoration: none;
}
.hc-fine a:hover, .hc-fine a:focus-visible {
text-decoration: underline;
}
.hc-fine__legal {
display: block;
margin-top: var(--space-2);
}
@media (max-width: 767px) {
.prob-card {
grid-template-rows: auto auto auto;
}
.prob-card:not(:first-of-type) {
grid-template-rows: 0 auto auto;
}
.prob-card::before {
grid-row: 1 / -1;
align-self: center;
}
}
.lem__data span::before {
content: attr(data-n) ") " attr(data-name);
}
@media (max-width: 767px) {
.hc-people {
scrollbar-color: var(--accent-main) rgba(4, 28, 44, .12);
scrollbar-width: thin;
}
.hc-people::-webkit-scrollbar {
height: 4px;
}
.hc-people::-webkit-scrollbar-track {
background: rgba(4, 28, 44, .12);
border-radius: 999px;
}
.hc-people::-webkit-scrollbar-thumb {
background: var(--accent-main);
border-radius: 999px;
}
.hc-people > * {
scroll-snap-align: start;
}
}
@media (max-width: 767px) {
.hc-audit__row {
flex-wrap: wrap;
gap: var(--space-4);
}
.hc-audit__input {
flex: 1 1 100%;
}
.hc-audit__btn {
flex: 1 0 100%;
width: 100%;
}
}
@media (max-width: 767px) {
#audits h2, #audits2 h2 {
line-height: 1.3;
}
}
.hc-people__rail {
display: none;
}
@media (max-width: 767px) {
.hc-people__rail {
display: block;
position: relative;
height: 4px;
margin: var(--space-4) auto 0;
width: calc(100% - var(--space-10));
max-width: 220px;
background: rgba(4, 28, 44, .12);
border-radius: 999px;
overflow: hidden;
}
.hc-people__rail span {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 40%;
background: var(--accent-main);
border-radius: 999px;
transition: left .12s linear;
will-change: left;
}
.hc-closeband .hc-people__rail, [data-theme="dark-section"] .hc-people__rail {
background: rgba(255, 255, 255, .22);
}
}
/* ---- hubspot-forms ---- */
.dapv-hsform-target form:not(.dapv-hsform) {
visibility: hidden;
}
.dapv-hsform-target[data-instance="hero"] form:not(.dapv-hsform), .dapv-hsform-target[data-instance="ctaband"] form:not(.dapv-hsform) {
position: absolute;
left: 0;
right: 0;
top: 0;
}
.dapv-hsform-target[data-instance="hero"], .dapv-hsform-target[data-instance="ctaband"] {
position: relative;
}
.dapv-hsform-target {
min-height: 1px;
}
.dapv-hsform-target[data-instance="hero"]:not(:has(form.dapv-hsform)), .dapv-hsform-target[data-instance="ctaband"]:not(:has(form.dapv-hsform)) {
min-height: 490px;
}
@media (min-width: 600px) {
.dapv-hsform-target[data-instance="hero"]:not(:has(form.dapv-hsform)), .dapv-hsform-target[data-instance="ctaband"]:not(:has(form.dapv-hsform)) {
min-height: 314px;
}
}
.dapv-hsform-target[data-instance="hero"]:empty, .dapv-hsform-target[data-instance="ctaband"]:empty {
min-height: 490px;
}
@media (min-width: 600px) {
.dapv-hsform-target[data-instance="hero"]:empty, .dapv-hsform-target[data-instance="ctaband"]:empty {
min-height: 314px;
}
}
.dapv-hsform .form-group > .input, .dapv-hsform .hs_submit > .actions {
display: contents;
}
.dapv-hsform .hs-form-required {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0 0 0 0);
white-space: nowrap;
border: 0;
}
.dapv-hsform .hs-field-desc:empty {
display: none;
}
.dapv-hsform .hs-error-msgs, .dapv-hsform .hs_error_rollup ul {
list-style: none;
margin: var(--space-2) 0 0;
padding: 0;
}
.dapv-hsform .hs-error-msg, .dapv-hsform .hs-main-font-element {
font-size: var(--t-small);
line-height: var(--t-leading-body);
color: var(--primary-500);
}
.dapv-hsform .form-input.error, .dapv-hsform .form-input.invalid, .dapv-hsform .form-textarea.error {
border-color: var(--primary-500);
}
.dapv-hsform .hs_error_rollup {
display: none;
}
.dapv-hsform-target .submitted-message {
font-size: var(--t-body);
line-height: var(--t-leading-body);
color: var(--text-main);
}
.hc-closeband .dapv-hsform-target .submitted-message {
color: var(--gray-900);
}
form.dapv-hsform {
background-color: transparent;
padding: 0;
margin: 0;
border: 0;
border-radius: 0;
box-shadow: none;
font-size: inherit;
text-align: inherit;
}
form.dapv-hsform > fieldset {
display: contents;
max-width: none;
}
form.dapv-hsform > .hs_error_rollup, form.dapv-hsform > .hs-richtext, form.dapv-hsform > .hs_recaptcha {
grid-column: 1 / -1;
}
form.dapv-hsform.hc-form > fieldset > .hs-form-field {
width: auto;
float: none;
}
}
