/*
 * MSP Theme — Complete Stylesheet
 * All CSS from Phases 2–7 combined.
 */

/* ============================================================
   1. DESIGN TOKENS
   ============================================================ */
:root {
    --color-navy-950:#060D1A;--color-navy-900:#0A1628;--color-navy-800:#0F2340;--color-navy-700:#163158;
    --color-navy-600:#1E4070;--color-navy-500:#285088;--color-navy-400:#3B6BA8;--color-navy-300:#5C8EC7;
    --color-navy-200:#90B3DC;--color-navy-100:#C6D9EE;--color-navy-50:#EAF1F8;
    --color-cyan-600:#0096B7;--color-cyan-500:#00B4D8;--color-cyan-400:#48CAE4;--color-cyan-300:#90E0EF;
    --color-cyan-200:#ADE8F4;--color-cyan-100:#CAF0F8;--color-cyan-50:#EBF9FC;
    --color-slate-900:#0F172A;--color-slate-800:#1E293B;--color-slate-700:#334155;--color-slate-600:#475569;
    --color-slate-500:#64748B;--color-slate-400:#94A3B8;--color-slate-300:#CBD5E1;--color-slate-200:#E2E8F0;
    --color-slate-100:#F0F4F8;--color-slate-50:#F8FAFC;
    --color-success-dark:#166534;--color-success:#16A34A;--color-success-light:#DCFCE7;
    --color-warning:#D97706;--color-warning-light:#FEF3C7;
    --color-error-dark:#991B1B;--color-error:#DC2626;--color-error-light:#FEE2E2;
    --text-primary:#0A1628;--text-secondary:#64748B;--text-tertiary:#94A3B8;
    --text-on-dark:#FFFFFF;--text-on-dark-muted:rgba(255,255,255,0.72);
    --text-link:#0096B7;--text-link-hover:#163158;
    --bg-page:#FFFFFF;--bg-surface:#F8FAFC;--bg-dark:#0A1628;--bg-dark-mid:#0F2340;--bg-accent:#EBF9FC;
    --border-default:#E2E8F0;--border-subtle:#F0F4F8;--border-strong:#CBD5E1;
    --brand-primary:#0A1628;--brand-accent:#00B4D8;--brand-accent-dark:#0096B7;
    --brand-accent-glow:rgba(0,180,216,0.15);
    --font-sans:'Inter','Inter Display',system-ui,-apple-system,sans-serif;
    --text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;
    --text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.25rem;
    --text-4xl:clamp(2rem,4vw,3rem);--text-5xl:clamp(2.5rem,5vw,3.75rem);--text-6xl:clamp(3rem,6vw,4.5rem);
    --fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;
    --lh-tight:1.15;--lh-snug:1.3;--lh-base:1.6;--lh-relaxed:1.75;
    --ls-tight:-0.025em;--ls-snug:-0.015em;--ls-normal:0;--ls-wide:0.025em;--ls-wider:0.05em;--ls-widest:0.1em;
    --space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;
    --space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
    --space-20:5rem;--space-24:6rem;
    --section-gap:clamp(4rem,8vw,7rem);--section-gap-sm:clamp(2.5rem,5vw,4rem);
    --container-max:1280px;--container-narrow:800px;--container-padding-x:clamp(1rem,5vw,2.5rem);
    --grid-gap:clamp(1rem,2.5vw,1.5rem);
    --radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;
    --shadow-xs:0 1px 2px rgba(10,22,40,.06);--shadow-sm:0 2px 6px rgba(10,22,40,.08);
    --shadow-md:0 4px 16px rgba(10,22,40,.10);--shadow-lg:0 8px 30px rgba(10,22,40,.12);
    --shadow-xl:0 16px 50px rgba(10,22,40,.15);--shadow-2xl:0 24px 80px rgba(10,22,40,.18);
    --shadow-cyan:0 0 24px rgba(0,180,216,.20);--shadow-navy:0 8px 30px rgba(10,22,40,.25);
    --duration-fast:100ms;--duration-base:200ms;--duration-slow:350ms;
    --duration-slower:500ms;--duration-slowest:700ms;
    --ease-out:cubic-bezier(0,0,0.2,1);--ease-inout:cubic-bezier(0.4,0,0.2,1);
    --ease-smooth:cubic-bezier(0.25,0.46,0.45,0.94);
    --transition-fast:100ms cubic-bezier(0,0,0.2,1);
    --transition-base:200ms cubic-bezier(0,0,0.2,1);
    --transition-slow:350ms cubic-bezier(0.4,0,0.2,1);
    --z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-toast:500;
    --header-height:72px;
}

/* ============================================================
   2. RESET
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-normal);line-height:var(--lh-base);color:var(--text-primary);background-color:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,picture,video,canvas,svg{display:block;max-width:100%}
input,button,textarea,select{font:inherit}
p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}
h1,h2,h3,h4,h5,h6{font-weight:var(--fw-bold);line-height:var(--lh-snug);letter-spacing:var(--ls-snug);color:var(--text-primary)}
ul,ol{list-style:none}
button{cursor:pointer;background:none;border:none}
a{color:var(--text-link);text-decoration-skip-ink:auto;transition:color var(--transition-base)}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:2px solid var(--brand-accent);outline-offset:3px;border-radius:var(--radius-sm)}
:focus:not(:focus-visible){outline:none}
.skip-link{position:absolute;top:-100%;left:var(--space-4);z-index:var(--z-toast);padding:var(--space-3) var(--space-6);background:var(--brand-primary);color:var(--text-on-dark);font-weight:var(--fw-semibold);border-radius:var(--radius-md);text-decoration:none;transition:top var(--transition-base)}
.skip-link:focus{top:var(--space-4)}
.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}

/* ============================================================
   3. TYPOGRAPHY
   ============================================================ */
h1,.h1{font-size:var(--text-5xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}
h2,.h2{font-size:var(--text-4xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-snug)}
h3,.h3{font-size:var(--text-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}
h4,.h4{font-size:var(--text-xl);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}
h5,.h5{font-size:var(--text-lg);font-weight:var(--fw-semibold)}
h6,.h6{font-size:var(--text-base);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase}
.label-eyebrow{display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--brand-accent-dark)}
.label-eyebrow--light{color:var(--color-cyan-400)}
.text-lead{font-size:var(--text-md);line-height:var(--lh-relaxed);color:var(--text-secondary)}
.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}
.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}
.text-on-dark{color:var(--text-on-dark)}.text-center{text-align:center}
.prose{max-width:68ch;color:var(--text-secondary)}
.prose h2,.prose h3,.prose h4{color:var(--text-primary);margin-top:var(--space-8);margin-bottom:var(--space-4)}
.prose p{margin-bottom:var(--space-5);line-height:var(--lh-relaxed)}
.prose p:last-child{margin-bottom:0}
.prose ul,.prose ol{padding-left:var(--space-6);margin-bottom:var(--space-5);list-style:revert}
.prose li{margin-bottom:var(--space-2);line-height:var(--lh-relaxed)}
.prose a{color:var(--text-link);text-decoration:underline;text-underline-offset:3px}
.prose blockquote{padding:var(--space-5) var(--space-6);margin:var(--space-8) 0;border-left:4px solid var(--brand-accent);background:var(--bg-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--text-secondary)}
.prose strong{font-weight:var(--fw-semibold);color:var(--text-primary)}
.prose code{font-size:.875em;background:var(--color-slate-100);padding:.15em .4em;border-radius:var(--radius-sm)}
.prose hr{border:none;border-top:1px solid var(--border-default);margin:var(--space-10) 0}
.section--dark .prose,.section--dark p{color:var(--text-on-dark-muted)}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4{color:var(--text-on-dark)}

