/* --- from about-us.html --- */
@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;700&display=fallback');

/* --- from about-us.html --- */
:root {
            --site-bg: #FFF8F8;
            --site-surface: #FFEAEB;
            --site-text: #161010;
            --site-muted: #463636;
            --site-border: #F1D7D7;
            --site-primary: #9B6063;
            --site-on-primary: #FFFFFF;
            --site-secondary: #718E5D;
            --site-on-secondary: #000000;
            --site-accent: #357FD7;
            --site-on-accent: #000000;
            --site-success: #22C55E;
            --site-warning: #F59E0B;
            --site-error: #EF4444;
            --site-info: #3B82F6;

            --color-bg: var(--site-bg);
            --color-surface: var(--site-surface);
            --color-text: var(--site-text);
            --color-muted: var(--site-muted);
            --color-border: var(--site-border);
            --color-primary: var(--site-primary);
            --color-on-primary: var(--site-on-primary);
            --color-secondary: var(--site-secondary);
            --color-on-secondary: var(--site-on-secondary);
            --color-accent: var(--site-accent);
            --color-on-accent: var(--site-on-accent);
            --color-success: var(--site-success);
            --color-warning: var(--site-warning);
            --color-error: var(--site-error);
            --color-info: var(--site-info);
        }

        @media (prefers-color-scheme: dark) {
            :root {
                --site-bg: #1D0407;
                --site-surface: #2D0E11;
                --site-text: #E8E3E3;
                --site-muted: #BFACAC;
                --site-border: #3E2728;
                --site-primary: #C4999A;
                --site-on-primary: #000000;
                --site-secondary: #B0D497;
                --site-on-secondary: #000000;
                --site-accent: #93B6E3;
                --site-on-accent: #000000;
                --site-success: #22C55E;
                --site-warning: #F59E0B;
                --site-error: #EF4444;
                --site-info: #3B82F6;

                --color-bg: var(--site-bg);
                --color-surface: var(--site-surface);
                --color-text: var(--site-text);
                --color-muted: var(--site-muted);
                --color-border: var(--site-border);
                --color-primary: var(--site-primary);
                --color-on-primary: var(--site-on-primary);
                --color-secondary: var(--site-secondary);
                --color-on-secondary: var(--site-on-secondary);
                --color-accent: var(--site-accent);
                --color-on-accent: var(--site-on-accent);
            }
        }

/* --- from about-us.html --- */
@theme {
            --color-primary: var(--site-primary);
            --color-on-primary: var(--site-on-primary);
            --color-secondary: var(--site-secondary);
            --color-on-secondary: var(--site-on-secondary);
            --color-accent: var(--site-accent);
            --color-on-accent: var(--site-on-accent);
            --color-bg: var(--site-bg);
            --color-surface: var(--site-surface);
            --color-text: var(--site-text);
            --color-muted: var(--site-muted);
            --color-border: var(--site-border);
            --color-success: var(--site-success);
            --color-warning: var(--site-warning);
            --color-error: var(--site-error);
            --color-info: var(--site-info);
        }

