:root {
      --color-primary: #2e7dff;
      --color-primary-dark: #1251b5;
      --color-primary-light: #e9f1ff;
      --color-accent: #20a32b;
      --color-accent-light: #92e160;
      --color-bg: #ffffff;
      --color-bg-alt: #f5f7fa;
      --color-surface: #f7faf6;
      --color-text: #17351f;
      --color-text-muted: #5f6f64;
      --color-border: #dce8dc;
      --color-white: #fff;
      --color-black: #0a0a0a;
      --color-focus: #2e7dff;
      --color-hero: #102c19;

      --font-body: "Poppins", sans-serif;
      --font-heading: "Playfair Display", serif;

      --text-xs: clamp(.7rem, .8vw, .75rem);
      --text-sm: clamp(.8rem, 1vw, .875rem);
      --text-base: clamp(.9rem, 1.1vw, 1rem);
      --text-lg: clamp(1rem, 1.3vw, 1.125rem);
      --text-xl: clamp(1.1rem, 1.5vw, 1.25rem);
      --text-2xl: clamp(1.3rem, 2vw, 1.5rem);
      --text-3xl: clamp(1.6rem, 2.5vw, 2rem);
      --text-4xl: clamp(2rem, 4vw, 2.8rem);
      --text-5xl: clamp(2.5rem, 5vw, 3.8rem);
      --text-6xl: clamp(3rem, 7vw, 5rem);

      --space-xs: .5rem;
      --space-sm: 1rem;
      --space-md: 2rem;
      --space-lg: 4rem;
      --space-xl: 6rem;
      --space-2xl: 9rem;

      --radius-sm: .5rem;
      --radius-md: 1rem;
      --radius-lg: 1.75rem;
      --shadow-sm: 0 10px 30px rgba(23, 53, 31, .08);
      --shadow-lg: 0 28px 70px rgba(10, 30, 16, .2);
      --container: 1200px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; overflow-x: hidden; }
    body {
      margin: 0;
      overflow-x: hidden;
      background: var(--color-bg);
      color: var(--color-text);
      font-family: var(--font-body);
      font-size: var(--text-base);
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
    }

    img { display: block; max-width: 100%; height: auto; }
    a { color: inherit; text-decoration: none; }
    button, input, textarea, select { font: inherit; }
    button { cursor: pointer; }
    p { margin: 0 0 var(--space-sm); color: var(--color-text-muted); }
    h1, h2, h3 {
      margin: 0;
      color: var(--color-text);
      font-family: var(--font-heading);
      line-height: 1.1;
      letter-spacing: -.025em;
    }
    h1 { font-size: var(--text-6xl); }
    h2 { font-size: var(--text-4xl); }
    h3 { font-size: var(--text-2xl); }
    ul { margin: 0; padding: 0; list-style: none; }

    :focus-visible {
      outline: 3px solid var(--color-focus);
      outline-offset: 3px;
    }

    .container {
      width: min(calc(100% - 2rem), var(--container));
      margin-inline: auto;
    }

    .section { padding: var(--space-xl) 0; }
    .section--compact { padding: var(--space-lg) 0; }
    .section--alt { background: var(--color-bg-alt); }
    .section--surface { background: var(--color-surface); }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .6rem;
      margin-bottom: var(--space-sm);
      color: var(--color-primary-dark);
      font-size: var(--text-xs);
      font-weight: 700;
      letter-spacing: .13em;
      text-transform: uppercase;
    }
    .eyebrow::before {
      width: 2rem;
      height: 2px;
      content: "";
      background: var(--color-accent);
    }

    .section-heading {
      max-width: 760px;
      margin-bottom: var(--space-lg);
    }
    .section-heading h2 { margin-bottom: var(--space-sm); }
    .section-heading p { max-width: 650px; font-size: var(--text-lg); }

    .button {
      display: inline-flex;
      min-height: 48px;
      align-items: center;
      justify-content: center;
      gap: .65rem;
      border: 1px solid transparent;
      border-radius: var(--radius-sm);
      padding: .85rem 1.45rem;
      font-size: var(--text-sm);
      font-weight: 600;
      line-height: 1.2;
      transition: all .25s ease;
    }
    .button--large { padding: 1rem 2.5rem; font-size: var(--text-base); }
    .button--primary {
      background: var(--color-primary);
      color: var(--color-white);
      box-shadow: 0 12px 26px rgba(46, 125, 255, .24);
    }
    .button--primary:hover {
      background: var(--color-primary-dark);
      transform: translateY(-2px);
    }
    .button--light {
      border-color: rgba(255,255,255,.5);
      background: rgba(255,255,255,.1);
      color: var(--color-white);
    }
    .button--light:hover { background: var(--color-white); color: var(--color-text); }
    .button--outline {
      border-color: var(--color-border);
      background: transparent;
      color: var(--color-text);
    }
    .button--outline:hover { border-color: var(--color-primary); color: var(--color-primary-dark); }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 1000;
      border-bottom: 1px solid rgba(220,232,220,.8);
      background: rgba(255,255,255,.91);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
    }
    .navbar {
      display: flex;
      min-height: 76px;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-sm);
    }
    .brand { display: inline-flex; align-items: center; flex: 0 1 auto; }
    .brand img { width: auto; height: 48px; object-fit: contain; }
    .nav-links { display: none; align-items: center; gap: 1.8rem; }
    .nav-link {
      position: relative;
      padding: .6rem 0;
      color: var(--color-text-muted);
      font-size: var(--text-sm);
      font-weight: 500;
      transition: all .25s ease;
    }
    .nav-link::after {
      position: absolute;
      right: 0;
      bottom: .25rem;
      left: 0;
      height: 2px;
      content: "";
      background: var(--color-accent);
      transform: scaleX(0);
      transition: transform .25s ease;
    }
    .nav-link:hover, .nav-link.active { color: var(--color-text); }
    .nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); }
    .nav-cta { display: none; }
    .menu-toggle {
      display: inline-flex;
      width: 46px;
      height: 46px;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      background: var(--color-white);
      color: var(--color-text);
    }
    .menu-toggle span,
    .menu-toggle span::before,
    .menu-toggle span::after {
      display: block;
      width: 21px;
      height: 2px;
      background: currentColor;
      transition: all .25s ease;
    }
    .menu-toggle span { position: relative; }
    .menu-toggle span::before,
    .menu-toggle span::after { position: absolute; left: 0; content: ""; }
    .menu-toggle span::before { top: -7px; }
    .menu-toggle span::after { top: 7px; }
    .menu-toggle[aria-expanded="true"] span { background: transparent; }
    .menu-toggle[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

    .mobile-menu {
      display: none;
      border-top: 1px solid var(--color-border);
      padding: var(--space-sm) 1rem var(--space-md);
      background: var(--color-white);
    }
    .mobile-menu.is-open { display: block; }
    .mobile-menu a:not(.button) {
      display: block;
      min-height: 46px;
      padding: .75rem 0;
      border-bottom: 1px solid var(--color-border);
      font-weight: 500;
    }
    .mobile-menu .button { margin-top: var(--space-sm); }

    .hero {
      position: relative;
      display: grid;
      min-height: 720px;
      align-items: end;
      isolation: isolate;
      overflow: hidden;
      background: var(--color-hero);
    }
    .hero__media, .hero__overlay {
      position: absolute;
      inset: 0;
    }
    .hero__media { z-index: -2; width: 100%; height: 100%; object-fit: cover; }
    .hero__overlay {
      z-index: -1;
      background:
        linear-gradient(90deg, rgba(9,35,18,.94) 0%, rgba(14,48,25,.76) 46%, rgba(14,48,25,.2) 100%),
        linear-gradient(0deg, rgba(10,32,17,.75), transparent 60%);
    }
    .hero__content {
      max-width: 850px;
      padding: var(--space-xl) 0;
    }
    .hero .eyebrow { color: var(--color-accent-light); }
    .hero .eyebrow::before { background: var(--color-accent-light); }
    .hero h1 {
      max-width: 830px;
      margin-bottom: var(--space-md);
      color: var(--color-white);
      text-wrap: balance;
    }
    .hero h1 em { color: var(--color-accent-light); font-weight: 600; }
    .hero__lead {
      max-width: 710px;
      margin-bottom: var(--space-md);
      color: rgba(255,255,255,.84);
      font-size: var(--text-xl);
    }
    .hero__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-sm); }
    .hero__meta {
      display: flex;
      flex-wrap: wrap;
      gap: .6rem 1.5rem;
      margin-top: var(--space-md);
      color: rgba(255,255,255,.72);
      font-size: var(--text-sm);
    }
    .hero__meta span { display: inline-flex; align-items: center; gap: .55rem; }
    .hero__meta span::before {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      content: "";
      background: var(--color-accent-light);
    }

    .split {
      display: grid;
      align-items: center;
      gap: var(--space-lg);
    }
    .split--reverse .split__media { order: 0; }
    .split__content { max-width: 620px; }
    .split__content h2 { margin-bottom: var(--space-md); }
    .split__media img {
      width: 100%;
      min-height: 360px;
      border-radius: var(--radius-lg);
      object-fit: cover;
      box-shadow: var(--shadow-lg);
    }

    .value-list {
      display: grid;
      gap: 0;
      border-top: 1px solid var(--color-border);
    }
    .value-list li {
      display: grid;
      grid-template-columns: 2rem 1fr;
      gap: var(--space-sm);
      padding: 1.1rem 0;
      border-bottom: 1px solid var(--color-border);
    }
    .value-list strong { color: var(--color-text); font-weight: 600; }
    .value-list .marker {
      color: var(--color-accent);
      font-weight: 700;
    }

    .services-layout {
      display: grid;
      gap: var(--space-lg);
    }
    .services-intro { max-width: 450px; }
    .services-intro h2 { margin-bottom: var(--space-md); }
    .service-list { border-top: 1px solid var(--color-border); }
    .service-item {
      display: grid;
      gap: .65rem;
      padding: 1.4rem 0;
      border-bottom: 1px solid var(--color-border);
      transition: all .25s ease;
    }
    .service-item:hover { padding-left: .65rem; border-color: var(--color-accent); }
    .service-item__number {
      color: var(--color-primary-dark);
      font-size: var(--text-xs);
      font-weight: 700;
      letter-spacing: .1em;
    }
    .service-item h3 {
      font-family: var(--font-body);
      font-size: var(--text-xl);
      letter-spacing: -.02em;
    }
    .service-item p { margin: 0; font-size: var(--text-sm); }
    .service-item__arrow { color: var(--color-primary); font-weight: 700; }

    .feature-grid {
      display: grid;
      gap: var(--space-md);
    }
    .feature {
      padding: var(--space-md) 0;
      border-top: 3px solid var(--color-accent);
    }
    .feature h3 {
      margin-bottom: .75rem;
      font-family: var(--font-body);
      font-size: var(--text-xl);
    }

    .process-steps {
      display: grid;
      gap: var(--space-md);
      counter-reset: process;
    }
    .process-step {
      position: relative;
      padding: var(--space-md);
      border-left: 1px solid var(--color-accent);
      counter-increment: process;
    }
    .process-step::before {
      display: grid;
      width: 2.5rem;
      height: 2.5rem;
      margin-bottom: var(--space-sm);
      place-items: center;
      border-radius: 50%;
      content: counter(process, decimal-leading-zero);
      background: var(--color-accent);
      color: var(--color-white);
      font-size: var(--text-xs);
      font-weight: 700;
    }
    .process-step h3 { margin-bottom: .65rem; }

    .testimonial-grid { display: grid; gap: var(--space-md); }
    .testimonial {
      display: flex;
      min-height: 100%;
      flex-direction: column;
      justify-content: space-between;
      padding: var(--space-md);
      border: 1px solid var(--color-border);
      border-radius: var(--radius-md);
      background: var(--color-white);
    }
    .testimonial blockquote {
      margin: 0 0 var(--space-md);
      color: var(--color-text);
      font-family: var(--font-heading);
      font-size: var(--text-xl);
      line-height: 1.55;
    }
    .testimonial cite {
      color: var(--color-text-muted);
      font-size: var(--text-sm);
      font-style: normal;
    }
    .testimonial cite strong { display: block; color: var(--color-text); }

    .faq-list {
      max-width: 900px;
      border-top: 1px solid var(--color-border);
    }
    .faq-list details { border-bottom: 1px solid var(--color-border); }
    .faq-list summary {
      display: flex;
      min-height: 64px;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-sm);
      padding: 1.2rem 0;
      color: var(--color-text);
      font-weight: 600;
      cursor: pointer;
      list-style: none;
    }
    .faq-list summary::-webkit-details-marker { display: none; }
    .faq-list summary::after {
      content: "+";
      color: var(--color-primary);
      font-size: var(--text-2xl);
      font-weight: 400;
    }
    .faq-list details[open] summary::after { content: "−"; }
    .faq-list details p { max-width: 760px; padding: 0 0 1.4rem; }

    .cta-band {
      display: grid;
      align-items: center;
      gap: var(--space-md);
      padding: var(--space-lg);
      border-radius: var(--radius-lg);
      background: var(--color-text);
      color: var(--color-white);
    }
    .cta-band h2 { color: var(--color-white); }
    .cta-band p { max-width: 680px; color: rgba(255,255,255,.72); }

    .contact-layout {
      display: grid;
      gap: var(--space-lg);
    }
    .contact-details { display: grid; gap: var(--space-md); }
    .contact-detail {
      padding-bottom: var(--space-sm);
      border-bottom: 1px solid var(--color-border);
    }
    .contact-detail span {
      display: block;
      margin-bottom: .25rem;
      color: var(--color-text-muted);
      font-size: var(--text-xs);
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
    }
    .contact-detail a, .contact-detail address {
      color: var(--color-text);
      font-size: var(--text-base);
      font-style: normal;
      font-weight: 500;
      transition: all .25s ease;
    }
    .contact-detail a:hover { color: var(--color-primary-dark); }

    .form {
      display: grid;
      gap: var(--space-sm);
      padding: var(--space-md);
      border: 1px solid var(--color-border);
      border-radius: var(--radius-md);
      background: var(--color-white);
      box-shadow: var(--shadow-sm);
    }
    .field { display: grid; gap: .45rem; }
    .field label { color: var(--color-text); font-size: var(--text-sm); font-weight: 600; }
    .field input, .field textarea, .field select {
      width: 100%;
      min-height: 50px;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-sm);
      background: var(--color-white);
      color: var(--color-text);
      padding: .85rem 1rem;
      transition: all .25s ease;
    }
    .field textarea { min-height: 145px; resize: vertical; }
    .field input:focus, .field textarea:focus, .field select:focus {
      border-color: var(--color-focus);
      outline: 3px solid rgba(46,125,255,.14);
    }
    .field [aria-invalid="true"] { border-color: #b42318; }
    .field-error {
      min-height: 1.2em;
      margin: 0;
      color: #b42318;
      font-size: var(--text-xs);
    }
    .form-status { margin: 0; font-size: var(--text-sm); }

    .page-hero {
      padding: var(--space-xl) 0;
      background: var(--color-surface);
    }
    .page-hero h1 { max-width: 850px; font-size: var(--text-5xl); }
    .page-hero p { max-width: 700px; margin-top: var(--space-md); font-size: var(--text-lg); }
    .breadcrumb {
      display: flex;
      flex-wrap: wrap;
      gap: .5rem;
      margin-bottom: var(--space-md);
      color: var(--color-text-muted);
      font-size: var(--text-sm);
    }
    .breadcrumb a:hover { color: var(--color-primary-dark); }

    .prose { max-width: 760px; }
    .prose h2, .prose h3 { margin: var(--space-md) 0 var(--space-sm); }
    .prose ul { padding-left: 1.25rem; list-style: disc; }
    .prose li { margin-bottom: .6rem; color: var(--color-text-muted); }

    .site-footer {
      padding: var(--space-lg) 0 var(--space-md);
      background: #102c19;
      color: var(--color-white);
    }
    .footer-grid {
      display: grid;
      gap: var(--space-lg);
    }
    .footer-brand img {
      width: auto;
      max-width: 230px;
      height: 58px;
      padding: .4rem;
      border-radius: var(--radius-sm);
      background: var(--color-white);
      object-fit: contain;
    }
    .footer-brand p { max-width: 410px; margin-top: var(--space-sm); color: rgba(255,255,255,.66); }
    .footer-column h3 {
      margin-bottom: var(--space-sm);
      color: var(--color-white);
      font-family: var(--font-body);
      font-size: var(--text-base);
    }
    .footer-column ul { display: grid; gap: .65rem; }
    .footer-column a, .footer-column address, .footer-column p {
      color: rgba(255,255,255,.68);
      font-size: var(--text-sm);
      font-style: normal;
      transition: all .25s ease;
    }
    .footer-column a:hover { color: var(--color-accent-light); }
    .footer-bottom {
      display: flex;
      flex-direction: column;
      gap: .75rem;
      margin-top: var(--space-lg);
      padding-top: var(--space-md);
      border-top: 1px solid rgba(255,255,255,.13);
      color: rgba(255,255,255,.56);
      font-size: var(--text-xs);
    }
    .footer-bottom p { margin: 0; color: inherit; }

    @media (min-width: 640px) {
      .hero__actions { flex-direction: row; }
      .feature-grid, .testimonial-grid { grid-template-columns: repeat(2, 1fr); }
      .service-item { grid-template-columns: 3rem minmax(170px, .75fr) 1.2fr auto; align-items: center; }
      .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
      .footer-bottom { flex-direction: row; justify-content: space-between; }
    }

    @media (min-width: 900px) {
      .nav-links, .nav-cta { display: flex; }
      .menu-toggle, .mobile-menu { display: none !important; }
      .split { grid-template-columns: 1fr 1fr; }
      .split--reverse .split__media { order: 2; }
      .services-layout { grid-template-columns: .72fr 1.35fr; }
      .feature-grid { grid-template-columns: repeat(3, 1fr); }
      .process-steps { grid-template-columns: repeat(3, 1fr); }
      .testimonial-grid { grid-template-columns: repeat(3, 1fr); }
      .contact-layout { grid-template-columns: .85fr 1.15fr; }
      .cta-band { grid-template-columns: 1fr auto; }
      .footer-grid { grid-template-columns: 1.4fr .7fr 1.4fr; }
    }

    @media (max-width: 639px) {
      .section { padding: var(--space-lg) 0; }
      .hero { min-height: 650px; }
      .hero__content { padding: var(--space-lg) 0; }
      .button { width: 100%; max-width: 320px; margin-inline: auto; }
      .hero__actions { width: 100%; }
      .hero__actions .button { margin-inline: 0; }
      .cta-band { padding: var(--space-md); }
      .brand img { height: 42px; max-width: 210px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
      }
    }
/* @vn-deploy:1789333856452 */
