: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;
        --shadow: 0 12px 30px -18px rgba(28, 43, 36, 0.35);
        --radius: 18px;
        --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;
        --shadow: 0 20px 40px -20px rgba(0, 0, 0, 0.6);
        --mark: var(--ink);
        --mark-window: var(--bg);
        color-scheme: dark;
      }

      * {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
      }

      @media (prefers-reduced-motion: reduce) {
        html {
          scroll-behavior: auto;
        }
        * {
          animation-duration: 0.001ms !important;
          transition-duration: 0.001ms !important;
        }
      }

      body {
        margin: 0;
        background: var(--bg);
        color: var(--ink);
        font-family: "Noto Sans Armenian", "Noto Sans", "DejaVu Sans", sans-serif;
        line-height: 1.65;
        -webkit-font-smoothing: antialiased;
        transition:
          background 0.25s ease,
          color 0.25s ease;
        padding-bottom: 0;
      }

      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, "Cascadia Code", "Segoe UI Mono", 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;
        }
      }

      :root {
        --header-h: 56px;
      }
      html {
        overflow-x: clip;
        scrollbar-gutter: stable;
      }
      .wrap {
        max-width: 880px;
        margin: 0 auto;
        padding: 0 20px;
      }

      /* Header always fixed — avoids sticky/overflow jump when menu opens */
      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;
        min-width: 0;
        flex: 1;
        text-decoration: none;
        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 button,
      .lang-switch a {
        border: 0;
        background: transparent;
        color: var(--ink-soft);
        font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;
        font-size: 11px;
        font-weight: 500;
        letter-spacing: 0.04em;
        padding: 7px 9px;
        border-radius: 999px;
        cursor: pointer;
        line-height: 1;
        text-decoration: none;
        transition: background 0.15s ease, color 0.15s ease;
      }
      .lang-switch button:hover,
      .lang-switch a:hover {
        color: var(--ink);
      }
      .lang-switch button.is-active,
      .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;
        /* Always a dark scrim (not var(--ink) — that washes out in dark mode) */
        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 (that hides the scrollbar).
         Background scroll is blocked in JS via wheel/touch handlers. */
      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;
        /* No max-height — short list must not get an inner scrollbar */
        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,
      .svc-links a.nav-express,
      .related-card.nav-express {
        color: var(--accent);
        font-weight: 700;
      }
      .site-nav-links a.nav-express::before,
      .svc-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,
      .svc-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;
        transition:
          transform 0.15s ease,
          box-shadow 0.15s ease;
        white-space: nowrap;
      }
      .btn:hover {
        transform: translateY(-1px);
      }
      .btn-call {
        background: var(--call);
        color: var(--call-ink);
        border-color: var(--call-line);
      }
      .btn-whatsapp {
        background: var(--whatsapp);
        color: var(--whatsapp-ink);
      }
      .btn-ghost {
        background: transparent;
        border-color: var(--line);
        color: var(--ink);
      }
      .btn svg {
        width: 16px;
        height: 16px;
      }
      .btn-lg {
        padding: 15px 26px;
        font-size: 16px;
        border-radius: 16px;
      }

      .cta-row {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: 26px;
      }

      /* Hero */
      .hero {
        position: relative;
        overflow: hidden;
        padding-top: 56px;
        padding-bottom: 48px;
      }
      .hero::before {
        content: "";
        position: absolute;
        /* Fixed size — % insets reflow when fonts change hero height (= CLS) */
        top: 0;
        left: 0;
        width: 100%;
        height: 420px;
        background-image:
          repeating-linear-gradient(
            0deg,
            transparent,
            transparent 39px,
            var(--line) 40px
          ),
          repeating-linear-gradient(
            90deg,
            transparent,
            transparent 39px,
            var(--line) 40px
          );
        opacity: 0.35;
        -webkit-mask-image: linear-gradient(to bottom, black, transparent);
        mask-image: linear-gradient(to bottom, black, transparent);
        pointer-events: none;
        z-index: 0;
        contain: paint;
      }
      .hero > * {
        position: relative;
        z-index: 1;
      }
      .hero-grid {
        position: relative;
        display: grid;
        grid-template-columns: 240px 1fr;
        gap: 40px;
        align-items: center;
      }
      .eyebrow {
        font-size: 11px;
        color: var(--accent);
        font-weight: 600;
        margin-bottom: 14px;
        display: block;
      }
      .hero h1 {
        font-size: 34px;
        margin-bottom: 14px;
        /* Reserve 2 lines so fallback→webfont swap doesn't shove the section */
        min-height: calc(1.25em * 2);
      }
      .hero .lead {
        color: var(--ink-soft);
        font-size: 16px;
        max-width: 46ch;
        min-height: calc(1.65em * 3);
      }

      .photo-frame {
        position: relative;
        width: 220px;
      }
      .photo-frame .doc {
        border: 1px solid var(--line);
        border-radius: var(--radius);
        padding: 10px;
        background: var(--surface);
        box-shadow: var(--shadow);
      }
      .photo-frame img {
        width: 100%;
        aspect-ratio: 1/1;
        object-fit: cover;
        border-radius: calc(var(--radius) - 8px);
        display: block;
      }
      .seal {
        position: absolute;
        width: 92px;
        height: 92px;
        right: -18px;
        bottom: -18px;
      }
      .seal circle,
      .seal path.ring {
        fill: none;
        stroke: var(--accent);
      }
      .seal text {
        fill: var(--accent);
        font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;
      }
      .seal .mono-txt {
        font-size: 8.6px;
        letter-spacing: 1.6px;
      }
      .seal .seal-icon {
        color: var(--mark);
      }
      .seal .seal-icon .windows {
        fill: var(--mark-window);
      }

      /* Trust strip */
      .trust {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
        margin-top: 44px;
      }
      .trust-item {
        border: 1px dashed var(--line);
        border-radius: 14px;
        padding: 16px;
        font-size: 13.5px;
        color: var(--ink-soft);
        display: flex;
        gap: 10px;
        align-items: flex-start;
      }
      .trust-item svg {
        width: 18px;
        height: 18px;
        flex: none;
        color: var(--accent);
        margin-top: 1px;
      }

      /* Section base */
      section {
        padding: 56px 0;
      }
      .divider {
        border: none;
        height: 1px;
        background-image: repeating-linear-gradient(
          90deg,
          var(--line),
          var(--line) 6px,
          transparent 6px,
          transparent 12px
        );
        margin: 0;
      }
      .section-head {
        margin-bottom: 28px;
      }
      .section-head .eyebrow {
        margin-bottom: 8px;
      }
      
      .svc-links {
        display: grid;
        gap: 8px;
        margin: 0 0 18px;
      }
      .svc-links a {
        display: block;
        color: var(--primary);
        font-weight: 600;
        font-size: 15px;
        text-decoration: none;
        padding: 10px 0;
        border-bottom: 1px solid var(--line);
      }
      .svc-links a:hover {
        color: var(--accent);
      }

      .section-head h2 {
        font-size: 24px;
      }

      /* Pin list (services) */
      .pin-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 12px;
      }
      .pin-list li,
      .pin-list .pin-item {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        font-size: 14.5px;
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 12px;
        padding: 12px 14px;
      }
      .pin-list svg {
        width: 18px;
        height: 18px;
        flex: none;
        margin-top: 1px;
        color: var(--accent);
      }

      /* Services accordion — keeps pin look */
      .pin-list details.pin-item {
        display: block;
        padding: 0;
        overflow: hidden;
        transition: border-color 0.25s ease, box-shadow 0.25s ease;
      }
      .pin-list details.pin-item[open] {
        border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
        box-shadow: 0 8px 20px -16px rgba(30, 42, 56, 0.45);
      }
      .pin-list details.pin-item > summary {
        list-style: none;
        cursor: pointer;
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding: 12px 14px;
        font-weight: 500;
        transition: background 0.2s ease;
      }
      .pin-list details.pin-item > summary:hover {
        background: color-mix(in srgb, var(--accent) 6%, transparent);
      }
      .pin-list details.pin-item > summary::-webkit-details-marker {
        display: none;
      }
      .pin-list details.pin-item > summary .pin-title {
        flex: 1;
      }
      .pin-list details.pin-item > summary .pin-title a {
        color: inherit;
        text-decoration: none;
      }
      .pin-list details.pin-item > summary .pin-title a:hover {
        color: var(--primary);
      }
      .pin-list details.pin-item > summary .plus {
        color: var(--accent);
        font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;
        flex: none;
        transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
        display: inline-block;
        line-height: 1.2;
      }
      .pin-list details.pin-item[open] > summary .plus {
        transform: rotate(45deg);
      }
      .pin-list details.pin-item .pin-panel {
        display: grid;
        grid-template-rows: 0fr;
        opacity: 0;
        transition:
          grid-template-rows 0.4s cubic-bezier(0.22, 1, 0.36, 1),
          opacity 0.32s ease;
      }
      .pin-list details.pin-item.is-open .pin-panel,
      .pin-list details.pin-item[open]:not(.js-ready) .pin-panel {
        grid-template-rows: 1fr;
        opacity: 1;
      }
      .pin-list details.pin-item .pin-panel-inner {
        overflow: hidden;
        min-height: 0;
      }
      .pin-list details.pin-item .pin-more {
        margin: 0;
        padding: 0 14px 14px 44px;
      }
      .pin-more a {
        color: var(--primary);
        font-weight: 600;
        text-decoration: none;
        font-size: 14px;
      }
      .pin-more a:hover {
        text-decoration: underline;
      }
      .pin-desc {
        color: var(--ink-soft);
        font-size: 15px;
        margin: 0;
        padding: 0 14px 10px 44px;
        line-height: 1.55;
        transform: translateY(-6px);
        transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
      }
      .pin-list details.pin-item.is-open .pin-desc,
      .pin-list details.pin-item[open]:not(.js-ready) .pin-desc {
        transform: translateY(0);
      }

      .two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
      }

      /* Process */
      .process {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
      }
      .process-step {
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 20px;
        background: var(--surface);
        position: relative;
      }
      .process-step .num {
        font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;
        color: var(--accent);
        font-size: 13px;
        margin-bottom: 10px;
        display: block;
      }
      .process-step h3 {
        font-size: 16px;
        margin-bottom: 6px;
      }
      .process-step p {
        font-size: 13.5px;
        color: var(--ink-soft);
        margin: 0;
      }

      /* SEO text */
      .prose {
        color: var(--ink-soft);
        font-size: 14.5px;
        max-width: 68ch;
      }
      .prose a,
      .faq-item a {
        color: var(--primary);
        text-decoration: underline;
        text-underline-offset: 2px;
      }

      /* FAQ */
      .faq-item {
        border-bottom: 1px dashed var(--line);
        padding: 16px 0;
      }
      .faq-item summary {
        cursor: pointer;
        font-weight: 600;
        font-size: 15px;
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
      }
      .faq-item summary::-webkit-details-marker {
        display: none;
      }
      .faq-item summary .plus {
        color: var(--accent);
        font-family: ui-monospace, "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;
      }
      .faq-item[open] summary .plus {
        transform: rotate(45deg);
      }
      .faq-item summary .plus {
        transition: transform 0.15s ease;
        display: inline-block;
      }
      .faq-item p {
        color: var(--ink-soft);
        font-size: 14px;
        margin: 10px 0 0;
      }

      /* Final CTA */
      .final-cta {
        text-align: center;
        background: var(--primary);
        color: var(--primary-ink);
        border-radius: 24px;
        padding: 48px 24px;
      }
      .final-cta p {
        opacity: 0.85;
        margin-bottom: 22px;
      }
      .final-cta .cta-row {
        justify-content: center;
      }
      .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;
      }

      /* Footer */
      footer.site {
        border-top: 1px solid var(--line);
        margin-top: 40px;
      }
      footer.site .wrap {
        padding: 32px 20px 100px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 18px;
        font-size: 13px;
        color: var(--ink-soft);
      }
      footer.site address {
        font-style: normal;
      }
      footer .foot-links {
        display: flex;
        gap: 16px;
      }

      /* Mobile floating action bar */
      .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;
        }
        /* Keep burger/theme; move lang into menu; hide call (mobile-bar has it) */
        .header-actions > .lang-switch,
        header.site .btn-call {
          display: none;
        }
        .theme-toggle {
          order: 2;
        }
        .nav-toggle {
          order: 3;
        }
        .site-nav {
          /* Full-sheet under fixed header — not inside header flex */
          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;
        }
        /* Lang on its own row above links */
        .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;
        }
        .hero-grid {
          grid-template-columns: 1fr;
          text-align: left;
        }
        .photo-frame {
          width: 160px;
        }
        .hero h1 {
          font-size: 27px;
        }
        .trust {
          grid-template-columns: 1fr;
        }
        .two-col {
          grid-template-columns: 1fr;
        }
        .process {
          grid-template-columns: 1fr;
        }
        .btn-lg-row .btn {
          width: 100%;
          justify-content: center;
        }

        .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;
          box-shadow: 0 -8px 20px -14px rgba(0, 0, 0, 0.3);
        }
        .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;
        }
      }

      .reviews {
        display: grid;
        gap: 14px;
      }
      .review-card {
        background: var(--surface);
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 20px 22px;
      }
      .review-card p {
        margin: 0 0 12px;
        color: var(--ink-soft);
        font-size: 14.5px;
      }
      .review-meta {
        font-size: 13px;
        color: var(--accent);
        font-weight: 600;
      }
      .contact-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 12px;
      }
      .contact-list a {
        color: var(--primary);
        font-weight: 600;
        text-decoration: none;
      }
      .contact-list a:hover {
        color: var(--accent);
      }