/* ============================================================
   4. LAYOUT
   ============================================================ */
.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding-x)}
.container--narrow{max-width:var(--container-narrow)}
.section{padding-block:var(--section-gap)}
.section--sm{padding-block:var(--section-gap-sm)}
.section--dark{background-color:var(--bg-dark);color:var(--text-on-dark)}
.section--mid-dark{background-color:var(--bg-dark-mid);color:var(--text-on-dark)}
.section--surface{background-color:var(--bg-surface)}
.section--accent{background-color:var(--bg-accent)}
.grid{display:grid;gap:var(--grid-gap)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--auto-sm{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid--auto-md{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid--auto-lg{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
.grid--split{grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-16)}
.grid--split-60{grid-template-columns:3fr 2fr;align-items:center;gap:var(--space-16)}
.grid--aside{grid-template-columns:1fr 340px;gap:var(--space-12)}
.section-header{max-width:680px;margin-inline:auto;text-align:center;margin-bottom:var(--space-12)}
.section-header--left{text-align:left;margin-inline:0}
.section-header__eyebrow{margin-bottom:var(--space-3)}
.section-header__title{margin-bottom:var(--space-4)}
.section-header__lead{font-size:var(--text-md);color:var(--text-secondary);line-height:var(--lh-relaxed)}
@media(max-width:1024px){
    .grid--4{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(2,1fr)}
    .grid--aside{grid-template-columns:1fr}.grid--split,.grid--split-60{grid-template-columns:1fr;gap:var(--space-10)}
}
@media(max-width:768px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}

/* ============================================================
   5. BUTTONS
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-weight:var(--fw-semibold);text-decoration:none;border-radius:var(--radius-lg);border:2px solid transparent;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base),transform 100ms cubic-bezier(0,0,0.2,1)}
.btn:active{transform:scale(.98)}
.btn:focus-visible{outline:2px solid var(--brand-accent);outline-offset:3px}
.btn--sm{padding:var(--space-2) var(--space-5);font-size:var(--text-sm);border-radius:var(--radius-md)}
.btn--md{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}
.btn--lg{padding:var(--space-4) var(--space-8);font-size:var(--text-md)}
.btn--primary{background-color:var(--color-navy-900);color:#fff;border-color:var(--color-navy-900)}
.btn--primary:hover{background-color:var(--color-navy-700);border-color:var(--color-navy-700);box-shadow:var(--shadow-navy);color:#fff}
.btn--accent{background-color:var(--color-cyan-500);color:var(--color-navy-900);border-color:var(--color-cyan-500);font-weight:var(--fw-bold)}
.btn--accent:hover{background-color:var(--color-cyan-400);border-color:var(--color-cyan-400);box-shadow:var(--shadow-cyan);color:var(--color-navy-900)}
.btn--secondary{background-color:var(--color-slate-100);color:var(--color-navy-800);border-color:var(--color-slate-100)}
.btn--secondary:hover{background-color:var(--color-slate-200);color:var(--color-navy-900)}
.btn--outline{background-color:transparent;color:var(--color-navy-800);border-color:var(--color-slate-300)}
.btn--outline:hover{background-color:var(--color-slate-50);border-color:var(--color-navy-800);color:var(--color-navy-900)}
.btn--outline-light{background-color:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn--outline-light:hover{background-color:rgba(255,255,255,.1);border-color:rgba(255,255,255,.8);color:#fff}
.btn--ghost{background-color:transparent;color:rgba(255,255,255,.8);border-color:transparent;padding-inline:var(--space-3)}
.btn--ghost:hover{color:#fff;background-color:rgba(255,255,255,.08)}

/* ============================================================
   6. BADGES
   ============================================================ */
.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-3);font-size:var(--text-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-full);letter-spacing:var(--ls-wide);text-transform:uppercase}
.badge--cyan{background-color:var(--color-cyan-50);color:var(--color-cyan-600)}
.badge--navy{background-color:var(--color-navy-100);color:var(--color-navy-700)}
.badge--success{background-color:var(--color-success-light);color:var(--color-success-dark)}
.badge--slate{background-color:var(--color-slate-100);color:var(--color-slate-700)}

/* ============================================================
   7. CARDS
   ============================================================ */
.card{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-slow),border-color var(--transition-slow),transform var(--transition-slow)}
.card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-slate-200);transform:translateY(-2px)}
.card__image{width:100%;aspect-ratio:16/9;object-fit:cover}
.card__image-wrap{overflow:hidden}
.card__body{padding:var(--space-6)}
.card__meta{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}
.card__title{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:var(--lh-snug);margin-bottom:var(--space-3)}
.card__title a{color:inherit;text-decoration:none;transition:color var(--transition-base)}
.card__title a:hover{color:var(--color-navy-600)}
.card__excerpt{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-5)}
.card__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);background-color:var(--bg-surface)}
.card__read-more{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-navy-700);text-decoration:none;transition:gap var(--transition-base),color var(--transition-base)}
.card__read-more:hover{gap:var(--space-3);color:var(--color-cyan-600)}
.card--service{border-top:3px solid var(--color-cyan-500)}
.card--service:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}
.card--service .card__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-cyan-50);border-radius:var(--radius-md);margin-bottom:var(--space-5);color:var(--color-cyan-600)}
.card--testimonial{padding:var(--space-8)}
.card--testimonial .card__quote{font-size:var(--text-md);color:var(--text-secondary);line-height:var(--lh-relaxed);font-style:italic;margin-bottom:var(--space-6);position:relative;padding-top:var(--space-4)}
.card--testimonial .card__quote::before{content:'"';position:absolute;top:-10px;left:0;font-size:4rem;line-height:1;color:var(--color-cyan-300);font-style:normal;font-weight:var(--fw-bold)}
.card--testimonial .card__author{display:flex;align-items:center;gap:var(--space-4)}
.card--testimonial .card__author-avatar{width:48px;height:48px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}
.card--testimonial .card__author-name{font-weight:var(--fw-semibold);color:var(--text-primary);font-size:var(--text-sm)}
.card--testimonial .card__author-role{font-size:var(--text-xs);color:var(--text-tertiary)}
.card__author-initials{display:flex;align-items:center;justify-content:center;background:var(--color-navy-100);color:var(--color-navy-700);font-weight:var(--fw-bold);font-size:var(--text-lg);width:48px;height:48px;border-radius:var(--radius-full);flex-shrink:0}
.feature-card{padding:var(--space-8);border-radius:var(--radius-xl);background:#fff;border:1px solid var(--border-subtle);transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.feature-card__icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);margin-bottom:var(--space-5);flex-shrink:0}
.feature-card__icon--cyan{background:var(--color-cyan-50);color:var(--color-cyan-600)}
.feature-card__icon--navy{background:var(--color-navy-50);color:var(--color-navy-600)}
.feature-card__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-3);line-height:var(--lh-snug)}
.feature-card__text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed)}
.stat-card{text-align:center;padding:var(--space-8) var(--space-6)}
.stat-card__number{font-size:clamp(2.5rem,5vw,4rem);font-weight:var(--fw-extrabold);color:var(--color-navy-900);line-height:1;letter-spacing:var(--ls-tight);display:block;margin-bottom:var(--space-2)}
.stat-card__label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--fw-medium)}
.stat-card__desc{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-2)}
.section--dark .stat-card__number{color:#fff}
.section--dark .stat-card__label{color:rgba(255,255,255,.6)}
.breadcrumbs{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-6)}
.breadcrumbs__item{display:flex;align-items:center;gap:var(--space-2)}
.breadcrumbs__item:not(:last-child)::after{content:'/';color:var(--color-slate-300)}
.breadcrumbs__link{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-base)}
.breadcrumbs__link:hover{color:var(--text-link)}
.breadcrumbs__current{color:var(--text-tertiary)}
.divider{border:none;border-top:1px solid var(--border-default);margin:0}
.card__result-highlight{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-cyan-50);border-radius:var(--radius-md);margin-top:var(--space-4)}
.card__result-stat{font-size:var(--text-xl);font-weight:var(--fw-extrabold);color:var(--color-navy-800);line-height:1}
.card__result-label{font-size:var(--text-xs);color:var(--color-navy-600);font-weight:var(--fw-medium)}