/* --- from about-us.html --- */
.zigzag {
      --glass: color-mix(in srgb, var(--color-surface) 72%, transparent);
      overflow: hidden;
    }

    .zigzag .row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: center;
      gap: clamp(2rem, 5vw, 5rem);
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 3rem);
    }

    .zigzag .row:nth-child(even) {
      background: var(--color-surface);
      color: var(--color-text);
    }

    .zigzag .row:nth-child(odd) {
      background: var(--color-bg);
      color: var(--color-text);
    }

    .zigzag .row:nth-child(even) .media {
      order: 2;
    }

    .zigzag .row:nth-child(even) .copy {
      order: 1;
    }

    .zigzag .row:nth-child(odd) .media {
      order: 1;
    }

    .zigzag .row:nth-child(odd) .copy {
      order: 2;
    }

    .media {
      position: relative;
      min-width: 0;
    }

    .media::after {
      content: '';
      position: absolute;
      inset: 1rem -1rem -1rem 1rem;
      border: 1px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
      border-radius: 12px;
      z-index: 0;
    }

    .media img {
      position: relative;
      z-index: 1;
      display: block;
      width: 100%;
      min-height: 420px;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border-radius: 12px;
      box-shadow: 0 1.25rem 2.5rem color-mix(in srgb, var(--color-text) 14%, transparent);
    }

    .row-1 .media img {
      aspect-ratio: 3 / 4;
    }

    .copy {
      max-width: 52ch;
      padding: 1rem 0;
    }

    .kicker {
      margin: 0 0 .75rem;
      color: var(--color-primary);
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .copy h1,
    .copy h2 {
      margin: 0;
      color: var(--color-text);
      font-weight: 600;
      letter-spacing: -.035em;
      line-height: 1.05;
    }

    .copy h1 {
      font-size: clamp(2.5rem, 5vw, 4.75rem);
    }

    .copy h2 {
      font-size: clamp(2rem, 4vw, 3.25rem);
    }

    .lede {
      margin: 1.25rem 0 1.5rem;
      color: var(--color-muted);
      font-size: clamp(1rem, 1.5vw, 1.2rem);
      line-height: 1.7;
    }

    .glass-panel,
    .quote-panel,
    .contact-panel {
      background: var(--glass);
      border: 1px solid color-mix(in srgb, var(--color-border) 90%, transparent);
      border-left: 4px solid var(--color-accent);
      border-radius: 12px;
      box-shadow: 0 .75rem 2rem color-mix(in srgb, var(--color-text) 8%, transparent);
      backdrop-filter: blur(16px);
    }

    .lift {
      transition: transform .3s ease, box-shadow .3s ease;
    }

    .lift:hover {
      transform: translateY(-12px);
      box-shadow: 0 1.5rem 2.5rem color-mix(in srgb, var(--color-text) 16%, transparent);
    }

    .icon-box {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 3.25rem;
      height: 3.25rem;
      border-radius: 30%;
      background: color-mix(in srgb, var(--color-accent) 18%, transparent);
      color: var(--color-accent);
    }

    .promise-list,
    .capability-list {
      display: grid;
      gap: .9rem;
      margin: 1.5rem 0 0;
      padding: 0;
      list-style: none;
    }

    .promise-list li,
    .capability-list li {
      display: flex;
      gap: .75rem;
      align-items: flex-start;
      color: var(--color-muted);
      line-height: 1.55;
    }

    .promise-list .material-symbols-outlined,
    .capability-list .material-symbols-outlined {
      flex: 0 0 auto;
      margin-top: .1rem;
      color: var(--color-secondary);
    }

    .bio-list {
      display: grid;
      gap: 1.2rem;
      margin-top: 1.5rem;
    }

    .bio-list article {
      padding: 1rem 1.1rem;
    }

    .bio-list h3 {
      margin: 0 0 .3rem;
      color: var(--color-text);
      font-size: 1.05rem;
      font-weight: 600;
    }

    .bio-list p,
    .glass-panel p,
    .contact-panel p {
      margin: 0;
      color: var(--color-muted);
      line-height: 1.6;
    }

    .stats {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
      margin-top: 1.5rem;
    }

    .stat {
      flex: 1 1 8rem;
      padding: 1rem;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      background: color-mix(in srgb, var(--color-surface) 65%, transparent);
    }

    .stat strong,
    .stat span {
      display: block;
    }

    .stat strong {
      color: var(--color-primary);
      font-size: 1.5rem;
      font-weight: 600;
    }

    .stat span {
      margin-top: .2rem;
      color: var(--color-muted);
      font-size: .78rem;
    }

    .material-lines {
      display: grid;
      gap: .9rem;
      margin-top: 1.5rem;
    }

    .material-lines div {
      padding-bottom: .9rem;
      border-bottom: 1px solid var(--color-border);
    }

    .material-lines strong {
      display: block;
      color: var(--color-text);
      font-weight: 600;
    }

    .material-lines span {
      display: block;
      margin-top: .2rem;
      color: var(--color-muted);
      line-height: 1.45;
    }

    .quote-panel {
      display: grid;
      gap: 1.25rem;
      margin-top: 1.5rem;
      padding: 1.25rem;
    }

    blockquote {
      margin: 0;
      color: var(--color-text);
      font-size: 1.05rem;
      line-height: 1.55;
    }

    blockquote p {
      margin: 0 0 .55rem;
    }

    blockquote cite {
      color: var(--color-primary);
      font-size: .82rem;
      font-style: normal;
      font-weight: 600;
    }

    .price-list {
      display: grid;
      gap: .8rem;
      margin: 1.25rem 0 1.4rem;
    }

    .price-line {
      display: grid;
      grid-template-columns: 1.2fr auto;
      gap: .5rem;
      padding-bottom: .8rem;
      border-bottom: 1px solid var(--color-border);
    }

    .price-line strong {
      color: var(--color-text);
      font-weight: 600;
    }

    .price-line b {
      color: var(--color-primary);
      font-weight: 600;
      white-space: nowrap;
    }

    .price-line span {
      grid-column: 1 / -1;
      color: var(--color-muted);
      font-size: .88rem;
    }

    .contact-panel {
      padding: 1.25rem;
    }

    .contact-panel form {
      display: grid;
      gap: .75rem;
      margin-top: 1rem;
    }

    .contact-panel label {
      color: var(--color-text);
      font-size: .82rem;
      font-weight: 600;
    }

    .contact-panel input,
    .contact-panel textarea {
      width: 100%;
      margin-top: .3rem;
      padding: .7rem .8rem;
      border: 1px solid var(--color-border);
      border-radius: 8px;
      background: color-mix(in srgb, var(--color-bg) 70%, transparent);
      color: var(--color-text);
      font: inherit;
    }

    .contact-panel textarea {
      min-height: 5rem;
      resize: vertical;
    }

    .contact-panel input:focus,
    .contact-panel textarea:focus {
      outline: 2px solid var(--color-accent);
      outline-offset: 1px;
    }

    .cta {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      border-radius: 999px;
      background: var(--color-primary);
      color: var(--color-on-primary);
      padding: .8rem 1.2rem;
      font-size: .9rem;
      font-weight: 600;
      text-decoration: none;
      transition: transform .25s ease, opacity .25s ease;
    }

    .cta:hover {
      transform: translateY(-3px);
      opacity: .9;
    }

    .address {
      margin-top: 1rem !important;
      font-size: .88rem;
    }

    @media (min-width: 600px) {
      .capability-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.5rem;
      }
    }

    @media (max-width: 860px) {
      .zigzag .row {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        padding: 3.5rem 1.25rem;
      }

      .zigzag .row .media,
      .zigzag .row .copy {
        order: initial !important;
      }

      .zigzag .row .media {
        order: 1 !important;
      }

      .zigzag .row .copy {
        order: 2 !important;
      }

      .media img {
        min-height: 0;
      }

      .copy {
        padding: 0;
      }
    }

