

@layer base, layout, components, utilities;


@layer base {

  
  :root {
    
    
    
    --hue-primary-pale: color-mix(in oklch, var(--hue-primary, #2c3e50), white 85%);
    --hue-primary-tint:  color-mix(in oklch, var(--hue-primary, #2c3e50), white 94%);
    --hue-primary-shade:  color-mix(in oklch, var(--hue-primary, #2c3e50), black 20%);

    
    --hue-secondary-pale: color-mix(in oklch, var(--hue-secondary, #2c3e50), white 82%);

    
    --hue-ground:    color-mix(in oklch, var(--hue-primary, #2c3e50), white 97%);
    --hue-edge:     color-mix(in oklch, var(--hue-primary, #2c3e50), white 88%);
    --hue-copy-muted: color-mix(in oklch, var(--hue-primary, #2c3e50), white 42%);

    
    --ground-1:  #ffffff;
    --ground-2:  color-mix(in oklch, var(--hue-primary, #2c3e50), white 96%);

    
    --copy-1:     #0a0a14;
    --copy-2:     #3e3e56;
    --copy-3:     #7a7a96;

    
    --edge-1:   color-mix(in oklch, var(--hue-primary, #2c3e50), white 85%);
    --shadow-sm:  0 2px 8px rgba(0,0,0,.07);
    --shadow-md:  0 4px 16px rgba(0,0,0,.09);
    --shadow-lg:  0 8px 28px rgba(0,0,0,.11);

    
    --transition-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(--font-main, 'Inter', system-ui, sans-serif);
    color: var(--copy-1, #1a1a1a);
    background: var(--ground-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(--hue-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(--font-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(--hue-primary);
    outline-offset: 3px;
    border-radius: 3px;
  }

}


@layer layout {

  .root-frame {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
    padding-inline: var(--fluid-s2);
  }

  .band-padding {
    padding-block: var(--gap-band, 72px);
  }

  .alt-ground {
    background: var(--ground-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 {

  
  .band-headline {
    text-align: center;
    margin-bottom: var(--fluid-s3);
    font-size: var(--fluid-t5);
    color: var(--copy-1, #1a1a1a);
    position: relative;
  }

  .band-headline::after {
    content: '';
    display: block;
    width: 48px;
    height: 3px;
    background: var(--hue-primary);
    margin: 12px auto 0;
    border-radius: 2px;
  }

  .lead {
    font-size: var(--fluid-t2);
    line-height: 1.8;
    color: var(--copy-2, #444);
  }

  
  .cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 24px;
    border-radius: var(--corner-cta, 8px);
    font-family: var(--font-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;
  }

  .cta:hover {
    opacity: .88;
    transform: translateY(-1px);
  }

  .cta:active {
    transform: translateY(0);
  }

  .cta-primary {
    background: var(--hue-primary);
    color: #fff;
    border-color: var(--hue-primary);
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
  }

  .cta-pale {
    background: #fff;
    color: var(--hue-primary);
    border-color: #fff;
  }

  .cta-pale:hover {
    background: rgba(255,255,255,.12);
    color: #fff;
  }

  .cta-secondary {
    background: #1a1a2e;
    color: #fff;
    border-color: #1a1a2e;
  }

  .cta-outline {
    background: transparent;
    color: var(--hue-primary);
    border-color: var(--hue-primary);
  }

  .cta-outline:hover {
    background: var(--hue-primary);
    color: #fff;
    opacity: 1;
  }

  .cta-copy {
    background: transparent;
    color: var(--hue-primary);
    padding: 4px 0;
    border-color: transparent;
  }

  .cta-tertiary {
    background: #f8f8f8;
    color: #1a1a1a;
    border-color: #e0e0e0;
  }

  .cta-big {
    padding: 15px 36px;
    font-size: 1rem;
  }

  .cta-small {
    padding: 8px 16px;
    font-size: .8rem;
  }

  .cta-full {
    width: 100%;
    justify-content: center;
  }

  
  .trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
    color: var(--label-pale-hue, rgba(255,255,255,.85));
    background: var(--label-pale-ground, rgba(255,255,255,.12));
    border: 1px solid var(--label-pale-edge, 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;
  }

  
  .banner-band {
    position: relative;
    min-height: var(--banner-min-height, 520px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 0;
    overflow: hidden;
    background: var(--ground-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(--banner-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(--ground-alt), transparent);
    z-index: 1;
  }

  
  .banner-band.hero--full-bg {
    grid-template-columns: 1fr;
    min-height: var(--banner-min-height, 560px);
    background: #1a1a2e;
  }

  .banner-band.hero--full-bg .hero-content {
    text-align: center;
    max-width: 720px;
    margin-inline: auto;
    padding-block: clamp(60px, 10vw, 120px);
  }

  .banner-band.hero--full-bg .hero-content h1,
  .banner-band.hero--full-bg .hero-content .hero-subtitle {
    color: #fff;
  }

  .banner-band.hero--full-bg .hero-subtitle {
    color: rgba(255,255,255,.8);
  }

  
  .banner-band.hero--gradient {
    grid-template-columns: 1fr;
    background: linear-gradient(135deg, var(--hue-primary) 0%, #1a1a2e 100%);
    text-align: center;
    justify-items: center;
  }

  .banner-band.hero--gradient .hero-content h1,
  .banner-band.hero--gradient .hero-content .hero-subtitle {
    color: #fff;
  }

  .banner-band.hero--gradient .hero-subtitle {
    color: rgba(255,255,255,.8);
  }

  @media (max-width: 768px) {
    .banner-band {
      grid-template-columns: 1fr;
    }

    .hero-image {
      min-height: 280px;
      height: 280px;
    }

    .hero-image::before {
      display: none;
    }
  }

  
  .services-band {
    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(--ground-1, #fff);
    border-radius: var(--corner-panel, 12px);
    box-shadow: var(--shadow-panel, 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(--hue-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;
  }

  
  .figure-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
    padding: 28px 32px;
    background: var(--hue-primary);
    border-radius: var(--corner-panel, 12px);
  }

  .figure-item {
    text-align: center;
    color: #fff;
  }

  .figure-score {
    font-size: var(--fluid-t7);
    font-weight: 800;
    font-family: var(--font-heading);
    line-height: 1.1;
  }

  .figure-label {
    font-size: .8rem;
    opacity: .8;
    margin-top: 4px;
    letter-spacing: .02em;
  }

  @media (max-width: 640px) {
    .figure-grid {
      grid-template-columns: 1fr;
      gap: 16px;
      padding: 20px;
    }
  }

  
  .qa-band {
    position: relative;
  }

  .faq-container {
    max-width: 780px;
    margin-inline: auto;
  }

  .faq-item {
    background: var(--ground-1, #fff);
    border: 1.5px solid var(--edge-1, #ebebeb);
    border-radius: var(--corner-panel, 12px);
    margin-bottom: 10px;
    overflow: hidden;
    transition: border-color .2s ease, box-shadow .2s ease;
  }

  .faq-item:hover {
    border-color: var(--hue-primary);
    box-shadow: 0 4px 16px rgba(0,0,0,.06);
  }

  .faq-item.active,
  .faq-item[aria-expanded="true"] {
    border-color: var(--hue-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(--ground-2, #f4f4f4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--hue-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(--hue-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(--ground-1, #fff);
    border: 1.5px solid var(--edge-1, #ebebeb);
    border-radius: var(--corner-panel, 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(--hue-primary);
    color: #fff;
    border-color: var(--hue-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(--font-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(--hue-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(--ground-1, #fff);
    border-radius: var(--corner-panel, 12px);
    padding: 28px;
    box-shadow: var(--shadow-panel, 0 4px 16px rgba(0,0,0,.08));
    border-top: 3px solid var(--hue-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(--hue-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(--ground-1, #fff);
    border-radius: var(--corner-panel, 12px);
    padding: 28px;
    box-shadow: var(--shadow-panel, 0 4px 16px rgba(0,0,0,.08));
    transition: transform .2s ease;
  }

  .checklist-card:hover {
    transform: translateY(-4px);
  }

  
  .convert-band {
    background: var(--hue-primary);
    padding: var(--gap-band, 72px) 24px;
    text-align: center;
  }

  .convert-band h2 {
    color: #fff;
    font-size: var(--fluid-t5);
    margin-bottom: 12px;
  }

  .convert-band 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(--corner-panel, 12px);
    overflow: hidden;
    box-shadow: var(--shadow-panel, 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(--ground-1, #fff);
    border-radius: var(--corner-panel, 12px);
    padding: 28px 24px;
    text-align: center;
    box-shadow: var(--shadow-panel, 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(--font-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(--corner-cta, 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(--hue-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(--hue-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(--hue-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(--hue-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(--hue-primary);
    opacity: 1;
  }

  .nav-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: var(--corner-panel, 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 {}

  
  .sub-banner {
    background: linear-gradient(135deg, var(--hue-primary) 0%, #1a1a2e 100%);
    padding-block: var(--fluid-s5);
    padding-inline: var(--fluid-s2);
  }

  .sub-banner h1 {
    color: #fff;
    font-size: var(--fluid-t8);
    margin-bottom: 12px;
    line-height: 1.15;
  }

  .sub-banner 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) {
    .banner-band {
      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;
    }

    .figure-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) {
    .figure-grid {
      grid-template-columns: 1fr;
    }

    .cta-big {
      padding: 13px 28px;
      font-size: .95rem;
    }
  }

  
  .legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-top: 16px;
    border-radius: var(--corner-panel);
    overflow: hidden;
  }

  .legal-table thead tr {
    background: var(--hue-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(--transition-fast, 150ms ease);
  }

  .legal-table tbody tr:last-child { border-bottom: none; }
  .legal-table tbody tr:hover { background: var(--hue-ground, #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(--hue-primary-tint, #f5f5f5);
    color: var(--hue-primary);
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 12px;
    font-family: 'Courier New', monospace;
  }

  
  .hue-morph__band {
    transition: background-color 0.15s linear;
  }

  
  .blob-banner {
    position: relative;
    overflow: hidden;
  }
  .blob-banner::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;
  }
  .blob-banner::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;
  }

  
  .convert-band {
    position: relative;
    overflow: hidden;
  }
  .convert-band::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 .band-padding + .band-padding {
    border-radius: 32px 32px 0 0;
    margin-top: -28px;
    position: relative;
    z-index: 1;
  }

  .section-stack-page .band-padding + .band-padding + .band-padding { z-index: 2; }
  .section-stack-page .band-padding + .band-padding + .band-padding + .band-padding { z-index: 3; }
  .section-stack-page .band-padding + .band-padding + .band-padding + .band-padding + .band-padding { z-index: 4; }

  @media (max-width: 640px) {
    .section-stack-page .band-padding + .band-padding {
      border-radius: 20px 20px 0 0;
      margin-top: -16px;
    }
  }

  
  .hero-em,
  #hero h1 em {
    font-style: normal;
    background: linear-gradient(135deg, var(--hue-primary) 0%, #a855f7 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  
  .band-label {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--hue-primary);
    background: var(--hue-primary-tint, rgba(0,0,0,.04));
    border: 1.5px solid var(--hue-edge, rgba(0,0,0,.12));
    padding: 4px 14px;
    border-radius: 999px;
    margin-bottom: 14px;
  }

  
  .band-label--pale {
    color: var(--label-pale-hue, rgba(255,255,255,.8));
    border-color: var(--label-pale-edge, rgba(255,255,255,.35));
    background: var(--label-pale-ground, 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,
    .convert-band {
      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 {
  --hue-ground-sub: #f5f7fa;
  --hue-ground: #ffffff;
  --hue-ground-panel: #fbfcfe;
  --hue-ground-elevated: #ffffff;
  --hue-primary: #1e3a5f;
  --hue-primary-pale: #2f5480;
  --hue-primary-shade: #142a47;
  --hue-primary-contrast: #ffffff;
  --hue-secondary: #f59e0b;
  --hue-secondary-pale: #fbbf3c;
  --hue-copy-primary: #0f172a;
  --hue-copy-secondary: #3f4d63;
  --hue-copy-muted: #6b7789;
  --hue-edge: #dde3ec;
  --hue-edge-strong: #c3ccd9;
  --hue-shadow-sm: rgba(15, 23, 42, 0.06);
  --hue-shadow-md: rgba(15, 23, 42, 0.12);
  --hue-shadow-lg: rgba(15, 23, 42, 0.18);
  --shadow-sm: 0 1px 2px var(--hue-shadow-sm);
  --shadow-md: 0 4px 12px var(--hue-shadow-md);
  --shadow-lg: 0 12px 28px var(--hue-shadow-lg);
  --corner-md: 8px;
  --corner-xl: 22px;
  --corner-full: 999px;
  --room-xs: 4px;
  --room-sm: 8px;
  --room-md: 16px;
  --room-lg: 24px;
  --room-xl: 36px;
  --room-2xl: 56px;
  --transition-fast: 120ms ease;
  --transition-mid: 220ms ease;
  --line-height-base: 1.55;
}
:root{--hue-shade:color-mix(in oklch, var(--hue-primary) 22%, #0a0a12);--hue-primary-rgb:30,58,95;--hue-primary-shade:color-mix(in oklch, var(--hue-primary), #000 28%);--hue-primary-pale:rgba(30,58,95,.12);--hue-secondary-pale:color-mix(in oklch, var(--hue-secondary), #fff 82%);--hue-primary:#1e3a5f;--hue-secondary:#f59e0b;--hue-primary-tint:rgba(30,58,95,.08);--hue-ground:#f5f6f8;--hue-edge:rgba(0,0,0,0.10);--ground-1:#ffffff;--ground-2:#f5f6f8;--copy-1:#14171f;--copy-2:#3e3e56;--copy-3:#7a7a96;--edge-1:rgba(0,0,0,0.10);--ground-alt:#f6f7f9;--font-heading:'Rubik',sans-serif;--font-main:'Karla',system-ui,sans-serif;--corner-panel:10px;--corner-cta:4px;--corner-md:10px;--corner-xl:28px;--corner-full:999px;--shadow-panel:0 2px 8px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.08);--shadow-sm:0 2px 8px rgba(0,0,0,.07);--shadow-md:0 4px 16px rgba(0,0,0,.09);--shadow-lg:0 10px 30px rgba(0,0,0,.12);--grid-gap:16px;--gap-band:60px;--banner-min-height:500px;--transition:0.3s;--transition-fast:150ms ease;--label-pale-ground:rgba(0,0,0,0.04);--label-pale-edge:rgba(0,0,0,0.12);--label-pale-hue:#1e3a5f;}
.root-frame{max-width:1200px;margin-inline:auto;padding-inline:var(--fluid-s2);}
.root-main{display:block;}

.root-navigation{position:sticky;top:0;z-index:100;background:var(--hue-ground);border-bottom:1px solid var(--hue-edge);transition:box-shadow .3s ease,background .3s ease;}
.root-navigation.scrolled{box-shadow:0 4px 24px rgba(0,0,0,.08);backdrop-filter:blur(10px);}
.root-navigation__inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;}
.root-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.2rem;color:var(--hue-copy-primary);text-decoration:none;}
.root-logo-x2{width:30px;height:30px;display:block;flex-shrink:0;}
.root-navigation__links{display:flex;gap:24px;}
.root-navigation__links a{color:var(--hue-copy-secondary);font-weight:600;}
.root-navigation__links a:hover{color:var(--hue-primary);}
.root-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.root-toggle span{width:24px;height:2px;background:var(--hue-copy-primary);transition:transform .3s ease,opacity .3s ease;}
.root-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.root-toggle.active span:nth-child(2){opacity:0;}
.root-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.root-offcanvas{position:fixed;inset:0;z-index:200;background:var(--hue-ground-sub);transform:translateX(100%);transition:transform .35s ease;display:flex;align-items:center;justify-content:center;}
.root-offcanvas.open{transform:translateX(0);}
.root-offcanvas nav{display:flex;flex-direction:column;gap:24px;text-align:center;}
.root-offcanvas a{font-size:1.4rem;font-weight:700;color:var(--hue-copy-primary);}
.reveal-init{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;will-change:opacity,transform;}
.is-revealed{opacity:1;transform:none;}
.consent-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(--hue-ground-elevated);border:1px solid var(--hue-edge);border-radius:10px;box-shadow:0 16px 48px rgba(0,0,0,.18);opacity:0;transition:transform .45s ease,opacity .45s ease;}
.consent-bar.is-visible{transform:translateX(-50%) translateY(0);opacity:1;}
.consent-bar__copy{margin:0;font-size:.85rem;color:var(--hue-copy-secondary);line-height:1.5;flex:1;}
.consent-bar__copy a{color:var(--hue-primary);font-weight:600;}
.consent-bar__cta{flex-shrink:0;background:var(--hue-primary);color:#fff;border:none;padding:10px 24px;border-radius:4px;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit;transition:opacity .2s;}
.consent-bar__cta:hover{opacity:.88;}


.back-to__top{position:fixed;right:22px;bottom:22px;z-index:250;width:46px;height:46px;border-radius:50%;border:none;cursor:pointer;background:var(--hue-primary);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);}
.back-to__top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto;}
.back-to__top:hover{filter:brightness(1.08);}
.root-navigation__convert{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:4px;background:var(--hue-primary);color:#fff;font-weight:700;font-size:.9rem;white-space:nowrap;transition:opacity .2s,transform .2s;}
.root-navigation__convert:hover{opacity:.9;transform:translateY(-1px);color:#fff;}
.root-navigation__phone{display:inline-flex;align-items:center;gap:8px;color:var(--hue-copy-primary);font-weight:600;font-size:.9rem;white-space:nowrap;}
.root-navigation__phone i{color:var(--hue-primary);font-size:.85rem;}
.root-navigation__actions{display:flex;align-items:center;gap:18px;}
.root-navigation[data-hdr=pill]{background:transparent;border-bottom-color:transparent;}
.root-navigation[data-hdr=pill].scrolled{background:var(--hue-ground);}
.root-navigation[data-hdr=pill] .root-navigation__links{background:var(--hue-ground);border:1px solid var(--hue-edge);border-radius:999px;padding:7px 10px;gap:4px;box-shadow:0 6px 22px rgba(0,0,0,.07);}
.root-navigation[data-hdr=pill] .root-navigation__links a{padding:8px 16px;border-radius:999px;transition:background .2s,color .2s;}
.root-navigation[data-hdr=pill] .root-navigation__links a:hover{background:rgba(0,0,0,.06);}
.root-footer{background:var(--hue-ground-elevated);border-top:1px solid var(--hue-edge);padding:56px 24px 24px;margin-top:40px;}
.root-footer__logo{font-size:1.15rem;color:var(--hue-copy-primary);display:inline-block;}
.root-footer__chip{color:var(--hue-copy-muted);margin-top:8px;font-size:.9rem;max-width:320px;line-height:1.55;}
.root-footer__h{color:var(--hue-copy-primary);margin-bottom:14px;font-size:.95rem;}
.root-footer__stack{list-style:none;padding:0;margin:0;}
.root-footer__stack li{margin-bottom:9px;font-size:.9rem;}
.root-footer__stack a{color:var(--hue-copy-secondary);text-decoration:none;}
.root-footer__stack a:hover{color:var(--hue-primary);}
.root-footer__bottom{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid var(--hue-edge);color:var(--hue-copy-muted);font-size:.85rem;}
.root-footer__bottom a{color:var(--hue-copy-muted);}
.root-footer__social{display:flex;gap:12px;}
.root-footer__soc{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--hue-ground);border:1px solid var(--hue-edge);color:var(--hue-copy-secondary);text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.root-footer__soc:hover{background:var(--hue-primary);color:#fff;border-color:var(--hue-primary);}
.root-footer__convert{display:inline-block;padding:13px 28px;border-radius:4px;background:var(--hue-primary);color:#fff;font-weight:700;text-decoration:none;transition:transform .2s,filter .2s;}
.root-footer__convert:hover{transform:translateY(-2px);filter:brightness(1.06);}
.root-footer{background:var(--hue-primary);border-top:none;}
.root-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;max-width:1200px;margin:0 auto;}
.root-footer__logo,.root-footer__h{color:#fff;}
.root-footer__chip,.root-footer__stack li,.root-footer__stack a,.root-footer__bottom,.root-footer__bottom a{color:rgba(255,255,255,.82);}
.root-footer__stack a:hover{color:#fff;}
.root-footer__bottom{border-top-color:rgba(255,255,255,.22);}
.root-footer__side .root-footer__social{margin-top:18px;}
.root-footer__soc{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff;}
.root-footer__soc:hover{background:#fff;color:var(--hue-primary);border-color:#fff;}



.banner {
  position: relative;
  overflow: hidden;
  padding: clamp(var(--room-xl), 6vw, 96px) 0 clamp(var(--room-2xl), 8vw, 120px);
  font-family: 'Karla', system-ui, sans-serif;
  color: var(--hue-copy-primary);
  isolation: isolate;
}

.banner-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-inline: var(--fluid-s3);
  display: grid;
  gap: clamp(var(--room-lg), 4vw, 56px);
}


.banner-deco {
  position: absolute;
  z-index: 0;
  border-radius: var(--corner-full);
  pointer-events: none;
  filter: blur(2px);
  opacity: 0.55;
}
.banner-deco--drop1 {
  width: 220px;
  height: 220px;
  top: -60px;
  left: -40px;
  background: radial-gradient(circle at 30% 30%, var(--hue-primary-pale), transparent 70%);
}
.banner-deco--drop2 {
  width: 320px;
  height: 320px;
  bottom: 40px;
  right: -80px;
  background: radial-gradient(circle at 60% 40%, var(--hue-secondary-pale), transparent 72%);
}
.banner-deco--drop3 {
  width: 140px;
  height: 140px;
  top: 40%;
  left: 8%;
  background: radial-gradient(circle at 50% 50%, var(--hue-primary-pale), transparent 70%);
  opacity: 0.35;
}


.banner-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(var(--room-sm), 2vw, var(--room-md));
  max-width: 860px;
  margin: 0 auto;
}

.banner-kicker {
  display: inline-flex;
  align-items: center;
  gap: var(--room-xs);
  padding: 8px 16px;
  border-radius: var(--corner-full);
  background: var(--hue-ground-elevated);
  border: 1px solid var(--hue-edge);
  box-shadow: var(--shadow-sm);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hue-copy-secondary);
  animation: banner-fade__up 0.7s var(--transition-mid) both;
}
.banner-kicker__dot {
  width: 9px;
  height: 9px;
  border-radius: var(--corner-full);
  background: var(--hue-primary);
  box-shadow: 0 0 0 4px var(--hue-primary-pale);
}

.banner-headline {
  font-family: 'Rubik', system-ui, sans-serif;
  font-weight: 800;
  font-size: var(--fluid-t9);
  line-height: 1.06;
  letter-spacing: -0.02em;
  margin: 0;
  color: var(--hue-copy-primary);
  animation: banner-fade__up 0.7s var(--transition-mid) 0.08s both;
}

.banner-subtitle {
  margin: 0;
  max-width: 680px;
  font-size: var(--fluid-t2);
  line-height: var(--line-height-base);
  color: var(--hue-copy-secondary);
  animation: banner-fade__up 0.7s var(--transition-mid) 0.16s both;
}


.banner-convert {
  display: inline-flex;
  align-items: center;
  gap: var(--room-sm);
  margin-top: var(--room-xs);
  padding: 16px 30px;
  border-radius: var(--corner-full);
  background: var(--hue-primary);
  color: var(--hue-primary-contrast);
  font-family: 'Rubik', system-ui, sans-serif;
  font-weight: 600;
  font-size: 1.02rem;
  text-decoration: none;
  box-shadow: var(--shadow-md);
  transition: transform var(--transition-fast), box-shadow var(--transition-fast),
    background var(--transition-fast);
  animation: banner-fade__up 0.7s var(--transition-mid) 0.24s both;
}
.banner-convert:hover {
  background: var(--hue-primary-shade);
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}
.banner-convert:active {
  transform: translateY(0);
}
.banner-convert__arrow {
  display: inline-block;
  transition: transform var(--transition-fast);
}
.banner-convert:hover .banner-convert__arrow {
  transform: translateX(4px);
}


.banner-figure {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(var(--room-md), 4vw, var(--room-xl));
  margin: var(--room-sm) 0 0;
  padding: 0;
  animation: banner-fade__up 0.7s var(--transition-mid) 0.32s both;
}
.banner-figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.banner-figure__number {
  font-family: 'Rubik', system-ui, sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--hue-primary-shade);
}
.banner-figure__label {
  font-size: 0.82rem;
  color: var(--hue-copy-muted);
  letter-spacing: 0.02em;
}


.banner-figure {
  margin: 0;
  animation: banner-fade__up 0.8s var(--transition-mid) 0.4s both;
}
.banner-figure__frame {
  position: relative;
  border-radius: var(--corner-xl);
  overflow: hidden;
  border: 1px solid var(--hue-edge);
  box-shadow: var(--shadow-lg);
  background: var(--hue-ground-panel);
  aspect-ratio: 16 / 7;
}
.banner-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.banner-wipe {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    100deg,
    transparent 30%,
    color-mix(in srgb, var(--hue-ground) 55%, transparent) 50%,
    transparent 70%
  );
  transform: translateX(-120%);
}


.banner-badge {
  position: absolute;
  z-index: 2;
  padding: 8px 16px;
  border-radius: var(--corner-full);
  background: var(--hue-ground-elevated);
  color: var(--hue-copy-primary);
  font-family: 'Rubik', system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.82rem;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--hue-edge);
}
.banner-badge--tl {
  top: 16px;
  left: 16px;
}
.banner-badge--br {
  bottom: 16px;
  right: 16px;
}


.banner-scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  justify-self: center;
  text-decoration: none;
  color: var(--hue-copy-muted);
  animation: banner-fade__up 0.7s var(--transition-mid) 0.5s both;
}
.banner-scroll__mouse {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 26px;
  height: 42px;
  padding-top: 7px;
  border: 2px solid var(--hue-edge-strong);
  border-radius: var(--corner-full);
}
.banner-scroll__wheel {
  width: 4px;
  height: 8px;
  border-radius: var(--corner-full);
  background: var(--hue-primary);
}
.banner-scroll__copy {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}


@keyframes banner-fade__up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes banner-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
}
@keyframes banner-wheel {
  0% {
    opacity: 0;
    transform: translateY(0);
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(10px);
  }
}
@keyframes banner-sweep {
  0% {
    transform: translateX(-120%);
  }
  55%, 100% {
    transform: translateX(120%);
  }
}
@keyframes banner-float {
  0%, 100% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-14px) rotate(6deg);
  }
}








.banner{background:var(--hue-ground-sub);background:color-mix(in srgb,var(--hue-primary) 7%,var(--hue-ground-sub)) !important;position:relative;overflow:hidden;}
.banner h1,.banner h2,.banner h3{color:var(--hue-copy-primary) !important;}
.banner p,.banner li,.banner [class*=eyebrow],.banner [class*=label],.banner [class*=kicker],.banner [class*=tag],.banner [class*=badge],.banner [class*=sub],.banner small{color:var(--hue-copy-secondary) !important;}
.banner a[class*=convert],.banner a[class*=cta],.banner button{color:#fff !important;}
.intro-graph__band{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--edge-1);border-radius:var(--corner-panel);overflow:hidden;margin-bottom:var(--fluid-s4);}
    .intro-graph__unit{padding:var(--fluid-s2);border-right:1px solid var(--edge-1);background:var(--ground-1);}
    .intro-graph__unit:last-child{border-right:none;}
    .intro-graph__unit-track{height:3px;background:var(--edge-1);border-radius:2px;margin-bottom:14px;}
    .intro-graph__unit-fill{height:100%;background:var(--hue-primary);border-radius:2px;}
    .intro-graph__fill-1{width:100%;}
    .intro-graph__fill-2{width:72%;}
    .intro-graph__fill-3{width:50%;}
    .intro-graph__unit-value{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);line-height:1;display:block;}
    .intro-graph__unit-lbl{display:block;margin-top:6px;font-size:.8rem;color:var(--copy-3);letter-spacing:.03em;}
    .intro-graph__content{display:grid;grid-template-columns:1fr 1fr;gap:var(--fluid-s4);align-items:start;}
    .intro-graph__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:14px;}
    .intro-graph__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);line-height:1.1;margin:0;}
    .intro-graph__copy{font-size:var(--fluid-t2);color:var(--copy-2);line-height:1.8;margin:0 0 20px;}
    .intro-graph__info{display:flex;flex-direction:column;gap:0;}
    .intro-graph__info-line{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--edge-1);}
    .intro-graph__info-line:last-child{border-bottom:none;padding-bottom:0;}
    .intro-graph__info-key{font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--copy-3);flex-shrink:0;min-width:80px;}
    .intro-graph__info-value{font-size:.95rem;color:var(--copy-1);font-weight:600;}
    
    
.track-ledger__top{max-width:640px;margin-bottom:var(--fluid-s3);}
    .track-ledger__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:12px;}
    .track-ledger__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;}
    .track-ledger__stack{display:flex;flex-direction:column;}
    .track-ledger__item{display:grid;grid-template-columns:80px 1fr clamp(200px,26%,280px);gap:24px;align-items:start;padding:var(--fluid-s2) 0;border-bottom:1px solid var(--edge-1);}
    .track-ledger__item:first-child{border-top:1px solid var(--edge-1);}
    .track-ledger__number{font-family:var(--font-heading);font-size:var(--fluid-t8);font-weight:800;color:rgba(var(--hue-primary-rgb),.15);line-height:1;}
    .track-ledger__h{font-family:var(--font-heading);font-weight:700;color:var(--copy-1);font-size:1.15rem;margin:0 0 10px;}
    .track-ledger__topics{display:flex;flex-wrap:wrap;gap:8px;}
    .track-ledger__chip{background:var(--ground-alt);border:1px solid var(--edge-1);color:var(--copy-2);font-size:.78rem;padding:4px 12px;border-radius:100px;}
    .track-ledger__out{background:rgba(var(--hue-primary-rgb),.06);border-radius:var(--corner-panel);padding:14px 16px;}
    .track-ledger__out-label{display:block;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:6px;}
    .track-ledger__out-copy{display:flex;align-items:flex-start;gap:8px;color:var(--copy-1);font-size:.88rem;line-height:1.45;margin:0;}
    .track-ledger__out-copy i{flex-shrink:0;margin-top:3px;color:var(--hue-primary);}
    
.offer-stack{background:var(--ground-alt);}
    .offer-stack__inner{max-width:64rem;margin:0 auto;padding:0 var(--fluid-t4);}
    .offer-stack__rows{margin-top:40px;display:flex;flex-direction:column;gap:0;border-radius:var(--corner-panel);overflow:hidden;box-shadow:var(--shadow-panel);}
    .offer-stack__line{display:flex;align-items:flex-start;gap:24px;padding:26px 28px;background:var(--ground-1,#fff);transition:background .2s;}
    .offer-stack__line:not(:last-child){border-bottom:1px solid var(--edge-1);}
    .offer-stack__line:hover{background:var(--ground-2);}
    .offer-stack__ico{flex-shrink:0;width:50px;height:50px;border-radius:var(--corner-panel);background:var(--hue-primary);display:flex;align-items:center;justify-content:center;}
    .offer-stack__ico i{color:#fff;font-size:18px;}
    .offer-stack__main{flex:1;padding-top:4px;}
    .offer-stack__headline{font-size:17px;font-weight:700;color:var(--copy-1);margin-bottom:6px;}
    .offer-stack__summary{font-size:14px;color:var(--copy-2);line-height:1.65;margin:0;}
    .offer-stack__chev{color:rgba(128,128,128,.2);font-size:13px;margin-top:6px;flex-shrink:0;}
    .offer-stack__line--accent{background:var(--hue-primary);border-color:transparent;}
    .offer-stack__line--accent,.offer-stack__line--accent *{color:#fff;}
    .offer-stack__line--accent [class*=icon]{background:rgba(255,255,255,.2);}
.value-mono__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--fluid-s4);align-items:start;}
    .value-mono__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:14px;}
    .value-mono__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);line-height:1.12;margin:0;}
    .value-mono__stack{display:flex;flex-direction:column;}
    .value-mono__item{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--edge-1);}
    .value-mono__item:last-child{border-bottom:1px solid var(--edge-1);}
    .value-mono__n{font-family:var(--font-heading);font-size:1rem;font-weight:800;color:var(--hue-primary);padding-top:3px;}
    .value-mono__h{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--copy-1);margin:0 0 7px;}
    .value-mono__p{color:var(--copy-2);line-height:1.65;margin:0;}
    
.qa-number{background:var(--ground-2,#fafafa);}
    .qa-number .root-frame{max-width:900px;}
    .qa-number__top{display:grid;grid-template-columns:1fr 1fr;gap:40px 80px;align-items:start;margin-bottom:56px;}
    .qa-number__headline{font-family:var(--font-heading);font-size:var(--fluid-t8);font-weight:900;color:var(--copy-1);margin:12px 0 0;line-height:1.1;letter-spacing:-.02em;}
    .qa-number__preamble{display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:4px;}
    .qa-number__lead{font-size:15px;color:var(--copy-2);line-height:1.7;margin:0 0 20px;}
    .qa-number__convert{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:700;font-size:14px;color:var(--hue-primary);text-decoration:none;transition:gap .2s;}
    .qa-number__convert:hover{gap:14px;}
    .qa-number__convert i{font-size:.75rem;}
    .qa-number__stack{display:flex;flex-direction:column;}
    .qa-number__line{display:grid;grid-template-columns:72px 1fr;gap:20px 32px;padding:32px 0;border-top:1px solid rgba(128,128,128,.15);align-items:start;}
    .qa-number__n{font-family:var(--font-heading);font-size:var(--fluid-t9);font-weight:900;color:var(--hue-primary);opacity:.18;line-height:1;padding-top:2px;text-align:right;}
    .qa-number__q{font-family:var(--font-heading);font-size:var(--fluid-t2);font-weight:800;color:var(--copy-1);margin:0 0 12px;line-height:1.35;}
    .qa-number__a{font-size:14.5px;color:var(--copy-2);line-height:1.78;margin:0;}
    .qa-number__end{border-top:1px solid rgba(128,128,128,.15);}
    
.article-mosaic__top{text-align:center;margin-bottom:44px;}
    .article-mosaic__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:12px;}
    .article-mosaic__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .article-mosaic__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
    .article-mosaic__panel{background:var(--ground-1);border:1px solid var(--edge-1);border-radius:var(--corner-panel);padding:28px 26px;transition:border-color .2s,transform .2s;}
    .article-mosaic__panel:hover{border-color:var(--hue-primary);transform:translateY(-4px);}
    .article-mosaic__chip{display:inline-block;background:var(--ground-alt);color:var(--hue-primary);font-size:.72rem;font-weight:700;padding:5px 12px;border-radius:99px;margin-bottom:14px;}
    .article-mosaic__h{font-family:var(--font-heading);font-size:1.12rem;font-weight:700;color:var(--copy-1);margin:0 0 10px;line-height:1.3;}
    .article-mosaic__p{color:var(--copy-2);line-height:1.6;margin:0 0 16px;font-size:.9rem;}
    .article-mosaic__go{color:var(--hue-primary);font-weight:700;font-size:.85rem;}
.convert-sec{padding:92px 24px;background:var(--hue-primary);text-align:center;}
.convert-inner{max-width:680px;margin:0 auto;}
.convert-kicker{display:inline-block;color:rgba(255,255,255,.8);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;margin-bottom:14px;}
.convert-headline{color:#fff;font-size:var(--fluid-t7);margin-bottom:16px;}
.convert-sub{color:rgba(255,255,255,.85);margin-bottom:28px;}
.convert-cta{display:inline-block;background:#fff;color:var(--hue-primary);padding:14px 36px;border-radius:var(--corner-md);font-weight:700;}

.site-page-hero{padding:84px 24px 56px;background:var(--hue-ground);text-align:center;}
.site-page-hero h1{font-size:var(--fluid-t8);color:var(--hue-copy-primary);margin-bottom:12px;}
.site-page-hero p{color:var(--hue-copy-secondary);max-width:600px;margin:0 auto;}

.article-shade{background:var(--hue-shade);}
    .article-shade__top{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:48px;}
    .article-shade__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:#fff;margin:12px 0 0;}
    .article-shade__full{font-size:13px;font-weight:700;color:var(--hue-primary);text-decoration:none;display:flex;align-items:center;gap:6px;transition:gap .2s;}
    .article-shade__full:hover{gap:10px;}
    .article-shade__full i{font-size:.75rem;}
    .article-shade__stack{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.06);border-radius:var(--corner-panel);overflow:hidden;border:1px solid rgba(255,255,255,.08);}
    .article-shade__line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:24px 32px;background:rgba(255,255,255,.02);transition:background .2s;}
    .article-shade__line:hover{background:rgba(255,255,255,.06);}
    .article-shade__chip{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--hue-primary);margin-bottom:8px;}
    .article-shade__rowtitle{font-weight:700;font-size:16px;color:#fff;margin:0 0 6px;font-family:var(--font-heading);line-height:1.35;}
    .article-shade__rowtext{font-size:13px;color:rgba(255,255,255,.45);line-height:1.6;margin:0;}
    .article-shade__go{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .2s,transform .2s;}
    .article-shade__go:hover{background:var(--hue-primary);transform:translateX(3px);}
    .article-shade__go i{color:#fff;font-size:13px;}
    
.showcase-deck__top{text-align:center;margin-bottom:44px;}
    .showcase-deck__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:12px;}
    .showcase-deck__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .showcase-deck__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
    .showcase-deck__panel{background:var(--ground-1);border:1px solid var(--edge-1);border-radius:var(--corner-panel);overflow:hidden;box-shadow:var(--shadow-panel);}
    .showcase-deck__image{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .4s;}
    .showcase-deck__panel:hover .showcase-deck__image{transform:scale(1.05);}
    .showcase-deck__main{padding:18px 20px;}
    .showcase-deck__h{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--copy-1);margin:0 0 5px;}
    .showcase-deck__p{color:var(--copy-2);line-height:1.5;margin:0;font-size:.88rem;}
.figure-band{background:var(--hue-shade);}
    .figure-band__top{text-align:center;margin-bottom:44px;}
    .figure-band__kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--hue-primary-pale,#fff);display:block;margin-bottom:12px;opacity:.85;}
    .figure-band__headline{font-family:var(--font-heading);font-size:var(--fluid-t6);font-weight:800;color:#fff;margin:0;line-height:1.15;}
    .figure-band__line{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;}
    .figure-band__item{text-align:center;padding:24px 16px;border:1px solid rgba(255,255,255,.12);border-radius:var(--corner-panel);background:rgba(255,255,255,.04);}
    .figure-band__number{font-family:var(--font-heading);font-weight:800;font-size:var(--fluid-t9);color:#fff;line-height:1;letter-spacing:-.02em;}
    .figure-band__label{font-size:.85rem;color:rgba(255,255,255,.62);margin-top:10px;text-transform:uppercase;letter-spacing:.06em;}
    
.who-arc{background:var(--hue-primary);}
    .who-arc__top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--fluid-s3);flex-wrap:wrap;margin-bottom:var(--fluid-s4);}
    .who-arc__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:12px;}
    .who-arc__headline{font-family:var(--font-heading);font-size:var(--fluid-t8);font-weight:800;color:#fff;margin:0;line-height:1.05;}
    .who-arc__lead{font-size:var(--fluid-t2);color:rgba(255,255,255,.75);line-height:1.7;margin:0;max-width:360px;flex-shrink:0;}
    .who-arc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2);border-radius:var(--corner-panel);overflow:hidden;}
    .who-arc__item{background:rgba(255,255,255,.06);padding:var(--fluid-s2);display:flex;flex-direction:column;gap:12px;}
    .who-arc__item:hover{background:rgba(255,255,255,.14);}
    .who-arc__ico{width:44px;height:44px;border-radius:var(--corner-cta);background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0;}
    .who-arc__number{font-family:var(--font-heading);font-size:.72rem;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.45);margin-bottom:4px;}
    .who-arc__h{font-family:var(--font-heading);font-size:var(--fluid-t2);font-weight:700;color:#fff;margin:0;}
    .who-arc__p{font-size:var(--fluid-t1);color:rgba(255,255,255,.7);line-height:1.6;margin:0;}
    
    
.issue-number__top{max-width:620px;margin:0 auto 44px;text-align:center;}
    .issue-number__kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--hue-primary);display:block;margin-bottom:12px;}
    .issue-number__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .issue-number__stack{max-width:760px;margin:0 auto;}
    .issue-number__line{display:grid;grid-template-columns:64px 1fr;gap:22px;align-items:center;padding:22px 0;border-bottom:1px solid var(--edge-1);}
    .issue-number__n{font-family:var(--font-heading);font-weight:800;font-size:2.2rem;color:rgba(var(--hue-primary-rgb),.25);line-height:1;text-align:center;}
    .issue-number__rtitle{font-family:var(--font-heading);font-weight:700;font-size:1.08rem;color:var(--copy-1);margin:0 0 5px;}
    .issue-number__rdesc{font-size:.9rem;color:var(--copy-2);line-height:1.6;margin:0;}
    
.process-arrows__top{text-align:center;margin-bottom:46px;}
    .process-arrows__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:12px;}
    .process-arrows__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .process-arrows__stream{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:12px;}
    .process-arrows__box{flex:1;min-width:200px;background:var(--ground-1);border:1px solid var(--edge-1);border-radius:var(--corner-panel);padding:26px 24px;position:relative;}
    .process-arrows__box:not(:last-child)::after{content:'\f061';font-family:'Font Awesome 6 Free';font-weight:900;position:absolute;right:-19px;top:50%;transform:translateY(-50%);color:var(--hue-primary);font-size:15px;z-index:1;}
    .process-arrows__n{font-family:var(--font-heading);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--hue-primary);margin-bottom:10px;}
    .process-arrows__h{font-family:var(--font-heading);font-size:1.08rem;font-weight:700;color:var(--copy-1);margin:0 0 8px;}
    .process-arrows__p{color:var(--copy-2);line-height:1.6;margin:0;font-size:.9rem;}
    
.value-block__top{margin-bottom:42px;}
    .value-block__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:12px;}
    .value-block__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .value-block__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2px;background:var(--edge-1);border:1px solid var(--edge-1);border-radius:var(--corner-panel);overflow:hidden;}
    .value-block__unit{background:var(--ground-1);padding:32px 28px;transition:background .2s;}
    .value-block__unit:hover{background:var(--ground-alt);}
    .value-block__ic{display:inline-flex;width:46px;height:46px;border-radius:12px;background:var(--hue-primary);color:#fff;align-items:center;justify-content:center;font-size:18px;margin-bottom:18px;}
    .value-block__h{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--copy-1);margin:0 0 9px;}
    .value-block__p{color:var(--copy-2);line-height:1.65;margin:0;font-size:.92rem;}
.benefit-ring__top{text-align:center;margin-bottom:48px;}
    .benefit-ring__kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hue-primary);margin-bottom:12px;}
    .benefit-ring__headline{font-family:var(--font-heading);font-size:var(--fluid-t7);font-weight:800;color:var(--copy-1);margin:0;line-height:1.12;}
    .benefit-ring__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;text-align:center;}
    .benefit-ring__ic{width:84px;height:84px;margin:0 auto 20px;border-radius:50%;border:2px solid var(--hue-primary);display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--hue-primary);position:relative;}
    .benefit-ring__ic::after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px dashed var(--edge-1);}
    .benefit-ring__h{font-family:var(--font-heading);font-size:1.12rem;font-weight:700;color:var(--copy-1);margin:0 0 10px;}
    .benefit-ring__p{color:var(--copy-2);line-height:1.65;margin:0;font-size:.92rem;max-width:260px;margin-left:auto;margin-right:auto;}
.root-contact__sec{padding:var(--fluid-s5) 24px;}
.root-contact__form{display:flex;flex-direction:column;gap:14px;}
.root-contact__field{padding:13px 16px;border:1.5px solid var(--hue-edge);border-radius:var(--corner-md);background:var(--hue-ground-panel);color:var(--hue-copy-primary);font:inherit;width:100%;}
.root-contact__field:focus{outline:none;border-color:var(--hue-primary);}
.root-contact__check{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;color:var(--hue-copy-secondary);}
.root-contact__cta{background:var(--hue-primary);color:#fff;border:none;padding:14px;border-radius:var(--corner-md);font-weight:700;cursor:pointer;font-family:inherit;transition:filter .2s;}
.root-contact__cta:hover{filter:brightness(1.07);}
.root-contact__info{list-style:none;padding:0;margin:0;}
.root-contact__item{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;color:var(--hue-copy-secondary);}
.root-contact__ic{color:var(--hue-primary);width:22px;font-size:18px;flex-shrink:0;}
.root-contact__label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--hue-copy-muted);margin-bottom:3px;}
.root-contact__value{color:var(--hue-copy-primary);font-weight:600;line-height:1.5;}
.root-contact__value a{color:inherit;text-decoration:none;}
.root-contact__value a:hover{color:var(--hue-primary);}
.root-contact__deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;}
.root-contact__unit{background:var(--hue-ground-panel);border:1px solid var(--hue-edge);border-radius:10px;padding:24px;}
.root-contact__unit .root-contact__ic{display:block;margin-bottom:12px;}
.root-contact__map{border-radius:10px;overflow:hidden;border:1px solid var(--hue-edge);min-height:360px;}
.root-contact__map iframe{width:100%;height:100%;min-height:360px;border:0;display:block;}
.root-contact__social{display:flex;gap:12px;margin-top:18px;}
.root-contact__soc{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--hue-ground);border:1px solid var(--hue-edge);color:var(--hue-copy-secondary);text-decoration:none;transition:background .2s,color .2s,border-color .2s;}
.root-contact__soc:hover{background:var(--hue-primary);color:#fff;border-color:var(--hue-primary);}
.root-contact__panel{background:var(--hue-ground-panel);border:1px solid var(--hue-edge);border-radius:10px;padding:var(--fluid-s2);}
.root-contact__headline{font-size:var(--fluid-t5);color:var(--hue-copy-primary);margin:0 0 12px;}
.root-contact__lead{color:var(--hue-copy-secondary);line-height:1.65;margin:0 0 22px;}
.root-contact__grid{display:grid;gap:var(--fluid-s3);align-items:start;}
.root-contact__narrow{max-width:600px;margin:0 auto;text-align:center;}
.root-contact__narrow .root-contact__form{text-align:left;}

.site-thanks{padding:120px 24px;text-align:center;min-height:46vh;}
.site-thanks h1{color:var(--hue-copy-primary);font-size:var(--fluid-t8);margin-bottom:16px;}
.site-thanks p{color:var(--hue-copy-secondary);margin-bottom:28px;}
.site-back{display:inline-block;background:var(--hue-primary);color:#fff;padding:13px 32px;border-radius:var(--corner-md);font-weight:700;}

.site-legal{padding:56px 24px;}
.site-legal .root-frame{max-width:820px;}
.site-legal h2{color:var(--hue-copy-primary);margin:26px 0 12px;font-size:1.2rem;}
.site-legal p{color:var(--hue-copy-secondary);margin-bottom:12px;line-height:1.7;}

.site-phero-ed{padding:72px 24px 40px;background:var(--hue-ground-sub);border-bottom:1px solid var(--hue-edge);}
.site-phero-ed-in{max-width:1100px;margin:0 auto;}
.site-phero-ed h1{font-size:var(--fluid-t8);color:var(--hue-copy-primary);margin:0;line-height:1.12;}
.site-phero-ed h1::after{content:'';display:block;width:60px;height:4px;border-radius:2px;background:var(--hue-primary);margin-top:18px;}
.site-phero-ed p{color:var(--hue-copy-secondary);max-width:620px;margin:18px 0 0;}

section[data-bg=base]{background:var(--ground-1);}
section[data-bg=alt]{background:var(--ground-alt);}
@media (max-width:768px){.root-navigation__links{display:none;}.root-toggle{display:flex;}.root-footer__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.consent-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;}.consent-bar.is-visible{transform:translateY(0);}}
@media (max-width:480px){.root-footer__grid{grid-template-columns:1fr;}
        .intro-graph__content{gap:24px;}
    .article-shade__go{display:none;}.figure-band__line{grid-template-columns:1fr 1fr;}
        .who-arc__grid{grid-template-columns:1fr;}
    }
@media (prefers-reduced-motion:no-preference){
  .banner-scroll__mouse {
    animation: banner-bounce 1.8s ease-in-out infinite;
  }
  .banner-scroll__wheel {
    animation: banner-wheel 1.8s ease-in-out infinite;
  }
  .banner-wipe {
    animation: banner-sweep 5.5s ease-in-out 1.2s infinite;
  }
  .banner-deco--drop1 {
    animation: banner-float 9s ease-in-out infinite;
  }
  .banner-deco--drop2 {
    animation: banner-float 11s ease-in-out 1s infinite reverse;
  }
  .banner-deco--drop3 {
    animation: banner-float 13s ease-in-out 0.5s infinite;
  }
}
@media (prefers-reduced-motion:reduce){
  .banner-kicker,
  .banner-headline,
  .banner-subtitle,
  .banner-convert,
  .banner-figure,
  .banner-figure,
  .banner-scroll,
  .banner-scroll__mouse,
  .banner-scroll__wheel,
  .banner-wipe,
  .banner-deco {
    animation: none;
  }
}
@media (max-width:640px){
  .banner-figure__frame {
    aspect-ratio: 4 / 3;
  }
  .banner-badge {
    font-size: 0.74rem;
    padding: 6px 12px;
  }
  .banner-badge--tl {
    top: 10px;
    left: 10px;
  }
  .banner-badge--br {
    bottom: 10px;
    right: 10px;
  }
  .banner-convert {
    width: 100%;
    justify-content: center;
  }
  .banner-figure {
    gap: var(--room-md);
  }
.qa-number__top{grid-template-columns:1fr!important;gap:20px!important;}.qa-number__line{grid-template-columns:48px 1fr!important;gap:12px 16px!important;}}
@media (max-width:760px){
        .intro-graph__band{grid-template-columns:1fr;}
        .intro-graph__unit{border-right:none;border-bottom:1px solid var(--edge-1);}
        .intro-graph__unit:last-child{border-bottom:none;}
        .intro-graph__content{grid-template-columns:1fr;}
    .value-mono__grid{grid-template-columns:1fr;}
        .who-arc__top{flex-direction:column;align-items:flex-start;gap:16px;}
        .who-arc__grid{grid-template-columns:repeat(2,1fr);}
    .process-arrows__box:not(:last-child)::after{display:none;}}
@media (max-width:720px){
        .track-ledger__item{grid-template-columns:56px 1fr;}
        .track-ledger__out{grid-column:1/-1;margin-top:6px;}
        .track-ledger__number{font-size:1.6rem;}
    }
@media (max-width:520px){.issue-number__line{grid-template-columns:44px 1fr;gap:14px;}.issue-number__n{font-size:1.6rem;}}

: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-t9:clamp(2.1rem,4.6vw,3.6rem);--fluid-t1:clamp(.82rem,1.1vw,.95rem);}
