:root{
      --bg-body:#f5f9fb;--bg-page:#ffffff;--bg-card:#ffffff;--bg-pill:#eef6f9;
      --text-main:#0d0d0d;--text-muted:#404040;--text-softer:#737373;

      /* Brand blue is #4caac9 — lifted from the existing L&M site. It only
         clears 2.66:1 on white, so it is used for fills, rules and icons.
         Anything the eye has to READ uses --primary-deep (5.66:1). */
      --primary:#4caac9;--primary-soft:rgba(76,170,201,.12);--primary-deep:#296f86;
      --primary-mid:#3490ae;--accent-line:rgba(76,170,201,.85);
      --navy:#021935;

      --border-subtle:#e6e6e6;--radius-lg:22px;--radius-md:16px;
      --shadow-soft:0 28px 60px rgba(2,25,53,.08);
      --content-width:1120px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:"Roboto",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      background:radial-gradient(circle at top left,#fbfdfe 0,#f5f9fb 42%);
      color:var(--text-main);
      font-size:18px;
      line-height:1.85;
    }
    a{color:inherit}
    .skip-link{
      position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;
      padding:10px 18px;border-radius:0 0 8px 0;z-index:50;
    }
    .skip-link:focus{left:0}

    /* HEADER */
    header{
      position:sticky;top:0;z-index:20;
      border-bottom:1px solid rgba(230,230,230,.9);
      background:rgba(255,255,255,.96);
      backdrop-filter:blur(12px);
    }
    .nav-shell{
      max-width:var(--content-width);margin:0 auto;padding:12px 20px;
      display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
    }
    .brand{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none}
    .brand-mark{
      width:42px;height:42px;border-radius:10px;flex-shrink:0;
      display:flex;align-items:center;justify-content:center;
      background:linear-gradient(135deg,#4caac9,#296f86);
      color:#fff;font-family:"Playfair Display",serif;font-size:1.15rem;font-weight:700;
      letter-spacing:.02em;
    }
    .brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
    .brand-text .name{
      font-family:"Playfair Display",serif;font-size:1.5rem;font-weight:600;
      color:var(--primary-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    }
    .brand-text .sub{
      font-size:.72rem;color:var(--text-softer);letter-spacing:.22em;text-transform:uppercase;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    }
    .nav-links{display:flex;align-items:center;gap:20px;font-size:.98rem;flex-wrap:wrap}
    .nav-links a{text-decoration:none;color:var(--text-muted);font-weight:500;white-space:nowrap}
    .nav-links a:hover{color:var(--primary-deep)}
    @media (max-width:900px){.nav-links{display:none}}

    .btn-primary{
      display:inline-flex;align-items:center;justify-content:center;
      padding:12px 26px;border-radius:8px;border:none;
      font-size:1rem;font-weight:700;cursor:pointer;text-decoration:none;
      background:linear-gradient(135deg,#4caac9,#3490ae);
      color:#fff;box-shadow:0 14px 34px rgba(41,111,134,.32);
      white-space:nowrap;font-family:inherit;
      transition:transform .1s ease,box-shadow .1s ease,filter .1s ease;
    }
    .btn-primary:hover{transform:translateY(-1px);box-shadow:0 20px 46px rgba(41,111,134,.45);filter:brightness(1.04)}
    .btn-ghost{
      display:inline-flex;align-items:center;justify-content:center;
      padding:11px 22px;border-radius:8px;
      border:1px solid rgba(41,111,134,.4);
      font-size:.98rem;font-weight:600;cursor:pointer;text-decoration:none;
      background:#fff;color:var(--primary-deep);white-space:nowrap;
    }

    main{max-width:var(--content-width);margin:0 auto;padding:8px 20px 40px}
    section{margin-top:32px}

    .section-eyebrow{
      font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
      color:var(--text-softer);margin-bottom:6px;font-weight:700;
    }
    .section-divider{width:64px;height:2px;border-radius:999px;background:var(--accent-line);margin-bottom:20px}
    h2.section-title{
      font-family:"Playfair Display",serif;
      font-size:2.35rem;letter-spacing:-.01em;margin:0 0 18px;font-weight:700;color:var(--navy);
    }
    .section-subtitle{font-size:1.12rem;color:var(--text-muted);max-width:42rem;margin-bottom:26px}
    .section-block{
      background:var(--bg-page);border-radius:24px;padding:30px 26px 34px;
      box-shadow:var(--shadow-soft);border:1px solid var(--border-subtle);
    }
    .section-dark{background:var(--navy) !important;border-color:transparent !important;box-shadow:none !important}
    .section-dark .section-title{color:#fff !important}
    .section-dark .section-eyebrow{color:var(--primary) !important}
    .section-dark .section-divider{background:var(--primary) !important}
    .section-dark p,.section-dark li{color:rgba(255,255,255,.8)}

    /* HERO */
    .hero-wrap{padding:44px 0 8px}
    .hero-tag{
      display:inline-flex;align-items:center;gap:9px;
      font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;
      color:var(--text-softer);font-weight:700;margin-bottom:14px;
    }
    .hero-tag span.dot{width:8px;height:8px;border-radius:999px;background:var(--primary);display:inline-block}
    .hero-title{
      font-family:"Playfair Display",serif;
      font-size:3rem;line-height:1.14;letter-spacing:-.01em;margin:0 0 16px;font-weight:700;color:var(--navy);
    }
    .hero-title span.highlight{color:var(--primary-deep)}
    .hero-lede{font-size:1.15rem;color:var(--text-muted);max-width:46rem;margin:0 0 26px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

    /* CARDS */
    .cards{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
    .card{
      background-color:var(--bg-card);border-radius:var(--radius-lg);padding:26px;
      border:1px solid var(--border-subtle);font-size:1rem;
      display:flex;flex-direction:column;gap:12px;box-shadow:0 18px 40px rgba(2,25,53,.05);
    }
    .card h3{font-size:1.3rem;margin:0;font-weight:700;color:var(--navy);font-family:"Playfair Display",serif}
    .card p{margin:0;color:var(--text-muted);font-size:1.04rem}
    .badge{
      display:inline-block;font-size:.74rem;text-transform:uppercase;letter-spacing:.16em;
      padding:4px 10px;border-radius:999px;align-self:flex-start;
      background-color:var(--primary-soft);color:var(--primary-deep);font-weight:700;
    }
    .list{padding-left:20px;margin:6px 0 0;color:var(--text-muted);font-size:1rem}
    .list li{margin-bottom:3px}

    .facility-grid{display:grid;gap:12px;grid-template-columns:repeat(5,1fr)}
    .facility-grid span{
      background-color:var(--bg-pill);border-radius:var(--radius-md);padding:14px 16px;
      border:1px solid var(--border-subtle);font-size:.97rem;color:var(--text-muted);line-height:1.5;
    }
    @media (max-width:900px){.facility-grid{grid-template-columns:repeat(3,1fr)}}
    @media (max-width:640px){.facility-grid{grid-template-columns:repeat(2,1fr)}}

    .service-columns{display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}
    @media (max-width:760px){.service-columns{grid-template-columns:1fr}}
    .note{margin-top:20px;font-size:.98rem;color:var(--text-softer);border-left:2px solid var(--accent-line);padding-left:14px}

    .steps{display:grid;gap:20px;margin-top:12px;grid-template-columns:repeat(5,1fr)}
    @media (max-width:1000px){.steps{grid-template-columns:repeat(2,1fr)}}
    @media (max-width:640px){.steps{grid-template-columns:1fr}}
    .step{
      background-color:var(--bg-card);border-radius:20px;border:1px solid var(--border-subtle);
      padding:24px;box-shadow:0 14px 34px rgba(2,25,53,.03);
    }
    .step-label{font-size:.74rem;text-transform:uppercase;letter-spacing:.2em;color:var(--text-softer);margin-bottom:8px;font-weight:700}
    .step strong{display:block;margin-bottom:8px;font-size:1.12rem;font-weight:700;color:var(--navy)}
    .step p{margin:0;color:var(--text-muted);font-size:.97rem;line-height:1.7}

    /* FORM */
    .request-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:12px}
    .field{display:flex;flex-direction:column;gap:6px}
    .field label{font-size:.84rem;font-weight:700;color:var(--text-muted)}
    .field input,.field select,.field textarea{
      padding:11px 14px;border:1px solid var(--border-subtle);border-radius:8px;
      font-size:.95rem;font-family:inherit;color:var(--text-main);background:#fff;
    }
    .field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--primary);outline-offset:1px}
    .field textarea{resize:vertical;min-height:82px}
    #cm-submit{
      width:100%;background:linear-gradient(135deg,#4caac9,#3490ae);color:#fff;
      padding:14px 18px;border:none;border-radius:8px;font-weight:700;font-size:1rem;
      cursor:pointer;font-family:inherit;margin-top:6px;
    }
    #cm-submit:disabled{opacity:.6;cursor:default}
    .consent{font-size:.78rem;color:var(--text-softer);margin-top:10px;line-height:1.6}
    .consent a{color:var(--primary-deep)}

    footer{
      margin-top:60px;padding:35px 20px 30px;border-top:1px solid var(--border-subtle);
      font-size:.95rem;color:var(--text-muted);background:#eef4f7;
    }
    footer .footer-inner{max-width:var(--content-width);margin:0 auto;display:grid;gap:10px}
    footer a{color:var(--primary-deep)}

    @media (max-width:640px){
      .hero-title{font-size:2.1rem}
      h2.section-title{font-size:1.85rem}
    }

    /* ── Landing pages (service + location) ───────────────────────────────── */
    .breadcrumb{font-size:.86rem;color:var(--text-softer);padding:14px 0 0}
    .breadcrumb a{color:var(--primary-deep);font-weight:600;text-decoration:none}
    .section-block p{color:var(--text-muted);margin:0 0 14px}
    .section-block p:last-child{margin-bottom:0}
    .section-block .list{margin:8px 0 0}
    .section-block .list li{margin-bottom:8px;line-height:1.7}
    .related{columns:2;column-gap:28px;padding-left:20px}
    .related li{break-inside:avoid;margin-bottom:8px}
    .related a{color:var(--primary-deep);font-weight:600;text-decoration:none}
    .related a:hover{text-decoration:underline}
    @media (max-width:640px){.related{columns:1}}