/* --- from contact.html --- */
.zigzag {
      --glass: color-mix(in srgb, var(--color-surface) 68%, transparent);
      overflow: hidden;
    }

    .zigzag .row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: center;
      gap: clamp(2rem, 5vw, 5rem);
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 3rem);
      min-height: auto;
      height: auto;
      color: var(--color-text);
    }

    .zigzag .row:nth-child(even) {
      max-width: none;
      padding-left: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1280px) / 2 + clamp(1.25rem, 5vw, 3rem)));
      padding-right: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1280px) / 2 + clamp(1.25rem, 5vw, 3rem)));
      background: var(--color-surface);
      color: var(--color-text);
    }

    .zigzag .row:nth-child(even) .media {
      order: 2;
    }

    .zigzag .row:nth-child(even) .copy {
      order: 1;
    }

    .zigzag .row:nth-child(odd) .media {
      order: 1;
    }

    .zigzag .row:nth-child(odd) .copy {
      order: 2;
    }

    .media {
      position: relative;
      min-width: 0;
    }

    .media img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border-radius: 12px;
      border: 1px solid var(--color-border);
      box-shadow: 0 18px 45px color-mix(in srgb, var(--color-text) 14%, transparent);
    }

    .row-1 .media img {
      aspect-ratio: 3 / 4;
    }

    .copy {
      max-width: 52ch;
      padding: clamp(.75rem, 2vw, 1.5rem) 0;
    }

    .kicker {
      margin: 0 0 .75rem;
      color: var(--color-primary);
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .copy h1,
    .copy h2 {
      margin: 0;
      color: var(--color-text);
      font-weight: 600;
      letter-spacing: -.035em;
      line-height: 1.05;
    }

    .copy h1 {
      font-size: clamp(2.6rem, 5vw, 5.1rem);
    }

    .copy h2 {
      font-size: clamp(2rem, 3.8vw, 3.5rem);
    }

    .lede,
    .copy > p:not(.kicker) {
      color: var(--color-muted);
      font-size: 1.05rem;
      line-height: 1.7;
    }

    .glass-panel {
      background: var(--glass);
      color: var(--color-text);
      border: 1px solid color-mix(in srgb, var(--color-border) 82%, transparent);
      border-left: 4px solid var(--color-accent);
      border-radius: 12px;
      box-shadow: 0 14px 36px color-mix(in srgb, var(--color-text) 9%, transparent);
      backdrop-filter: blur(16px);
      transition: transform .35s ease, box-shadow .35s ease;
    }

    .glass-panel:hover {
      transform: translateY(-12px);
      box-shadow: 0 25px 45px color-mix(in srgb, var(--color-text) 15%, transparent);
    }

    .icon-box {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 3.25rem;
      height: 3.25rem;
      border-radius: 30%;
      background: color-mix(in srgb, var(--color-accent) 18%, transparent);
      color: var(--color-accent);
      flex: 0 0 auto;
    }

    .contact-line {
      display: flex;
      align-items: flex-start;
      gap: .9rem;
      color: var(--color-muted);
      line-height: 1.5;
    }

    .contact-line a {
      color: var(--color-text);
      text-decoration: underline;
      text-decoration-color: var(--color-primary);
      text-underline-offset: 3px;
    }

    .service-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .75rem 1.5rem;
      margin: 1.5rem 0 0;
      padding: 0;
      list-style: none;
    }

    .service-list li {
      display: flex;
      gap: .65rem;
      align-items: flex-start;
      color: var(--color-muted);
      line-height: 1.45;
    }

    .service-list .material-symbols-outlined {
      color: var(--color-secondary);
      font-size: 1.25rem;
    }

    .stat-strip {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
      margin-top: 1.5rem;
    }

    .stat {
      min-width: 8rem;
      padding: 1rem;
    }

    .stat strong {
      display: block;
      color: var(--color-primary);
      font-size: 1.65rem;
      font-weight: 600;
    }

    .stat span {
      color: var(--color-muted);
      font-size: .82rem;
    }

    .material-lines,
    .price-lines {
      display: grid;
      gap: .8rem;
      margin-top: 1.5rem;
    }

    .material-line,
    .price-line {
      padding: .9rem 1rem;
    }

    .material-line strong,
    .price-line strong {
      display: block;
      color: var(--color-text);
      font-weight: 600;
    }

    .material-line span,
    .price-line span {
      display: block;
      margin-top: .2rem;
      color: var(--color-muted);
      font-size: .9rem;
      line-height: 1.4;
    }

    .quote-stack {
      display: grid;
      gap: 1rem;
      margin-top: 1.5rem;
    }

    blockquote {
      margin: 0;
      padding: 1rem 1.1rem;
      border-left: 4px solid var(--color-accent);
      border-radius: 12px;
      background: var(--glass);
      color: var(--color-text);
      box-shadow: 0 10px 25px color-mix(in srgb, var(--color-text) 8%, transparent);
      backdrop-filter: blur(14px);
    }

    blockquote p {
      margin: 0;
      color: var(--color-muted);
      line-height: 1.55;
    }

    blockquote cite {
      display: block;
      margin-top: .6rem;
      color: var(--color-text);
      font-size: .82rem;
      font-style: normal;
      font-weight: 600;
    }

    .inquiry-form {
      margin-top: 1.5rem;
      padding: 1.25rem;
    }

    .inquiry-form label {
      display: block;
      margin-bottom: .35rem;
      color: var(--color-text);
      font-size: .82rem;
      font-weight: 600;
    }

    .inquiry-form input,
    .inquiry-form textarea {
      width: 100%;
      margin-bottom: .9rem;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      background: color-mix(in srgb, var(--color-bg) 72%, transparent);
      color: var(--color-text);
      padding: .75rem .85rem;
      outline: none;
    }

    .inquiry-form textarea {
      min-height: 6rem;
      resize: vertical;
    }

    .inquiry-form input:focus,
    .inquiry-form textarea:focus {
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);
    }

    .hours-list {
      display: grid;
      gap: .7rem;
      margin-top: 1.5rem;
    }

    .hours-list div {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: .8rem 0;
      border-bottom: 1px solid var(--color-border);
      color: var(--color-muted);
    }

    .hours-list strong {
      color: var(--color-text);
      font-weight: 600;
    }

    @media (max-width: 860px) {
      .zigzag .row,
      .zigzag .row:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 3rem 1.25rem;
      }

      .zigzag .row .media,
      .zigzag .row:nth-child(even) .media {
        order: 1;
      }

      .zigzag .row .copy,
      .zigzag .row:nth-child(even) .copy {
        order: 2;
      }

      .media img,
      .row-1 .media img {
        aspect-ratio: 4 / 5;
      }

      .copy h1 {
        font-size: clamp(2.4rem, 12vw, 4rem);
      }
    }

    @media (max-width: 560px) {
      .service-list {
        grid-template-columns: 1fr;
      }

      .stat {
        flex: 1 1 8rem;
      }

      .hours-list div {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
      }
    }

