

@layer base, layout, components, utilities;


@layer base {

  
  :root {
    
    
    
    --hueKeyLite: color-mix(in oklch, var(--hueKey, #2c3e50), white 85%);
    --hueKeyTint:  color-mix(in oklch, var(--hueKey, #2c3e50), white 94%);

    
    --hueLayer:    color-mix(in oklch, var(--hueKey, #2c3e50), white 97%);
    --hueBorder:     color-mix(in oklch, var(--hueKey, #2c3e50), white 88%);

    
    --layer1:  #ffffff;
    --layer2:  color-mix(in oklch, var(--hueKey, #2c3e50), white 96%);

    
    --text1:     #0a0a14;
    --text2:     #3e3e56;
    --text3:     #7a7a96;

    
    --border1:   color-mix(in oklch, var(--hueKey, #2c3e50), white 85%);

    
    --animFast:   150ms ease;
  }

  *, *::before, *::after {
    box-sizing: border-box;
  }

  html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
  }

  body {
    margin: 0;
    font-family: var(--letteringContent, 'Inter', system-ui, sans-serif);
    color: var(--text1, #1a1a1a);
    background: var(--layer1, #fff);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }

  img, video {
    max-width: 100%;
    height: auto;
    display: block;
  }

  a {
    color: var(--hueKey);
    text-decoration: none;
    transition: opacity .2s ease;
  }

  a:hover {
    opacity: .8;
  }

  ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  button {
    cursor: pointer;
    font-family: inherit;
    border: none;
    background: none;
  }

  input, textarea, select, button {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
  }

  h1, h2, h3, h4, h5, h6 {
    font-family: var(--letteringHeading, 'Inter', sans-serif);
    font-weight: 700;
    line-height: 1.2;
    color: var(--text1, #1a1a1a);
    margin: 0 0 .75em;
  }

  h1 { font-size: var(--fluidT8); }
  h2 { font-size: var(--fluidT6); }
  h3 { font-size: var(--fluidT4); }
  h4 { font-size: var(--fluidT3); }

  p {
    margin: 0 0 1em;
    line-height: 1.75;
  }

  p:last-child {
    margin-bottom: 0;
  }

  address {
    font-style: normal;
  }

  
  :focus-visible {
    outline: 2px solid var(--hueKey);
    outline-offset: 3px;
    border-radius: 3px;
  }

}


@layer layout {

  .siteContainer {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: var(--fluidS2);
  }

  .sectionPadding {
    padding-block: var(--spacingSection, 72px);
  }

  .altBack {
    background: var(--backAlt, #f8f8f8);
  }

  
  .two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--fluidS4);
    align-items: center;
  }

  @media (max-width: 768px) {
    .two-col {
      grid-template-columns: 1fr;
    }
  }

}


@layer components {

  
  .sectionHeadline {
    text-align: center;
    margin-bottom: var(--fluidS3);
    font-size: var(--fluidT5);
    color: var(--text1, #1a1a1a);
    position: relative;
  }

  .sectionHeadline::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: var(--hueKey);
    margin: 12px auto 0;
    border-radius: 2px;
  }

  .lead {
    font-size: var(--fluidT2);
    line-height: 1.8;
    color: var(--text2, #444);
  }

  
  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 24px;
    border-radius: var(--roundBtn, 8px);
    font-family: var(--letteringHeading);
    font-weight: 700;
    font-size: .9rem;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: opacity .2s ease, transform .15s ease, box-shadow .2s ease;
    white-space: nowrap;
    border: 2px solid transparent;
  }

  .btn:hover {
    opacity: .88;
    transform: translateY(-1px);
  }

  .btn:active {
    transform: translateY(0);
  }

  .btnKey {
    background: var(--hueKey);
    color: #fff;
    border-color: var(--hueKey);
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
  }

  .btnLite {
    background: #fff;
    color: var(--hueKey);
    border-color: #fff;
  }

  .btnLite:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
  }

  .btnSecond {
    background: #1a1a2e;
    color: #fff;
    border-color: #1a1a2e;
  }

  .btnOutline {
    background: transparent;
    color: var(--hueKey);
    border-color: var(--hueKey);
  }

  .btnOutline:hover {
    background: var(--hueKey);
    color: #fff;
    opacity: 1;
  }

  .btnText {
    background: transparent;
    color: var(--hueKey);
    padding: 4px 0;
    border-color: transparent;
  }

  .btnTertiary {
    background: #f8f8f8;
    color: #1a1a1a;
    border-color: #e0e0e0;
  }

  .btnLarge {
    padding: 15px 36px;
    font-size: 1rem;
  }

  .btnSmall {
    padding: 8px 16px;
    font-size: .8rem;
  }

  .btnFull {
    width: 100%;
    justify-content: center;
  }

  
  .trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
    color: var(--eyebrowLiteHue, rgba(255,255,255,.85));
    background: var(--eyebrowLiteBack, rgba(255,255,255,.12));
    border: 1px solid var(--eyebrowLiteBorder, rgba(255,255,255,.25));
    border-radius: 30px;
    padding: 6px 16px;
    margin-bottom: 18px;
    letter-spacing: .03em;
  }

  .trust-badge i {
    color: #f0c040;
    font-size: 10px;
  }

  
  .bannerSection {
    position: relative;
    min-height: var(--bannerMinHeight, 520px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 0;
    overflow: hidden;
    background: var(--backAlt);
  }

  .hero-content {
    position: relative;
    z-index: 2;
    padding: var(--fluidS5) var(--fluidS4);
  }

  .hero-content h1 {
    font-size: var(--fluidT8);
    line-height: 1.1;
    margin-bottom: 20px;
    color: var(--text1, #1a1a1a);
  }

  .hero-subtitle {
    font-size: var(--fluidT2);
    color: var(--text2, #555);
    margin-bottom: 32px;
    line-height: 1.7;
  }

  .hero-image {
    position: relative;
    height: 100%;
    min-height: var(--bannerMinHeight, 520px);
    overflow: hidden;
  }

  .hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  
  .hero-image::before {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    width: 60px;
    background: linear-gradient(to right, var(--backAlt), transparent);
    z-index: 1;
  }

  
  .bannerSection.hero--full-bg {
    grid-template-columns: 1fr;
    min-height: var(--bannerMinHeight, 560px);
    background: #1a1a2e;
  }

  .bannerSection.hero--full-bg .hero-content {
    text-align: center;
    max-width: 720px;
    margin-inline: auto;
    padding-block: clamp(60px, 10vw, 120px);
  }

  .bannerSection.hero--full-bg .hero-content h1,
  .bannerSection.hero--full-bg .hero-content .hero-subtitle {
    color: #fff;
  }

  .bannerSection.hero--full-bg .hero-subtitle {
    color: rgba(255,255,255,.8);
  }

  
  .bannerSection.hero--gradient {
    grid-template-columns: 1fr;
    background: linear-gradient(135deg, var(--hueKey) 0%, #1a1a2e 100%);
    text-align: center;
    justify-items: center;
  }

  .bannerSection.hero--gradient .hero-content h1,
  .bannerSection.hero--gradient .hero-content .hero-subtitle {
    color: #fff;
  }

  .bannerSection.hero--gradient .hero-subtitle {
    color: rgba(255,255,255,.8);
  }

  @media (max-width: 768px) {
    .bannerSection {
      grid-template-columns: 1fr;
    }

    .hero-image {
      min-height: 280px;
      height: 280px;
    }

    .hero-image::before {
      display: none;
    }
  }

  
  .servicesSection {
    position: relative;
  }

  .services-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--deckGap, 24px);
    margin-top: 8px;
  }

  .service-item {
    display: flex;
    gap: 20px;
    padding: 28px;
    background: var(--layer1, #fff);
    border-radius: var(--roundCard, 12px);
    box-shadow: var(--elevCard, 0 4px 16px rgba(0,0,0,.08));
    transition: transform var(--anim, .2s ease), box-shadow var(--anim, .2s ease);
  }

  .service-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(0,0,0,.12);
  }

  .service-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--hueKey), #1a1a2e);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
  }

  .service-content h3 {
    font-size: 1.05rem;
    margin-bottom: 8px;
    color: var(--text1, #1a1a1a);
    line-height: 1.3;
  }

  .service-content p {
    font-size: .9rem;
    color: var(--text2, #555);
    line-height: 1.7;
    margin: 0;
  }

  @media (max-width: 640px) {
    .services-container {
      grid-template-columns: 1fr;
    }
  }

  
  .why-us-section {
    position: relative;
  }

  
  .figureDeck {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
    padding: 28px 32px;
    background: var(--hueKey);
    border-radius: var(--roundCard, 12px);
  }

  .metricEntry {
    text-align: center;
    color: #fff;
  }

  .metricScore {
    font-size: var(--fluidT7);
    font-weight: 800;
    font-family: var(--letteringHeading);
    line-height: 1.1;
  }

  .metricEyebrow {
    font-size: .8rem;
    opacity: .8;
    margin-top: 4px;
    letter-spacing: .02em;
  }

  @media (max-width: 640px) {
    .figureDeck {
      grid-template-columns: 1fr;
      gap: 16px;
      padding: 20px;
    }
  }

  
  .questionSection {
    position: relative;
  }

  .faq-container {
    max-width: 780px;
    margin-inline: auto;
  }

  .faq-item {
    background: var(--layer1, #fff);
    border: 1.5px solid var(--border1, #ebebeb);
    border-radius: var(--roundCard, 12px);
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
  }

  .faq-item:hover {
    border-color: var(--hueKey);
    box-shadow: 0 4px 16px rgba(0,0,0,.06);
  }

  .faq-item.active,
  .faq-item[aria-expanded="true"] {
    border-color: var(--hueKey);
    box-shadow: 0 4px 20px rgba(0,0,0,.08);
  }

  .faq-question {
    padding: 20px 24px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    user-select: none;
  }

  .faq-question h3 {
    font-size: .95rem;
    font-weight: 700;
    color: var(--text1, #1a1a1a);
    margin: 0;
    line-height: 1.4;
    flex: 1;
  }

  .faq-toggle {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--layer2, #f4f4f4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--hueKey);
    transition: transform .25s ease, background .2s ease;
  }

  .faq-item.active .faq-toggle,
  .faq-item[aria-expanded="true"] .faq-toggle {
    transform: rotate(45deg);
    background: var(--hueKey);
    color: #fff;
  }

  .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s cubic-bezier(.4, 0, .2, 1);
  }

  .faq-item.active .faq-answer,
  .faq-item[aria-expanded="true"] .faq-answer {
    max-height: 600px;
  }

  .faq-answer p {
    padding: 0 24px 20px;
    font-size: .9rem;
    color: var(--text2, #555);
    line-height: 1.75;
    margin: 0;
  }

  
  .pricing-section {
    position: relative;
  }

  .pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--deckGap, 24px);
    align-items: start;
    margin-top: 8px;
  }

  .pricing-card {
    background: var(--layer1, #fff);
    border: 1.5px solid var(--border1, #ebebeb);
    border-radius: var(--roundCard, 12px);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    transition: transform var(--anim, .2s ease), box-shadow var(--anim, .2s ease);
  }

  .pricing-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(0,0,0,.1);
  }

  .pricing-card.pricing-card--featured {
    background: var(--hueKey);
    color: #fff;
    border-color: var(--hueKey);
    box-shadow: 0 12px 40px rgba(0,0,0,.18);
    transform: scale(1.03);
  }

  .pricing-card.pricing-card--featured:hover {
    transform: scale(1.03) translateY(-4px);
  }

  .pricing-badge {
    display: inline-block;
    background: rgba(255,255,255,.2);
    border-radius: 30px;
    padding: 4px 14px;
    font-size: .75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 16px;
    width: fit-content;
  }

  .pricing-name {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 8px;
  }

  .pricing-price {
    font-size: 2rem;
    font-weight: 800;
    font-family: var(--letteringHeading);
    line-height: 1;
    margin-bottom: 4px;
  }

  .pricing-period {
    font-size: .8rem;
    opacity: .7;
    margin-bottom: 20px;
  }

  .pricing-features {
    flex: 1;
    margin-bottom: 24px;
  }

  .pricing-features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 6px 0;
    font-size: .88rem;
    line-height: 1.5;
  }

  .pricing-features li i {
    flex-shrink: 0;
    font-size: 11px;
    margin-top: 3px;
    color: var(--hueKey);
  }

  .pricing-card--featured .pricing-features li i {
    color: rgba(255,255,255,.75);
  }

  
  .testimonials-section {
    position: relative;
  }

  .testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--deckGap, 24px);
    margin-top: 8px;
  }

  .testimonial-card {
    background: var(--layer1, #fff);
    border-radius: var(--roundCard, 12px);
    padding: 28px;
    box-shadow: var(--elevCard, 0 4px 16px rgba(0,0,0,.08));
    border-top: 3px solid var(--hueKey);
    display: flex;
    flex-direction: column;
  }

  .testimonial-stars {
    display: flex;
    gap: 3px;
    margin-bottom: 14px;
  }

  .testimonial-stars i {
    color: #f59e0b;
    font-size: 13px;
  }

  .testimonial-text {
    font-size: .9rem;
    color: var(--text2, #444);
    line-height: 1.75;
    font-style: italic;
    flex: 1;
    margin-bottom: 18px;
  }

  .testimonial-author {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .testimonial-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--hueKey);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    flex-shrink: 0;
  }

  .testimonial-name {
    font-weight: 700;
    font-size: .88rem;
    color: var(--text1, #1a1a1a);
    margin: 0;
  }

  .testimonial-role {
    font-size: .75rem;
    color: var(--text3, #999);
    margin: 2px 0 0;
  }

  
  .checklist-card {
    background: var(--layer1, #fff);
    border-radius: var(--roundCard, 12px);
    padding: 28px;
    box-shadow: var(--elevCard, 0 4px 16px rgba(0,0,0,.08));
    transition: transform .2s ease;
  }

  .checklist-card:hover {
    transform: translateY(-4px);
  }

  
  .actionSection {
    background: var(--hueKey);
    padding: var(--spacingSection, 72px) 24px;
    text-align: center;
  }

  .actionSection h2 {
    color: #fff;
    font-size: var(--fluidT5);
    margin-bottom: 12px;
  }

  .actionSection p {
    color: rgba(255,255,255,.82);
    font-size: var(--fluidT2);
    margin-bottom: 28px;
    max-width: 520px;
    margin-inline: auto;
  }

  
  .process-step {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 28px;
  }

  .process-step:last-child {
    margin-bottom: 0;
  }

  
  .gallery-item {
    border-radius: var(--roundCard, 12px);
    overflow: hidden;
    box-shadow: var(--elevCard, 0 4px 16px rgba(0,0,0,.08));
  }

  .gallery-item img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: transform .4s ease;
  }

  .gallery-item:hover img {
    transform: scale(1.04);
  }

  
  .audience-card,
  .expertise-card {
    background: var(--layer1, #fff);
    border-radius: var(--roundCard, 12px);
    padding: 28px 24px;
    text-align: center;
    box-shadow: var(--elevCard, 0 4px 16px rgba(0,0,0,.08));
    transition: transform .2s ease;
  }

  .audience-card:hover,
  .expertise-card:hover {
    transform: translateY(-4px);
  }

  
  .form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
  }

  .form-group label {
    font-size: .8rem;
    font-weight: 700;
    color: var(--text2, #555);
    font-family: var(--letteringHeading);
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .form-group input,
  .form-group textarea,
  .form-group select {
    padding: 12px 16px;
    border: 1.5px solid #e0e0e0;
    border-radius: var(--roundBtn, 8px);
    font-size: .95rem;
    outline: none;
    transition: border-color .2s ease;
    background: #fff;
  }

  .form-group input:focus,
  .form-group textarea:focus,
  .form-group select:focus {
    border-color: var(--hueKey);
    box-shadow: 0 0 0 3px rgba(0,0,0,.06);
  }

  .form-group textarea {
    resize: vertical;
    min-height: 120px;
  }

  .form-message {
    font-size: .8rem;
    margin-top: 4px;
  }

  .form-message.error  { color: #e53e3e; }
  .form-message.success { color: #38a169; }

  .checkbox-group {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }

  .checkbox-group input[type="checkbox"] {
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: var(--hueKey);
  }

  
  .iti {
    width: 100%;
  }

  
  .legal-content {
    max-width: 900px;
    margin-inline: auto;
    padding-inline: var(--fluidS2);
  }

  .legal-date {
    color: #999;
    font-size: .85rem;
    margin-bottom: 32px;
    font-style: italic;
  }

  .legal-section {
    margin-bottom: 40px;
  }

  .legal-section h2 {
    font-size: 1.15rem;
    color: var(--hueKey);
    margin-bottom: 14px;
  }

  .legal-section p,
  .legal-section li {
    font-size: .9rem;
    color: #555;
    line-height: 1.75;
  }

  
  .scroll-to-top {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 40;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--hueKey);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    box-shadow: 0 4px 16px rgba(0,0,0,.2);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
  }

  .scroll-to-top.active {
    opacity: 1;
    pointer-events: auto;
  }

  
  .site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
    border-bottom: 1px solid #f0f0f0;
  }

  .site-footer {
    background: #111827;
    color: #d1d5db;
  }

  
  .sidebar {
    width: 280px;
    position: fixed;
    inset: 0 auto 0 0;
    background: #fff;
    border-right: 1px solid #f0f0f0;
    z-index: 100;
    overflow-y: auto;
    padding: 24px 0;
    transition: transform .3s cubic-bezier(.4,0,.2,1);
  }

  .sidebar-header { padding: 0 20px 20px; }
  .sidebar-contact { padding: 16px 20px; border-block: 1px solid #f0f0f0; }
  .sidebar-footer  { padding: 0 20px 20px; }

  .main-nav { padding: 16px 20px; }
  .nav-item { margin-bottom: 4px; }

  .nav-link {
    display: block;
    padding: 9px 12px;
    border-radius: 8px;
    font-weight: 600;
    color: #374151;
    transition: background .15s ease, color .15s ease;
  }

  .nav-link:hover,
  .nav-item.active .nav-link {
    background: #f3f4f6;
    color: var(--hueKey);
    opacity: 1;
  }

  .nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: var(--roundCard, 12px);
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    min-width: 220px;
    padding: 8px;
    z-index: 50;
    animation: fadeDown .15s ease;
  }

  .menu-toggle,
  .close-sidebar {
    display: none;
    font-size: 1.25rem;
    color: #374151;
    padding: 8px;
    border-radius: 8px;
    transition: background .15s ease;
  }

  .menu-toggle:hover,
  .close-sidebar:hover {
    background: #f3f4f6;
  }

  .header-contact {
    display: flex;
    align-items: center;
    gap: 16px;
  }

  .phone-link {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #374151;
  }

  .visible-mobile {
    display: none;
  }

  
  .home-page {}

  
  .pageBanner {
    background: linear-gradient(135deg, var(--hueKey) 0%, #1a1a2e 100%);
    padding-block: var(--fluidS5);
    padding-inline: var(--fluidS2);
  }

  .pageBanner h1 {
    color: #fff;
    font-size: var(--fluidT8);
    margin-bottom: 12px;
    line-height: 1.15;
  }

  .pageBanner p {
    color: rgba(255,255,255,.75);
    font-size: var(--fluidT2);
    max-width: 560px;
  }

}


@layer utilities {

  
  .reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .65s ease, transform .65s ease;
    will-change: opacity, transform;
  }

  .reveal--visible {
    opacity: 1;
    transform: translateY(0);
  }

  
  .reveal[data-reveal-delay="1"] { transition-delay: .1s; }
  .reveal[data-reveal-delay="2"] { transition-delay: .2s; }
  .reveal[data-reveal-delay="3"] { transition-delay: .3s; }
  .reveal[data-reveal-delay="4"] { transition-delay: .4s; }

  
  @keyframes fadeDown {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  @keyframes fadeUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  @keyframes scaleIn {
    from { opacity: 0; transform: scale(.95); }
    to   { opacity: 1; transform: scale(1); }
  }

  
  @media (prefers-reduced-motion: reduce) {
    .reveal {
      opacity: 1;
      transform: none;
      transition: none;
    }

    * {
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .01ms !important;
    }
  }

  
  @media (max-width: 1024px) {
    .bannerSection {
      grid-template-columns: 1fr;
    }

    .hero-image {
      min-height: 320px;
      height: 320px;
    }

    .hero-image::before {
      display: none;
    }
  }

  @media (max-width: 768px) {
    .services-container {
      grid-template-columns: 1fr;
    }

    .figureDeck {
      grid-template-columns: repeat(3, 1fr);
    }

    .sidebar {
      transform: translateX(-100%);
    }

    .sidebar.active {
      transform: translateX(0);
    }

    .menu-toggle {
      display: flex;
    }

    .visible-mobile {
      display: flex;
    }
  }

  @media (max-width: 480px) {
    .figureDeck {
      grid-template-columns: 1fr;
    }

    .btnLarge {
      padding: 13px 28px;
      font-size: .95rem;
    }
  }

  
  .legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 16px;
    border-radius: var(--roundCard);
    overflow: hidden;
  }

  .legal-table thead tr {
    background: var(--hueKey);
    color: #fff;
  }

  .legal-table thead th {
    padding: 12px 16px;
    text-align: left;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .legal-table tbody tr {
    border-bottom: 1px solid #f0f0f0;
    transition: background var(--animFast, 150ms ease);
  }

  .legal-table tbody tr:last-child { border-bottom: none; }
  .legal-table tbody tr:hover { background: var(--hueLayer, #fafafa); }

  .legal-table tbody td {
    padding: 11px 16px;
    color: #555;
    line-height: 1.55;
    vertical-align: top;
  }

  .legal-table tbody td:first-child {
    font-weight: 600;
    color: #1a1a1a;
  }

  .legal-table code {
    background: var(--hueKeyTint, #f5f5f5);
    color: var(--hueKey);
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 12px;
    font-family: 'Courier New', monospace;
  }

  
  .hueFlow_section {
    transition: background-color 0.15s linear;
  }

  
  .blobBanner {
    position: relative;
    overflow: hidden;
  }
  .blobBanner::before {
    content: '';
    position: absolute;
    top: -20%;
    right: -10%;
    width: 60%;
    height: 80%;
    background: radial-gradient(ellipse, rgba(255,255,255,.12) 0%, transparent 65%);
    pointer-events: none;
  }
  .blobBanner::after {
    content: '';
    position: absolute;
    bottom: -15%;
    left: -8%;
    width: 50%;
    height: 60%;
    background: radial-gradient(ellipse, rgba(255,255,255,.08) 0%, transparent 65%);
    pointer-events: none;
  }

  
  .actionSection {
    position: relative;
    overflow: hidden;
  }
  .actionSection::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse at 20% 50%, rgba(255,255,255,.1) 0%, transparent 55%),
      radial-gradient(ellipse at 80% 50%, rgba(255,255,255,.07) 0%, transparent 55%);
    pointer-events: none;
  }

  
  .section-stack-page .sectionPadding + .sectionPadding {
    border-radius: 32px 32px 0 0;
    margin-top: -28px;
    position: relative;
    z-index: 1;
  }

  .section-stack-page .sectionPadding + .sectionPadding + .sectionPadding { z-index: 2; }
  .section-stack-page .sectionPadding + .sectionPadding + .sectionPadding + .sectionPadding { z-index: 3; }
  .section-stack-page .sectionPadding + .sectionPadding + .sectionPadding + .sectionPadding + .sectionPadding { z-index: 4; }

  @media (max-width: 640px) {
    .section-stack-page .sectionPadding + .sectionPadding {
      border-radius: 20px 20px 0 0;
      margin-top: -16px;
    }
  }

  
  .hero-em,
  #hero h1 em {
    font-style: normal;
    background: linear-gradient(135deg, var(--hueKey) 0%, #a855f7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  
  .sectionEyebrow {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--hueKey);
    background: var(--hueKeyTint, rgba(0,0,0,.04));
    border: 1.5px solid var(--hueBorder, rgba(0,0,0,.12));
    padding: 4px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
  }

  
  .sectionEyebrow--lite {
    color: var(--eyebrowLiteHue, rgba(255,255,255,.8));
    border-color: var(--eyebrowLiteBorder, rgba(255,255,255,.35));
    background: var(--eyebrowLiteBack, rgba(255,255,255,.08));
  }

  
  .stage-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 60px 60px;
  }

  
  @media print {
    .sidebar,
    .site-header,
    .scroll-to-top,
    .actionSection {
      display: none !important;
    }

    body {
      font-size: 12pt;
    }

    a::after {
      content: " (" attr(href) ")";
      font-size: 90%;
      color: #555;
    }

    a[href^="#"]::after,
    a[href^="javascript:"]::after {
      content: "";
    }
  }

}

:root {
  --clrBgPage: #f6f8f7;
  --clrBgSurface: #ffffff;
  --clrBgCard: #fbfdfc;
  --clrBgElevated: #ffffff;
  --clrPrimary: #1f6f4a;
  --clrPrimaryLight: #2e8f61;
  --clrPrimaryDark: #145034;
  --clrSecondary: #f2a341;
  --clrSecondaryLight: #f7bd72;
  --clrAccentDark: #0f1f18;
  --clrTextPrimary: #0f1f18;
  --clrTextSecondary: #3d5a4c;
  --clrTextMuted: #7a9186;
  --clrBorder: #dbe6e0;
  --clrDivider: #e8f0eb;
  --clrShadowSm: rgba(15, 31, 24, 0.06);
  --clrShadowMd: rgba(15, 31, 24, 0.12);
  --clrShadowLg: rgba(15, 31, 24, 0.18);
  --clrSuccess: #1f6f4a;
  --clrWarning: #f2a341;
  --clrError: #c0392b;
  --clrInfo: #2e8f61;
  --clrOverlay: rgba(15, 31, 24, 0.45);
  --clrFocusRing: rgba(31, 111, 74, 0.35);
  --clrHoverSurface: #f0f6f3;
  --clrActiveSurface: #e4efe9;
  --radiusSm: 6px;
  --radiusMd: 10px;
  --radiusLg: 16px;
  --radiusXl: 24px;
  --spaceXs: 4px;
  --spaceSm: 8px;
  --spaceMd: 16px;
  --spaceLg: 24px;
  --spaceXl: 32px;
  --transitionFast: 120ms ease;
  --transitionMid: 240ms ease;
  --transitionSlow: 400ms ease;
  --navHeight: 64px;
  --navHeightMobile: 56px;
  --fontFamilyBase: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --fontSizeBase: 16px;
  --lineHeightBase: 1.5;
  --shadowSm: 0 1px 2px var(--clrShadowSm);
  --shadowMd: 0 4px 12px var(--clrShadowMd);
  --shadowLg: 0 12px 32px var(--clrShadowLg);
  --borderWidth: 1px;
  --borderWidthThick: 2px;
  --zNav: 1000;
  --zModal: 1100;
  --zTooltip: 1200;
}
:root{--hueDark:color-mix(in oklch, var(--hueKey) 22%, #0a0a12);--hueKeyRgb:31,111,74;--hueKeyLite:rgba(31,111,74,.12);--hueKey:#1f6f4a;--hueKeyTint:rgba(31,111,74,.08);--hueLayer:#f5f6f8;--hueBorder:rgba(0,0,0,0.10);--layer1:#ffffff;--layer2:#f5f6f8;--text1:#14171f;--text2:#3e3e56;--text3:#7a7a96;--border1:rgba(0,0,0,0.10);--backAlt:#f6f7f9;--letteringHeading:'Newsreader',sans-serif;--letteringContent:'Manrope',system-ui,sans-serif;--roundCard:10px;--roundBtn:20px;--elevCard:0 6px 24px rgba(0,0,0,.10);--deckGap:20px;--spacingSection:80px;--bannerMinHeight:420px;--anim:0.2s;--animFast:150ms ease;--eyebrowLiteBack:rgba(0,0,0,0.04);--eyebrowLiteBorder:rgba(0,0,0,0.12);--eyebrowLiteHue:#1f6f4a;}
.siteContainer{max-width:1200px;margin-inline:auto;padding-inline:var(--fluidS2);}
.siteMain{display:block;}

.siteNavigation{position:sticky;top:0;z-index:100;background:var(--clrBgSurface);border-bottom:1px solid var(--clrBorder);transition:box-shadow .3s ease,background .3s ease;}
.siteNavigation.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.08);backdrop-filter:blur(10px);}
.siteNavigation_body{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;}
.siteBrand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;color:var(--clrTextPrimary);text-decoration:none;}
.siteLogo{width:30px;height:30px;display:block;flex-shrink:0;}
.siteNavigation_links{display:flex;gap:24px;}
.siteNavigation_links a{color:var(--clrTextSecondary);font-weight:600;}
.siteNavigation_links a:hover{color:var(--clrPrimary);}
.siteToggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.siteToggle span{width:24px;height:2px;background:var(--clrTextPrimary);transition:transform .3s ease,opacity .3s ease;}
.siteToggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.siteToggle.active span:nth-child(2){opacity:0;}
.siteToggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.siteMobile{position:fixed;inset:0;z-index:200;background:var(--clrBgPage);transform:translateX(100%);transition:transform .35s ease;display:flex;align-items:center;justify-content:center;}
.siteMobile.open{transform:translateX(0);}
.siteMobile nav{display:flex;flex-direction:column;gap:24px;text-align:center;}
.siteMobile a{font-size:1.4rem;font-weight:700;color:var(--clrTextPrimary);}
.reveal-init{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform;}
.is-revealed{opacity:1;transform:none;}
.noticeStrip{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(170%);z-index:300;display:flex;align-items:center;gap:16px;max-width:680px;width:calc(100% - 32px);padding:14px 20px;background:var(--clrBgElevated);border:1px solid var(--clrBorder);border-radius:10px;box-shadow:0 16px 48px rgba(0,0,0,.18);opacity:0;transition:transform .45s ease,opacity .45s ease;}
.noticeStrip.is-visible{transform:translateX(-50%) translateY(0);opacity:1;}
.noticeStrip_text{margin:0;font-size:.85rem;color:var(--clrTextSecondary);line-height:1.5;flex:1;}
.noticeStrip_text a{color:var(--clrPrimary);font-weight:600;}
.noticeStrip_btn{flex-shrink:0;background:var(--clrPrimary);color:#fff;border:none;padding:10px 24px;border-radius:20px;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit;transition:opacity .2s;}
.noticeStrip_btn:hover{opacity:.88;}


.backTo_upper{position:fixed;right:22px;bottom:22px;z-index:250;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;background:var(--clrPrimary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .3s ease,transform .3s ease;box-shadow:0 8px 24px rgba(0,0,0,.18);}
.backTo_upper.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.backTo_upper:hover{filter:brightness(1.08);}
.siteNavigation_action{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:20px;background:var(--clrPrimary);color:#fff;font-weight:700;font-size:.9rem;white-space:nowrap;transition:opacity .2s,transform .2s;}
.siteNavigation_action:hover{opacity:.9;transform:translateY(-1px);color:#fff;}
.siteNavigation_phone{display:inline-flex;align-items:center;gap:8px;color:var(--clrTextPrimary);font-weight:600;font-size:.9rem;white-space:nowrap;}
.siteNavigation_phone i{color:var(--clrPrimary);font-size:.85rem;}
.siteNavigation_actions{display:flex;align-items:center;gap:18px;}
.siteNavigation[data-hdr=centered] .siteNavigation_body{flex-direction:column;gap:14px;}
.siteNavigation[data-hdr=centered] .siteNavigation_links{gap:30px;}

.siteBottom{background:var(--clrBgElevated);border-top:1px solid var(--clrBorder);padding:56px 24px 24px;margin-top:40px;}
.siteBottom_brand{font-size:1.15rem;color:var(--clrTextPrimary);display:inline-block;}
.siteBottom_label{color:var(--clrTextMuted);margin-top:8px;font-size:.9rem;max-width:320px;line-height:1.55;}
.siteBottom_h{color:var(--clrTextPrimary);margin-bottom:14px;font-size:.95rem;}
.siteBottom_stack{list-style:none;padding:0;margin:0;}
.siteBottom_stack li{margin-bottom:9px;font-size:.9rem;}
.siteBottom_stack a{color:var(--clrTextSecondary);text-decoration:none;}
.siteBottom_stack a:hover{color:var(--clrPrimary);}
.siteBottom-x2{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid var(--clrBorder);color:var(--clrTextMuted);font-size:.85rem;}
.siteBottom-x2 a{color:var(--clrTextMuted);}
.siteBottom_social{display:flex;gap:12px;}
.siteBottom_soc{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--clrBgSurface);border:1px solid var(--clrBorder);color:var(--clrTextSecondary);text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.siteBottom_soc:hover{background:var(--clrPrimary);color:#fff;border-color:var(--clrPrimary);}
.siteBottom_action{display:inline-block;padding:13px 28px;border-radius:20px;background:var(--clrPrimary);color:#fff;font-weight:700;text-decoration:none;transition:transform .2s,filter .2s;}
.siteBottom_action:hover{transform:translateY(-2px);filter:brightness(1.06);}
.siteBottom_upper{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--clrBorder);}
.siteBottom_deck{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px;max-width:1200px;margin:0 auto;}
.siteBottom_inline{display:flex;flex-direction:column;gap:9px;}
.siteBottom_inline a{color:var(--clrTextSecondary);font-size:.9rem;text-decoration:none;}
.siteBottom_inline a:hover{color:var(--clrPrimary);}


.banner {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(4rem, 9vw, 8rem) var(--fluidT9);
  font-family: var(--fontFamilyBase);
  color: var(--clrTextPrimary);
}

.bannerContainer {
  position: relative;
  z-index: 3;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  gap: var(--fluidT7);
}


.bannerGrain {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.5;
  background-image:
    radial-gradient(circle at 12% 20%, var(--clrPrimaryLight) 0, transparent 38%),
    radial-gradient(circle at 88% 78%, var(--clrSecondaryLight) 0, transparent 42%);
  filter: blur(2px);
}

.bannerBeam {
  position: absolute;
  top: -20%;
  left: -30%;
  z-index: 2;
  width: 45%;
  height: 140%;
  pointer-events: none;
  background: linear-gradient(
    100deg,
    transparent 0%,
    var(--clrPrimaryLight) 45%,
    var(--clrAccentDark) 50%,
    var(--clrPrimaryLight) 55%,
    transparent 100%
  );
  opacity: 0.16;
  transform: rotate(12deg);
  filter: blur(60px);
}


.bannerKicker {
  display: inline-flex;
  align-items: center;
  gap: var(--spaceSm);
  width: fit-content;
  padding: 0.5rem 1rem 0.5rem 0.75rem;
  border: var(--borderWidth) solid var(--clrBorder);
  border-radius: 999px;
  background: var(--clrBgSurface);
  box-shadow: var(--shadowSm);
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--clrTextSecondary);
}

.bannerKicker_dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--clrPrimary);
  box-shadow: 0 0 0 4px var(--clrPrimaryLight);
}


.bannerHeadline {
  margin: 0;
  font-family: 'Newsreader', serif;
  font-weight: 500;
  line-height: 0.95;
  letter-spacing: -0.02em;
  font-size: clamp(2.75rem, 9.5vw, 8.5rem);
  color: var(--clrTextPrimary);
}

.bannerLine {
  display: block;
}

.bannerLine--2 {
  padding-left: clamp(0.5rem, 6vw, 5rem);
}

.bannerLine--3 {
  font-style: italic;
  color: var(--clrTextSecondary);
}

.bannerAccent {
  position: relative;
  font-style: italic;
  font-weight: 600;
  color: var(--clrPrimary);
  background: linear-gradient(
    100deg,
    var(--clrPrimary) 0%,
    var(--clrAccentDark) 40%,
    var(--clrPrimary) 55%,
    var(--clrPrimaryDark) 100%
  );
  background-size: 250% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}


.bannerInfo {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: var(--fluidT8);
  align-items: end;
  padding-top: var(--fluidT4);
  border-top: var(--borderWidth) solid var(--clrDivider);
}

.bannerSubtitle {
  margin: 0;
  max-width: 46ch;
  font-size: var(--fluidT2);
  line-height: 1.6;
  color: var(--clrTextSecondary);
}

.bannerAction {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spaceSm);
}

.bannerAction {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.05rem 1.75rem;
  border-radius: var(--radiusLg);
  background: var(--clrPrimary);
  color: var(--clrBgPage);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  box-shadow: var(--shadowMd);
  transition: transform var(--transitionFast), box-shadow var(--transitionFast), background var(--transitionFast);
}

.bannerAction:hover,
.bannerAction:focus-visible {
  transform: translateY(-2px);
  background: var(--clrPrimaryDark);
  box-shadow: var(--shadowLg);
  outline: none;
}

.bannerAction:focus-visible {
  box-shadow: 0 0 0 3px var(--clrFocusRing), var(--shadowLg);
}

.bannerAction_arrow {
  transition: transform var(--transitionFast);
}

.bannerAction:hover .bannerAction_arrow {
  transform: translateX(4px);
}

.bannerAction_shine {
  position: absolute;
  top: 0;
  left: -60%;
  width: 45%;
  height: 100%;
  background: linear-gradient(
    100deg,
    transparent 0%,
    var(--clrBgPage) 50%,
    transparent 100%
  );
  opacity: 0.45;
  transform: skewX(-18deg);
  pointer-events: none;
}

.bannerAction_note {
  font-size: 0.82rem;
  color: var(--clrTextMuted);
}


.bannerFigure {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fluidT9);
  margin: 0;
  padding: 0;
  list-style: none;
}

.bannerMetric {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.bannerMetric_count {
  font-family: 'Newsreader', serif;
  font-size: var(--fluidT7);
  font-weight: 600;
  line-height: 1;
  color: var(--clrTextPrimary);
}

.bannerMetric_eyebrow {
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--clrTextMuted);
}


@keyframes bannerBeam_sweep {
  0% {
    left: -35%;
    opacity: 0;
  }
  35% {
    opacity: 0.2;
  }
  100% {
    left: 115%;
    opacity: 0;
  }
}

@keyframes bannerShimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -100% 0;
  }
}

@keyframes bannerAction_shine {
  0%,
  60% {
    left: -60%;
  }
  100% {
    left: 130%;
  }
}

@keyframes bannerFloat {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  50% {
    transform: translate3d(0, -18px, 0) scale(1.04);
  }
}









.banner{background:var(--clrBgPage);background:color-mix(in srgb,var(--clrPrimary) 7%,var(--clrBgPage)) !important;position:relative;overflow:hidden;}
.banner h1,.banner h2,.banner h3{color:var(--clrTextPrimary) !important;}
.banner p,.banner li,.banner [class*=eyebrow],.banner [class*=label],.banner [class*=kicker],.banner [class*=tag],.banner [class*=badge],.banner [class*=sub],.banner small{color:var(--clrTextSecondary) !important;}
.banner a[class*=action],.banner a[class*=btn],.banner button{color:#fff !important;}
.storyFigures_deck{display:grid;grid-template-columns:1fr 1fr;gap:var(--fluidS4);align-items:center;}
    .storyFigures_kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--hueKey);display:block;margin-bottom:14px;}
    .storyFigures_headline{font-family:var(--letteringHeading);font-size:var(--fluidT8);font-weight:800;color:var(--text1);margin:0 0 18px;line-height:1.1;letter-spacing:-.02em;}
    .storyFigures_text{font-size:1rem;color:var(--text2);line-height:1.8;margin:0;}
    .storyFigures_figure{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
    .storyFigures_card{padding:30px 26px;border-radius:var(--roundCard);background:var(--layer1,#fff);border:1px solid var(--border1);box-shadow:var(--elevCard);}
    .storyFigures_card:first-child{background:linear-gradient(160deg,var(--hueKey),var(--hueDark));border-color:transparent;}
    .storyFigures_count{font-family:var(--letteringHeading);font-weight:800;font-size:2.4rem;color:var(--hueKey);line-height:1;}
    .storyFigures_card:first-child .storyFigures_count{color:#fff;}
    .storyFigures_eyebrow{font-size:.85rem;color:var(--text2);margin-top:8px;}
    .storyFigures_card:first-child .storyFigures_eyebrow{color:rgba(255,255,255,.82);}
    
.workNumbered_deck{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--fluidS4);align-items:start;}
    .workNumbered_kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueKey);margin-bottom:14px;}
    .workNumbered_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);line-height:1.14;margin:0 0 16px;}
    .workNumbered_sub{color:var(--text2);line-height:1.7;margin:0;}
    .workNumbered_stack{display:flex;flex-direction:column;}
    .workNumbered_entry{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--border1);}
    .workNumbered_entry:last-child{border-bottom:1px solid var(--border1);}
    .workNumbered_n{font-family:var(--letteringHeading);font-size:1.4rem;font-weight:800;color:var(--hueKey);line-height:1;}
    .workNumbered_h{font-family:var(--letteringHeading);font-size:1.15rem;font-weight:700;color:var(--text1);margin:0 0 7px;}
    .workNumbered_p{color:var(--text2);line-height:1.65;margin:0;}
    
.figureBlend{background:linear-gradient(135deg,var(--hueDark) 0%,var(--hueKey) 100%);position:relative;overflow:hidden;}
    .figureBlend_deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;text-align:center;position:relative;z-index:1;}
    .figureBlend_entry{padding:40px 24px;position:relative;}
    .figureBlend_entry:not(:last-child){border-right:1px solid rgba(255,255,255,.12);}
    .figureBlend_score{font-size:56px;font-weight:900;color:#fff;line-height:1;font-family:var(--letteringHeading);letter-spacing:-.02em;}
    .figureBlend_eyebrow{font-size:12px;color:rgba(255,255,255,.6);margin-top:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;}
    
.reasonRing_top{text-align:center;margin-bottom:48px;}
    .reasonRing_kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueKey);margin-bottom:12px;}
    .reasonRing_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .reasonRing_deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;text-align:center;}
    .reasonRing_ic{width:84px;height:84px;margin:0 auto 20px;border-radius:50%;border:2px solid var(--hueKey);display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--hueKey);position:relative;}
    .reasonRing_ic::after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px dashed var(--border1);}
    .reasonRing_h{font-family:var(--letteringHeading);font-size:1.12rem;font-weight:700;color:var(--text1);margin:0 0 10px;}
    .reasonRing_p{color:var(--text2);line-height:1.65;margin:0;font-size:.92rem;max-width:260px;margin-left:auto;margin-right:auto;}
.showcaseMosaic_top{text-align:center;margin-bottom:44px;}
    .showcaseMosaic_kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--hueKey);display:block;margin-bottom:12px;}
    .showcaseMosaic_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;letter-spacing:-.02em;}
    .showcaseMosaic_deck{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:160px;gap:14px;}
    .showcaseMosaic_cell{position:relative;overflow:hidden;border-radius:var(--roundCard);box-shadow:var(--elevCard);}
    .showcaseMosaic_cell--lg{grid-column:span 2;grid-row:span 2;}
    .showcaseMosaic_cell--wide{grid-column:span 2;}
    .showcaseMosaic_photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
    .showcaseMosaic_cell:hover .showcaseMosaic_photo{transform:scale(1.07);}
    .showcaseMosaic_label{position:absolute;inset:auto 0 0 0;padding:24px 16px 14px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:#fff;font-family:var(--letteringHeading);font-weight:700;font-size:.85rem;}
    
    
.personaBand{background:var(--hueDark);}
    .personaBand_top{text-align:center;margin-bottom:44px;}
    .personaBand_kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--hueKeyLite,#fff);opacity:.85;display:block;margin-bottom:12px;}
    .personaBand_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:#fff;margin:0;line-height:1.12;}
    .personaBand_deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
    .personaBand_card{padding:28px 26px;border-radius:var(--roundCard);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);transition:background .2s;}
    .personaBand_card:hover{background:rgba(255,255,255,.09);}
    .personaBand_ico{width:48px;height:48px;border-radius:12px;background:var(--hueKey);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
    .personaBand_ico i{color:#fff;font-size:18px;}
    .personaBand_ctitle{font-family:var(--letteringHeading);font-weight:800;font-size:1.05rem;color:#fff;margin:0 0 8px;}
    .personaBand_cdesc{font-size:.88rem;color:rgba(255,255,255,.64);line-height:1.65;margin:0;}
    
.guaranteesHeader{margin-bottom:36px;}
.guaranteesEyebrow{display:inline-block;color:var(--clrPrimary);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;margin-bottom:10px;}
.guaranteesHeading{font-size:var(--fluidT7);color:var(--clrTextPrimary);line-height:1.2;}
.guaranteesSec{padding:80px 24px;}
.guaranteesGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.guaranteesCard{background:var(--clrBgCard);border:1px solid var(--clrBorder);border-radius:var(--radiusLg);padding:28px;box-shadow:var(--clrShadowSm);}
.guaranteesCardIcon{width:52px;height:52px;border-radius:13px;background:var(--clrPrimary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;}
.guaranteesCardImg{width:100%;height:200px;object-fit:cover;border-radius:var(--radiusMd);margin-bottom:16px;}
.guaranteesCardTitle{font-size:1.1rem;color:var(--clrTextPrimary);margin-bottom:8px;}
.guaranteesCardSub{color:var(--clrPrimary);font-size:.85rem;font-weight:600;margin-bottom:8px;}
.guaranteesCardText{color:var(--clrTextSecondary);font-size:.92rem;line-height:1.6;}

.ctaSec{padding:80px 24px;background:var(--clrBgSurface);}
.ctaInner{max-width:840px;margin:0 auto;text-align:center;background:var(--clrPrimary);border-radius:10px;padding:var(--fluidS5) 32px;}
.ctaTitle{color:#fff;font-size:var(--fluidT7);margin-bottom:16px;}
.ctaSub{color:rgba(255,255,255,.85);margin-bottom:28px;}
.ctaBtn{display:inline-block;background:#fff;color:var(--clrPrimary);padding:14px 36px;border-radius:var(--radiusMd);font-weight:700;}

.site-page-hero{padding:84px 24px 56px;background:var(--clrBgSurface);text-align:center;}
.site-page-hero h1{font-size:var(--fluidT8);color:var(--clrTextPrimary);margin-bottom:12px;}
.site-page-hero p{color:var(--clrTextSecondary);max-width:600px;margin:0 auto;}

.painCitation_wrap{max-width:840px;margin:0 auto;text-align:center;}
    .painCitation_kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--hueKey);display:block;margin-bottom:20px;}
    .painCitation_big{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);line-height:1.3;margin:0;}
    .painCitation_big span{color:var(--hueKey);}
    .painCitation_line{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:48px;text-align:left;}
    .painCitation_card{padding:24px 22px;border-radius:var(--roundCard);background:var(--layer1,#fff);border:1px solid var(--border1);border-top:3px solid var(--hueKey);box-shadow:var(--elevCard);}
    .painCitation_ico{color:var(--hueKey);font-size:18px;margin-bottom:12px;}
    .painCitation_ctitle{font-family:var(--letteringHeading);font-weight:700;font-size:.98rem;color:var(--text1);margin:0 0 6px;}
    .painCitation_cdesc{font-size:.85rem;color:var(--text2);line-height:1.6;margin:0;}
    
.questionDark{background:var(--hueDark);}
    .questionDark_body{max-width:48rem;margin:0 auto;padding:0 var(--fluidT4);}
    .questionDark_top{text-align:center;margin-bottom:52px;}
    .questionDark_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:#fff;margin:12px 0 0;line-height:1.2;}
    .questionDark_stack{display:flex;flex-direction:column;gap:8px;}
    .questionDark .faq-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);}
    .questionDark .faq-question h3{color:#fff;flex:1;}
    .questionDark .faq-answer p{color:rgba(255,255,255,.6);}
    .questionDark_icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--hueKey);display:flex;align-items:center;justify-content:center;}
    .questionDark_icon i{color:#fff;font-size:13px;}
    .questionDark_bottom{text-align:center;margin-top:40px;}
    .questionDark_action{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border:1.5px solid rgba(255,255,255,.25);color:rgba(255,255,255,.85);border-radius:var(--roundBtn);font-family:var(--letteringHeading);font-weight:700;font-size:14px;text-decoration:none;transition:background .2s,border-color .2s,color .2s;}
    .questionDark_action:hover{background:var(--hueKey);border-color:var(--hueKey);color:#fff;}
    .questionDark_action i{font-size:.8rem;}
.personaSlab{background:var(--hueDark);}
    .personaSlab_top{display:grid;grid-template-columns:1fr 1fr;gap:var(--fluidS4);margin-bottom:var(--fluidS4);}
    .personaSlab_kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueKey);margin-bottom:12px;}
    .personaSlab_headline{font-family:var(--letteringHeading);font-size:var(--fluidT8);font-weight:800;color:#fff;margin:0;line-height:1.1;}
    .personaSlab_feature{font-size:var(--fluidT2);color:rgba(255,255,255,.65);line-height:1.7;margin:0;align-self:end;}
    .personaSlab_stack{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.1);}
    .personaSlab_entry{display:grid;grid-template-columns:48px 1fr auto;gap:0 var(--fluidS2);align-items:center;padding:var(--fluidS2) 0;border-bottom:1px solid rgba(255,255,255,.1);}
    .personaSlab_icon{width:44px;height:44px;border-radius:50%;background:rgba(var(--hueKeyRgb),.2);display:flex;align-items:center;justify-content:center;color:var(--hueKey);font-size:16px;flex-shrink:0;}
    .personaSlab_content{}
    .personaSlab_h{font-family:var(--letteringHeading);font-size:var(--fluidT2);font-weight:700;color:#fff;margin:0 0 4px;}
    .personaSlab_p{font-size:var(--fluidT1);color:rgba(255,255,255,.6);line-height:1.55;margin:0;}
    .personaSlab_marker{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hueKey);background:rgba(var(--hueKeyRgb),.15);padding:4px 10px;border-radius:var(--roundBtn);white-space:nowrap;}
    
    
.site-phero-ed{padding:72px 24px 40px;background:var(--clrBgPage);border-bottom:1px solid var(--clrBorder);}
.site-phero-ed-in{max-width:1100px;margin:0 auto;}
.site-phero-ed h1{font-size:var(--fluidT8);color:var(--clrTextPrimary);margin:0;line-height:1.12;}
.site-phero-ed h1::after{content:'';display:block;width:60px;height:4px;border-radius:2px;background:var(--clrPrimary);margin-top:18px;}
.site-phero-ed p{color:var(--clrTextSecondary);max-width:620px;margin:18px 0 0;}

.credoInline_top{text-align:center;margin-bottom:44px;}
    .credoInline_kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueKey);margin-bottom:12px;}
    .credoInline_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .credoInline_stack{display:flex;flex-direction:column;gap:0;max-width:880px;margin:0 auto;}
    .credoInline_entry{display:flex;gap:22px;align-items:center;padding:26px 8px;border-bottom:1px dashed var(--border1);}
    .credoInline_entry:first-child{border-top:1px dashed var(--border1);}
    .credoInline_ic{width:50px;height:50px;border-radius:12px;background:var(--backAlt);color:var(--hueKey);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
    .credoInline_h{font-family:var(--letteringHeading);font-size:1.15rem;font-weight:700;color:var(--text1);margin:0;min-width:200px;}
    .credoInline_p{color:var(--text2);line-height:1.6;margin:0;}
    
.stepsStream{background:var(--layer1,#fff);}
    .stepsStream_top{text-align:center;margin-bottom:var(--fluidS5);}
    .stepsStream .sectionHeadline{margin-bottom:0;}
    .stepsStream_deck{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;}
    .stepsStream_stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 var(--fluidS1);}
    .stepsStream_stage::before,.stepsStream_stage::after{content:'';position:absolute;top:36px;width:50%;height:2px;background:rgba(var(--hueKeyRgb,99,102,241),.25);z-index:0;}
    .stepsStream_stage::before{left:0;}
    .stepsStream_stage::after{right:0;}
    .stepsStream_stage:first-child::before{display:none;}
    .stepsStream_stage:last-child::after{display:none;}
    .stepsStream_circle{width:72px;height:72px;border-radius:50%;background:var(--layer1);border:2px solid var(--hueKey);display:flex;align-items:center;justify-content:center;margin-bottom:28px;flex-shrink:0;position:relative;z-index:2;box-shadow:0 0 0 6px var(--layer1);font-family:var(--letteringHeading);font-size:22px;font-weight:900;color:var(--hueKey);}
    .stepsStream_circle--active{background:var(--hueKey);color:#fff;}
    .stepsStream_headline{font-family:var(--letteringHeading);font-size:var(--fluidT2);font-weight:800;color:var(--text1);margin:0 0 12px;line-height:1.3;}
    .stepsStream_text{font-size:var(--fluidS1);color:var(--text3);line-height:1.7;margin:0;}
    .stepsStream_bottom{text-align:center;margin-top:var(--fluidS4);}
    
    
.reasonOverlap_top{text-align:center;margin-bottom:46px;}
    .reasonOverlap_kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueKey);margin-bottom:12px;}
    .reasonOverlap_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .reasonOverlap_deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;padding-top:24px;}
    .reasonOverlap_card{position:relative;background:var(--layer1);border:1px solid var(--border1);border-radius:var(--roundCard);padding:34px 26px 26px;margin-top:24px;}
    .reasonOverlap_ic{position:absolute;top:-24px;left:26px;width:50px;height:50px;border-radius:14px;background:var(--hueKey);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:var(--elevCard);}
    .reasonOverlap_h{font-family:var(--letteringHeading);font-size:1.12rem;font-weight:700;color:var(--text1);margin:0 0 10px;}
    .reasonOverlap_p{color:var(--text2);line-height:1.65;margin:0;font-size:.92rem;}
.postAside_top{margin-bottom:38px;}
    .postAside_kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueKey);margin-bottom:12px;}
    .postAside_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .postAside_deck{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start;}
    .postAside_feature{border-radius:var(--roundCard);overflow:hidden;border:1px solid var(--border1);background:var(--layer1);}
    .postAside_featurePhoto{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
    .postAside_featureContent{padding:24px 26px;}
    .postAside_featureH{font-family:var(--letteringHeading);font-size:1.4rem;font-weight:800;color:var(--text1);margin:0 0 10px;line-height:1.2;}
    .postAside_featureP{color:var(--text2);line-height:1.65;margin:0;}
    .postAside_stack{display:flex;flex-direction:column;gap:0;}
    .postAside_entry{padding:16px 0;border-bottom:1px solid var(--border1);}
    .postAside_entry:first-child{padding-top:0;}
    .postAside_label{color:var(--hueKey);font-size:.74rem;font-weight:700;text-transform:uppercase;}
    .postAside_h{font-family:var(--letteringHeading);font-size:1.02rem;font-weight:700;color:var(--text1);margin:5px 0 0;line-height:1.35;}
    
.showcaseFlow_top{max-width:560px;margin-bottom:var(--fluidS3);}
    .showcaseFlow_kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueKey);margin-bottom:10px;}
    .showcaseFlow_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.1;}
    .showcaseFlow_deck{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--fluidS1);}
    .showcaseFlow_cell{position:relative;overflow:hidden;border-radius:var(--roundCard);aspect-ratio:3/4;box-shadow:var(--elevCard);}
    .showcaseFlow_cell:nth-child(even){transform:translateY(var(--fluidS3));}
    .showcaseFlow_photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
    .showcaseFlow_cell:hover .showcaseFlow_photo{transform:scale(1.07);}
    .showcaseFlow_label{position:absolute;inset:auto 0 0 0;padding:36px 14px 14px;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);color:#fff;}
    .showcaseFlow_labelCount{font-size:.66rem;font-weight:800;letter-spacing:.1em;opacity:.5;display:block;margin-bottom:3px;}
    .showcaseFlow_labelName{font-family:var(--letteringHeading);font-size:var(--fluidT1);font-weight:700;display:block;}
    
    
