*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html {
      scroll-behavior: smooth;
      font-size: 16px;
      overflow-x: clip;
      max-width: 100%;
      --section-gap: 100px;
    }
    @media (min-width: 768px) {
      html { --section-gap: 120px; }
    }
    @media (min-width: 992px) {
      html { --section-gap: 150px; }
    }
    body {
      font-family: "IRANSansX FaNum", Tahoma, sans-serif;
      background: var(--brand-background, #101010);
      color: #f0ede6;
      line-height: 1.6;
      overflow-x: clip;
      max-width: 100%;
    }
    button { font-family: inherit; }
    img { max-width: 100%; display: block; }
    a { color: inherit; text-decoration: none; }
    ul { list-style: none; }
    .container { max-width: 80rem; margin: 0 auto; padding: 0 1.5rem; }
    .serif { font-family: "IRANSansX FaNum", Tahoma, sans-serif; font-weight: 700; }
    .muted { color: #888878; }
    .label {
      color: var(--brand-primary, #2d7a3a);
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 0.25em;
      text-transform: uppercase;
    }
    .btn {
      display: inline-block;
      background: var(--brand-primary, #2d7a3a);
      color: #fff;
      font-weight: 500;
      padding: 1rem 2rem;
      border-radius: 0.25rem;
      border: none;
      cursor: pointer;
      transition: background 0.2s, transform 0.2s;
    }
    .btn:hover { background: var(--brand-accent, #256830); transform: translateY(-2px); }
    .btn-outline {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.4rem;
      background: transparent;
      border: 1px solid rgba(255,255,255,0.18);
      color: #f0ede6;
      font-weight: 600;
      padding: 0.75rem 1.35rem;
      border-radius: 0.65rem;
      transition: background 0.2s, transform 0.2s, border-color 0.2s;
    }
    .btn-outline:hover {
      background: rgba(255,255,255,0.06);
      transform: translateY(-2px);
      border-color: rgba(255,255,255,0.3);
    }
    .section,
    .stats,
    .cta,
    .page-hero {
      padding-top: calc(var(--section-gap) / 2);
      padding-bottom: calc(var(--section-gap) / 2);
    }
    .section-title { text-align: center; margin-bottom: 4rem; }
    .section-title h2 { font-size: clamp(2rem, 5vw, 3rem); font-weight: 700; margin-top: 1rem; }
    .section-title p { margin-top: 1rem; font-size: 0.875rem; max-width: 28rem; margin-inline: auto; }

    /* ─── NAV (redesigned 2026) ─── */
    #nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 50;
      width: 100%;
      max-width: 100%;
      overflow-x: clip;
      height: 5rem;
      transition: background 0.4s, border-color 0.4s, box-shadow 0.4s, height 0.4s;
      border-bottom: 1px solid transparent;
    }
    #nav.scrolled {
      height: 4.5rem;
      background: rgba(10,10,10,0.7);
      backdrop-filter: blur(18px) saturate(140%);
      -webkit-backdrop-filter: blur(18px) saturate(140%);
      border-bottom: 1px solid rgba(255,255,255,0.08);
      box-shadow: 0 10px 30px -18px rgba(0,0,0,0.8);
    }
    #nav .inner {
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
    }
    .logo {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
      gap: 0.2rem;
    }
    .logo::after {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      opacity: 0.22;
      border-radius: 1px;
      background: linear-gradient(90deg,
        var(--brand-primary-light, #46c45a) 0 30%,
        transparent 30% 36%,
        rgba(255, 255, 255, 0.82) 36% 64%,
        transparent 64% 70%,
        var(--brand-red, #e03540) 70% 100%);
    }
    .logo img { height: 2.75rem; width: auto; display: block; transition: height 0.4s; }
    nav.scrolled .logo img { height: 2.4rem; }
    .footer-logo { height: 3.25rem; width: auto; display: block; margin-bottom: 1.25rem; }
    .nav-links { display: none; align-items: center; gap: 1.5rem; flex-shrink: 0; }
    .nav-links a {
      position: relative;
      display: inline-block;
      font-size: 0.9rem; font-weight: 500; color: #cfccc2;
      padding: 0.35rem 0;
      white-space: nowrap;
      transition: color 0.25s;
    }
    .nav-links a::after {
      content: "";
      position: absolute; bottom: 0; left: 0; right: 0;
      width: 100%; height: 2px; border-radius: 2px;
      background: linear-gradient(90deg, var(--brand-primary-light, #46c45a), var(--brand-primary, #2d7a3a));
      transform: scaleX(0);
      transform-origin: center;
      transition: transform 0.3s ease;
    }
    .nav-links a:hover,
    .nav-links a.is-active { color: #fff; }
    .nav-links a:hover::after,
    .nav-links a.is-active::after { transform: scaleX(1); }
    .nav-actions { display: none; align-items: center; gap: 1rem; flex-shrink: 0; }
    .nav-phone { display: flex; align-items: center; gap: 0.4rem; font-size: 0.85rem; color: #9a9a8c; transition: color 0.25s; }
    .nav-phone:hover { color: var(--brand-primary-light, #46c45a); }
    .nav-cta {
      display: inline-flex; align-items: center; gap: 0.45rem;
      background: linear-gradient(100deg, var(--brand-primary-light, #46c45a), var(--brand-primary, #2d7a3a));
      color: #fff; font-weight: 600; font-size: 0.85rem;
      padding: 0.62rem 1.3rem; border-radius: 0.7rem;
      box-shadow: 0 8px 22px -8px color-mix(in srgb, var(--brand-primary) 60%, transparent);
      transition: transform 0.25s, box-shadow 0.25s;
      white-space: nowrap;
    }
    .nav-cta svg {
      width: 0.9375rem;
      height: 0.9375rem;
      flex: 0 0 0.9375rem;
    }
    .nav-cta:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -8px color-mix(in srgb, var(--brand-primary) 70%, transparent); }
    .menu-btn {
      display: flex; align-items: center; justify-content: center;
      width: 2.75rem; height: 2.75rem; border-radius: 0.7rem;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.12);
      color: #f0ede6; cursor: pointer;
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      transition: background 0.25s, border-color 0.25s;
    }
    .menu-btn:hover { background: color-mix(in srgb, var(--brand-primary-light) 12%, transparent); border-color: color-mix(in srgb, var(--brand-primary-light) 40%, transparent); }
    .nav-locale-btn {
      display: none;
      align-items: center;
      justify-content: center;
      width: auto;
      height: auto;
      padding: 0;
      border: none;
      background: transparent;
      color: #f0ede6;
      transition: opacity 0.2s, transform 0.2s;
      flex-shrink: 0;
    }
    .nav-locale-btn img {
      width: 1.5rem;
      height: auto;
      aspect-ratio: 3 / 2;
      display: block;
      border-radius: 0;
      object-fit: cover;
    }
    .nav-locale-btn:hover {
      opacity: 0.85;
      transform: translateY(-1px);
    }
    .mobile-menu {
      display: none;
      background: rgba(10,10,10,0.92);
      backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
      border-top: 1px solid rgba(255,255,255,0.08);
      padding: 1.25rem 1.5rem 1.75rem;
      flex-direction: column;
      gap: 0.5rem;
    }
    .mobile-menu.open { display: flex; animation: mmDrop 0.3s ease; }
    @keyframes mmDrop { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
    .mobile-menu a {
      font-size: 0.95rem; color: #cfccc2; font-weight: 500;
      padding: 0.7rem 0.5rem; border-radius: 0.6rem;
      transition: background 0.2s, color 0.2s;
    }
    .mobile-menu a:hover { background: rgba(255,255,255,0.05); color: #fff; }
    .mobile-menu a.is-active { color: var(--brand-primary-light, #46c45a); background: color-mix(in srgb, var(--brand-primary-light) 8%, transparent); }
    .mobile-menu .nav-cta { justify-content: center; margin-top: 0.5rem; padding: 0.85rem; font-size: 0.9rem; }
    .nav-cta::after { display: none !important; }

    /* ─── Locale switcher ─── */
    .locale-switcher {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0;
      border: none;
      background: transparent;
      border-radius: 0;
      flex-shrink: 0;
    }
    .locale-switcher__btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: auto;
      height: auto;
      padding: 0;
      border: none;
      border-radius: 0;
      overflow: visible;
      opacity: 0.55;
      transition: opacity 0.2s, transform 0.2s;
    }
    .locale-switcher__btn img {
      width: 1.5rem;
      height: auto;
      aspect-ratio: 3 / 2;
      object-fit: cover;
      display: block;
      border-radius: 0;
    }
    .locale-switcher__btn:hover {
      opacity: 0.9;
      transform: translateY(-1px);
    }
    .locale-switcher__btn.is-active {
      opacity: 1;
      box-shadow: none;
    }
    .mobile-menu .locale-switcher {
      align-self: flex-start;
      margin-bottom: 0.5rem;
    }

    /* ─── Scroll to top ─── */
    .scroll-top-btn {
      position: fixed;
      inset-inline-end: 1.25rem;
      bottom: 1.25rem;
      z-index: 45;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
      border-radius: 0.65rem;
      border: 1px solid color-mix(in srgb, var(--brand-secondary) 45%, transparent);
      background: color-mix(in srgb, var(--brand-accent) 18%, rgba(10, 10, 10, 0.55));
      backdrop-filter: blur(14px) saturate(140%);
      -webkit-backdrop-filter: blur(14px) saturate(140%);
      color: var(--brand-secondary);
      cursor: pointer;
      box-shadow: 0 10px 28px -14px rgba(0, 0, 0, 0.75);
      opacity: 0;
      visibility: hidden;
      transform: translateY(0.75rem);
      transition: opacity 0.3s, visibility 0.3s, transform 0.3s, background 0.25s, border-color 0.25s, color 0.25s, backdrop-filter 0.25s;
    }
    .scroll-top-btn__icon {
      width: 16px;
      height: 16px;
      display: block;
    }
    .scroll-top-btn.is-visible {
      opacity: 1;
      visibility: visible;
      transform: none;
    }
    .scroll-top-btn:hover,
    .scroll-top-btn:focus-visible {
      background: var(--brand-primary);
      border-color: var(--brand-primary);
      color: #fff;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      outline: none;
    }
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }

    /* ─── HERO (redesigned 2026) ─── */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      align-items: center;
      overflow: hidden;
      background: #0a0a0a;
      padding: 7rem 0 calc(var(--section-gap) / 2);
      isolation: isolate;
    }
    /* aurora glow blobs */
    .hero-aurora { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
    .hero-aurora span {
      position: absolute;
      border-radius: 50%;
      filter: blur(90px);
      opacity: 0.55;
      will-change: transform;
    }
    .hero-aurora .a1 {
      width: 42rem; height: 42rem;
      top: -14rem; right: -10rem;
      background: radial-gradient(circle at center, var(--brand-primary, #2d7a3a), transparent 70%);
      animation: float1 16s ease-in-out infinite;
    }
    .hero-aurora .a2 {
      width: 34rem; height: 34rem;
      bottom: -12rem; left: -8rem;
      background: radial-gradient(circle at center, #1f5e2b, transparent 70%);
      animation: float2 20s ease-in-out infinite;
    }
    .hero-aurora .a3 {
      width: 26rem; height: 26rem;
      top: 30%; left: 35%;
      background: radial-gradient(circle at center, #c0272d, transparent 72%);
      opacity: 0.18;
      animation: float3 24s ease-in-out infinite;
    }
    @keyframes float1 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(-3rem,3rem) scale(1.08)} }
    @keyframes float2 { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(3rem,-2rem) scale(1.12)} }
    @keyframes float3 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(2rem,2rem)} }
    /* subtle grid + grain overlay */
    .hero-grid-bg {
      position: absolute; inset: 0; z-index: 0;
      background-image:
        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
      background-size: 64px 64px;
      mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 30%, transparent 75%);
      -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 30%, transparent 75%);
    }

    .hero-grid {
      position: relative; z-index: 2;
      display: grid;
      grid-template-columns: 1fr;
      gap: 3rem;
      align-items: center;
      width: 100%;
    }

    .hero-content { max-width: 38rem; }

    /* subtle tricolor accent (green → white → red) */
    .tricolor-accent {
      display: inline-flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.35rem;
    }
    .tricolor-accent::after {
      content: "";
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background: var(--brand-primary-light, #46c45a);
      box-shadow:
        6px 0 0 rgba(255, 255, 255, 0.82),
        12px 0 0 var(--brand-red, #e03540);
      opacity: 0.38;
      margin-inline-start: 0.1rem;
    }
    .hero-badge-wrap { margin-bottom: 1.75rem; }
    .hero-badge-wrap .badge { margin-bottom: 0; }

    /* glass badge */
    .badge {
      display: inline-flex; align-items: center; gap: 0.625rem;
      border: 1px solid rgba(255,255,255,0.12);
      background: rgba(255,255,255,0.04);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      padding: 0.5rem 1rem;
      border-radius: 999px;
      margin-bottom: 1.75rem;
      box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
    }
    .badge-dot {
      position: relative;
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--brand-primary-light, #46c45a);
      box-shadow: 0 0 0 0 color-mix(in srgb, var(--brand-primary-light) 60%, transparent);
      animation: ping 2s infinite;
    }
    @keyframes ping { 0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand-primary-light) 50%, transparent)} 70%{box-shadow:0 0 0 8px rgba(70,196,90,0)} 100%{box-shadow:0 0 0 0 rgba(70,196,90,0)} }
    .badge span { font-size: 0.7rem; color: #cfcabf; letter-spacing: 0.12em; font-weight: 500; }

    .hero h1 {
      font-size: clamp(2.6rem, 7vw, 4.75rem);
      font-weight: 800;
      line-height: 1.08;
      letter-spacing: -0.01em;
      margin-bottom: 1.75rem;
    }
    .hero h1 .grad {
      background: linear-gradient(100deg, var(--brand-primary-light, #46c45a) 0%, var(--brand-primary, #2d7a3a) 55%, var(--brand-primary-lighter, #8fd99a) 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
    .hero h1 .hero-green { color: var(--brand-primary-light, #46c45a); }
    .hero h1 .hero-white { color: #fff; }
    .hero h1 .hero-red { color: var(--brand-red, #e03540); }
    .hero h1 .small { font-size: 0.62em; font-weight: 700; color: #e7e3da; }
    .hero p { color: #9a9a8c; font-size: clamp(1rem, 2vw, 1.15rem); line-height: 1.85; margin-bottom: 2rem; max-width: 33rem; }

    /* trust row */
    .hero-trust { display: flex; align-items: center; gap: 1.25rem; margin-bottom: 2.25rem; flex-wrap: wrap; }
    .avatars { display: flex; }
    .avatars img {
      width: 2.5rem; height: 2.5rem; border-radius: 50%;
      object-fit: cover; border: 2px solid #0a0a0a;
      margin-inline-start: -0.625rem;
    }
    .avatars img:first-child { margin-inline-start: 0; }
    .trust-text { font-size: 0.8rem; color: #9a9a8c; line-height: 1.5; }
    .trust-text b { color: #f0ede6; font-weight: 700; }
    .trust-stars { color: #f5b301; letter-spacing: 0.05em; }

    .hero-btns { display: flex; flex-wrap: wrap; gap: 1rem; }
    .btn-glow {
      position: relative;
      display: inline-flex; align-items: center; gap: 0.5rem;
      background: linear-gradient(100deg, var(--brand-primary-light, #46c45a), var(--brand-primary, #2d7a3a));
      color: #fff; font-weight: 600;
      padding: 1rem 2rem; border-radius: 0.75rem;
      box-shadow: 0 10px 30px -8px color-mix(in srgb, var(--brand-primary) 60%, transparent);
      transition: transform 0.25s, box-shadow 0.25s;
      white-space: nowrap;
    }
    .btn-glow:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -8px color-mix(in srgb, var(--brand-primary) 70%, transparent); }
    .btn-glow svg {
      width: 1.125rem;
      height: 1.125rem;
      flex: 0 0 1.125rem;
      transition: transform 0.25s;
    }
    .btn-glow:hover svg { transform: translateX(-4px); }
    .btn-ghost {
      display: inline-flex; align-items: center; gap: 0.5rem;
      border: 1px solid rgba(255,255,255,0.14);
      background: rgba(255,255,255,0.03);
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      color: #f0ede6; font-weight: 600;
      padding: 1rem 1.75rem; border-radius: 0.75rem;
      transition: background 0.25s, border-color 0.25s, transform 0.25s;
    }
    .btn-ghost:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.25); transform: translateY(-3px); }

    /* hero visual — stacked glass image composition */
    .hero-visual { position: relative; display: block; margin-top: 2.5rem; }

    /* before/after comparison slider */
    .ba {
      --pos: 50%;
      position: relative;
      width: 100%;
      aspect-ratio: 4 / 5;
      border-radius: 1.5rem;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.1);
      box-shadow: 0 30px 60px -20px rgba(0,0,0,0.7);
      user-select: none;
      -webkit-user-select: none;
      touch-action: pan-y;
      cursor: ew-resize;
    }
    .ba img {
      position: absolute; inset: 0;
      width: 100%; height: 100%;
      object-fit: cover;
      pointer-events: none;
      -webkit-user-drag: none;
    }
    .ba-before { clip-path: inset(0 calc(100% - var(--pos)) 0 0); z-index: 1; }
    .ba-label {
      position: absolute; top: 1rem; z-index: 3;
      font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em;
      color: #fff; padding: 0.35rem 0.8rem; border-radius: 999px;
      background: rgba(20,20,20,0.55);
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(255,255,255,0.16);
      pointer-events: none;
    }
    .ba-label.is-before { inset-inline-start: 1rem; }
    .ba-label.is-after  { inset-inline-end: 1rem; color: var(--brand-primary-soft, #cfeed4); border-color: color-mix(in srgb, var(--brand-primary-light) 40%, transparent); background: color-mix(in srgb, var(--brand-primary) 35%, transparent); }
    .ba-line {
      position: absolute; top: 0; bottom: 0; left: var(--pos);
      width: 2px; background: rgba(255,255,255,0.9);
      transform: translateX(-50%); z-index: 2; pointer-events: none;
      box-shadow: 0 0 18px rgba(0,0,0,0.5);
    }
    .ba-handle {
      position: absolute; top: 50%; left: var(--pos);
      transform: translate(-50%, -50%); z-index: 3;
      width: 3rem; height: 3rem; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: #0a0a0a; background: #fff;
      border: 3px solid rgba(255,255,255,0.85);
      box-shadow: 0 10px 24px rgba(0,0,0,0.55);
      pointer-events: none;
    }
    .ba-hint {
      position: absolute; inset-inline: 0; bottom: 1rem; z-index: 3;
      text-align: center; font-size: 0.72rem; color: rgba(255,255,255,0.7);
      pointer-events: none;
      animation: baPulse 2.5s ease-in-out infinite;
    }
    @keyframes baPulse { 0%,100%{opacity:0.55} 50%{opacity:1} }

    /* scroll hint */
    .scroll-hint {
      position: absolute; bottom: 1.75rem; left: 50%; transform: translateX(-50%);
      display: flex; flex-direction: column; align-items: center; gap: 0.5rem;
      color: #6f6f63; font-size: 0.7rem; letter-spacing: 0.15em; z-index: 3;
    }
    @keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }
    .scroll-hint svg { animation: bounce 2s infinite; }

    /* entrance reveal */
    @keyframes riseIn { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
    .reveal { opacity: 0; animation: riseIn 0.8s cubic-bezier(0.22,1,0.36,1) forwards; }
    .reveal.d1 { animation-delay: 0.05s; }
    .reveal.d2 { animation-delay: 0.18s; }
    .reveal.d3 { animation-delay: 0.31s; }
    .reveal.d4 { animation-delay: 0.44s; }
    .reveal.d5 { animation-delay: 0.57s; }
    @media (prefers-reduced-motion: reduce) {
      .reveal { animation: none; opacity: 1; }
      .hero-aurora span, .hv-main, .hv-sub, .hv-glass, .scroll-hint svg, .badge-dot { animation: none; }
    }

    /* ─── STATS (redesigned 2026) ─── */
    .stats {
      position: relative;
      border-block: 1px solid rgba(255,255,255,0.06);
      background: linear-gradient(180deg, #0d0d0d, #121212);
      overflow: hidden;
    }
    .stats::before {
      content: "";
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 60% 100% at 50% 0%, color-mix(in srgb, var(--brand-primary) 12%, transparent), transparent 70%);
      pointer-events: none;
    }
    .stats-grid {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 1rem;
    }
    .stat-card {
      position: relative;
      flex: 1 1 calc(50% - 0.5rem);
      min-width: min(100%, 10rem);
      max-width: calc(50% - 0.5rem);
      padding: 1.75rem 1.25rem;
      border-radius: 1.25rem;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.07);
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      text-align: center;
      overflow: hidden;
      transition: transform 0.4s cubic-bezier(0.22,1,0.36,1), border-color 0.4s, background 0.4s;
    }
    .stat-card::after {
      content: "";
      position: absolute; inset-inline: 0; top: 0; height: 2px;
      background: linear-gradient(90deg, transparent, var(--brand-primary-light, #46c45a), transparent);
      opacity: 0; transition: opacity 0.4s;
    }
    .stat-card:hover {
      transform: translateY(-6px);
      border-color: color-mix(in srgb, var(--brand-primary-light) 40%, transparent);
      background: color-mix(in srgb, var(--brand-primary-light) 5%, transparent);
    }
    .stat-card:hover::after { opacity: 1; }
    .stat-ico {
      width: 3rem; height: 3rem; margin: 0 auto 1rem;
      border-radius: 0.9rem;
      display: flex; align-items: center; justify-content: center;
      color: var(--brand-primary-light, #46c45a); background: color-mix(in srgb, var(--brand-primary-light) 12%, transparent);
      transition: transform 0.4s;
    }
    .stat-ico i,
    .about-value-ico i,
    .ps-ico i {
      font-size: 1.25rem;
      line-height: 1;
    }
    .stat-card:hover .stat-ico { transform: scale(1.1) rotate(-6deg); }
    .stat-value {
      font-size: clamp(2.25rem, 5vw, 3rem); font-weight: 800; line-height: 1;
      background: linear-gradient(100deg, var(--brand-primary-lighter, #8fd99a), var(--brand-primary, #2d7a3a));
      -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .stat-value .suffix { -webkit-text-fill-color: var(--brand-primary-light, #46c45a); }
    .stat-label { font-size: 0.875rem; color: #9a9a8c; margin-top: 0.6rem; }

    /* ─── SERVICES (redesigned 2026) ─── */
    .services-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
    .svc {
      position: relative;
      border-radius: 1.5rem;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.08);
      background: #141414;
      min-height: 24rem;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      isolation: isolate;
      transition: transform 0.45s cubic-bezier(0.22,1,0.36,1), border-color 0.45s, box-shadow 0.45s;
    }
    .svc-bg { position: absolute; inset: 0; z-index: -2; }
    .svc-bg img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s cubic-bezier(0.22,1,0.36,1); }
    .svc-overlay {
      position: absolute; inset: 0; z-index: -1;
      background: linear-gradient(to top, rgba(10,10,10,0.96) 8%, rgba(10,10,10,0.55) 45%, rgba(10,10,10,0.15) 100%);
      transition: background 0.45s;
    }
    .svc:hover {
      transform: translateY(-10px);
      border-color: color-mix(in srgb, var(--brand-primary-light) 50%, transparent);
      box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--brand-primary) 45%, transparent);
    }
    .svc:hover .svc-bg img { transform: scale(1.08); }
    .svc:hover .svc-overlay { background: linear-gradient(to top, rgba(8,20,10,0.96) 8%, rgba(10,10,10,0.5) 50%, rgba(10,10,10,0.1) 100%); }

    .svc-icon {
      position: absolute; top: 1.25rem; inset-inline-end: 1.25rem; z-index: 2;
      width: 3.25rem; height: 3.25rem; border-radius: 1rem;
      display: flex; align-items: center; justify-content: center;
      color: var(--brand-primary-light, #46c45a);
      background: rgba(20,20,20,0.5);
      backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
      border: 1px solid rgba(255,255,255,0.14);
      transition: transform 0.45s, background 0.45s, color 0.45s;
    }
    .svc:hover .svc-icon { transform: rotate(-8deg) scale(1.06); background: color-mix(in srgb, var(--brand-primary-light) 18%, transparent); }
    .svc-num {
      position: absolute; top: 1.5rem; inset-inline-start: 1.5rem; z-index: 2;
      font-size: 0.8rem; font-weight: 700; letter-spacing: 0.15em;
      color: rgba(255,255,255,0.45);
    }
    .svc-body { position: relative; z-index: 1; padding: 1.85rem; }
    .svc-body h3 { font-size: 1.3rem; font-weight: 800; margin-bottom: 0.65rem; }
    .svc-body p {
      font-size: 0.9rem; color: #b3b1a6; line-height: 1.8;
      max-height: 0; opacity: 0; overflow: hidden;
      transition: max-height 0.5s ease, opacity 0.4s ease, margin 0.5s ease;
    }
    .svc:hover .svc-body p { max-height: 8rem; opacity: 1; margin-bottom: 1rem; }
    .svc-link {
      display: inline-flex; align-items: center; gap: 0.5rem;
      color: var(--brand-primary-light, #46c45a); font-size: 0.9rem; font-weight: 600;
    }
    .svc-link svg {
      width: 1rem;
      height: 1rem;
      flex: 0 0 1rem;
      transition: transform 0.3s;
    }
    .svc:hover .svc-link svg { transform: translateX(-5px); }

    /* scroll-reveal (reusable) */
    [data-rise] {
      opacity: 1;
      transform: none;
    }
    [data-rise].shown { opacity: 1; transform: none; }
    [data-rise][data-d="1"] { transition-delay: 0.1s; }
    [data-rise][data-d="2"] { transition-delay: 0.22s; }
    [data-rise][data-d="3"] { transition-delay: 0.34s; }
    @media (prefers-reduced-motion: reduce) {
      [data-rise] { opacity: 1; transform: none; transition: none; }
      .svc-bg img, .svc-icon { transition: none; }
      .cta-panel::before { animation: none; }
    }

    /* ─── PORTFOLIO (redesigned 2026) ─── */
    .portfolio-section {
      position: relative;
      background: linear-gradient(180deg, #0d0d0d, #111);
      border-block: 1px solid rgba(255,255,255,0.06);
      overflow: hidden;
    }
    .portfolio-section::before {
      content: "";
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 50% 60% at 80% 10%, color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 70%);
      pointer-events: none;
    }
    /* filter pills */
    .pf-filters {
      display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem;
      margin-bottom: 2.5rem;
    }
    .pf-filter {
      border: 1px solid rgba(255,255,255,0.1);
      background: rgba(255,255,255,0.03);
      color: #b3b1a6; font-size: 0.85rem; font-weight: 600;
      font-family: inherit;
      padding: 0.55rem 1.25rem; border-radius: 999px;
      cursor: pointer;
      transition: all 0.3s;
    }
    .pf-filter:hover { border-color: color-mix(in srgb, var(--brand-primary-light) 45%, transparent); color: #f0ede6; }
    .pf-filter.active {
      background: linear-gradient(100deg, var(--brand-primary-light, #46c45a), var(--brand-primary, #2d7a3a));
      border-color: transparent; color: #fff;
      box-shadow: 0 8px 22px -8px color-mix(in srgb, var(--brand-primary) 60%, transparent);
    }

    .pf-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1rem;
      grid-auto-flow: dense;
    }
    .pf-item {
      position: relative;
      aspect-ratio: 3/2;
      border-radius: 1.25rem;
      overflow: hidden;
      cursor: pointer;
      border: 1px solid rgba(255,255,255,0.07);
      transition: transform 0.45s cubic-bezier(0.22,1,0.36,1), border-color 0.45s, box-shadow 0.45s, opacity 0.45s;
    }
    .pf-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s cubic-bezier(0.22,1,0.36,1); }
    .pf-item::after {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(8,12,9,0.92) 0%, rgba(10,10,10,0.25) 45%, transparent 70%);
      opacity: 0.55; transition: opacity 0.4s;
    }
    .pf-item:hover {
      transform: translateY(-6px);
      border-color: color-mix(in srgb, var(--brand-primary-light) 50%, transparent);
      box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--brand-primary) 50%, transparent);
    }
    .pf-item:hover img { transform: scale(1.1); }
    .pf-item:hover::after { opacity: 0.85; }
    .pf-chip {
      position: absolute; top: 1rem; inset-inline-start: 1rem; z-index: 2;
      font-size: 0.7rem; font-weight: 600; color: var(--brand-primary-soft, #cfeed4);
      padding: 0.3rem 0.7rem; border-radius: 999px;
      background: color-mix(in srgb, var(--brand-primary) 35%, transparent);
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      border: 1px solid color-mix(in srgb, var(--brand-primary-light) 40%, transparent);
    }
    .pf-view {
      position: absolute; top: 1rem; inset-inline-end: 1rem; z-index: 2;
      width: 2.5rem; height: 2.5rem; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: #fff;
      background: rgba(20,20,20,0.45);
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      border: 1px solid rgba(255,255,255,0.18);
      opacity: 0; transform: scale(0.8) rotate(-30deg);
      transition: opacity 0.4s, transform 0.4s;
    }
    .pf-item:hover .pf-view { opacity: 1; transform: scale(1) rotate(0); }
    .pf-caption {
      position: absolute; inset-inline: 0; bottom: 0; z-index: 2;
      padding: 1.25rem;
      transform: translateY(0.4rem); opacity: 0.9;
      transition: transform 0.4s, opacity 0.4s;
    }
    .pf-item:hover .pf-caption { transform: translateY(0); opacity: 1; }
    .pf-title { font-size: 1.05rem; font-weight: 700; color: #fff; }
    .pf-sub { font-size: 0.78rem; color: #9fd6a8; margin-top: 0.2rem; }
    .pf-item.hide,
    .pf-item.pf-item--hidden { display: none !important; }

    /* ─── ABOUT (redesigned 2026) ─── */
    .about-grid { display: grid; gap: 3.5rem; align-items: center; }
    .about-img-wrap { position: relative; overflow: visible; }
    .about-img {
      position: relative;
      aspect-ratio: 4/5;
      border-radius: 1.75rem;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.08);
      box-shadow: 0 35px 70px -28px rgba(0,0,0,0.75);
    }
    .about-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s cubic-bezier(0.22,1,0.36,1); }
    .about-img-wrap:hover .about-img img { transform: scale(1.06); }
    .about-glow {
      position: absolute; inset: -2.5rem; z-index: -1;
      background: radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--brand-primary) 30%, transparent), transparent 62%);
      filter: blur(24px);
    }
    .about-badge {
      position: absolute; bottom: 1.25rem; inset-inline-start: 1.25rem;
      display: flex; align-items: center; gap: 0.9rem;
      padding: 1rem 1.3rem; border-radius: 1.2rem;
      background: rgba(18,18,18,0.62);
      backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255,255,255,0.12);
      box-shadow: 0 22px 45px -18px rgba(0,0,0,0.8);
      z-index: 2;
      max-width: calc(100% - 2.5rem);
    }
    .about-badge .num {
      font-size: 2.1rem; font-weight: 800; line-height: 1;
      background: linear-gradient(100deg, var(--brand-primary-lighter, #8fd99a), var(--brand-primary, #2d7a3a));
      -webkit-background-clip: text; background-clip: text; color: transparent;
      flex-shrink: 0;
    }
    .about-badge .txt { font-size: 0.72rem; color: #b7b3a8; line-height: 1.5; white-space: pre-line; }
    .about-rating {
      position: absolute; top: 1.25rem; inset-inline-end: 1.25rem;
      display: flex; align-items: center; gap: 0.4rem;
      padding: 0.5rem 0.85rem; border-radius: 999px;
      background: rgba(18,18,18,0.55);
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,0.14);
      font-size: 0.78rem; font-weight: 700; color: #fff;
    }
    .about-rating .s { color: #f5b301; }

    .about-content h2 { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; line-height: 1.15; margin: 1rem 0 1.25rem; }
    .about-content h2 .grad {
      background: linear-gradient(100deg, var(--brand-primary-light, #46c45a), var(--brand-primary, #2d7a3a));
      -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .about-content > p { color: #9a9a8c; font-size: 0.95rem; margin-bottom: 2rem; line-height: 1.9; }
    .feature-grid { display: grid; grid-template-columns: 1fr; gap: 0.85rem; margin-bottom: 2.25rem; }
    .feature {
      display: flex; align-items: center; gap: 0.85rem;
      padding: 0.85rem 1rem; border-radius: 0.9rem;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.07);
      transition: transform 0.35s, border-color 0.35s, background 0.35s;
    }
    .feature:hover { transform: translateX(-5px); border-color: color-mix(in srgb, var(--brand-primary-light) 40%, transparent); background: color-mix(in srgb, var(--brand-primary-light) 5%, transparent); }
    .feature .fi {
      width: 2.1rem; height: 2.1rem; border-radius: 0.6rem; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
      color: var(--brand-primary-light, #46c45a); background: color-mix(in srgb, var(--brand-primary-light) 14%, transparent);
    }
    .feature span { font-size: 0.88rem; color: #e7e3da; }

    /* ─── PROCESS (redesigned 2026) ─── */
    .process-section {
      position: relative;
      background: linear-gradient(180deg, #0d0d0d, #111);
      border-block: 1px solid rgba(255,255,255,0.06);
      overflow: hidden;
    }
    .process-section::before {
      content: "";
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 55% 60% at 20% 0%, color-mix(in srgb, var(--brand-primary) 10%, transparent), transparent 70%);
      pointer-events: none;
    }
    .process-grid { position: relative; display: grid; gap: 1.25rem; }
    .process-step {
      position: relative;
      padding: 2.25rem 1.6rem;
      border-radius: 1.4rem;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.07);
      overflow: hidden;
      transition: transform 0.45s cubic-bezier(0.22,1,0.36,1), border-color 0.45s, box-shadow 0.45s;
    }
    .process-step::after {
      content: "";
      position: absolute; inset-inline: 0; top: 0; height: 2px;
      background: linear-gradient(90deg, transparent, var(--brand-primary-light, #46c45a), transparent);
      opacity: 0; transition: opacity 0.4s;
    }
    .process-step:hover {
      transform: translateY(-8px);
      border-color: color-mix(in srgb, var(--brand-primary-light) 40%, transparent);
      box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--brand-primary) 45%, transparent);
    }
    .process-step:hover::after { opacity: 1; }
    .ps-bgnum {
      position: absolute; top: 1rem; inset-inline-end: 1rem;
      font-size: 5rem; font-weight: 800; line-height: 1;
      color: rgba(255,255,255,0.035);
      pointer-events: none; user-select: none;
    }
    .ps-ico {
      position: relative; z-index: 1;
      width: 3.5rem; height: 3.5rem; margin-bottom: 1.25rem;
      border-radius: 1rem;
      display: flex; align-items: center; justify-content: center;
      color: var(--brand-primary-light, #46c45a);
      background: color-mix(in srgb, var(--brand-primary-light) 12%, transparent);
      border: 1px solid color-mix(in srgb, var(--brand-primary-light) 25%, transparent);
      transition: transform 0.45s;
    }
    .process-step:hover .ps-ico { transform: scale(1.1) rotate(-6deg); }
    .ps-label { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.15em; color: var(--brand-primary-light, #46c45a); margin-bottom: 0.5rem; }
    .process-step h3 { font-size: 1.1rem; font-weight: 800; margin-bottom: 0.6rem; }
    .process-step p { font-size: 0.85rem; color: #9a9a8c; line-height: 1.8; }

    /* ─── TESTIMONIALS (redesigned 2026) ─── */
    .testimonial {
      position: relative;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.07);
      border-radius: 1.4rem;
      padding: 2.25rem 2rem 2rem;
      overflow: hidden;
      transition: transform 0.45s cubic-bezier(0.22,1,0.36,1), border-color 0.45s, box-shadow 0.45s, background 0.45s;
    }
    .testimonial::before {
      content: "\201D";
      position: absolute; top: -1.5rem; inset-inline-end: 0.75rem;
      font-size: 7rem; line-height: 1;
      color: color-mix(in srgb, var(--brand-primary-light) 12%, transparent);
      font-family: Georgia, serif;
      pointer-events: none;
    }
    .testimonial:hover {
      transform: translateY(-8px);
      border-color: color-mix(in srgb, var(--brand-primary-light) 40%, transparent);
      background: color-mix(in srgb, var(--brand-primary-light) 4%, transparent);
      box-shadow: 0 30px 60px -24px color-mix(in srgb, var(--brand-primary) 45%, transparent);
    }
    .stars { position: relative; z-index: 1; display: flex; gap: 0.15rem; margin-bottom: 1.1rem; color: #f5b301; font-size: 0.95rem; }
    .testimonial p { position: relative; z-index: 1; font-size: 0.92rem; color: #cfccc2; line-height: 1.9; margin-bottom: 1.5rem; }
    .testimonial-author {
      display: flex; align-items: center; gap: 0.85rem;
      border-top: 1px solid rgba(255,255,255,0.07); padding-top: 1.1rem;
    }
    .ta-avatar {
      width: 2.9rem; height: 2.9rem; border-radius: 50%;
      object-fit: cover; border: 2px solid color-mix(in srgb, var(--brand-primary-light) 40%, transparent);
      flex-shrink: 0;
    }
    .testimonial-author .name { font-weight: 700; font-size: 0.9rem; color: #f0ede6; }
    .testimonial-author .role { font-size: 0.75rem; color: #9a9a8c; margin-top: 0.15rem; }

    /* ─── CTA (redesigned 2026) ─── */
    .cta { position: relative; background: #0a0a0a; overflow: hidden; }
    .cta-panel {
      position: relative;
      max-width: 64rem;
      margin: 0 auto;
      padding: clamp(2.75rem, 6vw, 4.75rem) 1.75rem;
      border-radius: 2rem;
      text-align: center;
      overflow: hidden;
      isolation: isolate;
      border: 1px solid color-mix(in srgb, var(--brand-primary-light) 28%, transparent);
      background:
        radial-gradient(ellipse 80% 120% at 50% -10%, color-mix(in srgb, var(--brand-primary-light) 28%, transparent), transparent 60%),
        linear-gradient(160deg, color-mix(in srgb, var(--brand-primary) 22%, transparent), rgba(12,12,12,0.55));
      box-shadow: 0 40px 90px -34px color-mix(in srgb, var(--brand-primary) 55%, transparent);
    }
    .cta-panel::before {
      content: "";
      position: absolute; z-index: -1;
      width: 30rem; height: 30rem; border-radius: 50%;
      bottom: -16rem; inset-inline-start: 50%; transform: translateX(-50%);
      background: radial-gradient(circle, color-mix(in srgb, var(--brand-primary-light) 35%, transparent), transparent 70%);
      filter: blur(60px);
      animation: ctaPulse 8s ease-in-out infinite;
    }
    @keyframes ctaPulse { 0%,100%{opacity:0.6; transform:translateX(-50%) scale(1)} 50%{opacity:1; transform:translateX(-50%) scale(1.1)} }
    .cta-panel::after {
      content: "";
      position: absolute; inset: 0; z-index: -1;
      background-image:
        linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
      background-size: 48px 48px;
      mask-image: radial-gradient(ellipse 70% 70% at 50% 30%, #000 20%, transparent 70%);
      -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 30%, #000 20%, transparent 70%);
    }
    .cta-badge {
      display: inline-flex; align-items: center; gap: 0.5rem;
      padding: 0.45rem 1rem; margin-bottom: 1.5rem; border-radius: 999px;
      background: rgba(255,255,255,0.06);
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,0.14);
      font-size: 0.72rem; font-weight: 600; color: var(--brand-primary-soft, #cfeed4); letter-spacing: 0.05em;
    }
    .cta h2 { font-size: clamp(2rem, 5.5vw, 3.25rem); font-weight: 800; color: #fff; line-height: 1.2; margin-bottom: 1.25rem; }
    .cta h2 .grad {
      background: linear-gradient(100deg, var(--brand-primary-lighter, #8fd99a), var(--brand-primary-light, #46c45a));
      -webkit-background-clip: text; background-clip: text; color: transparent;
    }
    .cta p { color: rgba(255,255,255,0.78); font-size: 1.02rem; margin-bottom: 2.25rem; max-width: 38rem; margin-inline: auto; line-height: 1.85; }
    .cta-btns { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
    .btn-light {
      display: inline-flex; align-items: center; gap: 0.5rem;
      background: #fff; color: #14401c; font-weight: 700;
      padding: 1rem 2rem; border-radius: 0.75rem;
      box-shadow: 0 14px 34px -10px rgba(0,0,0,0.5);
      transition: transform 0.25s, box-shadow 0.25s;
      white-space: nowrap;
    }
    .btn-light:hover { transform: translateY(-3px); box-shadow: 0 22px 44px -10px rgba(0,0,0,0.55); }
    .btn-light svg {
      width: 1.125rem;
      height: 1.125rem;
      flex: 0 0 1.125rem;
      transition: transform 0.25s;
    }
    .btn-light:hover svg { transform: translateX(-4px); }
    .btn-light-outline {
      display: inline-flex; align-items: center; gap: 0.5rem;
      background: rgba(255,255,255,0.06); color: #fff; font-weight: 700;
      border: 1px solid rgba(255,255,255,0.35);
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      padding: 1rem 1.75rem; border-radius: 0.75rem;
      transition: background 0.25s, transform 0.25s, border-color 0.25s;
    }
    .btn-light-outline:hover { background: rgba(255,255,255,0.14); transform: translateY(-3px); border-color: rgba(255,255,255,0.6); }

    /* ─── CONTACT (redesigned 2026) ─── */
    .contact-grid { display: grid; gap: 1.5rem; }
    .contact-form {
      position: relative;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 1.5rem;
      padding: 2.25rem;
    }
    .contact-form h3 { font-size: 1.2rem; font-weight: 800; margin-bottom: 1.5rem; }
    .form-row { display: grid; gap: 1rem; margin-bottom: 1rem; }
    .field label { display: block; font-size: 0.75rem; color: #9a9a8c; margin-bottom: 0.45rem; }
    .field input, .field textarea {
      width: 100%;
      background: rgba(10,10,10,0.6);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 0.7rem;
      padding: 0.85rem 1rem;
      color: #f0ede6;
      font-family: inherit;
      font-size: 0.9rem;
      transition: border-color 0.3s, box-shadow 0.3s;
    }
    .field input::placeholder, .field textarea::placeholder { color: #6f6f63; }
    .field input:focus, .field textarea:focus {
      outline: none; border-color: var(--brand-primary-light, #46c45a);
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary-light) 15%, transparent);
    }
    .field textarea { resize: none; min-height: 8rem; }
    .contact-info-item {
      display: flex; gap: 1rem; align-items: center;
      padding: 1rem 1.1rem; margin-bottom: 1rem;
      border-radius: 1rem;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.07);
      transition: transform 0.35s, border-color 0.35s, background 0.35s;
    }
    .contact-info-item:hover { transform: translateX(-5px); border-color: color-mix(in srgb, var(--brand-primary-light) 40%, transparent); background: color-mix(in srgb, var(--brand-primary-light) 5%, transparent); }
    .icon-box {
      width: 2.9rem; height: 2.9rem;
      background: color-mix(in srgb, var(--brand-primary-light) 14%, transparent);
      border: 1px solid color-mix(in srgb, var(--brand-primary-light) 25%, transparent);
      border-radius: 0.8rem;
      display: flex; align-items: center; justify-content: center;
      color: var(--brand-primary-light, #46c45a); flex-shrink: 0;
    }
    .ci-label { font-size: 0.72rem; color: #9a9a8c; margin-bottom: 0.15rem; }
    .ci-value { font-size: 0.9rem; font-weight: 600; color: #f0ede6; }
    .ci-value-stack { display: flex; flex-direction: column; gap: 0.2rem; }
    .ci-value-stack .ci-value {
      display: block;
      text-decoration: none;
      transition: color 0.2s ease;
    }
    .ci-value-stack .ci-value:hover { color: var(--brand-primary-light, #46c45a); }
    .contact-info-item:not(a):not(.is-static) { cursor: default; }
    .contact-info-item:not(a):not(.is-static):hover { transform: none; border-color: rgba(255,255,255,0.07); background: rgba(255,255,255,0.03); }
    .hours-box {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 1rem;
      padding: 1.5rem;
      margin-bottom: 1rem;
    }
    .hours-box h4 { font-size: 0.9rem; font-weight: 700; margin-bottom: 1rem; display: flex; align-items: center; gap: 0.5rem; color: var(--brand-primary-light, #46c45a); }
    .hours-row { display: flex; justify-content: space-between; font-size: 0.875rem; margin-bottom: 0.7rem; }
    .hours-row:last-child { margin-bottom: 0; }
    .hours-row .closed {
      color: var(--brand-red, #e03540); font-size: 0.72rem; font-weight: 600;
      background: rgba(192,39,45,0.15); padding: 0.1rem 0.55rem; border-radius: 999px;
    }
    .map-placeholder {
      position: relative;
      height: 11rem;
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 1rem;
      overflow: hidden;
      background:
        radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--brand-primary-light) 18%, transparent), transparent 60%),
        linear-gradient(135deg, #1a1a1a, #111);
      display: flex; flex-direction: column; gap: 0.5rem;
      align-items: center; justify-content: center;
      color: #9a9a8c; font-size: 0.8rem;
    }
    .map-placeholder svg { color: var(--brand-primary-light, #46c45a); }
    .map-placeholder--link {
      text-decoration: none;
      cursor: pointer;
      transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
    }
    .map-placeholder--link:hover {
      border-color: color-mix(in srgb, var(--brand-primary-light) 35%, transparent);
      background:
        radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--brand-primary-light) 28%, transparent), transparent 60%),
        linear-gradient(135deg, #1f1f1f, #141414);
      transform: translateY(-1px);
    }

    /* FOOTER */
    /* ─── FOOTER (redesigned 2026) ─── */
    footer {
      position: relative;
      width: 100%;
      max-width: 100%;
      background: linear-gradient(180deg, #0b0b0b, #0f0f0f);
      border-top: 1px solid rgba(255,255,255,0.06);
      overflow: hidden;
      overflow-x: clip;
    }
    footer::before {
      content: "";
      position: absolute; top: 0; inset-inline: 0; height: 1px;
      background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand-primary-light) 60%, transparent), transparent);
    }
    footer::after {
      content: "";
      position: absolute; top: -10rem; inset-inline-start: 50%; transform: translateX(-50%);
      width: 40rem; height: 20rem; border-radius: 50%;
      background: radial-gradient(circle, color-mix(in srgb, var(--brand-primary) 12%, transparent), transparent 70%);
      filter: blur(40px); pointer-events: none;
    }
    .footer-grid { position: relative; display: grid; gap: 2.5rem; padding: 4rem 0 2.5rem; }
    .footer-grid p { font-size: 0.88rem; color: #9a9a8c; max-width: 22rem; line-height: 1.85; }
    .footer-socials { display: flex; gap: 0.65rem; margin-top: 1.5rem; flex-wrap: wrap; }
    .enzo-socials a {
      width: 2.4rem; height: 2.4rem; border-radius: 0.7rem;
      display: flex; align-items: center; justify-content: center;
      color: #cfccc2;
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.1);
      transition: all 0.3s;
    }
    .footer-socials a:hover { color: #fff; background: color-mix(in srgb, var(--brand-primary-light) 18%, transparent); border-color: color-mix(in srgb, var(--brand-primary-light) 45%, transparent); transform: translateY(-3px); }
    .enzo-socials a:hover { color: #fff; background: color-mix(in srgb, var(--brand-primary-light) 18%, transparent); border-color: color-mix(in srgb, var(--brand-primary-light) 45%, transparent); transform: translateY(-3px); }
    .footer-grid h4 {
      position: relative; font-size: 0.9rem; font-weight: 700; margin-bottom: 1.25rem; padding-bottom: 0.5rem;
    }
    .footer-grid h4::after {
      content: ""; position: absolute; bottom: 0; inset-inline-start: 0;
      width: 1.75rem; height: 2px; border-radius: 2px;
      background: linear-gradient(90deg, var(--brand-primary-light, #46c45a), transparent);
    }
    .footer-grid li { margin-bottom: 0.7rem; }
    .footer-grid li a {
      display: inline-flex; align-items: center; gap: 0.4rem;
      font-size: 0.88rem; color: #9a9a8c; transition: color 0.25s, gap 0.25s;
    }
    .footer-grid li a::before {
      content: "›"; color: var(--brand-primary-light, #46c45a); opacity: 0; transform: translateX(0.3rem);
      transition: opacity 0.25s, transform 0.25s;
    }
    .footer-grid li a:hover { color: #f0ede6; }
    .footer-grid li a:hover::before { opacity: 1; transform: translateX(0); }
    .footer-bottom {
      position: relative;
      border-top: 1px solid rgba(255,255,255,0.06);
      padding: 1.5rem 0;
      display: flex; flex-direction: column; gap: 0.75rem;
      align-items: center; text-align: center;
    }
    .footer-bottom p {
      font-size: 0.75rem;
      color: #6f6f63;
      max-width: 100%;
      overflow-wrap: anywhere;
    }

    @media (max-width: 767.98px) {
      .section-title { margin-bottom: 2.5rem; }
      #nav, #nav.scrolled { height: auto; min-height: 5rem; }
      #nav.scrolled { min-height: 4.5rem; }
      #nav .inner {
        direction: ltr;
        display: grid;
        grid-template-columns: 2.75rem 1fr 2.75rem;
        gap: 0.75rem;
        min-height: 5rem;
        height: auto;
        align-items: center;
      }
      #nav.scrolled .inner { min-height: 4.5rem; }
      .nav-locale-btn.locale-switcher--header-mobile {
        display: flex;
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
      }
      .logo {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
      }
      .menu-btn {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
      }
      .logo,
      .menu-btn { flex-shrink: 0; align-self: center; }
      .hero {
        min-height: auto;
        align-items: flex-start;
        padding: 6.5rem 0 calc(var(--section-gap) / 2);
      }
      .hero-grid { gap: 2rem; }
      .hero-visual { margin-top: 1.5rem; }
      .scroll-hint { display: none; }
      .badge,
      .hero-badge-wrap { max-width: 100%; }
      .badge span { white-space: normal; letter-spacing: 0.08em; font-size: 0.65rem; line-height: 1.4; }
      .hero-btns { flex-direction: column; width: 100%; }
      .hero-btns .btn-glow,
      .hero-btns .btn-ghost { width: 100%; justify-content: center; }
      .testimonials-grid { display: grid; gap: 1rem; }
      .about-img-wrap { margin-bottom: 0; }
      .about-badge { inset-inline-start: 1rem; bottom: 1rem; max-width: calc(100% - 2rem); }
      .contact-form,
      .contact-aside-panel { padding: 1.5rem; }
      .svc { min-height: 20rem; }
      footer .container { padding-inline: 1.5rem; }
      .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.75rem 1.25rem;
        padding: 3rem 0 2rem;
      }
      .footer-grid > div:first-child { grid-column: 1 / -1; }
      .footer-grid > div { min-width: 0; }
      .footer-grid p { max-width: none; }
      .footer-grid h4 { font-size: 0.85rem; margin-bottom: 1rem; }
      .footer-grid li a { font-size: 0.82rem; }
      .footer-bottom { padding: 1.25rem 0 2rem; }
    }

    @media (min-width: 768px) {
      #nav .inner { direction: inherit; }
      .nav-links, .nav-actions { display: flex; }
      .menu-btn { display: none; }
      .scroll-top-btn {
        width: 60px;
        height: 60px;
        border-radius: 1rem;
        inset-inline-end: 1.5rem;
        bottom: 1.5rem;
      }
      .scroll-top-btn__icon {
        width: 24px;
        height: 24px;
      }
      .stat-card {
        flex: 0 1 calc((100% - 3rem) / 4);
        max-width: calc((100% - 3rem) / 4);
      }
      .hero-grid { grid-template-columns: 1.05fr 0.95fr; gap: 4rem; }
      .hero-visual { display: block; }
      .services-grid { grid-template-columns: repeat(3, 1fr); }
      .pf-grid--masonry,
      .pf-grid--compact { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 13.5rem; }
      .pf-grid--compact { grid-auto-rows: 12rem; }
      .pf-grid--uniform-2 { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 14rem; }
      .pf-grid--uniform-3 { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 13.5rem; }
      .pf-grid--uniform-4 { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 12rem; }
      .pf-item { aspect-ratio: auto; height: 100%; }
      .pf-grid--masonry .pf-item.big,
      .pf-grid--compact .pf-item.big { grid-column: span 2; grid-row: span 2; }
      .pf-grid--masonry .pf-item.wide,
      .pf-grid--compact .pf-item.wide { grid-column: span 2; }
      .pf-grid--uniform-2 .pf-item.big,
      .pf-grid--uniform-2 .pf-item.wide,
      .pf-grid--uniform-3 .pf-item.big,
      .pf-grid--uniform-3 .pf-item.wide,
      .pf-grid--uniform-4 .pf-item.big,
      .pf-grid--uniform-4 .pf-item.wide { grid-column: span 1; grid-row: span 1; }
      .about-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
      .feature-grid { grid-template-columns: 1fr 1fr; }
      .process-grid { grid-template-columns: repeat(4, 1fr); }
      .testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
      .contact-grid { grid-template-columns: 3fr 2fr; }
      .contact-layout { grid-template-columns: 1.45fr 1fr; gap: 1.5rem; align-items: stretch; }
      .form-row { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
      .footer-bottom { flex-direction: row; justify-content: space-between; text-align: unset; }
    }

    @media (min-width: 992px) {
      .nav-links { gap: 2rem; }
      .nav-actions { gap: 1.25rem; }
    }
/* Services page */
.page-hero { position: relative; }
.page-hero .pf-chip { margin-bottom: 0.75rem; display: inline-block; }
.page-hero .svc-show-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-top: 1.5rem; }
.page-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 80% at 50% 0%, color-mix(in srgb, var(--brand-primary) 18%, transparent), transparent 70%); pointer-events: none; }
.page-hero .inner { position: relative; z-index: 1; max-width: 100%; width: 100%; text-align: center; }
.page-hero h1 { font-size: clamp(2.5rem, 6vw, 4.25rem); font-weight: 800; margin: 1rem auto 1.25rem; line-height: 1.12; max-width: 100%; }
.page-hero--compact h1 { margin: 0 auto 0.75rem; font-size: clamp(2rem, 5vw, 3rem); }
.page-hero--compact p.muted { font-size: 1rem; }
.page-hero h1 .grad { background: linear-gradient(100deg, var(--brand-primary-light, #46c45a), var(--brand-primary, #2d7a3a)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.page-hero p.muted { max-width: 52rem; margin-inline: auto; font-size: clamp(1rem, 2vw, 1.15rem); line-height: 1.85; }

/* Breadcrumb bar — below fixed nav */
.breadcrumb-bar {
  position: relative;
  margin-top: 5rem;
  padding: 1.35rem 0;
  background: rgba(255, 255, 255, 0.035);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.breadcrumb-nav { display: block; }
.breadcrumb-list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.4rem 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumb-item {
  display: inline-flex;
  align-items: center;
  font-size: 0.9rem;
  font-weight: 500;
  line-height: 1.4;
}
.breadcrumb-item:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 0.4rem;
  height: 0.4rem;
  margin-inline: 0.75rem;
  border: 0 solid #7a776b;
  border-inline-end-width: 1.5px;
  border-bottom-width: 1.5px;
  transform: rotate(-45deg);
  opacity: 0.85;
  flex-shrink: 0;
}
[dir="rtl"] .breadcrumb-item:not(:last-child)::after {
  border-bottom-width: 0;
  border-top-width: 1.5px;
}
.breadcrumb-item a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #d5d2c7;
  transition: color 0.2s;
}
.breadcrumb-item a:hover { color: var(--brand-primary-light, #46c45a); }
.breadcrumb-home { flex-shrink: 0; opacity: 0.9; }
.breadcrumb-item.is-current span {
  color: var(--brand-primary-light, #46c45a);
  font-weight: 700;
}
.pf-filters--center { justify-content: center; }
.svc-detail-grid { display: grid; gap: 1.5rem; grid-template-columns: 1fr; }
.svc-detail { display: grid; gap: 1.5rem; grid-template-columns: 1fr; padding: 1.5rem; border-radius: 1.25rem; border: 1px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.02); transition: border-color 0.35s, background 0.35s; }
.svc-detail:hover { border-color: color-mix(in srgb, var(--brand-primary-light) 35%, transparent); background: color-mix(in srgb, var(--brand-primary-light) 4%, transparent); }
.svc-detail-img { border-radius: 1rem; overflow: hidden; aspect-ratio: 16/10; border: 1px solid rgba(255,255,255,0.08); }
.svc-detail-img img { width: 100%; height: 100%; object-fit: cover; }
.svc-detail-body h3 { font-size: 1.35rem; font-weight: 800; margin-bottom: 0.75rem; }
.svc-detail-body p { color: #9a9a8c; line-height: 1.85; margin-bottom: 1rem; }
.svc-features { display: grid; gap: 0.5rem; margin-bottom: 1.25rem; list-style: none; }
.svc-features li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.9rem; color: #cfccc2; }
.svc-features li::before { content: "✓"; color: var(--brand-primary-light, #46c45a); font-weight: 700; flex-shrink: 0; }
@media (min-width: 768px) {
  .svc-detail-grid { grid-template-columns: 1fr 1fr; }
  .svc-detail { grid-template-columns: 1fr 1.1fr; align-items: center; padding: 2rem; }
  .svc-detail.reverse { direction: ltr; }
  .svc-detail.reverse .svc-detail-body { direction: rtl; }
}

/* About page */
.about-values-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
.about-value-card {
  padding: 1.75rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
  transition: border-color 0.35s, background 0.35s, transform 0.35s;
}
.about-value-card:hover {
  border-color: color-mix(in srgb, var(--brand-primary-light) 35%, transparent);
  background: color-mix(in srgb, var(--brand-primary-light) 4%, transparent);
  transform: translateY(-4px);
}
.about-value-ico {
  width: 3rem; height: 3rem;
  display: flex; align-items: center; justify-content: center;
  border-radius: 0.85rem;
  background: color-mix(in srgb, var(--brand-primary-light) 12%, transparent);
  color: var(--brand-primary-light, #46c45a);
  margin-bottom: 1.25rem;
}
.about-value-card h3 { font-size: 1.2rem; font-weight: 800; margin-bottom: 0.75rem; }
.about-value-card p { color: #9a9a8c; line-height: 1.85; font-size: 0.92rem; }
.about-content > p + p { margin-top: -1rem; margin-bottom: 2rem; }
@media (min-width: 768px) {
  .about-values-grid { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
}

/* Contact page */
.contact-layout {
  display: grid;
  gap: 1.5rem;
  align-items: start;
}
.contact-aside-panel {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 1.5rem;
  padding: 2.25rem;
  height: 100%;
}
.contact-aside { height: 100%; }
.contact-aside-title {
  font-size: 1.2rem;
  font-weight: 800;
  margin-bottom: 1.5rem;
}
.contact-aside-panel .contact-info-item.is-static {
  cursor: default;
}
.contact-aside-panel .contact-info-item.is-static:hover {
  transform: none;
  border-color: rgba(255,255,255,0.07);
  background: rgba(255,255,255,0.03);
}
.contact-aside-panel .hours-box {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.contact-aside-panel .map-placeholder {
  margin-bottom: 0;
}
.contact-socials-wrap {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.contact-socials-title {
  font-size: 0.82rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: #cfccc2;
}
.contact-socials.enzo-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.contact-socials.enzo-socials a {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.65rem;
}
.contact-form-lead { margin: -0.75rem 0 1.5rem; font-size: 0.9rem; line-height: 1.7; }
.contact-field-spaced { margin-bottom: 1rem; }
.contact-field-spaced-lg { margin-bottom: 1.5rem; }
.contact-form-status { min-height: 1.25rem; margin-bottom: 0.75rem; font-size: 0.88rem; line-height: 1.6; }
.contact-form-status.is-success { color: var(--brand-primary-light, #46c45a); }
.contact-form-status.is-error { color: var(--brand-red, #e03540); }
.contact-form-submit {
  width: 100%;
  justify-content: center;
  border: none;
  font-family: inherit;
  cursor: pointer;
}
.contact-form-submit:disabled { opacity: 0.65; cursor: not-allowed; transform: none; }
.field-optional { font-size: 0.68rem; color: #7a776b; font-weight: 400; }
.field select {
  width: 100%;
  background: rgba(10,10,10,0.6);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 0.7rem;
  padding: 0.85rem 1rem;
  color: #f0ede6;
  font-family: inherit;
  font-size: 0.9rem;
  transition: border-color 0.3s, box-shadow 0.3s;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239a9a8c' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 1rem center;
  padding-inline-start: 1rem;
  padding-inline-end: 2.25rem;
}
.field select:focus {
  outline: none; border-color: var(--brand-primary-light, #46c45a);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary-light) 15%, transparent);
}
.contact-hp {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      clip-path: inset(50%);
      white-space: nowrap;
      border: 0;
    }
@media (min-width: 768px) {
  .contact-layout { grid-template-columns: 1.45fr 1fr; gap: 1.5rem; align-items: stretch; }
}

/* Services contact sidebar */
.services-contact-aside { height: 100%; }
.services-contact-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 1.5rem;
  padding: 2rem;
  height: 100%;
}
.services-contact-card h3 {
  font-size: 1.25rem;
  font-weight: 800;
  margin-bottom: 1rem;
}
.services-contact-card .cta-badge { margin-bottom: 1.25rem; }
.services-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.25rem;
}
.services-contact-actions a {
  flex: 1 1 calc(50% - 0.3rem);
  min-width: 0;
  justify-content: center;
  padding: 0.62rem 0.9rem;
  border-radius: 0.6rem;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}
.services-contact-actions .btn-light-outline {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.22);
}
.services-contact-actions .btn-light-outline:hover {
  background: rgba(255,255,255,0.1);
  transform: translateY(-2px);
  border-color: rgba(255,255,255,0.38);
}
.services-contact-actions .btn-light-outline svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}
.services-contact-actions .btn-outline {
  border-color: rgba(255,255,255,0.14);
  color: #d5d2c7;
}
.services-contact-actions .btn-outline:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.28);
  color: #f0ede6;
}

/* Service cards (list) */
.svc-cards-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: 1fr;
}
.svc-card {
  display: grid;
  gap: 0;
  border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.02);
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.35s, background 0.35s, transform 0.35s;
}
.svc-card:hover {
  border-color: color-mix(in srgb, var(--brand-primary-light) 35%, transparent);
  background: color-mix(in srgb, var(--brand-primary-light) 4%, transparent);
  transform: translateY(-4px);
  color: inherit;
}
.svc-card__img { aspect-ratio: 3/2; overflow: hidden; }
.svc-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.22,1,0.36,1); }
.svc-card:hover .svc-card__img img { transform: scale(1.06); }
.svc-card__body { padding: 1.35rem 1.5rem 1.5rem; }
.svc-card__body h3 { font-size: 1.15rem; font-weight: 800; margin-bottom: 0.5rem; }
.svc-card__body p { color: #9a9a8c; font-size: 0.9rem; line-height: 1.75; margin-bottom: 0.85rem; }
.svc-card__link {
  display: inline-flex; align-items: center; gap: 0.35rem;
  font-size: 0.85rem; font-weight: 700; color: var(--brand-primary-light, #46c45a);
}
.svc-card__link svg {
  width: 1rem;
  height: 1rem;
  flex: 0 0 1rem;
}
@media (min-width: 640px) {
  .svc-cards-grid[data-cols="1"] { grid-template-columns: 1fr; }
  .svc-cards-grid[data-cols="2"],
  .svc-cards-grid[data-cols="3"],
  .svc-cards-grid[data-cols="4"] { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .svc-cards-grid[data-cols="1"] { grid-template-columns: 1fr; gap: 1.5rem; }
  .svc-cards-grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .svc-cards-grid[data-cols="3"] { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
  .svc-cards-grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
}

/* Service detail */
.svc-show-hero { position: relative; min-height: 22rem; display: flex; align-items: flex-end; }
.svc-show-hero__media { position: absolute; inset: 0; }
.svc-show-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.svc-show-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,9,0.95) 0%, rgba(10,10,9,0.4) 55%, rgba(10,10,9,0.2) 100%);
}
.svc-show-hero__content { position: relative; z-index: 1; padding: 4rem 0 3rem; max-width: 42rem; }
.svc-show-hero__content h1 { font-size: clamp(1.85rem, 4vw, 2.75rem); font-weight: 800; margin-bottom: 0.75rem; }
.svc-show-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.svc-show-grid { display: grid; gap: 2rem; align-items: start; }
.svc-show-main p { color: #cfccc2; line-height: 1.9; margin-bottom: 1.25rem; font-size: 1rem; }
.svc-show-aside__card {
  padding: 1.75rem; border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
  position: sticky; top: 6rem;
}
.svc-show-aside__card h2 { font-size: 1.15rem; font-weight: 800; margin-bottom: 1rem; }

/* Service content rows (alternating image + text, full width) */
.svc-lines { display: flex; flex-direction: column; gap: 0; width: 100%; }
.svc-line {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  min-height: 0;
  width: 100%;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.svc-line:last-child { border-bottom: 1px solid rgba(255,255,255,0.06); }
.svc-line__media {
  position: relative;
  overflow: hidden;
  min-height: 16rem;
}
.svc-line__media img {
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s ease;
}
.svc-line:hover .svc-line__media img { transform: scale(1.03); }
.svc-line__badge {
  position: absolute;
  top: 1rem;
  inset-inline-start: 1rem;
  padding: 0.35rem 0.85rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--brand-primary-light, #46c45a);
  color: #0a0a09;
  border-radius: 999px;
}
.svc-line__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem 1.25rem;
  gap: 0.75rem;
}
.svc-line__title {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0;
}
.svc-line__subtitle {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--brand-red, #e03540);
  margin: 0;
  line-height: 1.5;
}
.svc-line__text {
  color: #9a9a8c;
  line-height: 1.85;
  margin: 0;
  font-size: 0.98rem;
  max-width: 36rem;
}
.svc-show-gallery { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.svc-show-gallery__item { margin: 0; border-radius: 1rem; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); }
.svc-show-gallery__item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.svc-show-gallery__item figcaption { padding: 0.65rem 0.85rem; font-size: 0.82rem; color: #9a9a8c; background: rgba(255,255,255,0.02); }
.gallery-lightbox__trigger {
  display: block; width: 100%; padding: 0; border: none; background: none;
  cursor: zoom-in; position: relative; color: inherit;
}
.gallery-lightbox__trigger img { transition: transform 0.35s ease, opacity 0.35s ease; }
.gallery-lightbox__trigger:hover img,
.gallery-lightbox__trigger:focus-visible img { transform: scale(1.03); opacity: 0.92; }
.gallery-lightbox__trigger:focus-visible { outline: 2px solid var(--brand-highlight, #c9a962); outline-offset: 2px; }
.gallery-lightbox__zoom {
  position: absolute; inset: auto auto 0.75rem 0.75rem;
  width: 2.25rem; height: 2.25rem; border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(10,10,9,0.72); color: #eceae3;
  opacity: 0; transform: translateY(4px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}
.gallery-lightbox__trigger:hover .gallery-lightbox__zoom,
.gallery-lightbox__trigger:focus-visible .gallery-lightbox__zoom { opacity: 1; transform: translateY(0); }
body.enzo-lightbox-active { overflow: hidden; }
.enzo-lightbox {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 1.25rem;
  background: rgba(8,8,7,0.94);
  backdrop-filter: blur(10px);
  opacity: 0; visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.enzo-lightbox--open { opacity: 1; visibility: visible; }
.enzo-lightbox__stage {
  max-width: min(92vw, 72rem);
  max-height: calc(100vh - 4rem);
  display: flex; flex-direction: column; align-items: center; gap: 0.85rem;
}
.enzo-lightbox__img {
  max-width: 100%; max-height: calc(100vh - 7rem);
  width: auto; height: auto; object-fit: contain;
  border-radius: 0.75rem;
  box-shadow: 0 24px 64px rgba(0,0,0,0.45);
}
.enzo-lightbox__caption {
  margin: 0; max-width: 42rem; text-align: center;
  font-size: 0.92rem; line-height: 1.6; color: #cfccc2;
}
.enzo-lightbox__close,
.enzo-lightbox__nav {
  position: absolute; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: #eceae3; background: rgba(255,255,255,0.08);
  transition: background 0.2s ease, transform 0.2s ease;
}
.enzo-lightbox__close:hover,
.enzo-lightbox__nav:hover { background: rgba(255,255,255,0.16); }
.enzo-lightbox__close:focus-visible,
.enzo-lightbox__nav:focus-visible {
  outline: 2px solid var(--brand-highlight, #c9a962); outline-offset: 2px;
}
.enzo-lightbox__close {
  top: 1rem; inset-inline-end: 1rem;
  width: 2.75rem; height: 2.75rem; border-radius: 999px;
}
.enzo-lightbox__nav {
  top: 50%; transform: translateY(-50%);
  width: 3rem; height: 3rem; border-radius: 999px;
}
.enzo-lightbox__nav--prev { left: 1rem; right: auto; }
.enzo-lightbox__nav--next { right: 1rem; left: auto; }
.enzo-lightbox__nav:hover { transform: translateY(-50%) scale(1.05); }
@media (max-width: 640px) {
  .enzo-lightbox { padding: 0.75rem; }
  .enzo-lightbox__nav { width: 2.5rem; height: 2.5rem; }
  .enzo-lightbox__close { top: 0.75rem; inset-inline-end: 0.75rem; }
  .enzo-lightbox__nav--prev { left: 0.5rem; }
  .enzo-lightbox__nav--next { right: 0.5rem; }
}
@media (min-width: 768px) {
  .svc-show-grid { grid-template-columns: 1.4fr 1fr; gap: 2.5rem; }
  .svc-show-gallery { grid-template-columns: repeat(3, 1fr); }
  .svc-show-hero { min-height: 28rem; }
}
@media (min-width: 992px) {
  .svc-line {
    grid-template-columns: 1fr 1fr;
    min-height: min(540px, 70vh);
  }
  .svc-line__media { min-height: 100%; }
  .svc-line__media img { min-height: 100%; position: absolute; inset: 0; }
  .svc-line--reverse .svc-line__media { order: 2; }
  .svc-line--reverse .svc-line__body { order: 1; }
  .svc-line__body {
    padding: clamp(2rem, 5vw, 3.5rem) clamp(2rem, 6vw, 4.5rem);
    background: rgba(255,255,255,0.02);
  }
  .svc-line:nth-child(even) .svc-line__body {
    background: rgba(255,255,255,0.035);
  }
}

/* Project detail */
.pf-item--link { text-decoration: none; color: inherit; cursor: pointer; }
.pf-grid--compact { grid-auto-rows: 12rem; }
.proj-show-hero,
.svc-show-hero {
  padding-bottom: calc(var(--section-gap) / 2);
}
.proj-show-hero { position: relative; min-height: 20rem; display: flex; align-items: flex-end; }
.proj-show-hero__media { position: absolute; inset: 0; }
.proj-show-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.proj-show-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,9,0.95) 0%, rgba(10,10,9,0.35) 60%, rgba(10,10,9,0.15) 100%);
}
.proj-show-hero__content { position: relative; z-index: 1; padding: 3.5rem 0 2.5rem; }
.proj-show-hero__chip { margin-bottom: 0.75rem; display: inline-block; }
.proj-show-hero__content h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 0.5rem; }
.proj-show-info { padding: 0 0 1rem; margin-top: -1rem; position: relative; z-index: 2; }
.proj-show-info__grid {
  display: grid; gap: 0.75rem;
  grid-template-columns: repeat(2, 1fr);
  padding: 1.25rem; border-radius: 1.25rem;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(18,18,16,0.95);
  backdrop-filter: blur(8px);
}
.proj-show-info__item { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.5rem 0.25rem; }
.proj-show-info__label { font-size: 0.75rem; color: #9a9a8c; text-transform: uppercase; letter-spacing: 0.04em; }
.proj-show-info__value { font-size: 0.95rem; font-weight: 700; color: #eceae3; }
.proj-show-body__inner { max-width: 46rem; }
.proj-show-body__inner h2 { font-size: 1.5rem; font-weight: 800; margin-bottom: 1rem; }
.proj-show-body__inner p { color: #cfccc2; line-height: 1.9; margin-bottom: 1rem; }
.proj-show-gallery { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); }
.proj-show-gallery__item { margin: 0; border-radius: 1rem; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); }
.proj-show-gallery__item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.proj-show-gallery__item figcaption { padding: 0.65rem 0.85rem; font-size: 0.82rem; color: #9a9a8c; }
@media (min-width: 768px) {
  .proj-show-info__grid { grid-template-columns: repeat(5, 1fr); }
  .proj-show-gallery { grid-template-columns: repeat(3, 1fr); }
  .proj-show-hero { min-height: 26rem; }
}

/* Before / after slider */
.ba-slider { width: 100%; max-width: none; margin: 0; border-radius: 1.25rem; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); user-select: none; }
.ba-slider__inner { position: relative; aspect-ratio: 16/10; cursor: ew-resize; }
.ba-slider__after, .ba-slider__before { width: 100%; height: 100%; object-fit: cover; display: block; }
.ba-slider__before-wrap { position: absolute; inset: 0 auto 0 0; width: 50%; overflow: hidden; z-index: 2; }
.ba-slider__before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; max-width: none; }
.ba-slider__after { position: relative; z-index: 1; }
.ba-slider__handle {
  position: absolute; top: 0; bottom: 0; left: 50%; width: 3px;
  background: #fff; transform: translateX(-50%); z-index: 3;
}
.ba-slider__knob {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  width: 2.5rem; height: 2.5rem; border-radius: 50%;
  background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,0.35);
  border: 3px solid color-mix(in srgb, var(--brand-primary-light) 80%, transparent);
}
.ba-slider__tag {
  position: absolute; top: 1rem; z-index: 2;
  padding: 0.35rem 0.75rem; border-radius: 999px; font-size: 0.75rem; font-weight: 700;
  background: rgba(0,0,0,0.55); backdrop-filter: blur(4px);
}
.ba-slider__tag--before { right: 1rem; }
.ba-slider__tag--after { left: 1rem; }

/* Accessibility */
.skip-link {
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  padding: 0.75rem 1.25rem;
  background: var(--brand-primary, #2d7a3a);
  color: #fff;
  font-weight: 600;
  border-radius: 0 0 0.5rem 0.5rem;
  text-decoration: none;
  white-space: nowrap;
}
.skip-link:focus {
  top: 0;
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary-light) 35%, transparent);
}
a:focus-visible,
button:focus-visible,
.pf-filter:focus-visible,
.menu-btn:focus-visible,
.pf-item--link:focus-visible,
.svc-card:focus-visible,
.btn-glow:focus-visible,
.btn-light:focus-visible,
.btn-ghost:focus-visible,
.nav-links a:focus-visible,
.nav-cta:focus-visible,
.nav-phone:focus-visible,
.mobile-menu a:focus-visible,
.footer-links a:focus-visible,
.socials a:focus-visible,
.breadcrumb a:focus-visible {
  outline: 2px solid var(--brand-primary-light, #46c45a);
  outline-offset: 3px;
}
.ba:focus-visible,
.ba-slider:focus-visible,
[data-ba-slider]:focus-visible {
  outline: 2px solid var(--brand-primary-light, #46c45a);
  outline-offset: 4px;
}
.fa-icon { display: inline-flex; align-items: center; justify-content: center; }
.fa-icon svg { display: block; }