/* ============================================================
   8. FORMS
   ============================================================ */
.msp-form{display:flex;flex-direction:column;gap:var(--space-5)}
.form-group{display:flex;flex-direction:column;gap:var(--space-2)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}
.form-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-primary)}
.form-label .required{color:var(--color-error);margin-left:2px}
.form-control{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background-color:#fff;border:1.5px solid var(--border-strong);border-radius:var(--radius-md);line-height:var(--lh-base);transition:border-color var(--transition-base),box-shadow var(--transition-base);-webkit-appearance:none;appearance:none}
.form-control::placeholder{color:var(--text-tertiary)}
.form-control:hover{border-color:var(--color-slate-400)}
.form-control:focus{outline:none;border-color:var(--color-cyan-500);box-shadow:0 0 0 3px var(--brand-accent-glow)}
textarea.form-control{resize:vertical;min-height:120px}
select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%2364748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10);cursor:pointer}
.form-hint{font-size:var(--text-xs);color:var(--text-tertiary)}
.form-error{font-size:var(--text-xs);color:var(--color-error);display:flex;align-items:center;gap:var(--space-1)}
.form-check{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}
.form-check__input{width:18px;height:18px;flex-shrink:0;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;cursor:pointer;accent-color:var(--color-navy-800);margin-top:2px}
.form-check__label{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed)}
.form-check__label a{color:var(--text-link)}
.form-card{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:var(--space-10);box-shadow:var(--shadow-lg)}
@media(max-width:640px){.form-row{grid-template-columns:1fr}.form-card{padding:var(--space-6)}}

/* ============================================================
   9. HEADER & NAV
   ============================================================ */
.site-header{position:sticky;top:0;z-index:var(--z-sticky);background-color:rgba(255,255,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color var(--transition-base),box-shadow var(--transition-base)}
.site-header.is-scrolled{border-bottom-color:var(--border-default);box-shadow:var(--shadow-sm)}
.site-header__inner{display:flex;align-items:center;height:var(--header-height);gap:var(--space-8)}
.site-header__logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.site-header__logo-img{height:36px;width:auto}
.site-header__logo-text{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--color-navy-900);letter-spacing:var(--ls-tight)}
.site-nav{flex:1;display:flex;align-items:center;justify-content:center}
.site-nav__list{display:flex;align-items:center;gap:var(--space-1)}
.site-nav__link,.site-nav__trigger{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-slate-700);text-decoration:none;border-radius:var(--radius-md);transition:color var(--transition-base),background-color var(--transition-base);white-space:nowrap;background:none;border:none;cursor:pointer}
.site-nav__link:hover,.site-nav__trigger:hover,.site-nav__trigger[aria-expanded="true"]{color:var(--color-navy-900);background-color:var(--color-slate-100)}
.site-nav__chevron{transition:transform var(--transition-base);flex-shrink:0;color:var(--color-slate-400)}
.site-nav__trigger[aria-expanded="true"] .site-nav__chevron{transform:rotate(180deg)}
.site-header__actions{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}
.site-header__phone{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-slate-700);text-decoration:none;transition:color var(--transition-base)}
.site-header__phone:hover{color:var(--color-navy-900)}
.site-header__hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;border-radius:var(--radius-md);transition:background-color var(--transition-base)}
.site-header__hamburger:hover{background-color:var(--color-slate-100)}
.hamburger__bar{display:block;width:22px;height:2px;background-color:var(--color-navy-800);border-radius:var(--radius-full);transition:transform 350ms var(--ease-inout),opacity 350ms var(--ease-inout)}
.site-header__hamburger[aria-expanded="true"] .hamburger__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header__hamburger[aria-expanded="true"] .hamburger__bar:nth-child(2){opacity:0;transform:scaleX(0)}
.site-header__hamburger[aria-expanded="true"] .hamburger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(380px,100vw);max-height:100dvh;margin:0;padding:0;background:#fff;border:none;box-shadow:var(--shadow-2xl);overflow-y:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform 350ms var(--ease-smooth)}
.mobile-nav[open]{transform:translateX(0)}
.mobile-nav__inner{display:flex;flex-direction:column;min-height:100%;padding:var(--space-6)}
.mobile-nav__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-6)}
.mobile-nav__close{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);color:var(--text-secondary);transition:background-color var(--transition-base)}
.mobile-nav__close:hover{background-color:var(--color-slate-100)}
.mobile-nav__link{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:background-color var(--transition-base),color var(--transition-base)}
.mobile-nav__link:hover{background-color:var(--color-slate-50);color:var(--text-primary)}
.mobile-nav__footer{margin-top:auto;padding-top:var(--space-6);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-4);align-items:center;text-align:center}
.mobile-nav__overlay{position:fixed;inset:0;background:rgba(10,22,40,.5);z-index:calc(var(--z-sticky) + 1);opacity:0;pointer-events:none;transition:opacity var(--transition-slow)}
.mobile-nav__overlay.is-active{opacity:1;pointer-events:auto}
@media(max-width:1024px){.site-nav,.site-header__phone,.site-header__cta{display:none}.site-header__hamburger{display:flex}}
@media(min-width:1025px){.mobile-nav,.mobile-nav__overlay{display:none}}