/* --- from printer-support.html --- */
.zigzag {
      --glass: color-mix(in srgb, var(--color-surface) 72%, transparent);
      overflow: hidden;
    }

    .zigzag .row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: clamp(2rem, 5vw, 5rem);
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 3rem);
      min-height: auto;
      height: auto;
      color: var(--color-text);
    }

    .zigzag .row:nth-of-type(even) {
      max-width: none;
      background: var(--color-surface);
      color: var(--color-text);
    }

    .zigzag .row:nth-of-type(even) > * {
      width: min(100%, 1280px);
    }

    .zigzag .row:nth-of-type(even) {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      padding-left: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1280px) / 2));
      padding-right: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1280px) / 2));
    }

    .zigzag .media {
      position: relative;
      min-width: 0;
      margin: 0;
      order: 1;
    }

    .zigzag .copy {
      max-width: 52ch;
      padding: clamp(.75rem, 2vw, 1.5rem) 0;
      order: 2;
    }

    .zigzag .row:nth-of-type(even) .media {
      order: 2;
    }

    .zigzag .row:nth-of-type(even) .copy {
      order: 1;
    }

    .zigzag .media img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border-radius: 12px;
      border: 1px solid var(--color-border);
      box-shadow: 0 24px 60px color-mix(in srgb, var(--color-primary) 16%, transparent);
    }

    .zigzag .row:first-of-type .media img {
      aspect-ratio: 3 / 4;
    }

    .glass-panel {
      background: var(--glass);
      color: var(--color-text);
      border: 1px solid color-mix(in srgb, var(--color-border) 82%, transparent);
      border-left: 4px solid var(--color-accent);
      border-radius: 12px;
      box-shadow: 0 16px 40px color-mix(in srgb, var(--color-primary) 10%, transparent);
      backdrop-filter: blur(14px);
      transition: transform .35s ease, box-shadow .35s ease;
    }

    .glass-panel:hover {
      transform: translateY(-12px);
      box-shadow: 0 28px 55px color-mix(in srgb, var(--color-primary) 18%, transparent);
    }

    .icon-box {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 3rem;
      height: 3rem;
      border-radius: 30%;
      background: color-mix(in srgb, var(--color-accent) 18%, transparent);
      color: var(--color-accent);
      flex-shrink: 0;
    }

    .step-list {
      counter-reset: setup;
      list-style: none;
      padding: 0;
      margin: 1.25rem 0 0;
      display: grid;
      gap: .75rem;
    }

    .step-list li {
      counter-increment: setup;
      display: flex;
      align-items: flex-start;
      gap: .8rem;
    }

    .step-list li::before {
      content: counter(setup);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 1.75rem;
      height: 1.75rem;
      flex: 0 0 1.75rem;
      border-radius: 30%;
      background: var(--color-accent);
      color: var(--color-on-accent);
      font-weight: 700;
      font-size: .8rem;
    }

    .quote-mark {
      color: var(--color-primary);
      font-size: 2rem;
      line-height: 1;
    }

    .field {
      width: 100%;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      background: color-mix(in srgb, var(--color-bg) 78%, transparent);
      color: var(--color-text);
      padding: .75rem .9rem;
      outline: none;
    }

    .field:focus {
      border-color: var(--color-accent);
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 20%, transparent);
    }

    @media (min-width: 600px) {
      .step-list.two-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.5rem;
      }
    }

    @media (max-width: 860px) {
      .zigzag .row,
      .zigzag .row:nth-of-type(even) {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        padding: 3rem 1.25rem;
      }

      .zigzag .row .media,
      .zigzag .row:nth-of-type(even) .media {
        order: 1;
      }

      .zigzag .row .copy,
      .zigzag .row:nth-of-type(even) .copy {
        order: 2;
      }

      .zigzag .media img,
      .zigzag .row:first-of-type .media img {
        aspect-ratio: 4 / 5;
      }
    }

