

@layer base, layout, components, utilities;


@layer base {

  
  :root {
    
    
    
    --hueAccentPale: color-mix(in oklch, var(--hueAccent, #2c3e50), white 85%);
    --hueAccentTint:  color-mix(in oklch, var(--hueAccent, #2c3e50), white 94%);

    
    --hueGround:    color-mix(in oklch, var(--hueAccent, #2c3e50), white 97%);
    --hueHair:     color-mix(in oklch, var(--hueAccent, #2c3e50), white 88%);

    
    --ground1:  #ffffff;
    --ground2:  color-mix(in oklch, var(--hueAccent, #2c3e50), white 96%);

    
    --text1:     #0a0a14;
    --text2:     #3e3e56;
    --text3:     #7a7a96;

    
    --hair1:   color-mix(in oklch, var(--hueAccent, #2c3e50), white 85%);
    --castMd:  0 4px 16px rgba(0,0,0,.09);
    --castLg:  0 8px 28px rgba(0,0,0,.11);

    
    --transitionFast:   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(--fontBody, 'Inter', system-ui, sans-serif);
    color: var(--text1, #1a1a1a);
    background: var(--ground1, #fff);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }

  img, video {
    max-width: 100%;
    height: auto;
    display: block;
  }

  a {
    color: var(--hueAccent);
    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(--fontHeading, '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(--hueAccent);
    outline-offset: 3px;
    border-radius: 3px;
  }

}


@layer layout {

  .siteFrame {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: var(--fluidS2);
  }

  .sectionPadding {
    padding-block: var(--spacingSection, 72px);
  }

  .altBg {
    background: var(--bgAlt, #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(--hueAccent);
    margin: 12px auto 0;
    border-radius: 2px;
  }

  .lead {
    font-size: var(--fluidT2);
    line-height: 1.8;
    color: var(--text2, #444);
  }

  
  .cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 24px;
    border-radius: var(--cornerCta, 8px);
    font-family: var(--fontHeading);
    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;
  }

  .cta:hover {
    opacity: .88;
    transform: translateY(-1px);
  }

  .cta:active {
    transform: translateY(0);
  }

  .ctaAccent {
    background: var(--hueAccent);
    color: #fff;
    border-color: var(--hueAccent);
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
  }

  .ctaPale {
    background: #fff;
    color: var(--hueAccent);
    border-color: #fff;
  }

  .ctaPale:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
  }

  .ctaSub {
    background: #1a1a2e;
    color: #fff;
    border-color: #1a1a2e;
  }

  .ctaOutline {
    background: transparent;
    color: var(--hueAccent);
    border-color: var(--hueAccent);
  }

  .ctaOutline:hover {
    background: var(--hueAccent);
    color: #fff;
    opacity: 1;
  }

  .ctaText {
    background: transparent;
    color: var(--hueAccent);
    padding: 4px 0;
    border-color: transparent;
  }

  .ctaTertiary {
    background: #f8f8f8;
    color: #1a1a1a;
    border-color: #e0e0e0;
  }

  .ctaBig {
    padding: 15px 36px;
    font-size: 1rem;
  }

  .ctaSmall {
    padding: 8px 16px;
    font-size: .8rem;
  }

  .ctaFull {
    width: 100%;
    justify-content: center;
  }

  
  .trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
    color: var(--labelPaleHue, rgba(255,255,255,.85));
    background: var(--labelPaleBg, rgba(255,255,255,.12));
    border: 1px solid var(--labelPaleHair, 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;
  }

  
  .introSection {
    position: relative;
    min-height: var(--introMinHeight, 520px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 0;
    overflow: hidden;
    background: var(--bgAlt);
  }

  .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(--introMinHeight, 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(--bgAlt), transparent);
    z-index: 1;
  }

  
  .introSection.hero--full-bg {
    grid-template-columns: 1fr;
    min-height: var(--introMinHeight, 560px);
    background: #1a1a2e;
  }

  .introSection.hero--full-bg .hero-content {
    text-align: center;
    max-width: 720px;
    margin-inline: auto;
    padding-block: clamp(60px, 10vw, 120px);
  }

  .introSection.hero--full-bg .hero-content h1,
  .introSection.hero--full-bg .hero-content .hero-subtitle {
    color: #fff;
  }

  .introSection.hero--full-bg .hero-subtitle {
    color: rgba(255,255,255,.8);
  }

  
  .introSection.hero--gradient {
    grid-template-columns: 1fr;
    background: linear-gradient(135deg, var(--hueAccent) 0%, #1a1a2e 100%);
    text-align: center;
    justify-items: center;
  }

  .introSection.hero--gradient .hero-content h1,
  .introSection.hero--gradient .hero-content .hero-subtitle {
    color: #fff;
  }

  .introSection.hero--gradient .hero-subtitle {
    color: rgba(255,255,255,.8);
  }

  @media (max-width: 768px) {
    .introSection {
      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(--gridGap, 24px);
    margin-top: 8px;
  }

  .service-item {
    display: flex;
    gap: 20px;
    padding: 28px;
    background: var(--ground1, #fff);
    border-radius: var(--cornerCard, 12px);
    box-shadow: var(--castCard, 0 4px 16px rgba(0,0,0,.08));
    transition: transform var(--transition, .2s ease), box-shadow var(--transition, .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(--hueAccent), #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;
  }

  
  .metricGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
    padding: 28px 32px;
    background: var(--hueAccent);
    border-radius: var(--cornerCard, 12px);
  }

  .statUnit {
    text-align: center;
    color: #fff;
  }

  .statValue {
    font-size: var(--fluidT7);
    font-weight: 800;
    font-family: var(--fontHeading);
    line-height: 1.1;
  }

  .statLabel {
    font-size: .8rem;
    opacity: .8;
    margin-top: 4px;
    letter-spacing: .02em;
  }

  @media (max-width: 640px) {
    .metricGrid {
      grid-template-columns: 1fr;
      gap: 16px;
      padding: 20px;
    }
  }

  
  .qaSection {
    position: relative;
  }

  .faq-container {
    max-width: 780px;
    margin-inline: auto;
  }

  .faq-item {
    background: var(--ground1, #fff);
    border: 1.5px solid var(--hair1, #ebebeb);
    border-radius: var(--cornerCard, 12px);
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
  }

  .faq-item:hover {
    border-color: var(--hueAccent);
    box-shadow: 0 4px 16px rgba(0,0,0,.06);
  }

  .faq-item.active,
  .faq-item[aria-expanded="true"] {
    border-color: var(--hueAccent);
    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(--ground2, #f4f4f4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--hueAccent);
    transition: transform .25s ease, background .2s ease;
  }

  .faq-item.active .faq-toggle,
  .faq-item[aria-expanded="true"] .faq-toggle {
    transform: rotate(45deg);
    background: var(--hueAccent);
    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(--gridGap, 24px);
    align-items: start;
    margin-top: 8px;
  }

  .pricing-card {
    background: var(--ground1, #fff);
    border: 1.5px solid var(--hair1, #ebebeb);
    border-radius: var(--cornerCard, 12px);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    transition: transform var(--transition, .2s ease), box-shadow var(--transition, .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(--hueAccent);
    color: #fff;
    border-color: var(--hueAccent);
    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(--fontHeading);
    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(--hueAccent);
  }

  .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(--gridGap, 24px);
    margin-top: 8px;
  }

  .testimonial-card {
    background: var(--ground1, #fff);
    border-radius: var(--cornerCard, 12px);
    padding: 28px;
    box-shadow: var(--castCard, 0 4px 16px rgba(0,0,0,.08));
    border-top: 3px solid var(--hueAccent);
    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(--hueAccent);
    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(--ground1, #fff);
    border-radius: var(--cornerCard, 12px);
    padding: 28px;
    box-shadow: var(--castCard, 0 4px 16px rgba(0,0,0,.08));
    transition: transform .2s ease;
  }

  .checklist-card:hover {
    transform: translateY(-4px);
  }

  
  .ctaSection {
    background: var(--hueAccent);
    padding: var(--spacingSection, 72px) 24px;
    text-align: center;
  }

  .ctaSection h2 {
    color: #fff;
    font-size: var(--fluidT5);
    margin-bottom: 12px;
  }

  .ctaSection 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(--cornerCard, 12px);
    overflow: hidden;
    box-shadow: var(--castCard, 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(--ground1, #fff);
    border-radius: var(--cornerCard, 12px);
    padding: 28px 24px;
    text-align: center;
    box-shadow: var(--castCard, 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(--fontHeading);
    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(--cornerCta, 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(--hueAccent);
    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(--hueAccent);
  }

  
  .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(--hueAccent);
    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(--hueAccent);
    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(--hueAccent);
    opacity: 1;
  }

  .nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: var(--cornerCard, 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 {}

  
  .innerIntro {
    background: linear-gradient(135deg, var(--hueAccent) 0%, #1a1a2e 100%);
    padding-block: var(--fluidS5);
    padding-inline: var(--fluidS2);
  }

  .innerIntro h1 {
    color: #fff;
    font-size: var(--fluidT8);
    margin-bottom: 12px;
    line-height: 1.15;
  }

  .innerIntro 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) {
    .introSection {
      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;
    }

    .metricGrid {
      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) {
    .metricGrid {
      grid-template-columns: 1fr;
    }

    .ctaBig {
      padding: 13px 28px;
      font-size: .95rem;
    }
  }

  
  .legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 16px;
    border-radius: var(--cornerCard);
    overflow: hidden;
  }

  .legal-table thead tr {
    background: var(--hueAccent);
    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(--transitionFast, 150ms ease);
  }

  .legal-table tbody tr:last-child { border-bottom: none; }
  .legal-table tbody tr:hover { background: var(--hueGround, #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(--hueAccentTint, #f5f5f5);
    color: var(--hueAccent);
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 12px;
    font-family: 'Courier New', monospace;
  }

  
  .hueMorph_section {
    transition: background-color 0.15s linear;
  }

  
  .blobIntro {
    position: relative;
    overflow: hidden;
  }
  .blobIntro::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;
  }
  .blobIntro::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;
  }

  
  .ctaSection {
    position: relative;
    overflow: hidden;
  }
  .ctaSection::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(--hueAccent) 0%, #a855f7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  
  .sectionLabel {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--hueAccent);
    background: var(--hueAccentTint, rgba(0,0,0,.04));
    border: 1.5px solid var(--hueHair, rgba(0,0,0,.12));
    padding: 4px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
  }

  
  .sectionLabel--pale {
    color: var(--labelPaleHue, rgba(255,255,255,.8));
    border-color: var(--labelPaleHair, rgba(255,255,255,.35));
    background: var(--labelPaleBg, 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,
    .ctaSection {
      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 {
  --cBgInner: #f5f7fa;
  --cBgGround: #ffffff;
  --cBgCard: #fbfcfe;
  --cBgRaised: #eef2f7;
  --cAccent: #1e3a5f;
  --cAccentPale: #2f5580;
  --cAccentDeep: #142a45;
  --cAccentSoft: rgba(30, 58, 95, 0.08);
  --cTextAccent: #111c2e;
  --cTextSub: #44546a;
  --cTextMuted: #7b8a9e;
  --cTextInverse: #f8fafc;
  --cHair: #dde4ed;
  --cSep: rgba(30, 58, 95, 0.12);
  --cCastSm: 0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.08);
  --cCastMd: 0 4px 12px rgba(15, 23, 42, 0.10), 0 2px 6px rgba(15, 23, 42, 0.06);
  --cCastLg: 0 12px 32px rgba(15, 23, 42, 0.14);
  --cCornerMd: 8px;
  --cCornerLg: 14px;
  --cCornerXl: 22px;
  --cCornerPill: 999px;
  --cRhythmXs: 4px;
  --cRhythmSm: 8px;
  --cRhythmMd: 16px;
  --cRhythmLg: 24px;
  --cRhythmXl: 40px;
  --cRhythm2xl: 64px;
  --cTransitionFast: 120ms ease-out;
  --cFocusRing: 0 0 0 3px rgba(224, 122, 95, 0.4);
  --cSuccess: #2f8f6b;
}
:root{--hueDeep:color-mix(in oklch, var(--hueAccent) 22%, #0a0a12);--hueAccentRgb:30,58,95;--hueAccentPale:rgba(30,58,95,.12);--hueAccent:#1e3a5f;--hueAccentTint:rgba(30,58,95,.08);--hueGround:#f5f6f8;--hueHair:rgba(0,0,0,0.10);--ground1:#ffffff;--ground2:#f5f6f8;--text1:#14171f;--text2:#3e3e56;--text3:#7a7a96;--hair1:rgba(0,0,0,0.10);--bgAlt:#f6f7f9;--fontHeading:'Space Grotesk',sans-serif;--fontBody:'Space Grotesk',system-ui,sans-serif;--cornerCard:12px;--cornerCta:50px;--castCard:0 2px 8px rgba(0,0,0,.06);--castMd:0 4px 16px rgba(0,0,0,.09);--castLg:0 10px 30px rgba(0,0,0,.12);--gridGap:36px;--spacingSection:72px;--introMinHeight:680px;--transition:0.3s;--transitionFast:150ms ease;--labelPaleBg:rgba(0,0,0,0.04);--labelPaleHair:rgba(0,0,0,0.12);--labelPaleHue:#1e3a5f;}
.siteFrame{max-width:1200px;margin-inline:auto;padding-inline:var(--fluidS2);}
.siteMain{display:block;}

.siteNav{position:sticky;top:0;z-index:100;background:var(--cBgGround);border-bottom:1px solid var(--cHair);transition:box-shadow .3s ease,background .3s ease;}
.siteNav.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.08);backdrop-filter:blur(10px);}
.siteNav_inner{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(--cTextAccent);text-decoration:none;}
.siteLogo{width:30px;height:30px;display:block;flex-shrink:0;}
.siteNav_links{display:flex;gap:24px;}
.siteNav_links a{color:var(--cTextSub);font-weight:600;}
.siteNav_links a:hover{color:var(--cAccent);}
.siteToggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.siteToggle span{width:24px;height:2px;background:var(--cTextAccent);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(--cBgInner);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(--cTextAccent);}
.reveal-init{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform;}
.is-revealed{opacity:1;transform:none;}
.cookieStrip{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(--cBgCard);border:1px solid var(--cHair);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.18);opacity:0;transition:transform .45s ease,opacity .45s ease;}
.cookieStrip.is-visible{transform:translateX(-50%) translateY(0);opacity:1;}
.cookieStrip_text{margin:0;font-size:.85rem;color:var(--cTextSub);line-height:1.5;flex:1;}
.cookieStrip_text a{color:var(--cAccent);font-weight:600;}
.cookieStrip_cta{flex-shrink:0;background:var(--cAccent);color:#fff;border:none;padding:10px 24px;border-radius:50px;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit;transition:opacity .2s;}
.cookieStrip_cta: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(--cAccent);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);}
.siteNav_cta{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:50px;background:var(--cAccent);color:#fff;font-weight:700;font-size:.9rem;white-space:nowrap;transition:opacity .2s,transform .2s;}
.siteNav_cta:hover{opacity:.9;transform:translateY(-1px);color:#fff;}
.siteNav_phone{display:inline-flex;align-items:center;gap:8px;color:var(--cTextAccent);font-weight:600;font-size:.9rem;white-space:nowrap;}
.siteNav_phone i{color:var(--cAccent);font-size:.85rem;}
.siteNav_actions{display:flex;align-items:center;gap:18px;}
.siteNav_topbar{background:var(--cAccent);color:#fff;font-size:.82rem;}
.siteNav_topbarInner{max-width:1200px;margin:0 auto;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.siteNav_topbarUnit{display:inline-flex;align-items:center;gap:7px;color:#fff;}
.siteNav_topbarUnit i{font-size:.8rem;opacity:.85;}
.siteNav_topbarHours{display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,.85);}

.siteFooter{background:var(--cBgCard);border-top:1px solid var(--cHair);padding:56px 24px 24px;margin-top:40px;}
.siteFooter_brand{font-size:1.15rem;color:var(--cTextAccent);display:inline-block;}
.siteFooter_label{color:var(--cTextMuted);margin-top:8px;font-size:.9rem;max-width:320px;line-height:1.55;}
.siteFooter_h{color:var(--cTextAccent);margin-bottom:14px;font-size:.95rem;}
.siteFooter_stack{list-style:none;padding:0;margin:0;}
.siteFooter_stack li{margin-bottom:9px;font-size:.9rem;}
.siteFooter_stack a{color:var(--cTextSub);text-decoration:none;}
.siteFooter_stack a:hover{color:var(--cAccent);}
.siteFooter_bottom{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid var(--cHair);color:var(--cTextMuted);font-size:.85rem;}
.siteFooter_bottom a{color:var(--cTextMuted);}
.siteFooter_social{display:flex;gap:12px;}
.siteFooter_soc{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--cBgGround);border:1px solid var(--cHair);color:var(--cTextSub);text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.siteFooter_soc:hover{background:var(--cAccent);color:#fff;border-color:var(--cAccent);}
.siteFooter_cta-x2{display:inline-block;padding:13px 28px;border-radius:50px;background:var(--cAccent);color:#fff;font-weight:700;text-decoration:none;transition:transform .2s,filter .2s;}
.siteFooter_cta-x2:hover{transform:translateY(-2px);filter:brightness(1.06);}
.siteFooter_news{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:28px 32px;margin-bottom:40px;background:var(--cBgGround);border:1px solid var(--cHair);border-radius:12px;}
.siteFooter_form{display:flex;gap:10px;flex:1;min-width:260px;max-width:440px;}
.siteFooter_input{flex:1;padding:12px 16px;border:1px solid var(--cHair);border-radius:50px;background:var(--cBgInner);color:var(--cTextAccent);font-family:inherit;font-size:.9rem;}
.siteFooter_cta{border:none;cursor:pointer;font-family:inherit;white-space:nowrap;}
.siteFooter_grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;max-width:1200px;margin:0 auto;}
.siteFooter_side .siteFooter_social{margin-top:18px;}



.introBanner {
  position: relative;
  overflow: hidden;
  font-family: 'Space Grotesk', system-ui, sans-serif;
  color: var(--cTextAccent);
  padding: clamp(var(--cRhythmLg), 5vw, var(--cRhythm2xl)) 0;
}

.introBanner_inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: clamp(var(--cRhythmMd), 4vw, var(--cRhythmXl));
  padding-right: clamp(var(--cRhythmMd), 4vw, var(--cRhythmXl));
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(var(--cRhythmLg), 4vw, var(--cRhythm2xl));
  align-items: center;
}

.introBanner_copy {
  display: flex;
  flex-direction: column;
  gap: clamp(var(--cRhythmSm), 2vw, var(--cRhythmMd));
}

.introBanner_overline {
  display: inline-flex;
  align-items: center;
  gap: var(--cRhythmXs);
  align-self: flex-start;
  padding: 0.4em 0.9em;
  border-radius: var(--cCornerPill);
  background: var(--cAccentSoft);
  color: var(--cAccentDeep);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid var(--cHair);
}

.introBanner_overlineDot {
  width: 0.55em;
  height: 0.55em;
  border-radius: 50%;
  background: var(--cAccent);
}

.introBanner_headline {
  font-family: 'Space Grotesk', system-ui, sans-serif;
  font-size: var(--fluidT9);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 700;
  margin: 0;
  color: var(--cTextAccent);
}

.introBanner_headlineAccent {
  position: relative;
  color: var(--cAccentDeep);
  white-space: nowrap;
}

.introBanner_headlineAccent::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.05em;
  height: 0.28em;
  border-radius: var(--cCornerPill);
  background: var(--cAccentPale);
  opacity: 0.55;
  z-index: -1;
}

.introBanner_subtitle {
  font-size: var(--fluidT2);
  line-height: 1.6;
  color: var(--cTextSub);
  max-width: 54ch;
  margin: 0;
}

.introBanner_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--cRhythmMd);
  margin-top: var(--cRhythmXs);
}

.introBanner_cta {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  padding: 0.95em 1.6em;
  border-radius: var(--cCornerPill);
  background: var(--cAccent);
  color: var(--cTextInverse);
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  box-shadow: 0 0 0 0 var(--cAccentPale), var(--cCastMd);
  transition: transform var(--cTransitionFast), background var(--cTransitionFast), box-shadow var(--cTransitionFast);
}

.introBanner_ctaArrow {
  transition: transform var(--cTransitionFast);
}

.introBanner_cta:hover {
  background: var(--cAccentDeep);
  transform: translateY(-2px);
  box-shadow: 0 0 0 6px var(--cAccentSoft), var(--cCastLg);
}

.introBanner_cta:hover .introBanner_ctaArrow {
  transform: translateX(4px);
}

.introBanner_cta:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px var(--cFocusRing);
}

.introBanner_badges {
  display: flex;
  gap: var(--cRhythmXs);
  flex-wrap: wrap;
}

.introBanner_flag {
  padding: 0.45em 0.85em;
  border-radius: var(--cCornerPill);
  background: var(--cBgCard);
  border: 1px solid var(--cHair);
  color: var(--cTextSub);
  font-size: 0.8rem;
  font-weight: 500;
}

.introBanner_metric {
  display: flex;
  gap: clamp(var(--cRhythmMd), 3vw, var(--cRhythmXl));
  margin: var(--cRhythmSm) 0 0;
  padding-top: var(--cRhythmMd);
  border-top: 1px solid var(--cSep);
}

.introBanner_stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.introBanner_statLabel {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--cTextMuted);
}

.introBanner_statValue {
  margin: 0;
  font-size: var(--fluidT3);
  font-weight: 700;
  color: var(--cAccentDeep);
}

.introBanner_media {
  position: relative;
}

.introBanner_mediaFrame {
  position: relative;
  border-radius: var(--cCornerXl);
  overflow: hidden;
  background: var(--cBgRaised);
  box-shadow: var(--cCastLg);
  border: 1px solid var(--cHair);
  aspect-ratio: 4 / 5;
}

.introBanner_visual {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.introBanner_mediaGlow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 70% 15%, var(--cAccentPale), transparent 55%);
  opacity: 0.25;
  pointer-events: none;
}

.introBanner_mediaLabel {
  position: absolute;
  left: var(--cRhythmMd);
  bottom: var(--cRhythmMd);
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.5em 0.9em;
  border-radius: var(--cCornerPill);
  background: var(--cBgGround);
  color: var(--cTextAccent);
  font-size: 0.8rem;
  font-weight: 600;
  box-shadow: var(--cCastMd);
  border: 1px solid var(--cHair);
}

.introBanner_mediaLabelDot {
  width: 0.55em;
  height: 0.55em;
  border-radius: 50%;
  background: var(--cSuccess);
}

.introBanner_deco {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.introBanner_deco--orb {
  width: clamp(220px, 32vw, 420px);
  height: clamp(220px, 32vw, 420px);
  top: -12%;
  right: -6%;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, var(--cAccentPale), transparent 70%);
  opacity: 0.35;
  filter: blur(10px);
}

.introBanner_deco--ring {
  width: clamp(160px, 22vw, 300px);
  height: clamp(160px, 22vw, 300px);
  bottom: -8%;
  left: -5%;
  border-radius: 50%;
  border: 2px dashed var(--cAccentPale);
  opacity: 0.5;
}

.introBanner_deco--grid {
  inset: 0;
  background-image: radial-gradient(var(--cHair) 1px, transparent 1px);
  background-size: 28px 28px;
  opacity: 0.4;
  mask-image: radial-gradient(ellipse at 30% 20%, black, transparent 70%);
  -webkit-mask-image: radial-gradient(ellipse at 30% 20%, black, transparent 70%);
}



@keyframes introBanner_glow {
  0%, 100% {
    box-shadow: 0 0 0 0 var(--cAccentPale), var(--cCastMd);
  }
  50% {
    box-shadow: 0 0 0 8px var(--cAccentSoft), var(--cCastLg);
  }
}

@keyframes introBanner_float {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(18px) scale(1.05); }
}

@keyframes introBanner_spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes introBanner_pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.5); opacity: 0.6; }
}






.introBanner{background:var(--cBgInner) !important;position:relative;overflow:hidden;}
.introBanner h1,.introBanner h2,.introBanner h3{color:var(--cTextAccent) !important;}
.introBanner p,.introBanner li,.introBanner [class*=eyebrow],.introBanner [class*=label],.introBanner [class*=kicker],.introBanner [class*=tag],.introBanner [class*=badge],.introBanner [class*=sub],.introBanner small{color:var(--cTextSub) !important;}
.introBanner a[class*=cta-x2],.introBanner a[class*=cta],.introBanner button{color:#fff !important;}
.storyPress_upper{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--fluidS4);align-items:center;margin-bottom:44px;}
    .storyPress_overline{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--hueAccent);display:block;margin-bottom:16px;}
    .storyPress_h2{font-family:var(--fontHeading);font-size:var(--fluidT9);font-weight:800;color:var(--text1);margin:0;line-height:1.05;letter-spacing:-.025em;}
    .storyPress_visual{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--cornerCard);box-shadow:var(--castLg);display:block;}
    .storyPress_body{columns:2;column-gap:48px;font-size:1rem;color:var(--text2);line-height:1.8;}
    .storyPress_body p{margin:0 0 16px;break-inside:avoid;}
    .storyPress_citation{margin:36px 0 0;padding-left:24px;border-left:3px solid var(--hueAccent);font-family:var(--fontHeading);font-size:var(--fluidT4);font-weight:600;font-style:italic;color:var(--text1);line-height:1.5;}
    .storyPress_metric{display:flex;flex-wrap:wrap;gap:40px;margin-top:40px;padding-top:32px;border-top:1px solid var(--hair1);}
    .storyPress_snum{font-family:var(--fontHeading);font-weight:800;font-size:2rem;color:var(--hueAccent);line-height:1;}
    .storyPress_slabel{font-size:.82rem;color:var(--text3,var(--text2));margin-top:6px;text-transform:uppercase;letter-spacing:.06em;}
    
.challengeSide_grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--fluidS4);align-items:center;}
    .challengeSide_media{position:relative;}
    .challengeSide_visual{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--cornerCard);display:block;}
    .challengeSide_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:14px;}
    .challengeSide_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);line-height:1.14;margin:0 0 24px;}
    .challengeSide_stack{display:flex;flex-direction:column;gap:18px;}
    .challengeSide_unit{display:flex;gap:14px;align-items:flex-start;}
    .challengeSide_ic{color:var(--hueAccent);font-size:18px;margin-top:3px;flex-shrink:0;}
    .challengeSide_h{font-family:var(--fontHeading);font-size:1.05rem;font-weight:700;color:var(--text1);margin:0 0 5px;}
    .challengeSide_p{color:var(--text2);line-height:1.6;margin:0;font-size:.92rem;}
    
.workSpotlight_top{text-align:center;margin-bottom:44px;}
    .workSpotlight_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:12px;}
    .workSpotlight_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .workSpotlight_grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
    .workSpotlight_card{position:relative;background:var(--ground1);border-radius:var(--cornerCard);padding:32px 26px;overflow:hidden;border:1px solid var(--hair1);}
    .workSpotlight_card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--hueAccent),var(--hueDeep));}
    .workSpotlight_ic{font-size:26px;color:var(--hueAccent);margin-bottom:16px;}
    .workSpotlight_h{font-family:var(--fontHeading);font-size:1.12rem;font-weight:700;color:var(--text1);margin:0 0 9px;}
    .workSpotlight_p{color:var(--text2);line-height:1.6;margin:0;font-size:.92rem;}
.processSteps_top{text-align:center;margin-bottom:48px;}
    .processSteps_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:12px;}
    .processSteps_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .processSteps_grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;position:relative;}
    .processSteps_unit{text-align:center;position:relative;}
    .processSteps_n{width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:var(--hueAccent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fontHeading);font-size:1.5rem;font-weight:800;position:relative;z-index:1;}
    .processSteps_unit:not(:last-child)::after{content:'';position:absolute;top:32px;left:calc(50% + 40px);right:calc(-50% + 40px);height:2px;background:var(--hair1);}
    .processSteps_h{font-family:var(--fontHeading);font-size:1.12rem;font-weight:700;color:var(--text1);margin:0 0 9px;}
    .processSteps_p{color:var(--text2);line-height:1.6;margin:0;font-size:.92rem;max-width:240px;margin-left:auto;margin-right:auto;}
    
.calcGrid_upper{display:grid;grid-template-columns:1fr 1fr;gap:var(--fluidS2);align-items:center;margin-bottom:var(--fluidS2);}
    .calcGrid_result{background:var(--hueAccent);border-radius:var(--cornerCard);padding:var(--fluidS3);text-align:center;}
    .calcGrid_resultLabel{display:block;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:12px;}
    .calcGrid_resultEthos{display:block;font-family:var(--fontHeading);font-size:var(--fluidT9);font-weight:800;color:#fff;line-height:1;}
    .calcGrid_resultUnit{display:block;margin-top:8px;font-size:.95rem;color:rgba(255,255,255,.7);}
    .calcGrid_opener{}
    .calcGrid_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:10px;}
    .calcGrid_headline{font-family:var(--fontHeading);font-size:var(--fluidT5);font-weight:800;color:var(--text1);margin:0 0 10px;}
    .calcGrid_under{font-size:.9rem;color:var(--text2);line-height:1.6;margin:0;}
    .calcGrid_fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
    .calcGrid_field{background:var(--ground1);border:1px solid var(--hair1);border-radius:var(--cornerCard);padding:14px 16px;}
    .calcGrid_label{display:block;font-size:.82rem;font-weight:700;color:var(--text1);margin-bottom:6px;}
    .calcGrid_hint{display:block;font-size:.7rem;color:var(--text3);margin-bottom:6px;}
    .calcGrid_input{width:100%;padding:10px 12px;border-radius:var(--cornerCta);border:1.5px solid var(--hair1);background:var(--bgAlt);color:var(--text1);font-size:1rem;font-family:inherit;box-sizing:border-box;}
    .calcGrid_input:focus{outline:2px solid var(--hueAccent);outline-offset:1px;}
    .calcGrid_note{font-size:.78rem;color:var(--text3);margin-top:14px;}
    
    
.galleryOverlap_top{text-align:center;max-width:560px;margin:0 auto var(--fluidS3);}
    .galleryOverlap_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:10px;}
    .galleryOverlap_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.1;}
    .galleryOverlap_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--fluidS2);}
    .galleryOverlap_unit{position:relative;padding-bottom:var(--fluidS4);}
    .galleryOverlap_image{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--cornerCard);box-shadow:var(--castMd);}
    .galleryOverlap_visual{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
    .galleryOverlap_unit:hover .galleryOverlap_visual{transform:scale(1.06);}
    .galleryOverlap_panel{position:absolute;bottom:0;left:12px;right:12px;background:var(--ground1);border-radius:var(--cornerCard);padding:14px 16px;box-shadow:var(--castCard);border:1px solid var(--hair1);}
    .galleryOverlap_panelNum{font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:4px;}
    .galleryOverlap_panelWho{font-family:var(--fontHeading);font-size:var(--fluidT1);font-weight:700;color:var(--text1);margin:0;line-height:1.3;}
    
    
.teamStrip_top{text-align:center;margin-bottom:40px;}
    .teamStrip_overline{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--hueAccent);display:block;margin-bottom:12px;}
    .teamStrip_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .teamStrip-x2{display:flex;gap:18px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory;}
    .teamStrip_card{flex:0 0 220px;scroll-snap-align:start;text-align:center;}
    .teamStrip_imgwrap{border-radius:var(--cornerCard);overflow:hidden;box-shadow:var(--castCard);margin-bottom:16px;}
    .teamStrip_visual{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;transition:transform .4s;}
    .teamStrip_card:hover .teamStrip_visual{transform:scale(1.05);}
    .teamStrip_who{font-family:var(--fontHeading);font-weight:800;font-size:1.02rem;color:var(--text1);margin:0;}
    .teamStrip_post{font-size:.85rem;color:var(--hueAccent);margin:4px 0 0;}
    .teamStrip_bio{font-size:.82rem;color:var(--text2);line-height:1.55;margin:8px 0 0;}
    
.coverage-header{margin-bottom:36px;}
.coverage-eyebrow{display:inline-block;color:var(--cAccent);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;margin-bottom:10px;}
.coverage-heading{font-size:var(--fluidT7);color:var(--cTextAccent);line-height:1.2;}
.coverage-sec{padding:80px 24px;}
.coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.coverage-card{background:var(--cBgCard);border:1px solid var(--cHair);border-radius:var(--cCornerLg);padding:28px;box-shadow:var(--cCastSm);}
.coverage-card-icon{width:52px;height:52px;border-radius:13px;background:var(--cAccent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;}
.coverage-card-img{width:100%;height:200px;object-fit:cover;border-radius:var(--cCornerMd);margin-bottom:16px;}
.coverage-card-title{font-size:1.1rem;color:var(--cTextAccent);margin-bottom:8px;}
.coverage-card-sub{color:var(--cAccent);font-size:.85rem;font-weight:600;margin-bottom:8px;}
.coverage-card-text{color:var(--cTextSub);font-size:.92rem;line-height:1.6;}

.guarantees-header{margin-bottom:36px;}
.guarantees-eyebrow{display:inline-block;color:var(--cAccent);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;margin-bottom:10px;}
.guarantees-heading{font-size:var(--fluidT7);color:var(--cTextAccent);line-height:1.2;}
.guarantees-sec{padding:80px 24px;}
.guarantees-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.guarantees-card{background:var(--cBgCard);border:1px solid var(--cHair);border-radius:var(--cCornerLg);padding:28px;box-shadow:var(--cCastSm);}
.guarantees-card-icon{width:52px;height:52px;border-radius:13px;background:var(--cAccent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;}
.guarantees-card-img{width:100%;height:200px;object-fit:cover;border-radius:var(--cCornerMd);margin-bottom:16px;}
.guarantees-card-title{font-size:1.1rem;color:var(--cTextAccent);margin-bottom:8px;}
.guarantees-card-sub{color:var(--cAccent);font-size:.85rem;font-weight:600;margin-bottom:8px;}
.guarantees-card-text{color:var(--cTextSub);font-size:.92rem;line-height:1.6;}

.ctaSec{padding:84px 24px;background:var(--cBgInner);text-align:center;border-top:1px solid var(--cHair);}
.ctaInner{max-width:660px;margin:0 auto;}
.ctaHeadline{color:var(--cTextAccent);font-size:var(--fluidT7);margin-bottom:16px;}
.ctaUnder{color:var(--cTextSub);margin-bottom:28px;}
.cta{display:inline-block;background:var(--cAccent);color:#fff;padding:14px 38px;border-radius:var(--cCornerMd);font-weight:700;}

.site-page-hero{padding:84px 24px 56px;background:var(--cBgGround);text-align:center;}
.site-page-hero h1{font-size:var(--fluidT8);color:var(--cTextAccent);margin-bottom:12px;}
.site-page-hero p{color:var(--cTextSub);max-width:600px;margin:0 auto;}

.galleryTiles_top{text-align:center;margin-bottom:44px;}
    .galleryTiles_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:12px;}
    .galleryTiles_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .galleryTiles_grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
    .galleryTiles_card{background:var(--ground1);border:1px solid var(--hair1);border-radius:var(--cornerCard);overflow:hidden;box-shadow:var(--castCard);}
    .galleryTiles_visual{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s;}
    .galleryTiles_card:hover .galleryTiles_visual{transform:scale(1.05);}
    .galleryTiles_body{padding:18px 20px;}
    .galleryTiles_h{font-family:var(--fontHeading);font-size:1.05rem;font-weight:700;color:var(--text1);margin:0 0 5px;}
    .galleryTiles_p{color:var(--text2);line-height:1.5;margin:0;font-size:.88rem;}
.journalIndex_top{margin-bottom:36px;max-width:560px;}
    .journalIndex_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:12px;}
    .journalIndex_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .journalIndex_stack{display:flex;flex-direction:column;}
    .journalIndex_unit{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:24px 0;border-top:1px solid var(--hair1);transition:padding-left .2s;}
    .journalIndex_unit:hover{padding-left:10px;}
    .journalIndex_unit:last-child{border-bottom:1px solid var(--hair1);}
    .journalIndex_n{font-family:var(--fontHeading);font-size:1.2rem;font-weight:800;color:var(--hair1);}
    .journalIndex_h{font-family:var(--fontHeading);font-size:1.15rem;font-weight:700;color:var(--text1);margin:0 0 5px;}
    .journalIndex_label{color:var(--hueAccent);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
    .journalIndex_arrow{color:var(--hueAccent);font-size:15px;}
    
.qaCols_top{text-align:center;margin-bottom:44px;}
    .qaCols_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:12px;}
    .qaCols_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .qaCols_grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px;}
    .qaCols_unit{padding-bottom:4px;}
    .qaCols_q{display:flex;gap:12px;align-items:flex-start;font-family:var(--fontHeading);font-size:1.05rem;font-weight:700;color:var(--text1);margin:0 0 8px;}
    .qaCols_q i{color:var(--hueAccent);font-size:14px;margin-top:4px;flex-shrink:0;}
    .qaCols_a{color:var(--text2);line-height:1.65;margin:0;padding-left:26px;font-size:.93rem;}
    
.whyAltrow_top{text-align:center;margin-bottom:46px;}
    .whyAltrow_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:12px;}
    .whyAltrow_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .whyAltrow_stack{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
    .whyAltrow_unit{display:flex;gap:24px;align-items:center;background:var(--ground1);border:1px solid var(--hair1);border-radius:var(--cornerCard);padding:26px 30px;}
    .whyAltrow_unit:nth-child(even){flex-direction:row-reverse;text-align:right;}
    .whyAltrow_ic{width:60px;height:60px;border-radius:16px;background:var(--bgAlt);color:var(--hueAccent);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
    .whyAltrow_h{font-family:var(--fontHeading);font-size:1.15rem;font-weight:700;color:var(--text1);margin:0 0 7px;}
    .whyAltrow_p{color:var(--text2);line-height:1.6;margin:0;font-size:.93rem;}
    
.processShot_top{text-align:center;margin-bottom:56px;}
    .processShot_overline{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--hueAccent);display:block;margin-bottom:12px;}
    .processShot_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;letter-spacing:-.02em;}
    .processShot_strip{display:grid;grid-template-columns:1fr 1fr;gap:var(--fluidS4);align-items:center;margin-bottom:48px;}
    .processShot_strip:last-child{margin-bottom:0;}
    .processShot_strip--flip .processShot_media{order:2;}
    .processShot_media{position:relative;}
    .processShot_visual{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--cornerCard);box-shadow:var(--castLg);display:block;}
    .processShot_step{position:absolute;top:-14px;left:-14px;width:52px;height:52px;border-radius:50%;background:var(--hueAccent);color:#fff;font-family:var(--fontHeading);font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--castCard);}
    .processShot_ctitle{font-family:var(--fontHeading);font-weight:800;font-size:var(--fluidT4);color:var(--text1);margin:0 0 12px;line-height:1.2;}
    .processShot_cbody{font-size:.98rem;color:var(--text2);line-height:1.75;margin:0;max-width:460px;}
    
.ethosCitation_wrap{max-width:860px;margin:0 auto;text-align:center;}
    .ethosCitation_overline{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--hueAccent);display:block;margin-bottom:22px;}
    .ethosCitation_big{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);line-height:1.25;letter-spacing:-.02em;margin:0;}
    .ethosCitation_big em{color:var(--hueAccent);font-style:normal;}
    .ethosCitation_strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;text-align:left;}
    .ethosCitation_card{padding:26px 24px;border-radius:var(--cornerCard);background:var(--ground1,#fff);border:1px solid var(--hair1);box-shadow:var(--castCard);}
    .ethosCitation_ico{width:44px;height:44px;border-radius:12px;background:rgba(var(--hueAccentRgb),.1);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
    .ethosCitation_ico i{color:var(--hueAccent);font-size:17px;}
    .ethosCitation_ctitle{font-family:var(--fontHeading);font-weight:700;font-size:1rem;color:var(--text1);margin:0 0 6px;}
    .ethosCitation_cdesc{font-size:.875rem;color:var(--text2);line-height:1.6;margin:0;}
    
.whoSlab{background:var(--hueDeep);}
    .whoSlab_top{display:grid;grid-template-columns:1fr 1fr;gap:var(--fluidS4);margin-bottom:var(--fluidS4);}
    .whoSlab_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:12px;}
    .whoSlab_headline{font-family:var(--fontHeading);font-size:var(--fluidT8);font-weight:800;color:#fff;margin:0;line-height:1.1;}
    .whoSlab_lead{font-size:var(--fluidT2);color:rgba(255,255,255,.65);line-height:1.7;margin:0;align-self:end;}
    .whoSlab_stack{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.1);}
    .whoSlab_unit{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);}
    .whoSlab_glyph{width:44px;height:44px;border-radius:50%;background:rgba(var(--hueAccentRgb),.2);display:flex;align-items:center;justify-content:center;color:var(--hueAccent);font-size:16px;flex-shrink:0;}
    .whoSlab_body{}
    .whoSlab_h{font-family:var(--fontHeading);font-size:var(--fluidT2);font-weight:700;color:#fff;margin:0 0 4px;}
    .whoSlab_p{font-size:var(--fluidT1);color:rgba(255,255,255,.6);line-height:1.55;margin:0;}
    .whoSlab_flag{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--hueAccent);background:rgba(var(--hueAccentRgb),.15);padding:4px 10px;border-radius:var(--cornerCta);white-space:nowrap;}
    
    
.challengeBand{background:var(--hueDeep);}
    .challengeBand_top{text-align:center;margin-bottom:44px;}
    .challengeBand_overline{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--hueAccentPale,#fff);opacity:.85;display:block;margin-bottom:12px;}
    .challengeBand_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:#fff;margin:0;line-height:1.12;}
    .challengeBand_grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
    .challengeBand_card{padding:28px 26px;border-radius:var(--cornerCard);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--hueAccent);}
    .challengeBand_ico{color:var(--hueAccentPale,#fff);font-size:20px;margin-bottom:14px;}
    .challengeBand_ctitle{font-family:var(--fontHeading);font-weight:800;font-size:1.05rem;color:#fff;margin:0 0 8px;line-height:1.25;}
    .challengeBand_cdesc{font-size:.88rem;color:rgba(255,255,255,.62);line-height:1.65;margin:0;}
    
.testimonialWall_top{text-align:center;margin-bottom:46px;}
    .testimonialWall_overline{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hueAccent);margin-bottom:12px;}
    .testimonialWall_headline{font-family:var(--fontHeading);font-size:var(--fluidT7);font-weight:800;color:var(--text1);margin:0;line-height:1.12;}
    .testimonialWall_grid{column-count:3;column-gap:18px;}
    .testimonialWall_card{break-inside:avoid;margin-bottom:18px;background:var(--ground1);border:1px solid var(--hair1);border-radius:var(--cornerCard);padding:26px 24px;}
    .testimonialWall_rating{color:var(--hueAccent);font-size:.82rem;margin-bottom:12px;}
    .testimonialWall_text{color:var(--text1);line-height:1.7;margin:0 0 18px;font-size:.95rem;}
    .testimonialWall_footer{display:flex;align-items:center;gap:12px;}
    .testimonialWall_av{width:42px;height:42px;border-radius:50%;background:var(--hueAccent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fontHeading);font-weight:700;flex-shrink:0;}
    .testimonialWall_who{font-family:var(--fontHeading);font-weight:700;color:var(--text1);font-size:.92rem;}
    .testimonialWall_post{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(--cHair);border-radius:var(--cCornerMd);background:var(--cBgCard);color:var(--cTextAccent);font:inherit;width:100%;}
.siteContact_field:focus{outline:none;border-color:var(--cAccent);}
.siteContact_check{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;color:var(--cTextSub);}
.siteContact_cta{background:var(--cAccent);color:#fff;border:none;padding:14px;border-radius:var(--cCornerMd);font-weight:700;cursor:pointer;font-family:inherit;transition:filter .2s;}
.siteContact_cta:hover{filter:brightness(1.07);}
.siteContact_info{list-style:none;padding:0;margin:0;}
.siteContact_unit-x2{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;color:var(--cTextSub);}
.siteContact_ic{color:var(--cAccent);width:22px;font-size:18px;flex-shrink:0;}
.siteContact_label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cTextMuted);margin-bottom:3px;}
.siteContact_ethos{color:var(--cTextAccent);font-weight:600;line-height:1.5;}
.siteContact_ethos a{color:inherit;text-decoration:none;}
.siteContact_ethos a:hover{color:var(--cAccent);}
.siteContact_tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;}
.siteContact_unit{background:var(--cBgCard);border:1px solid var(--cHair);border-radius:12px;padding:24px;}
.siteContact_unit .siteContact_ic{display:block;margin-bottom:12px;}
.siteContact_map{border-radius:12px;overflow:hidden;border:1px solid var(--cHair);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(--cBgGround);border:1px solid var(--cHair);color:var(--cTextSub);text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.siteContact_soc:hover{background:var(--cAccent);color:#fff;border-color:var(--cAccent);}
.siteContact_card{background:var(--cBgCard);border:1px solid var(--cHair);border-radius:12px;padding:var(--fluidS2);}
.siteContact_headline{font-size:var(--fluidT5);color:var(--cTextAccent);margin:0 0 12px;}
.siteContact_lead{color:var(--cTextSub);line-height:1.65;margin:0 0 22px;}
.siteContact_grid{display:grid;gap:var(--fluidS3);align-items:start;}
.siteContact_grid{grid-template-columns:1fr 1fr;}
.siteContact_mapwrap{margin-top:22px;}
.siteContact_mapwrap .siteContact_map{min-height:300px;}
.siteContact_mapwrap .siteContact_map iframe{min-height:300px;}


.site-thanks{padding:120px 24px;text-align:center;min-height:46vh;}
.site-thanks h1{color:var(--cTextAccent);font-size:var(--fluidT8);margin-bottom:16px;}
.site-thanks p{color:var(--cTextSub);margin-bottom:28px;}
.site-back{display:inline-block;background:var(--cAccent);color:#fff;padding:13px 32px;border-radius:var(--cCornerMd);font-weight:700;}

.site-legal{padding:56px 24px;}
.site-legal .siteFrame{max-width:820px;}
.site-legal h2{color:var(--cTextAccent);margin:26px 0 12px;font-size:1.2rem;}
.site-legal p{color:var(--cTextSub);margin-bottom:12px;line-height:1.7;}

.site-phero-ed{padding:72px 24px 40px;background:var(--cBgInner);border-bottom:1px solid var(--cHair);}
.site-phero-ed-in{max-width:1100px;margin:0 auto;}
.site-phero-ed h1{font-size:var(--fluidT8);color:var(--cTextAccent);margin:0;line-height:1.12;}
.site-phero-ed h1::after{content:'';display:block;width:60px;height:4px;border-radius:2px;background:var(--cAccent);margin-top:18px;}
.site-phero-ed p{color:var(--cTextSub);max-width:620px;margin:18px 0 0;}

section[data-bg=base]{background:var(--ground1);}
section[data-bg=alt]{background:var(--bgAlt);}
@media (max-width:768px){.siteNav_links{display:none;}.siteToggle{display:flex;}.siteFooter_grid{grid-template-columns:1fr 1fr;}.siteFooter_news{flex-direction:column;align-items:stretch;text-align:center;}.siteFooter_form{max-width:none;}.siteContact_grid{grid-template-columns:1fr;}}
@media (max-width:560px){.cookieStrip{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;}.cookieStrip.is-visible{transform:translateY(0);}.journalIndex_unit{grid-template-columns:auto 1fr;}.journalIndex_arrow{display:none;}.whyAltrow_unit,.whyAltrow_unit:nth-child(even){flex-direction:column;text-align:center;}.testimonialWall_grid{column-count:1;}}
@media (max-width:600px){.siteNav_topbarHours{display:none;}.siteNav_topbarInner{justify-content:center;}}
@media (max-width:480px){.siteFooter_grid{grid-template-columns:1fr;}
  .introBanner_actions {
    flex-direction: column;
    align-items: stretch;
  }

  .introBanner_cta {
    justify-content: center;
  }

  .introBanner_metric {
    gap: var(--cRhythmMd);
  }

        .galleryOverlap_grid{grid-template-columns:1fr;max-width:340px;margin:0 auto;}
    .teamStrip_card{flex-basis:180px;}
        .whoSlab_unit{gap:0 12px;}
        .whoSlab_glyph{width:36px;height:36px;font-size:13px;}
    .challengeBand_grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:no-preference){
  .introBanner_cta {
    animation: introBanner_glow 2.8s ease-in-out infinite;
  }

  .introBanner_deco--orb {
    animation: introBanner_float 9s ease-in-out infinite;
  }

  .introBanner_deco--ring {
    animation: introBanner_spin 24s linear infinite;
  }

  .introBanner_mediaLabelDot {
    animation: introBanner_pulse 1.8s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion:reduce){
  .introBanner_cta,
  .introBanner_deco--orb,
  .introBanner_deco--ring,
  .introBanner_mediaLabelDot {
    animation: none;
  }
}
@media (max-width:860px){
  .introBanner_inner {
    grid-template-columns: 1fr;
    gap: var(--cRhythmLg);
  }

  .introBanner_media {
    order: -1;
  }

  .introBanner_mediaFrame {
    aspect-ratio: 16 / 11;
  }

  .introBanner_headlineAccent {
    white-space: normal;
  }
.testimonialWall_grid{column-count:2;}}
@media (max-width:760px){.storyPress_upper{grid-template-columns:1fr;}.storyPress_body{columns:1;}.challengeSide_grid{grid-template-columns:1fr;}.challengeSide_media{max-width:340px;}
        .galleryOverlap_grid{grid-template-columns:repeat(2,1fr);}
    .processShot_strip{grid-template-columns:1fr;}.processShot_strip--flip .processShot_media{order:-1;}
        .whoSlab_top{grid-template-columns:1fr;}
        .whoSlab_unit{grid-template-columns:40px 1fr;}
        .whoSlab_flag{display:none;}
    }
@media (max-width:680px){.processSteps_unit:not(:last-child)::after{display:none;}.qaCols_grid{grid-template-columns:1fr;}}
@media (max-width:640px){
        .calcGrid_upper{grid-template-columns:1fr;}
        .calcGrid_fields{grid-template-columns:1fr;}
    }
@media (max-width:400px){
        .calcGrid_resultEthos{font-size:var(--fluidT8);}
    }
@media (max-width:720px){.ethosCitation_strip{grid-template-columns:1fr;}}

: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);}