/* Mega menu */
.mega-menu{position:fixed;top:var(--header-height);left:0;right:0;z-index:var(--z-dropdown);background-color:#fff;border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);box-shadow:var(--shadow-xl);opacity:0;transform:translateY(-8px);transition:opacity var(--transition-slow),transform var(--transition-slow);pointer-events:none}
.mega-menu.is-open{opacity:1;transform:translateY(0);pointer-events:auto}
.mega-menu__inner{padding-block:var(--space-8)}
.mega-menu__grid{display:grid;grid-template-columns:1fr 1fr 340px;gap:var(--space-10);align-items:start}
.mega-menu__grid--narrow{grid-template-columns:1fr 280px}
.mega-menu__col-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}
.mega-menu__link{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);text-decoration:none;transition:background-color var(--transition-fast)}
.mega-menu__link:hover{background-color:var(--color-slate-50)}
.mega-menu__link-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background-color:var(--color-cyan-50);border-radius:var(--radius-md);color:var(--color-cyan-600)}
.mega-menu__link-body{display:flex;flex-direction:column;gap:2px}
.mega-menu__link-body strong{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-navy-800);line-height:var(--lh-snug)}
.mega-menu__link-body span{font-size:var(--text-xs);color:var(--text-secondary)}
.mega-menu__promo{background:linear-gradient(135deg,var(--color-navy-900) 0%,var(--color-navy-700) 100%);border-radius:var(--radius-xl);padding:var(--space-8);height:100%;position:relative;overflow:hidden}
.mega-menu__promo-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-cyan-400);margin-bottom:var(--space-3)}
.mega-menu__promo-title{font-size:var(--text-lg);font-weight:var(--fw-bold);color:#fff;line-height:var(--lh-snug);margin-bottom:var(--space-3)}
.mega-menu__promo-text{font-size:var(--text-sm);color:rgba(255,255,255,.72);line-height:var(--lh-relaxed);margin-bottom:var(--space-6)}

/* ============================================================
   10. FOOTER
   ============================================================ */
.site-footer{background-color:var(--color-navy-900);color:rgba(255,255,255,.72)}
.site-footer__cta-band{background:linear-gradient(135deg,var(--color-navy-950) 0%,var(--color-navy-800) 100%);border-bottom:1px solid rgba(255,255,255,.08);padding-block:var(--space-16);position:relative;overflow:hidden}
.footer-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10)}
.footer-cta__title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:var(--fw-bold);color:#fff;margin-bottom:var(--space-3);line-height:var(--lh-snug)}
.footer-cta__text{font-size:var(--text-md);color:rgba(255,255,255,.65);max-width:520px}
.footer-cta__actions{display:flex;gap:var(--space-4);flex-shrink:0;align-items:center}
.site-footer__main{padding-block:var(--space-16);border-bottom:1px solid rgba(255,255,255,.08)}
.site-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:var(--space-10)}
.site-footer__logo-img{height:32px;width:auto;filter:brightness(0) invert(1);margin-bottom:var(--space-5);opacity:.9}
.site-footer__tagline{font-size:var(--text-sm);line-height:var(--lh-relaxed);color:rgba(255,255,255,.55);margin-bottom:var(--space-6);max-width:280px}
.site-footer__contact{font-style:normal;display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}
.site-footer__contact-link{font-size:var(--text-sm);color:rgba(255,255,255,.72);text-decoration:none;transition:color var(--transition-base)}
.site-footer__contact-link:hover{color:var(--color-cyan-400)}
.site-footer__social{display:flex;gap:var(--space-3)}
.site-footer__social-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:rgba(255,255,255,.08);color:rgba(255,255,255,.65);text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base)}
.site-footer__social-link:hover{background-color:var(--color-cyan-500);color:#fff}
.site-footer__nav-heading{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:var(--space-5)}
.site-footer__nav-list a{display:block;padding:var(--space-2) 0;font-size:var(--text-sm);color:rgba(255,255,255,.65);text-decoration:none;transition:color var(--transition-base)}
.site-footer__nav-list a:hover{color:var(--color-cyan-400)}
.site-footer__bottom{padding-block:var(--space-6)}
.site-footer__bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}
.site-footer__copyright,.site-footer__reg{font-size:var(--text-xs);color:rgba(255,255,255,.35)}
.site-footer__legal-nav .site-footer__legal-list{display:flex;gap:var(--space-5)}
.site-footer__legal-nav a{font-size:var(--text-xs);color:rgba(255,255,255,.45);text-decoration:none;transition:color var(--transition-base)}
.site-footer__legal-nav a:hover{color:rgba(255,255,255,.75)}
@media(max-width:1024px){.site-footer__grid{grid-template-columns:1fr 1fr 1fr;gap:var(--space-8)}.site-footer__brand{grid-column:1/-1}.footer-cta{flex-direction:column;text-align:center;align-items:center}}
@media(max-width:640px){.site-footer__grid{grid-template-columns:1fr 1fr}.footer-cta__actions{flex-direction:column;width:100%}.footer-cta__actions .btn{width:100%;justify-content:center}}

/* ============================================================
   11. ANIMATIONS
   ============================================================ */
[data-reveal]{opacity:0;transition:opacity var(--duration-slowest) var(--ease-out),transform var(--duration-slowest) var(--ease-out)}
[data-reveal="up"]{transform:translateY(30px)}
[data-reveal="left"]{transform:translateX(-30px)}
[data-reveal="right"]{transform:translateX(30px)}
[data-reveal="scale"]{transform:scale(.95)}
[data-reveal].is-visible{opacity:1;transform:none}
[data-reveal-group]>*{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slowest) var(--ease-out),transform var(--duration-slowest) var(--ease-out)}
[data-reveal-group].is-visible>*:nth-child(1){transition-delay:0ms}
[data-reveal-group].is-visible>*:nth-child(2){transition-delay:80ms}
[data-reveal-group].is-visible>*:nth-child(3){transition-delay:160ms}
[data-reveal-group].is-visible>*:nth-child(4){transition-delay:240ms}
[data-reveal-group].is-visible>*:nth-child(5){transition-delay:320ms}
[data-reveal-group].is-visible>*:nth-child(6){transition-delay:400ms}
[data-reveal-group].is-visible>*{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal],[data-reveal-group]>*{opacity:1;transform:none;transition:none}}

/* ============================================================
   12. HERO
   ============================================================ */
.hero{position:relative;overflow:hidden;padding-block:var(--space-24) var(--space-20);background-color:var(--color-navy-900)}
.hero--light{background-color:var(--bg-surface)}
.hero__bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.hero__bg-glow{position:absolute;top:-20%;right:-10%;width:70%;height:140%;background:radial-gradient(ellipse at center,rgba(0,180,216,.12) 0%,transparent 65%);pointer-events:none}
.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;min-height:580px}
.hero__content{max-width:580px}
.hero__eyebrow{margin-bottom:var(--space-5)}
.hero__headline{font-size:var(--text-6xl);font-weight:var(--fw-extrabold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:#fff;margin-bottom:var(--space-6)}
.hero--light .hero__headline{color:var(--color-navy-900)}
.hero__subheadline{font-size:var(--text-md);color:rgba(255,255,255,.75);line-height:var(--lh-relaxed);margin-bottom:var(--space-8);max-width:48ch}
.hero--light .hero__subheadline{color:var(--text-secondary)}
.hero__ctas{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-10)}
.hero__trust{display:flex;gap:var(--space-6);flex-wrap:wrap}
.hero__trust-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:rgba(255,255,255,.6);font-weight:var(--fw-medium)}
.hero--light .hero__trust-item{color:var(--text-secondary)}
.hero__trust-icon{color:var(--color-cyan-400)}
.hero__image-wrap{position:relative}
.hero__image-frame{position:relative;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-2xl)}
.hero__image{width:100%;height:520px;object-fit:cover;display:block}
.hero__image-glow{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,180,216,.15) 0%,transparent 60%);pointer-events:none}
.hero__badge{position:absolute;bottom:-20px;left:-24px;background:#fff;border-radius:var(--radius-xl);padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;align-items:center;min-width:120px}
.hero__badge-number{font-size:var(--text-3xl);font-weight:var(--fw-extrabold);color:var(--color-navy-900);line-height:1;letter-spacing:var(--ls-tight)}
.hero__badge-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--fw-medium);text-align:center;margin-top:var(--space-1)}
@media(max-width:1024px){.hero__inner{grid-template-columns:1fr;min-height:auto;text-align:center}.hero__subheadline,.hero__trust,.hero__ctas{margin-inline:auto;justify-content:center}.hero__image-wrap{display:none}}
@media(max-width:768px){.hero__headline{font-size:clamp(2rem,8vw,3rem)}}
@media(max-width:640px){.hero__ctas{flex-direction:column;align-items:center}.hero__ctas .btn{width:100%;justify-content:center}}