/* --- from printing-solutions.html --- */
.zigzag {
      --glass: color-mix(in srgb, var(--color-surface) 72%, transparent);
      overflow: hidden;
    }

    .zigzag .row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: center;
      gap: clamp(2rem, 5vw, 5rem);
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 3rem);
      min-height: auto;
      height: auto;
      color: var(--color-text);
    }

    .zigzag .row:nth-child(even) {
      max-width: none;
      padding-left: max(1.5rem, calc((100% - 1280px) / 2 + 1.5rem));
      padding-right: max(1.5rem, calc((100% - 1280px) / 2 + 1.5rem));
      background: var(--color-surface);
      color: var(--color-text);
    }

    .row:nth-child(even) .media {
      order: 2;
    }

    .row:nth-child(even) .copy {
      order: 1;
    }

    .row:nth-child(odd) .media {
      order: 1;
    }

    .row:nth-child(odd) .copy {
      order: 2;
    }

    .media {
      position: relative;
      margin: 0;
      min-width: 0;
    }

    .media::after {
      content: '';
      position: absolute;
      inset: 14px -14px -14px 14px;
      z-index: -1;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      background: var(--glass);
      backdrop-filter: blur(12px);
    }

    .media img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      box-shadow: 0 18px 45px color-mix(in srgb, var(--color-text) 12%, transparent);
    }

    .row-1 .media img {
      aspect-ratio: 3 / 4;
    }

    .copy {
      max-width: 52ch;
      padding: 1rem 0;
    }

    .kicker {
      margin: 0 0 .75rem;
      color: var(--color-primary);
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .copy h1,
    .copy h2 {
      margin: 0;
      color: var(--color-text);
      font-weight: 600;
      letter-spacing: -.035em;
      line-height: 1.08;
    }

    .copy h1 {
      font-size: clamp(2.5rem, 5vw, 4.8rem);
    }

    .copy h2 {
      font-size: clamp(2rem, 3.5vw, 3.2rem);
    }

    .lede {
      max-width: 48ch;
      margin: 1.25rem 0 1.5rem;
      color: var(--color-muted);
      font-size: 1.08rem;
      line-height: 1.7;
    }

    .body-copy {
      margin: 1rem 0 1.25rem;
      color: var(--color-muted);
      line-height: 1.7;
    }

    .pill-link {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      border-radius: 999px;
      background: var(--color-primary);
      color: var(--color-on-primary);
      padding: .8rem 1.25rem;
      font-size: .9rem;
      font-weight: 600;
      transition: transform .25s ease, opacity .25s ease;
    }

    .pill-link:hover {
      transform: translateY(-4px);
      opacity: .9;
    }

    .glass-panel {
      border: 1px solid var(--color-border);
      border-left: 4px solid var(--color-accent);
      border-radius: 12px;
      background: var(--glass);
      color: var(--color-text);
      box-shadow: 0 16px 35px color-mix(in srgb, var(--color-text) 8%, transparent);
      backdrop-filter: blur(16px);
      transition: transform .3s ease, box-shadow .3s ease;
    }

    .glass-panel:hover {
      transform: translateY(-12px);
      box-shadow: 0 26px 45px color-mix(in srgb, var(--color-text) 14%, transparent);
    }

    .service-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .8rem 1.5rem;
      margin: 1.5rem 0 0;
      padding: 0;
      list-style: none;
    }

    .service-list li {
      display: flex;
      align-items: flex-start;
      gap: .65rem;
      color: var(--color-muted);
      line-height: 1.5;
    }

    .icon-box {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 2.75rem;
      width: 2.75rem;
      height: 2.75rem;
      border-radius: 30%;
      background: color-mix(in srgb, var(--color-accent) 18%, transparent);
      color: var(--color-accent);
    }

    .spec-lines {
      margin-top: 1.5rem;
    }

    .spec-line {
      display: flex;
      align-items: baseline;
      gap: .75rem;
      padding: .85rem 0;
      border-bottom: 1px solid var(--color-border);
      color: var(--color-muted);
    }

    .spec-line strong {
      min-width: 7rem;
      color: var(--color-text);
      font-weight: 600;
    }

    .stats {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
      margin-top: 1.5rem;
    }

    .stat {
      display: flex;
      align-items: center;
      gap: .65rem;
      padding: .7rem .85rem;
    }

    .stat strong {
      display: block;
      color: var(--color-text);
      font-size: 1.25rem;
      font-weight: 600;
    }

    .stat span:last-child {
      color: var(--color-muted);
      font-size: .78rem;
    }

    .quotes {
      display: grid;
      gap: 1rem;
      margin-top: 1.5rem;
    }

    blockquote {
      margin: 0;
      padding: 1rem 1.2rem;
    }

    blockquote p {
      margin: 0 0 .65rem;
      color: var(--color-text);
      line-height: 1.55;
    }

    blockquote cite {
      color: var(--color-muted);
      font-size: .82rem;
      font-style: normal;
    }

    .quote-form {
      display: grid;
      gap: .8rem;
      margin-top: 1.4rem;
      padding: 1.15rem;
    }

    .quote-form label {
      display: grid;
      gap: .35rem;
      color: var(--color-muted);
      font-size: .8rem;
      font-weight: 600;
    }

    .quote-form input,
    .quote-form textarea {
      width: 100%;
      border: 1px solid var(--color-border);
      border-radius: 8px;
      background: color-mix(in srgb, var(--color-bg) 65%, transparent);
      color: var(--color-text);
      padding: .7rem .8rem;
      font: inherit;
    }

    .quote-form textarea {
      min-height: 5rem;
      resize: vertical;
    }

    .address-line {
      margin-top: 1rem;
      color: var(--color-muted);
      font-size: .88rem;
      line-height: 1.6;
    }

    @media (max-width: 860px) {
      .zigzag .row,
      .zigzag .row:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        padding: 3.5rem 1.25rem;
      }

      .row .media,
      .row:nth-child(even) .media,
      .row:nth-child(odd) .media {
        order: 1;
      }

      .row .copy,
      .row:nth-child(even) .copy,
      .row:nth-child(odd) .copy {
        order: 2;
      }

      .media::after {
        inset: 10px -8px -8px 8px;
      }

      .service-list {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 520px) {
      .copy h1 {
        font-size: 2.65rem;
      }

      .copy h2 {
        font-size: 2.2rem;
      }

      .stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
      }
    }

