

@layer base, layout, components, utilities;


@layer base {

  
  :root {
    
    
    
    --color-primary-soft: color-mix(in oklch, var(--color-primary, #2c3e50), white 85%);
    --color-primary-tint:  color-mix(in oklch, var(--color-primary, #2c3e50), white 94%);

    
    --color-surface:    color-mix(in oklch, var(--color-primary, #2c3e50), white 97%);
    --color-hair:     color-mix(in oklch, var(--color-primary, #2c3e50), white 88%);

    
    --surface-1:  #ffffff;
    --surface-2:  color-mix(in oklch, var(--color-primary, #2c3e50), white 96%);

    
    --copy-1:     #0a0a14;
    --copy-2:     #3e3e56;
    --copy-3:     #7a7a96;

    
    --hair-1:   color-mix(in oklch, var(--color-primary, #2c3e50), white 85%);
    --depth-lg:  0 8px 28px rgba(0,0,0,.11);

    
    --ease-fast:   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(--face-content, 'Inter', system-ui, sans-serif);
    color: var(--copy-1, #1a1a1a);
    background: var(--surface-1, #fff);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }

  img, video {
    max-width: 100%;
    height: auto;
    display: block;
  }

  a {
    color: var(--color-primary);
    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(--face-heading, 'Inter', sans-serif);
    font-weight: 700;
    line-height: 1.2;
    color: var(--copy-1, #1a1a1a);
    margin: 0 0 .75em;
  }

  h1 { font-size: var(--fluid-t8); }
  h2 { font-size: var(--fluid-t6); }
  h3 { font-size: var(--fluid-t4); }
  h4 { font-size: var(--fluid-t3); }

  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(--color-primary);
    outline-offset: 3px;
    border-radius: 3px;
  }

}


@layer layout {

  .s-global-shell {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: var(--fluid-s2);
  }

  .s-section-pad {
    padding-block: var(--gap-section, 72px);
  }

  .s-alt-bg {
    background: var(--bg-alt, #f8f8f8);
  }

  
  .two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--fluid-s4);
    align-items: center;
  }

  @media (max-width: 768px) {
    .two-col {
      grid-template-columns: 1fr;
    }
  }

}


@layer components {

  
  .s-section-title {
    text-align: center;
    margin-bottom: var(--fluid-s3);
    font-size: var(--fluid-t5);
    color: var(--copy-1, #1a1a1a);
    position: relative;
  }

  .s-section-title::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: var(--color-primary);
    margin: 12px auto 0;
    border-radius: 2px;
  }

  .lead {
    font-size: var(--fluid-t2);
    line-height: 1.8;
    color: var(--copy-2, #444);
  }

  
  .s-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 24px;
    border-radius: var(--radius-button, 8px);
    font-family: var(--face-heading);
    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;
  }

  .s-button:hover {
    opacity: .88;
    transform: translateY(-1px);
  }

  .s-button:active {
    transform: translateY(0);
  }

  .s-button-primary {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
  }

  .s-button-soft {
    background: #fff;
    color: var(--color-primary);
    border-color: #fff;
  }

  .s-button-soft:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
  }

  .s-button-second {
    background: #1a1a2e;
    color: #fff;
    border-color: #1a1a2e;
  }

  .s-button-outline {
    background: transparent;
    color: var(--color-primary);
    border-color: var(--color-primary);
  }

  .s-button-outline:hover {
    background: var(--color-primary);
    color: #fff;
    opacity: 1;
  }

  .s-button-copy {
    background: transparent;
    color: var(--color-primary);
    padding: 4px 0;
    border-color: transparent;
  }

  .s-button-tertiary {
    background: #f8f8f8;
    color: #1a1a1a;
    border-color: #e0e0e0;
  }

  .s-button-big {
    padding: 15px 36px;
    font-size: 1rem;
  }

  .s-button-small {
    padding: 8px 16px;
    font-size: .8rem;
  }

  .s-button-full {
    width: 100%;
    justify-content: center;
  }

  
  .trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
    color: var(--label-soft-color, rgba(255,255,255,.85));
    background: var(--label-soft-bg, rgba(255,255,255,.12));
    border: 1px solid var(--label-soft-hair, 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;
  }

  
  .s-intro-section {
    position: relative;
    min-height: var(--intro-min-height, 520px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 0;
    overflow: hidden;
    background: var(--bg-alt);
  }

  .hero-content {
    position: relative;
    z-index: 2;
    padding: var(--fluid-s5) var(--fluid-s4);
  }

  .hero-content h1 {
    font-size: var(--fluid-t8);
    line-height: 1.1;
    margin-bottom: 20px;
    color: var(--copy-1, #1a1a1a);
  }

  .hero-subtitle {
    font-size: var(--fluid-t2);
    color: var(--copy-2, #555);
    margin-bottom: 32px;
    line-height: 1.7;
  }

  .hero-image {
    position: relative;
    height: 100%;
    min-height: var(--intro-min-height, 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(--bg-alt), transparent);
    z-index: 1;
  }

  
  .s-intro-section.hero--full-bg {
    grid-template-columns: 1fr;
    min-height: var(--intro-min-height, 560px);
    background: #1a1a2e;
  }

  .s-intro-section.hero--full-bg .hero-content {
    text-align: center;
    max-width: 720px;
    margin-inline: auto;
    padding-block: clamp(60px, 10vw, 120px);
  }

  .s-intro-section.hero--full-bg .hero-content h1,
  .s-intro-section.hero--full-bg .hero-content .hero-subtitle {
    color: #fff;
  }

  .s-intro-section.hero--full-bg .hero-subtitle {
    color: rgba(255,255,255,.8);
  }

  
  .s-intro-section.hero--gradient {
    grid-template-columns: 1fr;
    background: linear-gradient(135deg, var(--color-primary) 0%, #1a1a2e 100%);
    text-align: center;
    justify-items: center;
  }

  .s-intro-section.hero--gradient .hero-content h1,
  .s-intro-section.hero--gradient .hero-content .hero-subtitle {
    color: #fff;
  }

  .s-intro-section.hero--gradient .hero-subtitle {
    color: rgba(255,255,255,.8);
  }

  @media (max-width: 768px) {
    .s-intro-section {
      grid-template-columns: 1fr;
    }

    .hero-image {
      min-height: 280px;
      height: 280px;
    }

    .hero-image::before {
      display: none;
    }
  }

  
  .s-services-section {
    position: relative;
  }

  .services-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--grid-gap, 24px);
    margin-top: 8px;
  }

  .service-item {
    display: flex;
    gap: 20px;
    padding: 28px;
    background: var(--surface-1, #fff);
    border-radius: var(--radius-box, 12px);
    box-shadow: var(--depth-box, 0 4px 16px rgba(0,0,0,.08));
    transition: transform var(--ease, .2s ease), box-shadow var(--ease, .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(--color-primary), #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(--copy-1, #1a1a1a);
    line-height: 1.3;
  }

  .service-content p {
    font-size: .9rem;
    color: var(--copy-2, #555);
    line-height: 1.7;
    margin: 0;
  }

  @media (max-width: 640px) {
    .services-container {
      grid-template-columns: 1fr;
    }
  }

  
  .why-us-section {
    position: relative;
  }

  
  .s-count-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
    padding: 28px 32px;
    background: var(--color-primary);
    border-radius: var(--radius-box, 12px);
  }

  .s-metric-item {
    text-align: center;
    color: #fff;
  }

  .s-metric-value {
    font-size: var(--fluid-t7);
    font-weight: 800;
    font-family: var(--face-heading);
    line-height: 1.1;
  }

  .s-metric-label {
    font-size: .8rem;
    opacity: .8;
    margin-top: 4px;
    letter-spacing: .02em;
  }

  @media (max-width: 640px) {
    .s-count-grid {
      grid-template-columns: 1fr;
      gap: 16px;
      padding: 20px;
    }
  }

  
  .s-qa-section {
    position: relative;
  }

  .faq-container {
    max-width: 780px;
    margin-inline: auto;
  }

  .faq-item {
    background: var(--surface-1, #fff);
    border: 1.5px solid var(--hair-1, #ebebeb);
    border-radius: var(--radius-box, 12px);
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
  }

  .faq-item:hover {
    border-color: var(--color-primary);
    box-shadow: 0 4px 16px rgba(0,0,0,.06);
  }

  .faq-item.active,
  .faq-item[aria-expanded="true"] {
    border-color: var(--color-primary);
    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(--copy-1, #1a1a1a);
    margin: 0;
    line-height: 1.4;
    flex: 1;
  }

  .faq-toggle {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--surface-2, #f4f4f4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--color-primary);
    transition: transform .25s ease, background .2s ease;
  }

  .faq-item.active .faq-toggle,
  .faq-item[aria-expanded="true"] .faq-toggle {
    transform: rotate(45deg);
    background: var(--color-primary);
    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(--copy-2, #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(--grid-gap, 24px);
    align-items: start;
    margin-top: 8px;
  }

  .pricing-card {
    background: var(--surface-1, #fff);
    border: 1.5px solid var(--hair-1, #ebebeb);
    border-radius: var(--radius-box, 12px);
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
    transition: transform var(--ease, .2s ease), box-shadow var(--ease, .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(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
    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(--face-heading);
    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(--color-primary);
  }

  .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(--grid-gap, 24px);
    margin-top: 8px;
  }

  .testimonial-card {
    background: var(--surface-1, #fff);
    border-radius: var(--radius-box, 12px);
    padding: 28px;
    box-shadow: var(--depth-box, 0 4px 16px rgba(0,0,0,.08));
    border-top: 3px solid var(--color-primary);
    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(--copy-2, #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(--color-primary);
    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(--copy-1, #1a1a1a);
    margin: 0;
  }

  .testimonial-role {
    font-size: .75rem;
    color: var(--copy-3, #999);
    margin: 2px 0 0;
  }

  
  .checklist-card {
    background: var(--surface-1, #fff);
    border-radius: var(--radius-box, 12px);
    padding: 28px;
    box-shadow: var(--depth-box, 0 4px 16px rgba(0,0,0,.08));
    transition: transform .2s ease;
  }

  .checklist-card:hover {
    transform: translateY(-4px);
  }

  
  .s-convert-section {
    background: var(--color-primary);
    padding: var(--gap-section, 72px) 24px;
    text-align: center;
  }

  .s-convert-section h2 {
    color: #fff;
    font-size: var(--fluid-t5);
    margin-bottom: 12px;
  }

  .s-convert-section p {
    color: rgba(255,255,255,.82);
    font-size: var(--fluid-t2);
    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(--radius-box, 12px);
    overflow: hidden;
    box-shadow: var(--depth-box, 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(--surface-1, #fff);
    border-radius: var(--radius-box, 12px);
    padding: 28px 24px;
    text-align: center;
    box-shadow: var(--depth-box, 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(--copy-2, #555);
    font-family: var(--face-heading);
    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(--radius-button, 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(--color-primary);
    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(--color-primary);
  }

  
  .iti {
    width: 100%;
  }

  
  .legal-content {
    max-width: 900px;
    margin-inline: auto;
    padding-inline: var(--fluid-s2);
  }

  .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(--color-primary);
    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(--color-primary);
    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(--color-primary);
    opacity: 1;
  }

  .nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: var(--radius-box, 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 {}

  
  .s-sub-intro {
    background: linear-gradient(135deg, var(--color-primary) 0%, #1a1a2e 100%);
    padding-block: var(--fluid-s5);
    padding-inline: var(--fluid-s2);
  }

  .s-sub-intro h1 {
    color: #fff;
    font-size: var(--fluid-t8);
    margin-bottom: 12px;
    line-height: 1.15;
  }

  .s-sub-intro p {
    color: rgba(255,255,255,.75);
    font-size: var(--fluid-t2);
    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) {
    .s-intro-section {
      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;
    }

    .s-count-grid {
      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) {
    .s-count-grid {
      grid-template-columns: 1fr;
    }

    .s-button-big {
      padding: 13px 28px;
      font-size: .95rem;
    }
  }

  
  .legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 16px;
    border-radius: var(--radius-box);
    overflow: hidden;
  }

  .legal-table thead tr {
    background: var(--color-primary);
    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(--ease-fast, 150ms ease);
  }

  .legal-table tbody tr:last-child { border-bottom: none; }
  .legal-table tbody tr:hover { background: var(--color-surface, #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(--color-primary-tint, #f5f5f5);
    color: var(--color-primary);
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 12px;
    font-family: 'Courier New', monospace;
  }

  
  .s-color-flow-section {
    transition: background-color 0.15s linear;
  }

  
  .s-blob-intro {
    position: relative;
    overflow: hidden;
  }
  .s-blob-intro::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;
  }
  .s-blob-intro::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;
  }

  
  .s-convert-section {
    position: relative;
    overflow: hidden;
  }
  .s-convert-section::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 .s-section-pad + .s-section-pad {
    border-radius: 32px 32px 0 0;
    margin-top: -28px;
    position: relative;
    z-index: 1;
  }

  .section-stack-page .s-section-pad + .s-section-pad + .s-section-pad { z-index: 2; }
  .section-stack-page .s-section-pad + .s-section-pad + .s-section-pad + .s-section-pad { z-index: 3; }
  .section-stack-page .s-section-pad + .s-section-pad + .s-section-pad + .s-section-pad + .s-section-pad { z-index: 4; }

  @media (max-width: 640px) {
    .section-stack-page .s-section-pad + .s-section-pad {
      border-radius: 20px 20px 0 0;
      margin-top: -16px;
    }
  }

  
  .hero-em,
  #hero h1 em {
    font-style: normal;
    background: linear-gradient(135deg, var(--color-primary) 0%, #a855f7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  
  .s-section-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-primary);
    background: var(--color-primary-tint, rgba(0,0,0,.04));
    border: 1.5px solid var(--color-hair, rgba(0,0,0,.12));
    padding: 4px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
  }

  
  .s-section-label-soft {
    color: var(--label-soft-color, rgba(255,255,255,.8));
    border-color: var(--label-soft-hair, rgba(255,255,255,.35));
    background: var(--label-soft-bg, 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,
    .s-convert-section {
      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: #0d0f12;
  --clrBgSurface: #13171c;
  --clrBgCard: #181d24;
  --clrBgElevated: #1f2630;
  --clrBgOverlay: rgba(13, 15, 18, 0.82);
  --clrPrimary: #0d6e6e;
  --clrPrimaryLight: #149a9a;
  --clrPrimaryDark: #074a4a;
  --clrSecondary: #f2a007;
  --clrSecondaryLight: #ffc04d;
  --clrSecondaryDark: #b87a05;
  --clrAccentDark: #0c1a2e;
  --clrAccentDarkSoft: #142a47;
  --clrTextPrimary: #eef2f5;
  --clrTextSecondary: #a8b3bf;
  --clrTextMuted: #6b7681;
  --clrTextOnPrimary: #f4fbfb;
  --clrTextOnSecondary: #1a1200;
  --clrBorder: #262e38;
  --clrBorderSoft: rgba(255, 255, 255, 0.06);
  --clrDivider: #1e252e;
  --clrSuccess: #2fbf7f;
  --clrWarning: #f2a007;
  --clrDanger: #e05252;
  --clrShadowSm: 0 1px 2px rgba(0, 0, 0, 0.45);
  --clrShadowMd: 0 6px 18px rgba(0, 0, 0, 0.55);
  --clrShadowLg: 0 18px 40px rgba(0, 0, 0, 0.65);
  --clrGlowPrimary: 0 0 18px rgba(13, 110, 110, 0.55);
  --clrGlowSecondary: 0 0 18px rgba(242, 160, 7, 0.5);
  --clrRadiusSm: 6px;
  --clrRadiusMd: 12px;
  --clrRadiusLg: 20px;
  --clrRadiusXl: 32px;
  --clrRadiusPill: 999px;
  --clrSpaceXs: 4px;
  --clrSpaceSm: 8px;
  --clrSpaceMd: 16px;
  --clrSpaceLg: 24px;
  --clrSpaceXl: 40px;
  --clrSpace2xl: 64px;
  --clrTransitionFast: 120ms ease;
  --clrTransitionMid: 240ms ease;
  --clrTransitionSlow: 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
  --clrNavHeight: 64px;
  --clrNavHeightMobile: 56px;
  --clrFocusRing: 0 0 0 3px rgba(20, 154, 154, 0.45);
}
:root{--color-night:color-mix(in oklch, var(--color-primary) 20%, #000);--color-primary-rgb:13,110,110;--color-primary-soft:rgba(13,110,110,.12);--color-primary:#0d6e6e;--color-primary-tint:rgba(13,110,110,.08);--color-surface:#1a1828;--color-hair:rgba(255,255,255,0.12);--surface-1:#13111f;--surface-2:#1a1828;--copy-1:#f0eee8;--copy-2:#b8b4c8;--copy-3:#7a7590;--hair-1:rgba(255,255,255,0.12);--bg-alt:rgba(255,255,255,0.05);--face-heading:'Playfair Display',sans-serif;--face-content:'Plus Jakarta Sans',system-ui,sans-serif;--radius-box:4px;--radius-button:8px;--depth-box:0 2px 8px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.08);--depth-lg:0 10px 30px rgba(0,0,0,.12);--grid-gap:20px;--gap-section:56px;--intro-min-height:480px;--ease:0.3s;--ease-fast:150ms ease;--label-soft-bg:rgba(255,255,255,0.08);--label-soft-hair:rgba(255,255,255,0.20);--label-soft-color:rgba(255,255,255,0.85);}
.s-global-shell{max-width:1200px;margin-inline:auto;padding-inline:var(--fluid-s2);}
.s-global-main{display:block;}

.s-global-nav{position:sticky;top:0;z-index:100;background:var(--clrBgSurface);border-bottom:1px solid var(--clrBorder);transition:box-shadow .3s ease,background .3s ease;}
.s-global-nav.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.08);backdrop-filter:blur(10px);}
.s-global-nav-body{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;}
.s-global-wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;color:var(--clrTextPrimary);text-decoration:none;}
.s-global-logo{width:30px;height:30px;display:block;flex-shrink:0;}
.s-global-nav-links{display:flex;gap:24px;}
.s-global-nav-links a{color:var(--clrTextSecondary);font-weight:600;}
.s-global-nav-links a:hover{color:var(--clrPrimary);}
.s-global-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.s-global-burger span{width:24px;height:2px;background:var(--clrTextPrimary);transition:transform .3s ease,opacity .3s ease;}
.s-global-burger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.s-global-burger.active span:nth-child(2){opacity:0;}
.s-global-burger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.s-global-drawer{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;}
.s-global-drawer.open{transform:translateX(0);}
.s-global-drawer nav{display:flex;flex-direction:column;gap:24px;text-align:center;}
.s-global-drawer 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;}
.s-gdpr-bar{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:4px;box-shadow:0 16px 48px rgba(0,0,0,.18);opacity:0;transition:transform .45s ease,opacity .45s ease;}
.s-gdpr-bar.is-visible{transform:translateX(-50%) translateY(0);opacity:1;}
.s-gdpr-bar-copy{margin:0;font-size:.85rem;color:var(--clrTextSecondary);line-height:1.5;flex:1;}
.s-gdpr-bar-copy a{color:var(--clrPrimary);font-weight:600;}
.s-gdpr-bar-button{flex-shrink:0;background:var(--clrPrimary);color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit;transition:opacity .2s;}
.s-gdpr-bar-button:hover{opacity:.88;}


.s-back-to-head{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);}
.s-back-to-head.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.s-back-to-head:hover{filter:brightness(1.08);}
.s-global-nav-convert{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:8px;background:var(--clrPrimary);color:#fff;font-weight:700;font-size:.9rem;white-space:nowrap;transition:opacity .2s,transform .2s;}
.s-global-nav-convert:hover{opacity:.9;transform:translateY(-1px);color:#fff;}
.s-global-nav-phone{display:inline-flex;align-items:center;gap:8px;color:var(--clrTextPrimary);font-weight:600;font-size:.9rem;white-space:nowrap;}
.s-global-nav-phone i{color:var(--clrPrimary);font-size:.85rem;}
.s-global-nav-actions{display:flex;align-items:center;gap:18px;}
.s-global-nav[data-hdr=minimal] .s-global-nav-links{gap:18px;}
.s-global-bottom{background:var(--clrBgElevated);border-top:1px solid var(--clrBorder);padding:56px 24px 24px;margin-top:40px;}
.s-global-bottom-wordmark{font-size:1.15rem;color:var(--clrTextPrimary);display:inline-block;}
.s-global-bottom-chip{color:var(--clrTextMuted);margin-top:8px;font-size:.9rem;max-width:320px;line-height:1.55;}
.s-global-bottom-h{color:var(--clrTextPrimary);margin-bottom:14px;font-size:.95rem;}
.s-global-bottom-rows{list-style:none;padding:0;margin:0;}
.s-global-bottom-rows li{margin-bottom:9px;font-size:.9rem;}
.s-global-bottom-rows a{color:var(--clrTextSecondary);text-decoration:none;}
.s-global-bottom-rows a:hover{color:var(--clrPrimary);}
.s-global-bottom-x2{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid var(--clrBorder);color:var(--clrTextMuted);font-size:.85rem;}
.s-global-bottom-x2 a{color:var(--clrTextMuted);}
.s-global-bottom-social{display:flex;gap:12px;}
.s-global-bottom-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;}
.s-global-bottom-soc:hover{background:var(--clrPrimary);color:#fff;border-color:var(--clrPrimary);}
.s-global-bottom-convert{display:inline-block;padding:13px 28px;border-radius:8px;background:var(--clrPrimary);color:#fff;font-weight:700;text-decoration:none;transition:transform .2s,filter .2s;}
.s-global-bottom-convert:hover{transform:translateY(-2px);filter:brightness(1.06);}
.s-global-bottom-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;max-width:1200px;margin:0 auto;}
.s-global-bottom-column .s-global-bottom-social{margin-top:18px;}



.s-intro-banner {
  position: relative;
  overflow: hidden;
  padding: var(--fluid-s6) 0;
  isolation: isolate;
}

.s-intro-banner-shell {
  position: relative;
  z-index: 3;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--fluid-s4);
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: var(--fluid-s5);
}


.s-intro-banner-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.55;
  z-index: 1;
  pointer-events: none;
}
.s-intro-banner-glow-one {
  width: 420px;
  height: 420px;
  top: -140px;
  right: -80px;
  background: radial-gradient(circle, var(--clrGlowPrimary), transparent 70%);
}
.s-intro-banner-glow-two {
  width: 360px;
  height: 360px;
  bottom: -160px;
  left: -100px;
  background: radial-gradient(circle, var(--clrGlowSecondary), transparent 70%);
}
.s-intro-banner-grid-lines {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(var(--clrDivider) 1px, transparent 1px),
    linear-gradient(90deg, var(--clrDivider) 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: 0.25;
  mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 30%, transparent 78%);
}


.s-intro-banner-content {
  display: flex;
  flex-direction: column;
  gap: var(--fluid-s1);
}

.s-intro-banner-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  padding: 8px 16px;
  border-radius: var(--clrRadiusPill);
  background: var(--clrBgSurface);
  border: 1px solid var(--clrBorder);
  box-shadow: var(--clrShadowSm);
  color: var(--clrTextSecondary);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.s-intro-banner-kicker-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--clrPrimary);
  box-shadow: 0 0 0 4px var(--clrGlowPrimary);
}

.s-intro-banner-title {
  margin: 0;
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: var(--fluid-t9);
  line-height: 1.06;
  letter-spacing: -0.015em;
  color: var(--clrTextPrimary);
}

.s-intro-banner-subtitle {
  margin: 0;
  max-width: 56ch;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: var(--fluid-t2);
  line-height: 1.65;
  color: var(--clrTextSecondary);
}


.s-intro-banner-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 4px;
}
.s-intro-banner-convert {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 28px;
  border-radius: var(--clrRadiusPill);
  background: var(--clrPrimary);
  color: var(--clrTextOnPrimary);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: var(--clrShadowMd);
  transition: transform var(--clrTransitionMid), box-shadow var(--clrTransitionMid),
    background var(--clrTransitionMid);
}
.s-intro-banner-convert:hover {
  transform: translateY(-3px);
  background: var(--clrPrimaryDark);
  box-shadow: var(--clrShadowLg);
}
.s-intro-banner-convert:focus-visible {
  outline: 3px solid var(--clrFocusRing);
  outline-offset: 3px;
}
.s-intro-banner-convert-glyph {
  display: inline-flex;
  transition: transform var(--clrTransitionMid);
}
.s-intro-banner-convert:hover .s-intro-banner-convert-glyph {
  transform: translateX(5px);
}

.s-intro-banner-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.s-intro-banner-marker {
  padding: 8px 14px;
  border-radius: var(--clrRadiusPill);
  background: var(--clrBgCard);
  border: 1px solid var(--clrBorderSoft);
  color: var(--clrTextMuted);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
}


.s-intro-banner-count {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--fluid-s2);
  margin: var(--fluid-s1) 0 0;
  padding: var(--fluid-s2) 0 0;
  list-style: none;
  border-top: 1px solid var(--clrDivider);
}
.s-intro-banner-metric {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.s-intro-banner-metric-number {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: var(--fluid-t7);
  line-height: 1;
  color: var(--clrPrimary);
}
.s-intro-banner-metric-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--clrTextMuted);
}


.s-intro-banner-media {
  perspective: 1400px;
  display: flex;
  justify-content: center;
}
.s-intro-banner-box {
  position: relative;
  width: 100%;
  max-width: 460px;
  border-radius: var(--clrRadiusXl);
  transform-style: preserve-3d;
  transition: transform var(--clrTransitionSlow);
}
.s-intro-banner-box-body {
  position: relative;
  border-radius: var(--clrRadiusXl);
  overflow: hidden;
  background: var(--clrBgElevated);
  border: 1px solid var(--clrBorder);
  box-shadow: var(--clrShadowLg);
  transform: translateZ(0);
}
.s-intro-banner-visual {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform var(--clrTransitionSlow);
}
.s-intro-banner-box-chip {
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding: 8px 16px;
  border-radius: var(--clrRadiusPill);
  background: var(--clrBgOverlay);
  color: var(--clrTextPrimary);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  backdrop-filter: blur(8px);
  border: 1px solid var(--clrBorderSoft);
}
.s-intro-banner-box-ring {
  position: absolute;
  inset: -14px;
  border-radius: calc(var(--clrRadiusXl) + 14px);
  border: 1px dashed var(--clrBorder);
  z-index: -1;
  pointer-events: none;
}


.s-intro-banner-box:hover {
  transform: rotateY(-9deg) rotateX(6deg) translateY(-6px);
}
.s-intro-banner-box:hover .s-intro-banner-visual {
  transform: scale(1.05);
}


@keyframes s-intro-banner-float {
  0%,
  100% {
    transform: translateY(0) rotateZ(0deg);
  }
  50% {
    transform: translateY(-16px) rotateZ(-0.6deg);
  }
}
@keyframes s-intro-banner-pulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(1);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.08);
  }
}







.s-intro-banner{background:var(--clrBgPage) !important;position:relative;overflow:hidden;}
.s-intro-banner h1,.s-intro-banner h2,.s-intro-banner h3{color:var(--clrTextPrimary) !important;}
.s-intro-banner p,.s-intro-banner li,.s-intro-banner [class*=eyebrow],.s-intro-banner [class*=label],.s-intro-banner [class*=kicker],.s-intro-banner [class*=tag],.s-intro-banner [class*=badge],.s-intro-banner [class*=sub],.s-intro-banner small{color:var(--clrTextSecondary) !important;}
.s-intro-banner a[class*=s-convert],.s-intro-banner a[class*=s-button],.s-intro-banner button{color:#fff !important;}
.s-company-figures-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--fluid-s4);align-items:center;}
    .s-company-figures-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-primary);display:block;margin-bottom:14px;}
    .s-company-figures-title{font-family:var(--face-heading);font-size:var(--fluid-t8);font-weight:800;color:var(--copy-1);margin:0 0 18px;line-height:1.1;letter-spacing:-.02em;}
    .s-company-figures-copy{font-size:1rem;color:var(--copy-2);line-height:1.8;margin:0;}
    .s-company-figures-count{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
    .s-company-figures-box{padding:30px 26px;border-radius:var(--radius-box);background:var(--surface-1,#fff);border:1px solid var(--hair-1);box-shadow:var(--depth-box);}
    .s-company-figures-box:first-child{background:linear-gradient(160deg,var(--color-primary),var(--color-night));border-color:transparent;}
    .s-company-figures-number{font-family:var(--face-heading);font-weight:800;font-size:2.4rem;color:var(--color-primary);line-height:1;}
    .s-company-figures-box:first-child .s-company-figures-number{color:#fff;}
    .s-company-figures-label{font-size:.85rem;color:var(--copy-2);margin-top:8px;}
    .s-company-figures-box:first-child .s-company-figures-label{color:rgba(255,255,255,.82);}
    
.s-service-rowlist-head{margin-bottom:42px;max-width:600px;}
    .s-service-rowlist-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;}
    .s-service-rowlist-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .s-service-rowlist-rows{display:flex;flex-direction:column;gap:14px;}
    .s-service-rowlist-item{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:var(--surface-1);border:1px solid var(--hair-1);border-radius:var(--radius-box);padding:24px 28px;transition:border-color .2s;}
    .s-service-rowlist-item:hover{border-color:var(--color-primary);}
    .s-service-rowlist-ic{width:52px;height:52px;border-radius:14px;background:var(--bg-alt);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;}
    .s-service-rowlist-h{font-family:var(--face-heading);font-size:1.12rem;font-weight:700;color:var(--copy-1);margin:0 0 5px;}
    .s-service-rowlist-p{color:var(--copy-2);line-height:1.55;margin:0;font-size:.92rem;}
    .s-service-rowlist-arrow{color:var(--color-primary);font-size:16px;flex-shrink:0;}
    
.s-value-color-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:48px;}
    .s-value-color-box{display:flex;flex-direction:column;padding:36px 28px;border-radius:var(--radius-box);background:var(--surface-1,#fff);box-shadow:var(--depth-box);border-left:4px solid var(--color-primary);transition:transform .2s,box-shadow .2s;}
    .s-value-color-box:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.1);}
    .s-value-color-box-c2{border-left-color:#10b981;}
    .s-value-color-box-c3{border-left-color:#f59e0b;}
    .s-value-color-box-c4{border-left-color:#6366f1;}
    .s-value-color-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
    .s-value-color-glyph{width:46px;height:46px;border-radius:12px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
    .s-value-color-box-c2 .s-value-color-glyph{background:#10b981;}
    .s-value-color-box-c3 .s-value-color-glyph{background:#f59e0b;}
    .s-value-color-box-c4 .s-value-color-glyph{background:#6366f1;}
    .s-value-color-glyph i{color:#fff;font-size:18px;}
    .s-value-color-title{font-weight:700;font-size:16px;color:var(--copy-1);margin:0;font-family:var(--face-heading);}
    .s-value-color-summary{font-size:13.5px;color:var(--copy-2);line-height:1.7;margin:0;}
.s-gallery-arc-head{max-width:580px;margin-bottom:var(--fluid-s3);}
    .s-gallery-arc-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:10px;}
    .s-gallery-arc-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.1;}
    .s-gallery-arc-head-x2{display:grid;grid-template-columns:3fr 2fr 2fr;gap:12px;margin-bottom:12px;}
    .s-gallery-arc-intro{position:relative;overflow:hidden;border-radius:var(--radius-box);grid-row:span 2;aspect-ratio:2/3;box-shadow:var(--depth-lg);}
    .s-gallery-arc-unit{position:relative;overflow:hidden;border-radius:var(--radius-box);aspect-ratio:16/10;}
    .s-gallery-arc-visual{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
    .s-gallery-arc-intro:hover .s-gallery-arc-visual,.s-gallery-arc-unit:hover .s-gallery-arc-visual{transform:scale(1.07);}
    .s-gallery-arc-cap{position:absolute;inset:auto 0 0 0;padding:32px 14px 13px;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);color:#fff;font-size:.8rem;font-weight:700;}
    .s-gallery-arc-cap-intro{font-size:var(--fluid-t2);}
    .s-gallery-arc-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
    .s-gallery-arc-bottom-unit{position:relative;overflow:hidden;border-radius:var(--radius-box);aspect-ratio:1;}
    .s-gallery-arc-bottom-cap{position:absolute;inset:auto 0 0 0;padding:22px 10px 9px;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);color:#fff;font-size:.72rem;font-weight:700;}
    
    
.s-voice-mini-head{margin-bottom:42px;max-width:560px;}
    .s-voice-mini-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;}
    .s-voice-mini-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .s-voice-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;}
    .s-voice-mini-box{display:flex;gap:16px;background:var(--surface-1);border:1px solid var(--hair-1);border-radius:var(--radius-box);padding:22px 24px;}
    .s-voice-mini-av{width:48px;height:48px;border-radius:50%;background:var(--bg-alt);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-family:var(--face-heading);font-weight:700;font-size:1.1rem;flex-shrink:0;}
    .s-voice-mini-copy{color:var(--copy-2);line-height:1.6;margin:0 0 10px;font-size:.92rem;}
    .s-voice-mini-person{font-family:var(--face-heading);font-weight:700;color:var(--copy-1);font-size:.9rem;}
    .s-voice-mini-position{color:var(--copy-3);font-size:.8rem;}
.founder_noteSec{padding:var(--fluid-s6) 24px;background:var(--clrBgSurface);}
.founder_noteInner{max-width:820px;margin:0 auto;text-align:center;}
.founder_noteEyebrow{display:inline-block;color:var(--clrPrimary);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;margin-bottom:20px;}
.founder_noteQuote{font-size:var(--fluid-t4);line-height:1.5;color:var(--clrTextPrimary);font-weight:500;margin:0 0 28px;}
.founder_noteSign{display:inline-flex;align-items:center;gap:14px;text-align:left;}
.founder_noteAvatar{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.founder_noteName{font-weight:700;color:var(--clrTextPrimary);}
.founder_noteRole{font-size:.9rem;color:var(--clrTextSecondary);}

.certificationsHeader{margin-bottom:36px;}
.certificationsEyebrow{display:inline-block;color:var(--clrPrimary);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:13px;margin-bottom:10px;}
.certificationsHeading{font-size:var(--fluid-t7);color:var(--clrTextPrimary);line-height:1.2;}
.certificationsSec{padding:80px 24px;}
.certificationsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.certificationsCard{background:var(--clrBgCard);border:1px solid var(--clrBorder);border-radius:var(--clrRadiusLg);padding:28px;box-shadow:var(--clrShadowSm);}
.certificationsCardIcon{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;}
.certificationsCardImg{width:100%;height:200px;object-fit:cover;border-radius:var(--clrRadiusMd);margin-bottom:16px;}
.certificationsCardTitle{font-size:1.1rem;color:var(--clrTextPrimary);margin-bottom:8px;}
.certificationsCardSub{color:var(--clrPrimary);font-size:.85rem;font-weight:600;margin-bottom:8px;}
.certificationsCardText{color:var(--clrTextSecondary);font-size:.92rem;line-height:1.6;}

.ctaSec{padding:88px 24px;background:var(--clrPrimary);}
.ctaInner{max-width:1000px;margin:0 auto;}
.ctaTitle{color:#fff;font-size:var(--fluid-t8);line-height:1.1;max-width:680px;margin-bottom:14px;}
.ctaSub{color:rgba(255,255,255,.85);max-width:560px;margin-bottom:30px;}
.ctaBtn{display:inline-block;background:#fff;color:var(--clrPrimary);padding:15px 40px;border-radius:var(--clrRadiusMd);font-weight:700;}

.site-page-hero{padding:84px 24px 56px;background:var(--clrBgSurface);text-align:center;}
.site-page-hero h1{font-size:var(--fluid-t8);color:var(--clrTextPrimary);margin-bottom:12px;}
.site-page-hero p{color:var(--clrTextSecondary);max-width:600px;margin:0 auto;}

.s-steps-flow{background:var(--surface-1,#fff);}
    .s-steps-flow-head{text-align:center;margin-bottom:var(--fluid-s5);}
    .s-steps-flow .s-section-title{margin-bottom:0;}
    .s-steps-flow-grid{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;}
    .s-steps-flow-stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 var(--fluid-s1);}
    .s-steps-flow-stage::before,.s-steps-flow-stage::after{content:'';position:absolute;top:36px;width:50%;height:2px;background:rgba(var(--color-primary-rgb,99,102,241),.25);z-index:0;}
    .s-steps-flow-stage::before{left:0;}
    .s-steps-flow-stage::after{right:0;}
    .s-steps-flow-stage:first-child::before{display:none;}
    .s-steps-flow-stage:last-child::after{display:none;}
    .s-steps-flow-circle{width:72px;height:72px;border-radius:50%;background:var(--surface-1);border:2px solid var(--color-primary);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(--surface-1);font-family:var(--face-heading);font-size:22px;font-weight:900;color:var(--color-primary);}
    .s-steps-flow-circle-active{background:var(--color-primary);color:#fff;}
    .s-steps-flow-title{font-family:var(--face-heading);font-size:var(--fluid-t2);font-weight:800;color:var(--copy-1);margin:0 0 12px;line-height:1.3;}
    .s-steps-flow-copy{font-size:var(--fluid-s1);color:var(--copy-3);line-height:1.7;margin:0;}
    .s-steps-flow-bottom{text-align:center;margin-top:var(--fluid-s4);}
    
    
.s-service-iconcard-head{text-align:center;margin-bottom:46px;max-width:600px;margin-left:auto;margin-right:auto;}
    .s-service-iconcard-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;}
    .s-service-iconcard-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .s-service-iconcard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;}
    .s-service-iconcard-box{background:var(--surface-1);border:1px solid var(--hair-1);border-radius:var(--radius-box);padding:32px 28px;transition:border-color .2s,box-shadow .2s;}
    .s-service-iconcard-box:hover{border-color:var(--color-primary);box-shadow:var(--depth-box);}
    .s-service-iconcard-ic{width:56px;height:56px;border-radius:14px;background:var(--bg-alt);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:20px;}
    .s-service-iconcard-h{font-family:var(--face-heading);font-size:1.18rem;font-weight:700;color:var(--copy-1);margin:0 0 10px;}
    .s-service-iconcard-p{color:var(--copy-2);line-height:1.65;margin:0;font-size:.93rem;}
.s-program-chain-head{max-width:640px;margin:0 auto var(--fluid-s3);text-align:center;}
    .s-program-chain-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;}
    .s-program-chain-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;}
    .s-program-chain-path{display:flex;align-items:stretch;overflow-x:auto;padding-bottom:12px;gap:0;}
    .s-program-chain-item{position:relative;flex:0 0 clamp(220px,26vw,280px);padding:0 20px;}
    .s-program-chain-item:nth-child(odd){padding-top:0;padding-bottom:70px;}
    .s-program-chain-item:nth-child(even){padding-top:70px;padding-bottom:0;}
    .s-program-chain-item::before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:var(--hair-1);z-index:0;}
    .s-program-chain-item:first-child::before{left:50%;}
    .s-program-chain-item:last-child::before{right:50%;}
    .s-program-chain-node{position:relative;z-index:1;background:var(--surface-1);border:1px solid var(--hair-1);border-radius:var(--radius-box);padding:var(--fluid-s1);box-shadow:var(--depth-box);}
    .s-program-chain-item:nth-child(odd) .s-program-chain-node::after{content:'';position:absolute;left:50%;bottom:-38px;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:var(--color-primary);border:3px solid var(--surface-1);box-shadow:0 0 0 2px var(--hair-1);}
    .s-program-chain-item:nth-child(even) .s-program-chain-node::before{content:'';position:absolute;left:50%;top:-38px;transform:translateX(-50%);width:14px;height:14px;border-radius:50%;background:var(--color-primary);border:3px solid var(--surface-1);box-shadow:0 0 0 2px var(--hair-1);}
    .s-program-chain-number{font-family:var(--face-heading);font-weight:800;color:var(--color-primary);font-size:1.1rem;display:block;margin-bottom:8px;}
    .s-program-chain-h{font-family:var(--face-heading);font-weight:700;color:var(--copy-1);font-size:1rem;margin:0 0 8px;}
    .s-program-chain-topics{color:var(--copy-2);line-height:1.5;margin:0 0 10px;font-size:.82rem;}
    .s-program-chain-out{display:flex;align-items:flex-start;gap:6px;color:var(--color-primary);font-weight:600;font-size:.78rem;margin:0;}
    .s-program-chain-out i{flex-shrink:0;margin-top:2px;}
    
.s-qa-night{background:var(--color-night);}
    .s-qa-night-body{max-width:48rem;margin:0 auto;padding:0 var(--fluid-t4);}
    .s-qa-night-head{text-align:center;margin-bottom:52px;}
    .s-qa-night-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:#fff;margin:12px 0 0;line-height:1.2;}
    .s-qa-night-rows{display:flex;flex-direction:column;gap:8px;}
    .s-qa-night .faq-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);}
    .s-qa-night .faq-question h3{color:#fff;flex:1;}
    .s-qa-night .faq-answer p{color:rgba(255,255,255,.6);}
    .s-qa-night-glyph{flex-shrink:0;width:36px;height:36px;border-radius:10px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;}
    .s-qa-night-glyph i{color:#fff;font-size:13px;}
    .s-qa-night-bottom{text-align:center;margin-top:40px;}
    .s-qa-night-convert{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(--radius-button);font-family:var(--face-heading);font-weight:700;font-size:14px;text-decoration:none;transition:background .2s,border-color .2s,color .2s;}
    .s-qa-night-convert:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;}
    .s-qa-night-convert i{font-size:.8rem;}
.s-pain-band{background:var(--color-night);}
    .s-pain-band-head{text-align:center;margin-bottom:44px;}
    .s-pain-band-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--color-primary-soft,#fff);opacity:.85;display:block;margin-bottom:12px;}
    .s-pain-band-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:#fff;margin:0;line-height:1.12;}
    .s-pain-band-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
    .s-pain-band-box{padding:28px 26px;border-radius:var(--radius-box);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--color-primary);}
    .s-pain-band-ico{color:var(--color-primary-soft,#fff);font-size:20px;margin-bottom:14px;}
    .s-pain-band-ctitle{font-family:var(--face-heading);font-weight:800;font-size:1.05rem;color:#fff;margin:0 0 8px;line-height:1.25;}
    .s-pain-band-cdesc{font-size:.88rem;color:rgba(255,255,255,.62);line-height:1.65;margin:0;}
    
.s-persona-slab{background:var(--color-night);}
    .s-persona-slab-head{display:grid;grid-template-columns:1fr 1fr;gap:var(--fluid-s4);margin-bottom:var(--fluid-s4);}
    .s-persona-slab-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;}
    .s-persona-slab-title{font-family:var(--face-heading);font-size:var(--fluid-t8);font-weight:800;color:#fff;margin:0;line-height:1.1;}
    .s-persona-slab-lead{font-size:var(--fluid-t2);color:rgba(255,255,255,.65);line-height:1.7;margin:0;align-self:end;}
    .s-persona-slab-rows{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,.1);}
    .s-persona-slab-item{display:grid;grid-template-columns:48px 1fr auto;gap:0 var(--fluid-s2);align-items:center;padding:var(--fluid-s2) 0;border-bottom:1px solid rgba(255,255,255,.1);}
    .s-persona-slab-glyph{width:44px;height:44px;border-radius:50%;background:rgba(var(--color-primary-rgb),.2);display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:16px;flex-shrink:0;}
    .s-persona-slab-content{}
    .s-persona-slab-h{font-family:var(--face-heading);font-size:var(--fluid-t2);font-weight:700;color:#fff;margin:0 0 4px;}
    .s-persona-slab-p{font-size:var(--fluid-t1);color:rgba(255,255,255,.6);line-height:1.55;margin:0;}
    .s-persona-slab-marker{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);background:rgba(var(--color-primary-rgb),.15);padding:4px 10px;border-radius:var(--radius-button);white-space:nowrap;}
    
    
.s-versus-pill-head{text-align:center;margin-bottom:var(--fluid-s3);}
    .s-versus-pill-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:10px;}
    .s-versus-pill-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .s-versus-pill-legend{display:flex;gap:16px;justify-content:center;margin-bottom:var(--fluid-s2);flex-wrap:wrap;}
    .s-versus-pill-legend-item{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--copy-2);}
    .s-versus-pill-legend-dot{width:10px;height:10px;border-radius:50%;}
    .s-versus-pill-legend-dot-bad{background:var(--surface-1);border:1.5px solid var(--hair-1);}
    .s-versus-pill-legend-dot-good{background:var(--color-primary);}
    .s-versus-pill-rows{display:flex;flex-direction:column;gap:var(--fluid-s1);max-width:760px;margin:0 auto;}
    .s-versus-pill-line{display:flex;align-items:center;gap:var(--fluid-s1);flex-wrap:wrap;}
    .s-versus-pill-feature{font-size:.8rem;font-weight:700;color:var(--copy-3);text-transform:uppercase;letter-spacing:.1em;width:clamp(100px,20%,160px);flex-shrink:0;}
    .s-versus-pill-pair{display:flex;gap:8px;flex:1;flex-wrap:wrap;}
    .s-versus-pill-chip{display:inline-flex;align-items:center;gap:6px;border-radius:100px;padding:8px 16px;font-size:.84rem;line-height:1.3;}
    .s-versus-pill-chip-bad{background:var(--surface-1);border:1.5px solid var(--hair-1);color:var(--copy-2);}
    .s-versus-pill-chip-bad i{color:var(--copy-3);}
    .s-versus-pill-chip-good{background:var(--color-primary);color:#fff;box-shadow:var(--depth-box);}
    .s-versus-pill-chip-good i{color:rgba(255,255,255,.7);}
    
.s-reason-altrow-head{text-align:center;margin-bottom:46px;}
    .s-reason-altrow-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin-bottom:12px;}
    .s-reason-altrow-title{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .s-reason-altrow-rows{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
    .s-reason-altrow-item{display:flex;gap:24px;align-items:center;background:var(--surface-1);border:1px solid var(--hair-1);border-radius:var(--radius-box);padding:26px 30px;}
    .s-reason-altrow-item:nth-child(even){flex-direction:row-reverse;text-align:right;}
    .s-reason-altrow-ic{width:60px;height:60px;border-radius:16px;background:var(--bg-alt);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
    .s-reason-altrow-h{font-family:var(--face-heading);font-size:1.15rem;font-weight:700;color:var(--copy-1);margin:0 0 7px;}
    .s-reason-altrow-p{color:var(--copy-2);line-height:1.6;margin:0;font-size:.93rem;}
    
.s-value-quote-wrap{max-width:860px;margin:0 auto;text-align:center;}
    .s-value-quote-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--color-primary);display:block;margin-bottom:22px;}
    .s-value-quote-big{font-family:var(--face-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);line-height:1.25;letter-spacing:-.02em;margin:0;}
    .s-value-quote-big em{color:var(--color-primary);font-style:normal;}
    .s-value-quote-line{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;text-align:left;}
    .s-value-quote-box{padding:26px 24px;border-radius:var(--radius-box);background:var(--surface-1,#fff);border:1px solid var(--hair-1);box-shadow:var(--depth-box);}
    .s-value-quote-ico{width:44px;height:44px;border-radius:12px;background:rgba(var(--color-primary-rgb),.1);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
    .s-value-quote-ico i{color:var(--color-primary);font-size:17px;}
    .s-value-quote-ctitle{font-family:var(--face-heading);font-weight:700;font-size:1rem;color:var(--copy-1);margin:0 0 6px;}
    .s-value-quote-cdesc{font-size:.875rem;color:var(--copy-2);line-height:1.6;margin:0;}
    
.s-global-contact-sec{padding:var(--fluid-s5) 24px;}
.s-global-contact-form{display:flex;flex-direction:column;gap:14px;}
.s-global-contact-field{padding:13px 16px;border:1.5px solid var(--clrBorder);border-radius:var(--clrRadiusMd);background:var(--clrBgCard);color:var(--clrTextPrimary);font:inherit;width:100%;}
.s-global-contact-field:focus{outline:none;border-color:var(--clrPrimary);}
.s-global-contact-check{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;color:var(--clrTextSecondary);}
.s-global-contact-button{background:var(--clrPrimary);color:#fff;border:none;padding:14px;border-radius:var(--clrRadiusMd);font-weight:700;cursor:pointer;font-family:inherit;transition:filter .2s;}
.s-global-contact-button:hover{filter:brightness(1.07);}
.s-global-contact-info{list-style:none;padding:0;margin:0;}
.s-global-contact-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;color:var(--clrTextSecondary);}
.s-global-contact-ic{color:var(--clrPrimary);width:22px;font-size:18px;flex-shrink:0;}
.s-global-contact-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--clrTextMuted);margin-bottom:3px;}
.s-global-contact-value{color:var(--clrTextPrimary);font-weight:600;line-height:1.5;}
.s-global-contact-value a{color:inherit;text-decoration:none;}
.s-global-contact-value a:hover{color:var(--clrPrimary);}
.s-global-contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;}
.s-global-contact-unit{background:var(--clrBgCard);border:1px solid var(--clrBorder);border-radius:4px;padding:24px;}
.s-global-contact-unit .s-global-contact-ic{display:block;margin-bottom:12px;}
.s-global-contact-map{border-radius:4px;overflow:hidden;border:1px solid var(--clrBorder);min-height:360px;}
.s-global-contact-map iframe{width:100%;height:100%;min-height:360px;border:0;display:block;}
.s-global-contact-social{display:flex;gap:12px;margin-top:18px;}
.s-global-contact-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;}
.s-global-contact-soc:hover{background:var(--clrPrimary);color:#fff;border-color:var(--clrPrimary);}
.s-global-contact-box{background:var(--clrBgCard);border:1px solid var(--clrBorder);border-radius:4px;padding:var(--fluid-s2);}
.s-global-contact-title{font-size:var(--fluid-t5);color:var(--clrTextPrimary);margin:0 0 12px;}
.s-global-contact-lead{color:var(--clrTextSecondary);line-height:1.65;margin:0 0 22px;}
.s-global-contact-grid{display:grid;gap:var(--fluid-s3);align-items:start;}
.s-global-contact-narrow{max-width:600px;margin:0 auto;text-align:center;}
.s-global-contact-narrow .s-global-contact-form{text-align:left;}

.site-thanks{padding:120px 24px;text-align:center;min-height:46vh;}
.site-thanks h1{color:var(--clrTextPrimary);font-size:var(--fluid-t8);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(--clrRadiusMd);font-weight:700;}

.site-legal{padding:56px 24px;}
.site-legal .s-global-shell{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;}

.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(--fluid-t8);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;}

section[data-bg=base]{background:var(--surface-1);}
section[data-bg=alt]{background:var(--bg-alt);}
@media (max-width:768px){.s-global-nav-links{display:none;}.s-global-burger{display:flex;}.s-global-bottom-grid{grid-template-columns:1fr 1fr;}.s-steps-flow-grid{grid-auto-flow:row;grid-template-columns:1fr 1fr;row-gap:40px;}.s-steps-flow-stage::before,.s-steps-flow-stage::after{display:none;}}
@media (max-width:560px){.s-gdpr-bar{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;}.s-gdpr-bar.is-visible{transform:translateY(0);}
  .s-intro-banner-count {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .s-intro-banner-metric {
    flex-direction: row;
    align-items: baseline;
    gap: 12px;
  }
  .s-intro-banner-convert {
    width: 100%;
    justify-content: center;
  }

        .s-versus-pill-feature{width:100%;margin-bottom:4px;}
        .s-versus-pill-line{flex-direction:column;align-items:flex-start;}
    .s-reason-altrow-item,.s-reason-altrow-item:nth-child(even){flex-direction:column;text-align:center;}}
@media (max-width:480px){.s-global-bottom-grid{grid-template-columns:1fr;}
        .s-gallery-arc-head-x2{grid-template-columns:1fr;}
        .s-gallery-arc-intro{grid-column:span 1;aspect-ratio:4/3;}
        .s-gallery-arc-unit{display:none;}
        .s-gallery-arc-bottom{grid-template-columns:repeat(3,1fr);gap:8px;}
    .s-steps-flow-grid{grid-template-columns:1fr;}.s-pain-band-grid{grid-template-columns:1fr;}
        .s-persona-slab-item{gap:0 12px;}
        .s-persona-slab-glyph{width:36px;height:36px;font-size:13px;}
    }
@media (prefers-reduced-motion:no-preference){
  .s-intro-banner-box {
    animation: s-intro-banner-float 7s ease-in-out infinite;
  }
  .s-intro-banner-glow-one {
    animation: s-intro-banner-pulse 9s ease-in-out infinite;
  }
  .s-intro-banner-glow-two {
    animation: s-intro-banner-pulse 11s ease-in-out infinite reverse;
  }
}
@media (prefers-reduced-motion:reduce){
  .s-intro-banner-box,
  .s-intro-banner-glow-one,
  .s-intro-banner-glow-two {
    animation: none;
  }
}
@media (max-width:900px){
  .s-intro-banner-shell {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .s-intro-banner-media {
    order: -1;
    margin-bottom: 8px;
  }
  .s-intro-banner-box {
    max-width: 420px;
  }
  .s-intro-banner-box:hover {
    transform: rotateY(-5deg) rotateX(3deg) translateY(-4px);
  }
}
@media (max-width:760px){.s-company-figures-grid{grid-template-columns:1fr;}
        .s-gallery-arc-head-x2{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;}
        .s-gallery-arc-intro{grid-row:span 1;aspect-ratio:16/9;grid-column:span 2;}
        .s-gallery-arc-bottom{grid-template-columns:1fr 1fr;}
    
        .s-persona-slab-head{grid-template-columns:1fr;}
        .s-persona-slab-item{grid-template-columns:40px 1fr;}
        .s-persona-slab-marker{display:none;}
    }
@media (max-width:640px){.s-service-rowlist-item{grid-template-columns:auto 1fr;}.s-service-rowlist-arrow{display:none;}}
@media (max-width:720px){
        .s-program-chain-path{flex-direction:column;overflow-x:visible;}
        .s-program-chain-item{flex:none;padding:0 0 0 24px!important;border-left:2px solid var(--hair-1);padding-bottom:28px!important;}
        .s-program-chain-item::before{display:none;}
        .s-program-chain-item .s-program-chain-node::before,.s-program-chain-item .s-program-chain-node::after{left:-31px;top:8px;transform:none;}
    .s-value-quote-line{grid-template-columns:1fr;}}

:root{--fluid-t8:clamp(1.9rem,4vw,3rem);--fluid-t6:clamp(1.6rem,3vw,2.2rem);--fluid-t4:clamp(1.25rem,2.2vw,1.55rem);--fluid-t3:clamp(1.1rem,1.7vw,1.3rem);--fluid-s2:clamp(18px,2.6vw,30px);--fluid-s4:clamp(32px,4.4vw,56px);--fluid-s3:clamp(24px,3.4vw,44px);--fluid-t5:clamp(1.45rem,2.8vw,1.85rem);--fluid-t2:clamp(.95rem,1.3vw,1.15rem);--fluid-s5:clamp(40px,5.6vw,72px);--fluid-t7:clamp(1.7rem,3.4vw,2.5rem);--fluid-s6:clamp(52px,7vw,96px);--fluid-s1:clamp(12px,2vw,20px);--fluid-t9:clamp(2.1rem,4.6vw,3.6rem);--fluid-t1:clamp(.82rem,1.1vw,.95rem);}