/* ============================================================
   13. LOGO CLOUD
   ============================================================ */
.logo-cloud{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);background:#fff;padding-block:var(--space-12)}
.logo-cloud__eyebrow{text-align:center;font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-8)}
.logo-cloud__list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-10) var(--space-12)}
.logo-cloud__logo{height:36px;width:auto;max-width:140px;object-fit:contain;filter:grayscale(100%);opacity:.5;transition:filter var(--transition-slow),opacity var(--transition-slow)}
.logo-cloud__logo-wrap:hover .logo-cloud__logo{filter:grayscale(0%);opacity:1}

/* ============================================================
   14. SPLIT CONTENT
   ============================================================ */
.split-content--image-left .grid--split{direction:rtl}
.split-content--image-left .grid--split>*{direction:ltr}
.split-content__headline{margin:var(--space-4) 0 var(--space-5);color:var(--text-primary)}
.section--dark .split-content__headline{color:#fff}
.split-content__prose{margin-bottom:var(--space-6)}
.split-content__points{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}
.split-content__point{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed)}
.section--dark .split-content__point{color:rgba(255,255,255,.72)}
.split-content__point-icon{color:var(--color-cyan-500);flex-shrink:0;margin-top:2px}
.split-content__ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}
.split-content__image-frame{border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-xl)}
.split-content__image{width:100%;height:480px;object-fit:cover;display:block}

/* ============================================================
   15. STATS
   ============================================================ */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1);background:rgba(255,255,255,.05);border-radius:var(--radius-2xl);overflow:hidden}
.section--dark .stat-card{background:transparent}
@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   16. INDUSTRY CARDS
   ============================================================ */
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.industry-card{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.industry-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.industry-card__image-wrap{height:180px;overflow:hidden}
.industry-card__image{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slowest) var(--ease-out)}
.industry-card:hover .industry-card__image{transform:scale(1.04)}
.industry-card__body{padding:var(--space-6)}
.industry-card__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-cyan-50);border-radius:var(--radius-md);color:var(--color-cyan-600);margin-bottom:var(--space-4)}
.industry-card__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-3);line-height:var(--lh-snug)}
.industry-card__desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-5)}
.industry-card__link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--color-navy-700);text-decoration:none;transition:gap var(--transition-base),color var(--transition-base)}
.industry-card__link:hover{gap:var(--space-3);color:var(--color-cyan-600)}
@media(max-width:1024px){.industry-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.industry-grid{grid-template-columns:1fr}}

/* ============================================================
   17. TESTIMONIALS
   ============================================================ */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
@media(max-width:1024px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.testimonials-grid{grid-template-columns:1fr}}

/* ============================================================
   18. PROCESS STEPS
   ============================================================ */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);position:relative}
.process-steps::before{content:'';position:absolute;top:28px;left:calc(12.5% + 28px);right:calc(12.5% + 28px);height:2px;background:linear-gradient(90deg,var(--color-cyan-500) 0%,var(--color-cyan-300) 100%);z-index:0}
.process-step{position:relative;z-index:1;text-align:center}
.process-step__number{width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-navy-900);color:var(--color-cyan-400);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0 auto var(--space-6);position:relative;z-index:1;box-shadow:0 0 0 6px var(--bg-page),var(--shadow-md)}
.section--surface .process-step__number{box-shadow:0 0 0 6px var(--bg-surface),var(--shadow-md)}
.process-step__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-3)}
.process-step__desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed)}
@media(max-width:1024px){.process-steps{grid-template-columns:repeat(2,1fr)}.process-steps::before{display:none}}
@media(max-width:768px){.process-steps{grid-template-columns:1fr}.process-step{text-align:left;display:flex;gap:var(--space-5);align-items:flex-start}.process-step__number{margin:0;flex-shrink:0}}

/* ============================================================
   19. CTA BANNER
   ============================================================ */
.cta-banner{position:relative;overflow:hidden}
.cta-banner--dark{background:linear-gradient(135deg,var(--color-navy-950) 0%,var(--color-navy-700) 100%)}
.cta-banner--navy-gradient{background:linear-gradient(135deg,var(--color-navy-900) 0%,var(--color-cyan-600) 100%)}
.cta-banner__bg-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:400px;background:radial-gradient(ellipse,rgba(0,180,216,.15) 0%,transparent 70%);pointer-events:none}
.cta-banner__inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}
.cta-banner--centered .cta-banner__inner{flex-direction:column;text-align:center;align-items:center}
.cta-banner__eyebrow{margin-bottom:var(--space-4)}
.cta-banner__headline{font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:var(--fw-bold);color:#fff;line-height:var(--lh-snug);margin-bottom:var(--space-4)}
.cta-banner__subtext{font-size:var(--text-md);color:rgba(255,255,255,.65);line-height:var(--lh-relaxed);max-width:56ch}
.cta-banner__actions{display:flex;gap:var(--space-4);flex-shrink:0;flex-wrap:wrap;align-items:center}
.cta-banner--centered .cta-banner__actions{justify-content:center;margin-top:var(--space-8)}
@media(max-width:1024px){.cta-banner__inner{flex-direction:column;text-align:center}.cta-banner__actions{justify-content:center}}

/* ============================================================
   20. ARCHIVE HERO & FILTERS
   ============================================================ */
.archive-hero{padding-block:var(--space-20) var(--space-16);background:linear-gradient(135deg,var(--color-navy-950) 0%,var(--color-navy-800) 100%)}
.archive-hero--short{padding-block:var(--space-16) var(--space-12)}
.archive-hero__inner{max-width:680px}
.archive-hero__title{font-size:var(--text-5xl);font-weight:var(--fw-extrabold);color:#fff;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:var(--space-4) 0 var(--space-4)}
.archive-hero__lead{font-size:var(--text-md);color:rgba(255,255,255,.7);line-height:var(--lh-relaxed);max-width:52ch}
.archive-filters{background:#fff;border-bottom:1px solid var(--border-default);padding-block:var(--space-4)}
.filter-nav{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}
.filter-nav__item{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-full);border:1px solid var(--border-default);transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}
.filter-nav__item:hover{background-color:var(--color-slate-50);color:var(--text-primary);border-color:var(--border-strong)}
.filter-nav__item.is-active{background-color:var(--color-navy-900);color:#fff;border-color:var(--color-navy-900)}
.archive-pagination{margin-top:var(--space-12);display:flex;justify-content:center}
.archive-pagination .page-numbers{display:flex;align-items:center;gap:var(--space-2);list-style:none}
.archive-pagination .page-numbers li a,.archive-pagination .page-numbers li span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding-inline:var(--space-3);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-secondary);text-decoration:none;border:1px solid var(--border-default);border-radius:var(--radius-md);transition:background-color var(--transition-base),color var(--transition-base);gap:var(--space-2)}
.archive-pagination .page-numbers li a:hover{background-color:var(--color-slate-50);color:var(--text-primary)}
.archive-pagination .page-numbers li .current{background-color:var(--color-navy-900);color:#fff;border-color:var(--color-navy-900)}
@media(max-width:768px){.archive-hero__title{font-size:clamp(1.75rem,7vw,2.5rem)}}

/* ============================================================
   21. SIDEBAR
   ============================================================ */
.sidebar-cta{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden}
.sidebar-cta__inner{padding:var(--space-6)}
.sidebar-cta__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-3)}
.sidebar-cta__text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-5)}
.sidebar-cta__phone{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-tertiary);text-align:center}
.sidebar-cta__phone a{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--color-navy-800);text-decoration:none;transition:color var(--transition-base)}
.sidebar-cta__phone a:hover{color:var(--color-cyan-600)}
.sidebar-related{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-6)}
.sidebar-related__title{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-4)}
.sidebar-related__link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast)}
.sidebar-related__link:hover{background-color:var(--color-slate-50);color:var(--text-primary)}
.sidebar-related__arrow{margin-left:auto;color:var(--color-slate-300);flex-shrink:0;transition:transform var(--transition-base),color var(--transition-base)}
.sidebar-related__link:hover .sidebar-related__arrow{transform:translateX(3px);color:var(--color-slate-500)}