/* --- from privacy-policy.html --- */
.privacy-page {
      --glass-light: color-mix(in oklch, var(--color-surface) 68%, transparent);
      --glass-dark: color-mix(in oklch, var(--color-bg) 58%, transparent);
      background:
        radial-gradient(circle at 12% 8%, color-mix(in oklch, var(--color-primary) 13%, transparent), transparent 32rem),
        radial-gradient(circle at 88% 28%, color-mix(in oklch, var(--color-accent) 10%, transparent), transparent 30rem),
        var(--color-bg);
      color: var(--color-text);
    }

    .privacy-page .row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: center;
      gap: clamp(2rem, 5vw, 5rem);
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1.25rem, 5vw, 3rem);
    }

    .privacy-page .row:nth-child(even) {
      max-width: none;
      background: var(--color-surface);
      color: var(--color-text);
    }

    .privacy-page .row:nth-child(even) > * {
      width: min(100%, 574px);
    }

    .privacy-page .row:nth-child(even) > :first-child {
      margin-left: auto;
    }

    .privacy-page .row:nth-child(odd) .media {
      order: 1;
    }

    .privacy-page .row:nth-child(odd) .copy {
      order: 2;
    }

    .privacy-page .row:nth-child(even) .media {
      order: 2;
    }

    .privacy-page .row:nth-child(even) .copy {
      order: 1;
      margin-left: max(calc((100vw - 1280px) / 2), 0px);
    }

    .privacy-page .media {
      margin: 0;
      min-width: 0;
    }

    .privacy-page .media img {
      display: block;
      width: 100%;
      min-height: 420px;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      box-shadow: 0 18px 45px color-mix(in oklch, var(--color-text) 12%, transparent);
    }

    .privacy-page .row-1 .media img {
      aspect-ratio: 3 / 4;
    }

    .privacy-page .copy {
      max-width: 52ch;
      padding: 1rem 0;
    }

    .privacy-page .glass-panel {
      padding: clamp(1.25rem, 3vw, 2rem);
      border: 1px solid color-mix(in oklch, var(--color-border) 80%, transparent);
      border-left: 4px solid var(--color-accent);
      border-radius: 12px;
      background: var(--glass-light);
      color: var(--color-text);
      box-shadow: 0 16px 38px color-mix(in oklch, var(--color-text) 9%, transparent);
      backdrop-filter: blur(16px);
      transition: transform 300ms ease, box-shadow 300ms ease;
    }

    .privacy-page .glass-panel:hover {
      transform: translateY(-12px);
      box-shadow: 0 26px 48px color-mix(in oklch, var(--color-text) 14%, transparent);
    }

    .privacy-page .eyebrow {
      margin-bottom: .75rem;
      color: var(--color-primary);
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .privacy-page h1,
    .privacy-page h2 {
      font-weight: 600;
      letter-spacing: -.035em;
      line-height: 1.08;
    }

    .privacy-page h1 {
      font-size: clamp(2.5rem, 6vw, 5.2rem);
    }

    .privacy-page h2 {
      font-size: clamp(1.8rem, 3.3vw, 3.2rem);
    }

    .privacy-page p {
      line-height: 1.75;
    }

    .privacy-page .lede {
      max-width: 48ch;
      color: var(--color-muted);
      font-size: clamp(1rem, 1.5vw, 1.18rem);
    }

    .privacy-page .pill-link {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      border-radius: 999px;
      background: var(--color-primary);
      color: var(--color-on-primary);
      padding: .8rem 1.35rem;
      font-weight: 600;
      transition: transform 220ms ease, opacity 220ms ease;
    }

    .privacy-page .pill-link:hover {
      transform: translateY(-3px);
      opacity: .9;
    }

    .privacy-page .icon-box {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 3.25rem;
      height: 3.25rem;
      border-radius: 30%;
      background: color-mix(in oklch, var(--color-accent) 19%, transparent);
      color: var(--color-accent);
    }

    .privacy-page .legal-list {
      display: grid;
      gap: .8rem;
      margin-top: 1.25rem;
      padding: 0;
      list-style: none;
    }

    .privacy-page .legal-list li {
      display: flex;
      gap: .7rem;
      align-items: flex-start;
      line-height: 1.6;
    }

    .privacy-page .legal-list .material-symbols-outlined {
      flex: 0 0 auto;
      margin-top: .15rem;
      color: var(--color-secondary);
    }

    .privacy-page .stat-line {
      display: flex;
      justify-content: space-between;
      gap: 1rem;
      padding: .8rem 0;
      border-bottom: 1px solid var(--color-border);
    }

    .privacy-page .stat-line:last-child {
      border-bottom: 0;
    }

    .privacy-page blockquote {
      margin: 0;
      color: var(--color-text);
      font-size: 1.04rem;
      line-height: 1.65;
    }

    .privacy-page cite {
      display: block;
      margin-top: .55rem;
      color: var(--color-muted);
      font-size: .88rem;
      font-style: normal;
    }

    .privacy-page .privacy-form {
      display: grid;
      gap: .85rem;
      margin-top: 1.25rem;
    }

    .privacy-page label {
      color: var(--color-muted);
      font-size: .85rem;
      font-weight: 600;
    }

    .privacy-page input,
    .privacy-page textarea {
      width: 100%;
      margin-top: .35rem;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      background: var(--glass-dark);
      color: var(--color-text);
      padding: .75rem .9rem;
      outline: 0;
    }

    .privacy-page input:focus,
    .privacy-page textarea:focus {
      border-color: var(--color-accent);
      box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-accent) 18%, transparent);
    }

    .privacy-page textarea {
      min-height: 7rem;
      resize: vertical;
    }

    @media (max-width: 860px) {
      .privacy-page .row,
      .privacy-page .row:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 1.5rem;
        padding: 3rem 1.25rem;
      }

      .privacy-page .row .media,
      .privacy-page .row:nth-child(even) .media {
        order: 1;
      }

      .privacy-page .row .copy,
      .privacy-page .row:nth-child(even) .copy {
        order: 2;
        width: 100%;
        margin-left: 0;
      }

      .privacy-page .media img {
        min-height: 0;
        aspect-ratio: 4 / 3;
      }

      .privacy-page .row-1 .media img {
        aspect-ratio: 4 / 3;
      }
    }

