:root {
        --bg: #f3efe4; --surface: #fffdf8; --ink: #1c2b24; --ink-soft: #5a6b62;
        --primary: #1b4d3e; --primary-ink: #ffffff; --accent: #b08a3e; --accent-soft: #ebe4cc;
        --line: #d5d0bc; --whatsapp: #1b4d3e; --whatsapp-ink: #f3efe4;
        --call: #fffdf8; --call-ink: #1b4d3e; --call-line: #1b4d3e;
        --radius: 18px; --header-h: 56px;
        --mark: var(--primary); --mark-window: var(--surface);
        color-scheme: light;
      }
      html[data-theme="dark"] {
        --bg: #14110e; --surface: #1f1b17; --ink: #f2ebe3; --ink-soft: #b4a89c;
        --primary: #d4926a; --primary-ink: #14110e; --accent: #e0c07a; --accent-soft: #2a2218;
        --line: #332e28; --whatsapp: #d4926a; --whatsapp-ink: #14110e;
        --call: #1f1b17; --call-ink: #d4926a; --call-line: #d4926a;
        --mark: var(--ink); --mark-window: var(--bg);
        color-scheme: dark;
      }
      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; overflow-x: clip; scrollbar-gutter: stable; }
      body {
        margin: 0;
        background:
          radial-gradient(1200px 500px at 10% -10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%),
          radial-gradient(900px 420px at 100% 0%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 50%),
          var(--bg);
        color: var(--ink);
        font-family: "Noto Sans Armenian", "Noto Sans", "DejaVu Sans", sans-serif;
        line-height: 1.65; -webkit-font-smoothing: antialiased;
      }

      h1, h2, h3 {
        font-family: "Noto Serif Armenian", "Noto Serif", "DejaVu Serif", serif;
        color: var(--ink); line-height: 1.25; margin: 0;
      }
      .mono { font-family: ui-monospace, Menlo, Consolas, monospace; letter-spacing: 0.06em; }
      a { color: inherit; }
      :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
      .skip-link {
        position: absolute; left: 12px; top: 12px; z-index: 100;
        padding: 10px 14px; border-radius: 10px; background: var(--primary); color: var(--primary-ink);
        text-decoration: none; font-weight: 600; transform: translateY(-160%);
      }
      .skip-link:focus, .skip-link:focus-visible { transform: translateY(0); }
      .back-to-top {
        position: fixed; right: 16px; bottom: 88px; z-index: 55;
        min-width: 48px; min-height: 48px; padding: 10px 14px; border-radius: 999px;
        background: var(--primary); color: var(--primary-ink); text-decoration: none;
        font-size: 13px; font-weight: 600; box-shadow: 0 8px 24px color-mix(in srgb, var(--ink) 18%, transparent);
      }
      .back-to-top[hidden] { display: none !important; }
      @media (min-width: 881px) {
        .back-to-top { bottom: 24px; }
      }
      .wrap { max-width: 880px; margin: 0 auto; padding: 0 20px; }
      header.site {
        position: fixed; top: 0; left: 0; right: 0; z-index: 60;
        background: color-mix(in srgb, var(--surface) 92%, transparent);
        backdrop-filter: blur(10px); border-bottom: 1px solid var(--line);
      }
      .site-header-spacer { height: var(--header-h); }
      header.site .bar {
        display: flex; align-items: center; justify-content: space-between;
        gap: 10px; height: var(--header-h); min-width: 0;
      }
      .brand {
        display: flex; flex-direction: row; align-items: center; gap: 10px;
        text-decoration: none; min-width: 0; flex: 1; color: inherit;
      }
      .brand-mark { width: 36px; height: 36px; flex-shrink: 0; color: var(--mark); }
      .brand-mark .windows { fill: var(--mark-window); }
      .brand-copy {
        display: flex; flex-direction: column; justify-content: center;
        line-height: 1.15; min-width: 0;
      }
      .brand strong {
        font-family: "Noto Serif Armenian", "Noto Serif", serif; font-size: 15px;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
      }
      .brand-sub {
        font-size: 11px; color: var(--ink-soft);
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
      }
      .lang-switch {
        display: inline-flex; align-items: center; gap: 2px; padding: 3px;
        border: 1px solid var(--line); border-radius: 999px; background: var(--surface); flex-shrink: 0;
      }
      .lang-switch a {
        border: 0; background: transparent; color: var(--ink-soft); text-decoration: none;
        font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 11px; font-weight: 500;
        letter-spacing: 0.04em; padding: 7px 9px; border-radius: 999px; cursor: pointer; line-height: 1;
      }
      .lang-switch a:hover { color: var(--ink); }
      .lang-switch a.is-active { background: var(--primary); color: var(--primary-ink); }
      .header-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
      .header-actions > .lang-switch { order: 2; }
      .theme-toggle { order: 3; }
      .header-actions > .btn-call { order: 4; }
      .nav-toggle {
        display: grid; order: 1; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line);
        background: var(--surface); place-items: center; cursor: pointer; color: var(--ink); padding: 0; flex-shrink: 0;
      }
      .nav-toggle svg { width: 20px; height: 20px; grid-area: 1 / 1; }
      .nav-toggle .icon-close { opacity: 0; }
      body.is-nav-open .nav-toggle .icon-open { opacity: 0; }
      body.is-nav-open .nav-toggle .icon-close { opacity: 1; }
      .site-nav {
        position: fixed; top: var(--header-h); left: 0; right: 0; bottom: 0; z-index: 55;
        margin: 0; border: 0; background: rgba(10, 14, 20, 0.45); overflow: auto;
        -webkit-overflow-scrolling: touch; overscroll-behavior: contain; touch-action: pan-y;
        visibility: hidden; pointer-events: none; opacity: 0;
        transition: opacity 0.16s ease, visibility 0.16s ease;
      }
      body.is-nav-open .site-nav { visibility: visible; pointer-events: auto; opacity: 1; }
      /* Menu open: do NOT set overflow:hidden (hides scrollbar). JS blocks page scroll. */
      html.is-nav-open {
        overscroll-behavior: none;
      }
      .site-nav-inner {
        padding-top: 8px; padding-bottom: 32px; display: flex; justify-content: flex-end; align-items: flex-start;
      }
      .nav-lang { display: none; }
      .site-nav-panel {
        width: min(320px, calc(100% - 16px)); margin-right: 8px;
        background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
        box-shadow: 0 4px 10px -6px rgba(0, 0, 0, 0.2), 0 22px 44px -28px rgba(0, 0, 0, 0.55);
        padding: 6px; max-height: none; overflow: visible;
      }
      .site-nav-links { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 1px; }
      .site-nav-links a {
        display: block; padding: 11px 14px; border-radius: 11px;
        font-size: 14px; font-weight: 500; text-decoration: none; color: var(--ink); line-height: 1.35;
      }
      .site-nav-links a:hover {
        background: color-mix(in srgb, var(--accent-soft) 75%, var(--surface)); color: var(--primary);
      }
      .site-nav-links a[aria-current="page"] {
        background: color-mix(in srgb, var(--primary) 14%, var(--surface)); color: var(--primary); font-weight: 600;
      }
      .site-nav-links a.nav-express,
      .related-card.nav-express {
        color: var(--accent); font-weight: 700;
      }
      .site-nav-links a.nav-express::before,
      .related-card.nav-express::before {
        content: "";
        display: inline-block;
        width: 0.95em;
        height: 0.95em;
        margin-right: 0.4em;
        vertical-align: -0.12em;
        background-color: currentColor;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
      }
      .site-nav-links a.nav-express:hover,
      .related-card.nav-express:hover { color: var(--accent); }
      .theme-toggle {
        width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line);
        background: var(--surface); display: grid; place-items: center; cursor: pointer; color: var(--ink); flex-shrink: 0;
      }
      .theme-toggle svg { width: 18px; height: 18px; }
      .theme-toggle .sun { display: none; }
      html[data-theme="dark"] .theme-toggle .sun { display: block; }
      html[data-theme="dark"] .theme-toggle .moon { display: none; }
      .btn {
        display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14px;
        padding: 10px 16px; border-radius: 999px; text-decoration: none; border: 1px solid transparent; white-space: nowrap;
      }
      .btn svg { width: 16px; height: 16px; }
      .btn-call { background: var(--call); color: var(--call-ink); border-color: var(--call-line); }
      .btn-whatsapp { background: var(--whatsapp); color: var(--whatsapp-ink); }
      .btn-lg { padding: 14px 20px; font-size: 15px; }
      .crumb {
        display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
        padding: 22px 0 0; font-size: 13px; color: var(--ink-soft);
      }
      .crumb a { color: var(--primary); text-decoration: none; }
      .hero-svc { padding: 28px 0 10px; }
      .eyebrow { display: inline-block; font-size: 11px; color: var(--accent); margin-bottom: 12px; font-weight: 600; }
      .hero-svc h1 { font-size: clamp(32px, 5vw, 48px); margin-bottom: 14px; }
      .lead { font-size: 18px; color: var(--ink-soft); margin: 0 0 22px; max-width: 48ch; }
      .cta-row { display: flex; flex-wrap: wrap; gap: 10px; }
      .seo-tags {
        display: flex; flex-wrap: wrap; gap: 6px;
        list-style: none; margin: 16px 0 0; padding: 0;
        max-width: 56ch;
      }
      .seo-tags li {
        font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
        font-size: 11px; font-weight: 500; color: var(--ink-soft);
        border: 1px solid var(--line); border-radius: 999px;
        padding: 4px 10px;
        background: color-mix(in srgb, var(--surface) 70%, transparent);
      }
      section.block { padding: 34px 0; }
      section.block h2 { font-size: 26px; margin-bottom: 16px; }
      section.block p { margin: 0 0 14px; }
      section.block a:not(.related-card):not(.btn):not(.seo-tags a) { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
      .check-list a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
      .check-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
      .check-list li {
        position: relative; padding: 12px 14px 12px 40px;
        background: color-mix(in srgb, var(--surface) 88%, transparent);
        border: 1px solid var(--line); border-radius: 14px;
      }
      .check-list li::before {
        content: ""; position: absolute; left: 14px; top: 18px;
        width: 10px; height: 10px; border-radius: 50%; background: var(--accent);
      }
      .result-stats {
        display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px; margin: 8px 0 0;
      }
      .result-stat {
        padding: 16px 14px; border: 1px solid var(--line); border-radius: 16px;
        background: var(--surface);
      }
      .result-stat strong {
        display: block; font-size: clamp(20px, 3vw, 28px); letter-spacing: 0.01em; margin-bottom: 6px;
      }
      .result-stat span { display: block; font-size: 13px; color: var(--ink-soft); line-height: 1.4; }
      @media (max-width: 800px) {
        .result-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      }
      .steps { display: grid; gap: 14px; }
      .step {
        display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 16px;
        border: 1px solid var(--line); border-radius: 16px; background: var(--surface);
      }
      .step-num { color: var(--accent); font-size: 13px; padding-top: 4px; }
      .step h3 { font-size: 18px; margin-bottom: 6px; }
      .step p { margin: 0; color: var(--ink-soft); }
      .related { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
      .related-card {
        display: block; padding: 18px; border-radius: 16px; border: 1px solid var(--line);
        background: var(--surface); text-decoration: none; font-weight: 600;
      }
      .related-card:hover { border-color: var(--accent); }
      .faq-item {
        border: 1px solid var(--line); border-radius: 14px; background: var(--surface);
        margin-bottom: 10px; overflow: hidden;
      }
      .faq-item summary {
        list-style: none; cursor: pointer; display: flex; justify-content: space-between;
        gap: 12px; padding: 16px 18px; font-weight: 600;
      }
      .faq-item summary::-webkit-details-marker { display: none; }
      .faq-item .plus { color: var(--accent); }
      .faq-item p { margin: 0; padding: 0 18px 16px; color: var(--ink-soft); }
      .faq-item a {
        color: var(--primary);
        text-decoration: underline;
        text-underline-offset: 2px;
      }
      .final-cta {
        padding: 28px; border-radius: 22px; background: var(--primary); color: var(--primary-ink);
      }
      .final-cta h2 { color: inherit; font-size: 24px; margin-bottom: 8px; }
      .final-cta p { color: color-mix(in srgb, var(--primary-ink) 85%, transparent); margin: 0 0 18px; }
      .final-cta .btn-call { background: #fffdf8; color: #1b4d3e; border-color: #fffdf8; }
      .final-cta .btn-whatsapp { background: #0f241c; color: #f3efe4; }
      html[data-theme="dark"] .final-cta .btn-call { background: #f2ebe3; color: #14110e; border-color: #f2ebe3; }
      html[data-theme="dark"] .final-cta .btn-whatsapp { background: #1a1612; color: #f2ebe3; }
      .price-table {
        width: 100%; border-collapse: collapse; font-size: 15px;
        background: var(--surface); border: 1px solid var(--line); border-radius: 16px; overflow: hidden;
      }
      .price-table th, .price-table td {
        text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line);
      }
      .price-table th { background: color-mix(in srgb, var(--accent-soft) 55%, var(--surface)); font-size: 13px; }
      .price-table tr:last-child td { border-bottom: 0; }
      .price-note { font-size: 14px; color: var(--ink-soft); }
      .consult-price {
        margin: 18px 0 0;
        color: #c45454;
        font-size: clamp(24px, 4.4vw, 36px);
        font-weight: 800;
        letter-spacing: 0.01em;
        line-height: 1.25;
      }
      html[data-theme="dark"] .consult-price { color: #e07070; }
      .consult-price-on-dark { margin-top: 20px; color: #1f3d5c; }
      html[data-theme="dark"] .consult-price-on-dark { color: var(--primary-ink); }
      .tax-calc {
        display: grid;
        gap: 16px;
        padding: 20px;
        border: 1px solid var(--line);
        border-radius: 18px;
        background: var(--surface);
      }
      .tax-calc-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px 16px;
        align-items: end;
      }
      .tax-calc label {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        gap: 6px;
        min-width: 0;
        font-size: 13px;
        font-weight: 600;
        line-height: 1.35;
      }
      .tax-calc input,
      .tax-calc select {
        width: 100%;
        height: 44px;
        padding: 0 12px;
        border: 1px solid var(--line);
        border-radius: 12px;
        background: var(--bg);
        color: var(--ink);
        font: inherit;
      }
      .tax-calc select { cursor: pointer; }
      .tax-calc > .btn { justify-self: start; }
      .tax-calc-out {
        display: grid;
        gap: 6px;
        padding: 14px 16px;
        border-radius: 14px;
        background: color-mix(in srgb, var(--accent-soft) 70%, var(--surface));
      }
      .tax-calc-out strong { font-size: 18px; }
      .tax-calc-out span { color: var(--ink-soft); font-size: 14px; }
      .tax-calc-note { margin: 0; font-size: 13px; color: var(--ink-soft); }
      @media (max-width: 640px) {
        .tax-calc-grid { grid-template-columns: 1fr; }
      }
      footer.site { border-top: 1px solid var(--line); padding: 28px 0 40px; margin-top: 20px; }
      footer.site .wrap {
        display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
        font-size: 13px; color: var(--ink-soft);
      }
      footer address { font-style: normal; }
      .foot-links { display: flex; gap: 14px; }
      .foot-links a { text-decoration: none; color: var(--primary); }
      .mobile-bar { display: none; }
      @media (max-width: 720px) {
        :root { --header-h: 52px; }
        .brand-mark { width: 30px; height: 30px; }
        .brand-sub { display: none; }
        header.site .bar { padding-left: 12px; padding-right: 12px; }
        .header-actions { gap: 6px; }
        .header-actions > .lang-switch,
        header.site .btn-call { display: none; }
        .theme-toggle { order: 2; }
        .nav-toggle { order: 3; }
        .site-nav { background: var(--surface); overflow: auto; }
        body.is-nav-open .site-nav { opacity: 1; }
        .site-nav-inner {
          display: block; padding: 16px 20px 100px; justify-content: initial;
        }
        .site-nav-panel {
          width: auto; margin: 0; border: 0; border-radius: 0; box-shadow: none; padding: 0;
          max-height: none; overflow: visible; background: transparent;
        }
        .nav-lang { display: inline-flex; margin: 0 0 18px; }
        .site-nav-links { display: flex; flex-direction: column; gap: 0; }
        .site-nav-links a {
          padding: 14px 0; border-radius: 0; border-bottom: 1px solid var(--line); font-size: 16px;
        }
        .site-nav-links a:hover { background: transparent; }
        .site-nav-links a[aria-current="page"] { background: transparent; }
        .site-nav-links a:last-child { border-bottom: 0; }
        .mobile-bar {
          display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
          border-top: 1px solid var(--line); background: var(--surface); padding: 10px 12px; gap: 10px;
        }
        .mobile-bar .btn { flex: 1; justify-content: center; }
        footer.site .wrap { padding-bottom: 110px; }
      }
      @media (max-width: 380px) {
        .theme-toggle,
        .nav-toggle { width: 36px; height: 36px; }
        .header-actions { gap: 4px; }
        header.site .bar { padding-left: 10px; padding-right: 10px; }
      }