/* ============================================================
   22. CONTACT
   ============================================================ */
.contact-layout{display:grid;grid-template-columns:1fr 400px;gap:var(--space-16);align-items:start}
.contact-form__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-3)}
.contact-form__lead{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-8)}
.contact-info-card{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6)}
.contact-info-card__title{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-6)}
.contact-details{display:flex;flex-direction:column;gap:var(--space-5)}
.contact-detail{display:flex;align-items:flex-start;gap:var(--space-4)}
.contact-detail__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-cyan-50);border-radius:var(--radius-md);color:var(--color-cyan-600);flex-shrink:0}
.contact-detail__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-1)}
.contact-detail__value{font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--text-primary);text-decoration:none;transition:color var(--transition-base);display:block}
a.contact-detail__value:hover{color:var(--color-cyan-600)}
.contact-trust{background:var(--color-navy-900);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-6)}
.contact-trust__title{font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wider);text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:var(--space-5)}
.contact-trust__list{display:flex;flex-direction:column;gap:var(--space-4)}
.contact-trust__item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--fw-medium);color:rgba(255,255,255,.85)}
.contact-trust__icon{color:var(--color-cyan-400);flex-shrink:0}
.contact-support-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl)}
.contact-support-card__inner{padding:var(--space-6)}
.contact-support-card__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);margin-bottom:var(--space-3)}
.contact-support-card__text{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-5)}
@media(max-width:1024px){.contact-layout{grid-template-columns:1fr;gap:var(--space-10)}}

/* ============================================================
   23. ABOUT
   ============================================================ */
.about-stats-band{background:var(--color-navy-900);padding-block:var(--space-10);border-bottom:1px solid rgba(255,255,255,.08)}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);text-align:center}
.about-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}
.about-stat__number{font-size:clamp(2.5rem,4vw,3.5rem);font-weight:var(--fw-extrabold);color:#fff;line-height:1;letter-spacing:var(--ls-tight);display:block}
.about-stat__label{font-size:var(--text-sm);color:rgba(255,255,255,.55);font-weight:var(--fw-medium)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}
.team-card{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.team-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.team-card__photo-wrap{aspect-ratio:1/1;overflow:hidden;background:var(--color-slate-100)}
.team-card__photo{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform var(--duration-slowest) var(--ease-out)}
.team-card:hover .team-card__photo{transform:scale(1.04)}
.team-card__photo--placeholder{display:flex;align-items:center;justify-content:center;font-size:var(--text-4xl);font-weight:var(--fw-bold);color:var(--color-navy-400);background:var(--color-navy-50)}
.team-card__body{padding:var(--space-5)}
.team-card__name{font-size:var(--text-base);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-1)}
.team-card__role{font-size:var(--text-sm);color:var(--color-cyan-600);font-weight:var(--fw-medium);margin-bottom:var(--space-2)}
.team-card__certs{font-size:var(--text-xs);color:var(--text-tertiary);margin-bottom:var(--space-3)}
.team-card__bio{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);margin-bottom:var(--space-4)}
.team-card__linkedin{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-slate-500);text-decoration:none;transition:color var(--transition-base)}
.team-card__linkedin:hover{color:var(--color-navy-700)}
.accreditations-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-10) var(--space-16)}
.accreditation-item__logo{height:48px;width:auto;max-width:160px;object-fit:contain;filter:grayscale(100%);opacity:.6;transition:filter var(--transition-slow),opacity var(--transition-slow)}
.accreditation-item__logo:hover{filter:grayscale(0%);opacity:1}
@media(max-width:1024px){.about-stats{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.team-grid{grid-template-columns:1fr}}

/* ============================================================
   24. SUPPORT PORTAL
   ============================================================ */
.support-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}
.support-option{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:var(--space-10) var(--space-8);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.support-option:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.support-option--primary{background:var(--color-navy-900);border-color:var(--color-navy-900)}
.support-option--primary .support-option__title{color:#fff}
.support-option--primary .support-option__desc{color:rgba(255,255,255,.65)}
.support-option--primary .support-option__icon{background:rgba(0,180,216,.15);color:var(--color-cyan-400)}
.support-option__icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:var(--color-cyan-50);border-radius:var(--radius-2xl);color:var(--color-cyan-600);margin-bottom:var(--space-2)}
.support-option__title{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary)}
.support-option__desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);flex:1}
.support-option__cta{margin-top:var(--space-2);width:100%;justify-content:center}
.support-emergency{background:var(--color-error-light);border:1px solid rgba(220,38,38,.2);border-radius:var(--radius-xl);padding:var(--space-5) var(--space-6)}
.support-emergency__inner{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}
.support-emergency__badge{display:inline-flex;padding:var(--space-1) var(--space-3);background:var(--color-error);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-bold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--ls-wider);flex-shrink:0}
.support-emergency__text{font-size:var(--text-sm);color:var(--color-error-dark)}
.support-emergency__number{font-weight:var(--fw-bold);color:var(--color-error-dark);text-decoration:none;margin-left:var(--space-2)}
@media(max-width:1024px){.support-options{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}

/* ============================================================
   25. FAQ
   ============================================================ */
.faq-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-12);align-items:start}
.faq-layout__sidebar{position:sticky;top:calc(var(--header-height) + var(--space-6));display:flex;flex-direction:column;gap:var(--space-5)}
.faq-group{margin-bottom:var(--space-12)}
.faq-group__title{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--border-default)}
.faq-accordion{display:flex;flex-direction:column;gap:var(--space-2)}
.faq-item{border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;background:#fff;transition:box-shadow var(--transition-base)}
.faq-item__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;padding:var(--space-5) var(--space-6);text-align:left;background:none;border:none;cursor:pointer;transition:background-color var(--transition-fast)}
.faq-item__trigger:hover,.faq-item__trigger[aria-expanded="true"]{background-color:var(--color-slate-50)}
.faq-item__trigger[aria-expanded="true"] .faq-item__icon{transform:rotate(180deg)}
.faq-item__question{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:var(--lh-snug);flex:1}
.faq-item__icon{flex-shrink:0;color:var(--color-slate-400);transition:transform var(--transition-base)}
.faq-item__answer-inner{padding:0 var(--space-6) var(--space-6)}
@media(max-width:1024px){.faq-layout{grid-template-columns:1fr}.faq-layout__sidebar{position:static}}