/* --- from terms-and-conditions.html --- */
.zigzag {
      overflow: hidden;
    }

    .zigzag .row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: clamp(2rem, 5vw, 5rem);
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(1.5rem, 4vw, 3rem) clamp(1.5rem, 5vw, 3rem);
      min-height: auto;
      height: auto;
      color: var(--color-text);
    }

    .zigzag .row:nth-child(even) {
      max-width: none;
      padding-left: max(clamp(1.5rem, 5vw, 3rem), calc((100vw - 1280px) / 2 + clamp(1.5rem, 5vw, 3rem)));
      padding-right: max(clamp(1.5rem, 5vw, 3rem), calc((100vw - 1280px) / 2 + clamp(1.5rem, 5vw, 3rem)));
      background: var(--color-surface);
      color: var(--color-text);
    }

    .zigzag .row-1 {
      padding-top: clamp(3rem, 7vw, 6rem);
      padding-bottom: clamp(3rem, 7vw, 6rem);
    }

    .zigzag .row-4 {
      padding-top: clamp(2.5rem, 6vw, 5rem);
      padding-bottom: clamp(2.5rem, 6vw, 5rem);
    }

    .row:nth-child(even) .media {
      order: 2;
    }

    .row:nth-child(even) .copy {
      order: 1;
    }

    .row:nth-child(odd) .media {
      order: 1;
    }

    .row:nth-child(odd) .copy {
      order: 2;
    }

    .media {
      margin: 0;
      position: relative;
    }

    .media img {
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      display: block;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      box-shadow: 0 18px 45px color-mix(in oklch, var(--color-text) 14%, transparent);
    }

    .row-1 .media img {
      aspect-ratio: 3 / 4;
    }

    .media::after {
      content: '';
      position: absolute;
      inset: 14px -14px -14px 14px;
      z-index: -1;
      border: 1px solid color-mix(in oklch, var(--color-primary) 45%, transparent);
      border-radius: 12px;
    }

    .copy {
      max-width: 52ch;
      padding: clamp(1rem, 2vw, 2rem) 0;
    }

    .kicker {
      margin: 0 0 .75rem;
      color: var(--color-primary);
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .16em;
      line-height: 1.4;
      text-transform: uppercase;
    }

    .copy h1,
    .copy h2 {
      margin: 0;
      color: var(--color-text);
      font-weight: 600;
      letter-spacing: -.035em;
      line-height: 1.08;
    }

    .copy h1 {
      font-size: clamp(2.35rem, 5vw, 4.8rem);
    }

    .copy h2 {
      font-size: clamp(1.75rem, 3vw, 2.7rem);
    }

    .lede,
    .copy > p:not(.kicker) {
      margin: 1.15rem 0 0;
      color: var(--color-muted);
      font-size: 1rem;
      line-height: 1.75;
    }

    .glass-panel {
      margin-top: 1.5rem;
      padding: 1.15rem 1.25rem;
      border: 1px solid color-mix(in oklch, var(--color-border) 80%, transparent);
      border-left: 4px solid var(--color-accent);
      border-radius: 12px;
      background: color-mix(in oklch, var(--color-surface) 72%, transparent);
      color: var(--color-text);
      box-shadow: 0 14px 34px color-mix(in oklch, var(--color-text) 9%, transparent);
      backdrop-filter: blur(14px);
      transition: transform .35s ease, box-shadow .35s ease;
    }

    .glass-panel:hover {
      transform: translateY(-12px);
      box-shadow: 0 24px 42px color-mix(in oklch, var(--color-text) 15%, transparent);
    }

    .glass-panel p {
      margin: 0;
      color: var(--color-muted);
      font-size: .94rem;
      line-height: 1.65;
    }

    .legal-list {
      display: grid;
      gap: .75rem;
      margin: 1.35rem 0 0;
      padding: 0;
      list-style: none;
    }

    .legal-list li {
      display: flex;
      gap: .75rem;
      align-items: flex-start;
      color: var(--color-muted);
      line-height: 1.6;
    }

    .icon-box {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 40px;
      width: 40px;
      height: 40px;
      border-radius: 30%;
      background: color-mix(in oklch, var(--color-accent) 18%, transparent);
      color: var(--color-accent);
    }

    .legal-label {
      display: block;
      margin-bottom: .2rem;
      color: var(--color-text);
      font-size: .9rem;
      font-weight: 600;
    }

    .notice-line {
      display: grid;
      gap: .8rem;
      margin-top: 1.5rem;
    }

    .notice-line div {
      padding: .9rem 1rem;
      border-bottom: 1px solid var(--color-border);
      color: var(--color-muted);
      line-height: 1.55;
    }

    .notice-line strong {
      display: block;
      margin-bottom: .2rem;
      color: var(--color-text);
      font-size: .84rem;
      letter-spacing: .03em;
    }

    .contact-button {
      display: inline-flex;
      align-items: center;
      gap: .55rem;
      margin-top: 1.5rem;
      padding: .8rem 1.25rem;
      border-radius: 999px;
      background: var(--color-primary);
      color: var(--color-on-primary);
      font-size: .9rem;
      font-weight: 600;
      text-decoration: none;
      transition: transform .25s ease, opacity .25s ease;
    }

    .contact-button:hover {
      opacity: .9;
      transform: translateY(-3px);
    }

    .address-block {
      margin-top: 1.25rem;
      color: var(--color-muted);
      font-size: .92rem;
      line-height: 1.65;
    }

    @media (min-width: 600px) {
      .legal-list {
        grid-template-columns: 1fr 1fr;
      }

      .notice-line {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }

    @media (max-width: 860px) {
      .zigzag .row,
      .zigzag .row:nth-child(even) {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        padding: 3.5rem 1.25rem;
      }

      .row .media,
      .row:nth-child(even) .media,
      .row:nth-child(odd) .media {
        order: 1;
      }

      .row .copy,
      .row:nth-child(even) .copy,
      .row:nth-child(odd) .copy {
        order: 2;
      }

      .zigzag .row-1 {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
      }

      .media::after {
        right: -7px;
        bottom: -7px;
      }
    }

/* --- from index.php --- */
.zigzag {
      --glass: color-mix(in oklch, var(--color-surface) 68%, transparent);
      overflow: hidden;
    }

    .zigzag .row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      align-items: center;
      gap: clamp(2rem, 5vw, 5rem);
      max-width: 1280px;
      margin: 0 auto;
      padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 5vw, 3rem);
    }

    .zigzag .row:nth-child(even) {
      background: var(--color-surface);
      color: var(--color-text);
    }

    .row:nth-child(even) .media {
      order: 2;
    }

    .row:nth-child(even) .copy {
      order: 1;
    }

    .row:nth-child(odd) .media {
      order: 1;
    }

    .row:nth-child(odd) .copy {
      order: 2;
    }

    .media {
      position: relative;
      isolation: isolate;
    }

    .media::after {
      content: '';
      position: absolute;
      inset: 1rem -1rem -1rem 1rem;
      z-index: -1;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      background: color-mix(in oklch, var(--color-primary) 12%, transparent);
    }

    .media img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 5;
      object-fit: cover;
      border: 1px solid color-mix(in oklch, var(--color-border) 75%, transparent);
      border-radius: 12px;
      box-shadow: 0 1.5rem 3rem color-mix(in oklch, var(--color-text) 12%, transparent);
    }

    .row-1 .media img {
      aspect-ratio: 3 / 4;
    }

    .copy {
      max-width: 52ch;
      padding: clamp(1rem, 2vw, 2rem) 0;
    }

    .kicker {
      margin-bottom: .75rem;
      color: var(--color-primary);
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .copy h1,
    .copy h2 {
      color: var(--color-text);
      font-weight: 600;
      letter-spacing: -.035em;
      line-height: 1.05;
    }

    .copy h1 {
      font-size: clamp(2.6rem, 6vw, 5.4rem);
    }

    .copy h2 {
      font-size: clamp(2rem, 4vw, 3.5rem);
    }

    .lede,
    .copy > p:not(.kicker) {
      color: var(--color-muted);
      font-size: 1.05rem;
      line-height: 1.7;
    }

    .glass-panel,
    .service-item,
    .quote,
    .price-line {
      border: 1px solid color-mix(in oklch, var(--color-border) 80%, transparent);
      border-left: 4px solid var(--color-accent);
      border-radius: 12px;
      background: var(--glass);
      box-shadow: 0 .75rem 2rem color-mix(in oklch, var(--color-text) 7%, transparent);
      backdrop-filter: blur(14px);
      transition: transform .35s ease, box-shadow .35s ease;
    }

    .glass-panel:hover,
    .service-item:hover,
    .quote:hover,
    .price-line:hover {
      transform: translateY(-12px);
      box-shadow: 0 1.25rem 2.5rem color-mix(in oklch, var(--color-text) 13%, transparent);
    }

    .icon-box {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 3.25rem;
      height: 3.25rem;
      flex: 0 0 auto;
      border-radius: 30%;
      background: color-mix(in oklch, var(--color-accent) 18%, transparent);
      color: var(--color-accent);
    }

    .service-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: .75rem;
      margin-top: 1.5rem;
    }

    .service-item {
      display: flex;
      align-items: center;
      gap: .75rem;
      padding: 1rem;
      color: var(--color-text);
    }

    .service-item .icon-box {
      width: 2.5rem;
      height: 2.5rem;
    }

    .stat-row {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: .75rem;
      margin-top: 1.75rem;
    }

    .stat {
      padding: 1rem;
      text-align: center;
    }

    .stat strong {
      display: block;
      color: var(--color-primary);
      font-size: 1.7rem;
      font-weight: 700;
    }

    .stat span {
      color: var(--color-muted);
      font-size: .8rem;
    }

    .material-lines {
      display: grid;
      gap: .75rem;
      margin-top: 1.5rem;
    }

    .material-line {
      display: flex;
      align-items: flex-start;
      gap: .8rem;
      padding: .9rem 0;
      border-bottom: 1px solid var(--color-border);
    }

    .material-line strong {
      display: block;
      color: var(--color-text);
    }

    .material-line span:last-child {
      color: var(--color-muted);
      font-size: .9rem;
    }

    .quote-stack,
    .price-stack {
      display: grid;
      gap: 1rem;
      margin-top: 1.5rem;
    }

    .quote {
      margin: 0;
      padding: 1.25rem 1.4rem;
    }

    .quote p {
      margin: 0;
      color: var(--color-text);
      line-height: 1.6;
    }

    .quote cite {
      display: block;
      margin-top: .7rem;
      color: var(--color-muted);
      font-size: .85rem;
      font-style: normal;
    }

    .price-line {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: .75rem;
      padding: 1rem 1.2rem;
    }

    .price-line strong {
      color: var(--color-text);
    }

    .price-line b {
      color: var(--color-primary);
      font-size: 1.1rem;
    }

    .price-line small {
      grid-column: 1 / -1;
      color: var(--color-muted);
    }

    .contact-form {
      display: grid;
      gap: .75rem;
      margin-top: 1.5rem;
    }

    .contact-form label {
      color: var(--color-muted);
      font-size: .85rem;
      font-weight: 600;
    }

    .contact-form input {
      width: 100%;
      margin-top: .3rem;
      padding: .8rem 1rem;
      border: 1px solid var(--color-border);
      border-radius: 12px;
      background: color-mix(in oklch, var(--color-bg) 74%, transparent);
      color: var(--color-text);
      outline: none;
    }

    .contact-form input:focus {
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 20%, transparent);
    }

    .contact-details {
      margin-top: 1.25rem;
      color: var(--color-muted);
      font-size: .9rem;
      line-height: 1.7;
    }

    .contact-details a {
      color: var(--color-primary);
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    @media (max-width: 860px) {
      .zigzag .row {
        grid-template-columns: 1fr;
        gap: 1.75rem;
        padding: 3.5rem 1.25rem;
      }

      .row .media,
      .row .copy {
        order: initial !important;
      }

      .row .media {
        order: 1 !important;
      }

      .row .copy {
        order: 2 !important;
      }

      .media::after {
        inset: .75rem -.5rem -.5rem .5rem;
      }

      .service-list,
      .stat-row {
        grid-template-columns: 1fr;
      }

      .stat {
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: left;
      }
    }