.reviewWall_top{text-align:center;margin-bottom:46px;}
    .reviewWall_kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueKey);margin-bottom:12px;}
    .reviewWall_headline{font-family:var(--letteringHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .reviewWall_deck{column-count:3;column-gap:18px;}
    .reviewWall_card{break-inside:avoid;margin-bottom:18px;background:var(--layer1);border:1px solid var(--border1);border-radius:var(--roundCard);padding:26px 24px;}
    .reviewWall_score{color:var(--hueKey);font-size:.82rem;margin-bottom:12px;}
    .reviewWall_text{color:var(--text1);line-height:1.7;margin:0 0 18px;font-size:.95rem;}
    .reviewWall_bottom{display:flex;align-items:center;gap:12px;}
    .reviewWall_av{width:42px;height:42px;border-radius:50%;background:var(--hueKey);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--letteringHeading);font-weight:700;flex-shrink:0;}
    .reviewWall_name{font-family:var(--letteringHeading);font-weight:700;color:var(--text1);font-size:.92rem;}
    .reviewWall_role{color:var(--text3);font-size:.8rem;}
    
    
.siteContact_sec{padding:var(--fluidS5) 24px;}
.siteContact_form{display:flex;flex-direction:column;gap:14px;}
.siteContact_field{padding:13px 16px;border:1.5px solid var(--clrBorder);border-radius:var(--radiusMd);background:var(--clrBgCard);color:var(--clrTextPrimary);font:inherit;width:100%;}
.siteContact_field:focus{outline:none;border-color:var(--clrPrimary);}
.siteContact_check{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;color:var(--clrTextSecondary);}
.siteContact_btn{background:var(--clrPrimary);color:#fff;border:none;padding:14px;border-radius:var(--radiusMd);font-weight:700;cursor:pointer;font-family:inherit;transition:filter .2s;}
.siteContact_btn:hover{filter:brightness(1.07);}
.siteContact_info{list-style:none;padding:0;margin:0;}
.siteContact_entry{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;color:var(--clrTextSecondary);}
.siteContact_ic{color:var(--clrPrimary);width:22px;font-size:18px;flex-shrink:0;}
.siteContact_eyebrow{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--clrTextMuted);margin-bottom:3px;}
.siteContact_credo{color:var(--clrTextPrimary);font-weight:600;line-height:1.5;}
.siteContact_credo a{color:inherit;text-decoration:none;}
.siteContact_credo a:hover{color:var(--clrPrimary);}
.siteContact_cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;}
.siteContact_cell{background:var(--clrBgCard);border:1px solid var(--clrBorder);border-radius:10px;padding:24px;}
.siteContact_cell .siteContact_ic{display:block;margin-bottom:12px;}
.siteContact_map{border-radius:10px;overflow:hidden;border:1px solid var(--clrBorder);min-height:360px;}
.siteContact_map iframe{width:100%;height:100%;min-height:360px;border:0;display:block;}
.siteContact_social{display:flex;gap:12px;margin-top:18px;}
.siteContact_soc{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--clrBgSurface);border:1px solid var(--clrBorder);color:var(--clrTextSecondary);text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.siteContact_soc:hover{background:var(--clrPrimary);color:#fff;border-color:var(--clrPrimary);}
.siteContact_card{background:var(--clrBgCard);border:1px solid var(--clrBorder);border-radius:10px;padding:var(--fluidS2);}
.siteContact_headline{font-size:var(--fluidT5);color:var(--clrTextPrimary);margin:0 0 12px;}
.siteContact_feature{color:var(--clrTextSecondary);line-height:1.65;margin:0 0 22px;}
.siteContact_deck{display:grid;gap:var(--fluidS3);align-items:start;}
.siteContact_narrow{max-width:600px;margin:0 auto;}
.siteContact_inline{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 26px;margin-top:24px;}
.siteContact_pill{display:inline-flex;align-items:center;gap:9px;color:var(--clrTextSecondary);text-decoration:none;font-size:.9rem;}
.siteContact_pill .siteContact_ic{width:auto;}
.siteContact_map{min-height:280px;}
.siteContact_map iframe{min-height:280px;}

.site-thanks{padding:120px 24px;text-align:center;min-height:46vh;}
.site-thanks h1{color:var(--clrTextPrimary);font-size:var(--fluidT8);margin-bottom:16px;}
.site-thanks p{color:var(--clrTextSecondary);margin-bottom:28px;}
.site-back{display:inline-block;background:var(--clrPrimary);color:#fff;padding:13px 32px;border-radius:var(--radiusMd);font-weight:700;}

.site-legal{padding:56px 24px;}
.site-legal .siteContainer{max-width:820px;}
.site-legal h2{color:var(--clrTextPrimary);margin:26px 0 12px;font-size:1.2rem;}
.site-legal p{color:var(--clrTextSecondary);margin-bottom:12px;line-height:1.7;}

section[data-bg=base]{background:var(--layer1);}
section[data-bg=alt]{background:var(--backAlt);}
@media (max-width:768px){.siteNavigation_links{display:none;}.siteToggle{display:flex;}.siteNavigation[data-hdr=centered] .siteNavigation_body{flex-direction:row;}.stepsStream_deck{grid-auto-flow:row;grid-template-columns:1fr 1fr;row-gap:40px;}.stepsStream_stage::before,.stepsStream_stage::after{display:none;}}
@media (max-width:560px){.noticeStrip{flex-direction:column;align-items:stretch;text-align:center;left:0;right:0;bottom:0;width:100%;transform:translateY(170%);border-radius:16px 16px 0 0;}.noticeStrip.is-visible{transform:translateY(0);}.painCitation_line{grid-template-columns:1fr;}.reviewWall_deck{column-count:1;}}
@media (max-width:760px){.siteBottom_deck{grid-template-columns:1fr;}.storyFigures_deck{grid-template-columns:1fr;}.workNumbered_deck{grid-template-columns:1fr;}.showcaseMosaic_deck{grid-template-columns:1fr 1fr;grid-auto-rows:140px;}.showcaseMosaic_cell--lg{grid-row:span 2;}
        .personaSlab_top{grid-template-columns:1fr;}
        .personaSlab_entry{grid-template-columns:40px 1fr;}
        .personaSlab_marker{display:none;}
    .postAside_deck{grid-template-columns:1fr;}
        .showcaseFlow_deck{grid-template-columns:repeat(2,1fr);}
        .showcaseFlow_cell:nth-child(even){transform:translateY(var(--fluidS1));}
        .showcaseFlow_cell:nth-child(3){transform:none;}
    }
@media (prefers-reduced-motion:no-preference){
  .bannerBeam {
    animation: bannerBeam_sweep 9s ease-in-out infinite;
  }

  .bannerAccent {
    animation: bannerShimmer 6s linear infinite;
  }

  .bannerAction_shine {
    animation: bannerAction_shine 4.5s ease-in-out infinite;
  }

  .bannerGrain {
    animation: bannerFloat 14s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion:reduce){
  .bannerBeam,
  .bannerAccent,
  .bannerAction_shine,
  .bannerGrain {
    animation: none;
  }
}
@media (max-width:860px){
  .bannerInfo {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .bannerLine--2 {
    padding-left: var(--fluidT4);
  }
.reviewWall_deck{column-count:2;}}
@media (max-width:520px){
  .banner {
    padding: var(--fluidT9) var(--fluidT4);
  }

  .bannerHeadline {
    line-height: 1;
  }

  .bannerAction {
    width: 100%;
    justify-content: center;
  }

  .bannerFigure {
    gap: var(--spaceLg);
  }
}
@media (max-width:640px){.figureBlend_entry:not(:last-child){border-right:none;border-bottom:1px solid rgba(255,255,255,.12);}.credoInline_entry{flex-wrap:wrap;gap:12px;}.credoInline_h{min-width:0;}}
@media (max-width:480px){.showcaseMosaic_deck{grid-template-columns:1fr;}.showcaseMosaic_cell--lg,.showcaseMosaic_cell--wide{grid-column:auto;grid-row:auto;}.personaBand_deck{grid-template-columns:1fr;}
        .personaSlab_entry{gap:0 12px;}
        .personaSlab_icon{width:36px;height:36px;font-size:13px;}
    .stepsStream_deck{grid-template-columns:1fr;}
        .showcaseFlow_deck{grid-template-columns:1fr 1fr;gap:8px;}
        .showcaseFlow_cell:nth-child(even){transform:translateY(16px);}
    }

:root{--fluidT8:clamp(1.9rem,4vw,3rem);--fluidT6:clamp(1.6rem,3vw,2.2rem);--fluidT4:clamp(1.25rem,2.2vw,1.55rem);--fluidT3:clamp(1.1rem,1.7vw,1.3rem);--fluidS2:clamp(18px,2.6vw,30px);--fluidS4:clamp(32px,4.4vw,56px);--fluidS3:clamp(24px,3.4vw,44px);--fluidT5:clamp(1.45rem,2.8vw,1.85rem);--fluidT2:clamp(.95rem,1.3vw,1.15rem);--fluidS5:clamp(40px,5.6vw,72px);--fluidT7:clamp(1.7rem,3.4vw,2.5rem);--fluidT9:clamp(2.1rem,4.6vw,3.6rem);--fluidT1:clamp(.82rem,1.1vw,.95rem);--fluidS1:clamp(12px,2vw,20px);}