/* ============================================================
   26. 404
   ============================================================ */
.error-page{text-align:center}
.error-page__inner{max-width:620px;margin-inline:auto;margin-bottom:var(--space-12)}
.error-page__code{font-size:clamp(6rem,15vw,10rem);font-weight:var(--fw-extrabold);color:var(--color-slate-100);line-height:1;letter-spacing:var(--ls-tight);margin-bottom:var(--space-4);user-select:none}
.error-page__title{font-size:var(--text-4xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-4)}
.error-page__lead{font-size:var(--text-md);color:var(--text-secondary);line-height:var(--lh-relaxed);max-width:48ch;margin-inline:auto;margin-bottom:var(--space-8)}
.error-page__links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);max-width:860px;margin-inline:auto;margin-bottom:var(--space-12);text-align:left}
.error-page__link-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);text-decoration:none;transition:box-shadow var(--transition-base),transform var(--transition-base)}
.error-page__link-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.error-page__link-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-cyan-50);border-radius:var(--radius-md);color:var(--color-cyan-600);flex-shrink:0}
.error-page__link-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-primary);flex:1}
.error-page__cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}
@media(max-width:768px){.error-page__links{grid-template-columns:1fr;max-width:400px}}

/* ============================================================
   27. BLOG / POST SINGLE
   ============================================================ */
.post-hero{padding-block:var(--space-20) var(--space-12);background:linear-gradient(135deg,var(--color-navy-950) 0%,var(--color-navy-800) 100%)}
.post-hero__title{font-size:var(--text-5xl);font-weight:var(--fw-extrabold);color:#fff;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:var(--space-6)}
.post-hero__meta{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}
.post-hero__byline{display:flex;align-items:center;gap:var(--space-4)}
.post-hero__avatar{width:44px;height:44px;border-radius:var(--radius-full);border:2px solid rgba(255,255,255,.2);object-fit:cover;flex-shrink:0}
.post-hero__author{display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:rgba(255,255,255,.9)}
.post-hero__date{display:block;font-size:var(--text-xs);color:rgba(255,255,255,.55)}
.post-layout__grid{display:grid;grid-template-columns:1fr 300px;gap:var(--space-16);align-items:start}
.post-layout__sidebar{position:sticky;top:calc(var(--header-height) + var(--space-6));display:flex;flex-direction:column;gap:var(--space-5)}
.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.blog-post-featured{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-slow),transform var(--transition-slow)}
.blog-post-featured:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.blog-post-featured__image-wrap{display:block;overflow:hidden}
.blog-post-featured__image{width:100%;height:100%;object-fit:cover;min-height:320px;transition:transform var(--duration-slowest) var(--ease-out)}
.blog-post-featured:hover .blog-post-featured__image{transform:scale(1.03)}
.blog-post-featured__body{padding:var(--space-10);display:flex;flex-direction:column;justify-content:center}
.blog-post-featured__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);line-height:var(--lh-snug);margin:var(--space-4) 0}
.blog-post-featured__title a{color:inherit;text-decoration:none}
.blog-post-featured__title a:hover{color:var(--color-navy-600)}
.blog-post-featured__excerpt{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed);flex:1;margin-bottom:var(--space-6)}
.blog-post-featured__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--border-subtle)}
@media(max-width:1024px){.post-layout__grid{grid-template-columns:1fr}.post-layout__sidebar{position:static}.blog-post-featured{grid-template-columns:1fr}}
@media(max-width:768px){.blog-grid{grid-template-columns:1fr}}

/* ============================================================
   28. SERVICE SINGLE
   ============================================================ */
.service-hero{padding-block:var(--space-20) var(--space-16);background:linear-gradient(135deg,var(--color-navy-950) 0%,var(--color-navy-700) 100%);position:relative;overflow:hidden}
.service-hero__inner{position:relative;z-index:1;max-width:760px}
.service-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:rgba(0,180,216,.15);border-radius:var(--radius-xl);color:var(--color-cyan-400);margin-bottom:var(--space-5)}
.service-hero__title{font-size:var(--text-5xl);font-weight:var(--fw-extrabold);color:#fff;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:var(--space-5)}
.service-hero__lead{font-size:var(--text-md);color:rgba(255,255,255,.72);line-height:var(--lh-relaxed);max-width:56ch;margin-bottom:var(--space-8)}
.service-hero__ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}
.service-layout__grid{display:grid;grid-template-columns:1fr 340px;gap:var(--space-12);align-items:start}
.service-layout__sidebar{position:sticky;top:calc(var(--header-height) + var(--space-6));display:flex;flex-direction:column;gap:var(--space-5)}
.service-features{margin-top:var(--space-10);padding-top:var(--space-10);border-top:1px solid var(--border-subtle)}
.service-features__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);margin-bottom:var(--space-8)}
.service-features__list{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
.service-feature{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle)}
.service-feature__icon{color:var(--color-cyan-500);flex-shrink:0;margin-top:2px}
.service-feature__title{display:block;font-weight:var(--fw-semibold);font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-1)}
.service-feature__desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--lh-relaxed)}
@media(max-width:1024px){.service-layout__grid{grid-template-columns:1fr}.service-layout__sidebar{position:static}.service-features__list{grid-template-columns:1fr}}

/* ============================================================
   29. CASE STUDY
   ============================================================ */
.cs-hero{padding-block:var(--space-20) var(--space-16);background:linear-gradient(135deg,var(--color-navy-950) 0%,var(--color-navy-800) 100%)}
.cs-hero__title{font-size:var(--text-5xl);font-weight:var(--fw-extrabold);color:#fff;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:var(--space-5)}
.cs-hero__meta{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-5)}
.cs-results-bar{background:var(--color-cyan-500);padding-block:var(--space-5)}
.cs-results-bar__list{display:flex;justify-content:center;gap:var(--space-16);flex-wrap:wrap}
.cs-results-bar__item{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}
.cs-results-bar__stat{font-size:var(--text-2xl);font-weight:var(--fw-extrabold);color:var(--color-navy-900);line-height:1}
.cs-results-bar__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--color-navy-800);text-transform:uppercase;letter-spacing:var(--ls-wider)}
.cs-body__grid{display:grid;grid-template-columns:1fr 320px;gap:var(--space-12);align-items:start}
.cs-body__sidebar{position:sticky;top:calc(var(--header-height) + var(--space-6));display:flex;flex-direction:column;gap:var(--space-5)}
.cs-section{margin-bottom:var(--space-10);padding-bottom:var(--space-10);border-bottom:1px solid var(--border-subtle)}
.cs-section__title{font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-5)}
.cs-pullquote{margin:var(--space-10) 0;padding:var(--space-8);background:var(--color-navy-50);border-left:4px solid var(--color-cyan-500);border-radius:0 var(--radius-lg) var(--radius-lg) 0}
.cs-pullquote__text{font-size:var(--text-xl);font-style:italic;color:var(--color-navy-800);line-height:var(--lh-relaxed);margin-bottom:var(--space-4)}
.cs-facts__list{display:flex;flex-direction:column;gap:0}
.cs-facts__row{display:flex;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}
.cs-facts__row:last-child{border-bottom:none}
.cs-facts__row dt{font-weight:var(--fw-semibold);color:var(--text-secondary);min-width:100px;flex-shrink:0}
.cs-facts__row dd{color:var(--text-primary)}
@media(max-width:1024px){.cs-body__grid{grid-template-columns:1fr}.cs-body__sidebar{position:static}}

/* ============================================================
   30. INDUSTRY SINGLE
   ============================================================ */
.industry-hero{position:relative;padding-block:var(--space-24) var(--space-20);min-height:500px;display:flex;align-items:center;overflow:hidden;background:var(--color-navy-900)}
.industry-hero__bg{position:absolute;inset:0}
.industry-hero__bg-img{width:100%;height:100%;object-fit:cover;opacity:.25}
.industry-hero__bg-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,22,40,.9) 0%,rgba(10,22,40,.5) 100%)}
.industry-hero__inner{position:relative;z-index:1;width:100%}
.industry-hero__content{max-width:680px}
.industry-hero__title{font-size:var(--text-5xl);font-weight:var(--fw-extrabold);color:#fff;line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:var(--space-4) 0 var(--space-5)}
.industry-hero__lead{font-size:var(--text-md);color:rgba(255,255,255,.72);line-height:var(--lh-relaxed);max-width:52ch;margin-bottom:var(--space-8)}
.industry-hero__ctas{display:flex;gap:var(--space-4);flex-wrap:wrap}
.pain-points-list,.solutions-list{display:flex;flex-direction:column;gap:var(--space-4)}
.pain-point,.solution-item{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);line-height:var(--lh-relaxed);color:var(--text-secondary)}
.pain-point__icon{color:var(--color-error);flex-shrink:0;margin-top:2px}
.solution-item__icon{color:var(--color-cyan-500);flex-shrink:0;margin-top:2px}

/* ============================================================
   31. WEBINAR
   ============================================================ */
.webinar-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-12);align-items:start}
.webinar-layout__sidebar{position:sticky;top:calc(var(--header-height) + var(--space-6));display:flex;flex-direction:column;gap:var(--space-5)}
.webinar-embed{margin-bottom:var(--space-10);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--color-navy-900)}
.webinar-embed__frame{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}
.webinar-embed__frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.card__image-wrap--video{position:relative;overflow:hidden}
.card__play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,22,40,.4);transition:background-color var(--transition-base)}
.card:hover .card__play-overlay{background:rgba(10,22,40,.55)}
.card__play-btn{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:var(--radius-full);background:var(--color-cyan-500);color:var(--color-navy-900);transition:transform var(--transition-base),box-shadow var(--transition-base)}
.card:hover .card__play-btn{transform:scale(1.08);box-shadow:var(--shadow-cyan)}
.card__duration{position:absolute;bottom:var(--space-3);right:var(--space-3);padding:3px var(--space-2);background:rgba(0,0,0,.72);color:#fff;font-size:var(--text-xs);font-weight:var(--fw-medium);border-radius:var(--radius-sm)}
@media(max-width:1024px){.webinar-layout{grid-template-columns:1fr}.webinar-layout__sidebar{position:static}}

/* ============================================================
   32. KNOWLEDGE HUB
   ============================================================ */
.hub-section-footer{text-align:center;margin-top:var(--space-10)}

/* ============================================================
   33. SEARCH
   ============================================================ */
.search-refine-form__inner{display:flex;gap:var(--space-3);max-width:560px}
.search-refine-form__input{flex:1;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.search-refine-form__input::placeholder{color:rgba(255,255,255,.45)}
.search-section{margin-bottom:var(--space-12)}
.search-section__title{font-size:var(--text-xl);font-weight:var(--fw-bold);color:var(--text-primary);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--border-default)}
.search-results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.search-result-card{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}
.search-result-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.search-result-card__thumb{height:140px;overflow:hidden}
.search-result-card__img{width:100%;height:100%;object-fit:cover}
.search-result-card__body{padding:var(--space-5)}
.search-result-card__title{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-3);line-height:var(--lh-snug)}
.search-result-card__title a{color:inherit;text-decoration:none}
.search-result-card__title a:hover{color:var(--color-navy-600)}
.search-list{display:flex;flex-direction:column;gap:var(--space-1)}
.search-list-item{display:flex;gap:var(--space-6);align-items:flex-start;padding:var(--space-5);background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);transition:box-shadow var(--transition-base)}
.search-list-item:hover{box-shadow:var(--shadow-sm)}
.search-list-item__thumb{width:120px;height:80px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;display:block}
.search-list-item__img{width:100%;height:100%;object-fit:cover}
.search-list-item__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--text-primary);margin-bottom:var(--space-2);line-height:var(--lh-snug)}
.search-list-item__title a{color:inherit;text-decoration:none}
.search-no-results{text-align:center;padding:var(--space-20) 0}
.search-no-results__title{font-size:var(--text-3xl);font-weight:var(--fw-bold);margin-bottom:var(--space-4)}
.search-no-results__lead{font-size:var(--text-md);color:var(--text-secondary);max-width:52ch;margin-inline:auto;margin-bottom:var(--space-8)}
.search-no-results__links{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}
@media(max-width:1024px){.search-results-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.search-results-grid{grid-template-columns:1fr}.search-refine-form__inner{flex-direction:column}}

/* ============================================================
   NO-JS FALLBACK
   If JS hasn't run yet, make reveal elements visible
   after a short delay via CSS animation
   ============================================================ */
@keyframes reveal-fallback {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: none; }
}

/* Elements that haven't received is-visible after 0.8s get shown anyway */
[data-reveal]:not(.is-visible) {
    animation: reveal-fallback 0.6s ease-out 0.8s both;
}
[data-reveal-group]:not(.is-visible) > * {
    animation: reveal-fallback 0.6s ease-out 0.8s both;
}

/* Once JS adds is-visible, stop the fallback animation cleanly */
[data-reveal].is-visible,
[data-reveal-group].is-visible > * {
    animation: none;
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    [data-reveal]:not(.is-visible),
    [data-reveal-group]:not(.is-visible) > * {
        animation: none;
        opacity: 1;
        transform: none;
    }
}
