
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body { background-color: #E8DCC8; color: #1F2328; font-family: 'Source Sans 3', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
    .font-display { font-family: 'Oswald', sans-serif; }
    img { display: block; max-width: 100%; }
    a { text-decoration: none; color: inherit; }
    button { cursor: pointer; border: none; background: none; font-family: inherit; }

    /* Layout */
    .container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
    .section { padding: 5rem 0; }

    /* Nav */
    .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: rgba(31,35,40,0.96); backdrop-filter: blur(8px); border-bottom: 1px solid rgba(255,255,255,0.1); }
    .nav-inner { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; height: 64px; display: flex; align-items: center; justify-content: space-between; }
    .nav-logo { display: flex; align-items: center; gap: 10px; }
    .nav-logo img { height: 40px; width: 40px; object-fit: contain; }
    .nav-logo-text { line-height: 1.1; }
    .nav-logo-text .top { font-family: 'Oswald', sans-serif; color: #fff; font-size: 1rem; font-weight: 700; letter-spacing: -0.01em; }
    .nav-logo-text .sub { font-family: 'Oswald', sans-serif; color: #B24A2F; font-size: 0.7rem; letter-spacing: 0.15em; font-weight: 500; }
    .nav-links { display: flex; align-items: center; gap: 1.5rem; }
    .nav-links a { color: rgba(255,255,255,0.8); font-size: 0.875rem; font-weight: 500; transition: color 0.2s; }
    .nav-links a:hover { color: #fff; }
    .nav-cta { background: #B24A2F; color: #fff !important; font-weight: 600; padding: 0.5rem 1rem; border-radius: 6px; transition: background 0.2s !important; }
    .nav-cta:hover { background: #9a3d26 !important; }
    .hamburger { display: none; color: #fff; padding: 8px; }
    .mobile-menu { display: none; background: #1F2328; border-top: 1px solid rgba(255,255,255,0.1); padding: 0 1.5rem 1rem; }
    .mobile-menu.open { display: block; }
    .mobile-menu a { display: block; padding: 0.75rem 0; color: rgba(255,255,255,0.8); font-size: 1rem; font-weight: 500; border-bottom: 1px solid rgba(255,255,255,0.1); }
    .mobile-menu a:hover { color: #fff; }
    .mobile-cta { margin-top: 1rem; display: block; background: #B24A2F; color: #fff !important; text-align: center; font-weight: 600; padding: 0.875rem 1rem; border-radius: 6px; border-bottom: none !important; }

    /* Buttons */
    .btn-primary { display: inline-block; background: #B24A2F; color: #fff; font-weight: 600; padding: 0.75rem 1.5rem; border-radius: 6px; text-align: center; transition: background 0.2s, transform 0.1s; }
    .btn-primary:hover { background: #9a3d26; }
    .btn-primary:active { transform: translateY(1px) scale(0.99); }
    .btn-outline { display: inline-block; border: 2px solid #1F2328; color: #1F2328; font-weight: 600; padding: 0.75rem 1.5rem; border-radius: 6px; text-align: center; transition: background 0.2s, color 0.2s, transform 0.1s; }
    .btn-outline:hover { background: #1F2328; color: #fff; }
    .btn-outline:active { transform: translateY(1px) scale(0.99); }
    .btn-white { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; background: #fff; color: #B24A2F; font-weight: 700; padding: 1rem 1.5rem; border-radius: 8px; transition: background 0.2s, transform 0.1s; }
    .btn-white:hover { background: #F0E8D4; }
    .btn-white:active { transform: translateY(1px); }
    .btn-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; border: 2px solid #fff; color: #fff; font-weight: 700; padding: 1rem 1.5rem; border-radius: 8px; transition: background 0.2s, transform 0.1s; }
    .btn-ghost:hover { background: rgba(255,255,255,0.1); }

    /* Hero */
    .hero { min-height: 100dvh; padding-top: 64px; display: flex; align-items: center; background: #E8DCC8; }
    .hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; padding: 3rem 0; }
    .hero-eyebrow { color: #B24A2F; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.75rem; }
    .hero-h1 { font-family: 'Oswald', sans-serif; font-size: clamp(2.5rem, 5vw, 3.75rem); font-weight: 700; letter-spacing: -0.01em; line-height: 1.05; margin-bottom: 1.25rem; }
    .hero-h1 span { color: #B24A2F; }
    .hero-sub { color: #5A5248; font-size: 1.125rem; line-height: 1.65; max-width: 52ch; margin-bottom: 1.75rem; }
    .hero-btns { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 2rem; }
    .hero-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
    .chip { background: #1F2328; color: #fff; font-size: 0.75rem; font-weight: 500; padding: 0.375rem 0.875rem; border-radius: 999px; }
    .hero-img-wrap { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 4/3; background: #D8CCBA; }
    .hero-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
    .hero-badge { position: absolute; bottom: 1rem; left: 1rem; background: rgba(31,35,40,0.9); backdrop-filter: blur(4px); color: #fff; padding: 0.5rem 1rem; border-radius: 8px; }
    .hero-badge p:first-child { font-size: 0.7rem; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 2px; }
    .hero-badge p:last-child { font-size: 0.875rem; font-weight: 600; }
    .hero-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; margin-top: 0.75rem; }
    .trust-tile { background: rgba(255,255,255,0.6); border-radius: 8px; padding: 0.5rem 0.75rem; text-align: center; }
    .trust-tile .val { font-family: 'Oswald', sans-serif; color: #B24A2F; font-size: 0.875rem; font-weight: 700; }
    .trust-tile .lbl { color: #5A5248; font-size: 0.7rem; margin-top: 2px; }

    /* Section headers */
    .section-eyebrow { color: #B24A2F; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.5rem; }
    .section-h2 { font-family: 'Oswald', sans-serif; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 700; letter-spacing: -0.01em; margin-bottom: 0.75rem; }
    .section-sub { color: #5A5248; max-width: 55ch; }

    /* Services */
    .services-bg { background: #F0E8D4; }
    .service-row { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; padding: 3rem 0; border-bottom: 1px solid #C8BCA8; }
    .service-row:last-child { border-bottom: none; }
    .service-row.flip .service-copy { order: 2; }
    .service-row.flip .service-photos { order: 1; }
    .service-accent { display: flex; align-items: flex-start; gap: 0.75rem; margin-bottom: 0.75rem; }
    .service-bar { width: 4px; height: 28px; border-radius: 99px; flex-shrink: 0; margin-top: 4px; }
    .service-h3 { font-family: 'Oswald', sans-serif; font-size: 1.5rem; font-weight: 700; letter-spacing: -0.01em; }
    .service-desc { color: #5A5248; line-height: 1.65; margin-bottom: 1.25rem; }
    .service-jobs { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; margin-bottom: 1.5rem; }
    .service-job { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: rgba(31,35,40,0.7); }
    .job-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
    .service-btns { display: flex; flex-wrap: wrap; gap: 0.75rem; }
    .btn-sm-primary { display: inline-block; background: #B24A2F; color: #fff; font-size: 0.875rem; font-weight: 600; padding: 0.625rem 1.25rem; border-radius: 6px; transition: background 0.2s; }
    .btn-sm-primary:hover { background: #9a3d26; }
    .btn-sm-outline { display: inline-block; border: 1px solid #1F2328; color: #1F2328; font-size: 0.875rem; font-weight: 600; padding: 0.625rem 1.25rem; border-radius: 6px; transition: background 0.2s, color 0.2s; }
    .btn-sm-outline:hover { background: #1F2328; color: #fff; }

    /* Photo grids */
    .photo-single { border-radius: 12px; overflow: hidden; aspect-ratio: 16/9; background: #D8CCBA; }
    .photo-single img { width: 100%; height: 100%; object-fit: cover; }
    .photo-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .photo-2-item { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; background: #D8CCBA; }
    .photo-2-item img { width: 100%; height: 100%; object-fit: cover; }
    .photo-3 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .photo-3-main { position: relative; border-radius: 12px; overflow: hidden; background: #D8CCBA; grid-row: span 2; }
    .photo-3-main img { width: 100%; height: 100%; object-fit: cover; min-height: 300px; }
    .photo-3-side { display: flex; flex-direction: column; gap: 8px; }
    .photo-3-item { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 4/3; background: #D8CCBA; }
    .photo-3-item img { width: 100%; height: 100%; object-fit: cover; }
    .photo-label { position: absolute; bottom: 8px; left: 8px; background: rgba(31,35,40,0.8); color: #fff; font-size: 0.7rem; font-weight: 600; padding: 3px 8px; border-radius: 4px; }

    /* Why Us */
    .why-bg { background: #1F2328; }
    .why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
    .why-h2 { font-family: 'Oswald', sans-serif; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 700; color: #fff; letter-spacing: -0.01em; margin-bottom: 1rem; }
    .why-sub { color: rgba(255,255,255,0.6); max-width: 50ch; margin-bottom: 2rem; }
    .why-item { display: flex; gap: 1rem; margin-bottom: 1rem; }
    .why-num { width: 24px; height: 24px; border-radius: 50%; background: #B24A2F; color: #fff; font-size: 0.75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 2px; }
    .why-item-title { color: #fff; font-weight: 600; margin-bottom: 4px; }
    .why-item-body { color: rgba(255,255,255,0.6); font-size: 0.875rem; line-height: 1.6; }
    .stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .stat-tile { background: #2C3138; border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 1.25rem; }
    .stat-val { font-family: 'Oswald', sans-serif; color: #B24A2F; font-size: 1.25rem; font-weight: 700; margin-bottom: 4px; }
    .stat-lbl { color: rgba(255,255,255,0.5); font-size: 0.875rem; }
    .google-note { grid-column: span 2; background: #2C3138; border: 1px solid rgba(210,138,44,0.3); border-radius: 12px; padding: 1rem; display: flex; align-items: center; gap: 0.75rem; }
    .google-note span { color: rgba(255,255,255,0.6); font-size: 0.875rem; }
    .google-note strong { color: #D28A2C; }

    /* Areas */
    .areas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 2rem; }
    .area-card { background: #F0E8D4; border-radius: 12px; padding: 1.25rem; }
    .area-title { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 1rem; margin-bottom: 0.75rem; letter-spacing: -0.01em; }
    .area-list { list-style: none; }
    .area-list li { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: #5A5248; margin-bottom: 6px; }
    .area-dot { width: 6px; height: 6px; border-radius: 50%; background: #B24A2F; flex-shrink: 0; }
    .area-cta { background: #1F2328; color: #fff; border-radius: 12px; padding: 1.25rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
    .area-cta-text p:first-child { font-weight: 600; margin-bottom: 4px; }
    .area-cta-text p:last-child { color: rgba(255,255,255,0.6); font-size: 0.875rem; }

    /* FAQ */
    .faq-bg { background: #F0E8D4; }
    .faq-grid { display: grid; grid-template-columns: 1fr 320px; gap: 2.5rem; }
    .faq-h2 { font-family: 'Oswald', sans-serif; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 700; letter-spacing: -0.01em; margin-bottom: 1.5rem; }
    .faq-item { border-bottom: 1px solid #C8BCA8; }
    .faq-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 1rem 0; text-align: left; cursor: pointer; background: none; border: none; font-family: inherit; gap: 1rem; }
    .faq-btn-text { font-weight: 600; color: #1F2328; font-size: 1rem; transition: color 0.2s; }
    .faq-btn:hover .faq-btn-text { color: #B24A2F; }
    .faq-icon { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #C8BCA8; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #B24A2F; font-weight: 700; font-size: 0.875rem; }
    .faq-answer { color: #5A5248; font-size: 0.875rem; line-height: 1.65; padding-bottom: 1rem; display: none; }
    .faq-answer.open { display: block; }
    .checklist-card { background: #1F2328; color: #fff; border-radius: 12px; padding: 1.5rem; }
    .checklist-title { font-family: 'Oswald', sans-serif; font-weight: 700; font-size: 1.125rem; margin-bottom: 4px; }
    .checklist-sub { color: rgba(255,255,255,0.5); font-size: 0.875rem; margin-bottom: 1rem; }
    .checklist-item { display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; margin-bottom: 0.75rem; }
    .check-icon { width: 20px; height: 20px; border-radius: 4px; background: #B24A2F; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

    /* Quote */
    .quote-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
    .quote-panel { background: #B24A2F; border-radius: 16px; padding: 2rem; color: #fff; display: flex; flex-direction: column; justify-content: space-between; }
    .quote-eyebrow { color: rgba(255,255,255,0.7); font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; margin-bottom: 0.5rem; }
    .quote-h2 { font-family: 'Oswald', sans-serif; font-size: clamp(1.5rem, 2.5vw, 2rem); font-weight: 700; letter-spacing: -0.01em; margin-bottom: 1rem; }
    .quote-sub { color: rgba(255,255,255,0.8); line-height: 1.65; margin-bottom: 1.5rem; }
    .quote-btns { display: flex; flex-direction: column; gap: 0.75rem; }
    .quote-hint { color: rgba(255,255,255,0.6); font-size: 0.75rem; text-align: center; margin-top: 0.5rem; }
    .form-card { background: #F0E8D4; border-radius: 16px; padding: 2rem; }
    .form-title { font-weight: 600; font-size: 1.125rem; margin-bottom: 1.25rem; }
    .form-group { margin-bottom: 1rem; }
    .form-group label { display: block; font-size: 0.875rem; font-weight: 500; margin-bottom: 6px; }
    .form-group input, .form-group textarea { width: 100%; border: 1px solid #C8BCA8; border-radius: 8px; padding: 0.625rem 0.875rem; font-size: 0.875rem; font-family: inherit; color: #1F2328; background: #fff; outline: none; transition: box-shadow 0.2s; }
    .form-group input:focus, .form-group textarea:focus { box-shadow: 0 0 0 2px #B24A2F; }
    .form-group input::placeholder, .form-group textarea::placeholder { color: #9A9286; }
    .form-group textarea { resize: none; }
    .form-submit { width: 100%; background: #B24A2F; color: #fff; font-weight: 600; padding: 0.875rem; border-radius: 8px; font-size: 1rem; font-family: inherit; cursor: pointer; transition: background 0.2s; border: none; }
    .form-submit:hover { background: #9a3d26; }
    .form-submit:disabled { opacity: 0.6; cursor: not-allowed; }
    .form-hint { color: #9A9286; font-size: 0.75rem; text-align: center; margin-top: 0.75rem; }
    .form-success { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 200px; text-align: center; }
    .success-icon { width: 48px; height: 48px; border-radius: 50%; background: #6E7D5B; display: flex; align-items: center; justify-content: center; margin-bottom: 0.75rem; }
    .form-error { color: #B24A2F; font-size: 0.875rem; margin-bottom: 0.75rem; }

    /* Pre-footer */
    .prefooter { background: #B24A2F; padding: 3rem 0; }
    .prefooter-inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
    .prefooter-h3 { font-family: 'Oswald', sans-serif; font-size: clamp(1.25rem, 2.5vw, 1.875rem); font-weight: 700; color: #fff; letter-spacing: -0.01em; }
    .prefooter-sub { color: rgba(255,255,255,0.7); margin-top: 4px; }
    .btn-prefooter { display: inline-block; background: #fff; color: #B24A2F; font-weight: 700; padding: 0.875rem 1.75rem; border-radius: 8px; white-space: nowrap; transition: background 0.2s; }
    .btn-prefooter:hover { background: #F0E8D4; }

    /* Footer */
    .footer { background: #1F2328; color: rgba(255,255,255,0.6); padding: 3rem 0 1.5rem; }
    .footer-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-bottom: 2rem; }
    .footer-logo { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
    .footer-logo img { height: 48px; width: 48px; object-fit: contain; }
    .footer-brand .top { font-family: 'Oswald', sans-serif; color: #fff; font-size: 1rem; font-weight: 700; }
    .footer-brand .sub { font-family: 'Oswald', sans-serif; color: #B24A2F; font-size: 0.75rem; letter-spacing: 0.1em; }
    .footer-desc { font-size: 0.875rem; line-height: 1.6; margin-bottom: 0.75rem; }
    .footer-domain { color: #B24A2F; font-weight: 600; font-size: 0.875rem; }
    .footer-heading { color: #fff; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 0.75rem; }
    .footer-list { list-style: none; }
    .footer-list li { margin-bottom: 0.5rem; font-size: 0.875rem; }
    .footer-list a:hover { color: #fff; transition: color 0.2s; }
    .footer-hours { color: rgba(255,255,255,0.4); font-size: 0.75rem; margin-top: 0.5rem; line-height: 1.5; }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1.5rem; display: flex; align-items: center; justify-content: space-between; font-size: 0.75rem; flex-wrap: wrap; gap: 0.5rem; }
    .footer-bottom-right { color: rgba(255,255,255,0.3); }

    /* Mobile sticky bar */
    .sticky-sms { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 40; background: #1F2328; border-top: 2px solid #B24A2F; padding: 0.875rem 1.5rem; }
    .sticky-sms a { display: flex; align-items: center; justify-content: center; gap: 0.5rem; background: #B24A2F; color: #fff; font-weight: 700; font-size: 1rem; padding: 0.875rem; border-radius: 8px; }

    /* Responsive */
    @media (max-width: 1023px) {
      .hero-grid, .service-row, .why-grid, .quote-grid { grid-template-columns: 1fr; }
      .service-row.flip .service-copy { order: 1; }
      .service-row.flip .service-photos { order: 2; }
      .faq-grid { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 767px) {
      .nav-links { display: none; }
      .hamburger { display: block; }
      .hero-btns { flex-direction: column; }
      .areas-grid { grid-template-columns: 1fr; }
      .stat-grid { grid-template-columns: 1fr 1fr; }
      .footer-grid { grid-template-columns: 1fr; }
      .prefooter-inner { flex-direction: column; text-align: center; }
      .sticky-sms { display: block; }
      body { padding-bottom: 80px; }
      .photo-3 { grid-template-columns: 1fr; }
      .photo-3-main { grid-row: span 1; }
      .photo-3-main img { min-height: 200px; }
      .photo-2 { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 480px) {
      .service-jobs { grid-template-columns: 1fr; }
      .hero-trust { grid-template-columns: repeat(3,1fr); }
    }
  
    .nav-logo img { background: #F0E8D4; border-radius: 8px; padding: 4px 6px; }

/* ============================================================
   DARK THEME OVERRIDE — matches homepage v16+ design system
   Applies to all interior pages (homepage has its own CSS)
   ============================================================ */
:root {
  --dk-bg:#131009; --dk-panel:#1C1710; --dk-panel2:#221C13;
  --dk-bone:#EDE6D8; --dk-text:#CFC6B4; --dk-chalk:#8E8474;
  --dk-orange:#C4703A; --dk-line:rgba(237,230,216,.12);
}
body { background-color:var(--dk-bg) !important; color:var(--dk-text) !important; }

/* section backgrounds */
.section, .services-bg, .faq-bg, .why-bg, .page-header, .hero,
section[class*="bg"] { background:transparent !important; }
.services-bg, .faq-bg, .why-bg { background:var(--dk-panel) !important; }

/* headings & text */
h1, h2, h3, .section-h2, .faq-h2, .hero-h1, .area-title, .why-item-title,
.checklist-item, .service-title { color:var(--dk-bone) !important; }
.section-sub, .service-desc, .hero-sub, .why-item-body, p { color:var(--dk-text); }
.section-eyebrow, .hero-eyebrow { color:var(--dk-orange) !important; }

/* cards & panels (incl. inline-styled white blocks) */
.area-card, .quote-strip, .faq-item, .checklist, .rev,
[style*="background:#fff"], [style*="background: #fff"] {
  background:var(--dk-panel2) !important; color:var(--dk-text) !important;
  border-color:var(--dk-line) !important;
}
.faq-item { background:transparent !important; border-bottom:1px solid var(--dk-line); }
.faq-btn, .faq-btn-text { color:var(--dk-bone) !important; background:transparent !important; }
.faq-icon { color:var(--dk-orange) !important; }
.faq-answer { color:var(--dk-text) !important; background:transparent !important; }

/* buttons & accents */
.btn-primary, .nav-cta { background:var(--dk-orange) !important; color:var(--dk-bg) !important; box-shadow:0 0 24px rgba(196,112,58,.22); }
.btn-primary:hover, .nav-cta:hover { background:var(--dk-bone) !important; color:var(--dk-bg) !important; }
.btn-outline { border-color:var(--dk-bone) !important; color:var(--dk-bone) !important; }
.service-bar { filter:saturate(1.1); }
a { color:inherit; }

/* chips / gallery filters */
.chip, .g-btn { background:var(--dk-panel2) !important; color:var(--dk-bone) !important; border:1px solid var(--dk-line) !important; }
.g-btn.active { border:1px solid var(--dk-orange) !important; color:var(--dk-orange) !important; }

/* forms */
input, textarea, select { background:var(--dk-panel2) !important; color:var(--dk-bone) !important; border:1px solid var(--dk-line) !important; }
input::placeholder, textarea::placeholder { color:var(--dk-chalk); }
label, .form-group label { color:var(--dk-bone) !important; }

/* footer already dark — align tones */
.footer { background:var(--dk-panel2) !important; border-top:1px solid var(--dk-line); }

/* photo labels stay readable */
.photo-label { background:rgba(19,16,9,.85) !important; color:var(--dk-bone) !important; }

/* ============================================================
   LUXURY SHELL — interior pages align with homepage v22 design
   ============================================================ */
body { font-family:'Manrope',sans-serif !important; }
h1, h2, h3, .section-h2, .faq-h2, .disp2, .area-title, .why-item-title, .service-title, .hero-h1 {
  font-family:'Fraunces',serif !important; font-weight:300 !important; text-transform:none !important; letter-spacing:.01em !important;
}
.mono2, .section-eyebrow, .hero-eyebrow, .photo-label, .label {
  font-family:'Manrope',sans-serif !important; letter-spacing:.28em !important; font-size:.68rem !important;
  text-transform:uppercase !important; font-weight:600 !important;
}
.btn-primary, .cta-o, .nav-cta, .submit, button[type=submit] { border-radius:2px !important;
  font-size:.78rem !important; letter-spacing:.14em !important; text-transform:uppercase !important;
  background:var(--dk-bone) !important; color:#121110 !important; box-shadow:none !important; }
.btn-primary:hover, .cta-o:hover { background:var(--dk-orange) !important; }
.btn-outline, .cta-g { border:1px solid rgba(245,240,230,.55) !important; border-radius:2px !important;
  font-size:.78rem !important; letter-spacing:.14em !important; text-transform:uppercase !important; color:var(--dk-bone) !important; }
.chip, .g-btn { border-radius:2px !important; letter-spacing:.14em; text-transform:uppercase; font-size:.72rem !important; }

/* lux nav */
.lux-nav { position:sticky; top:0; z-index:50; background:rgba(18,17,16,.92); backdrop-filter:blur(12px); border-bottom:1px solid rgba(245,240,230,.09); }
.lux-nav-in { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; max-width:1140px; margin:0 auto; padding:.9rem 28px; }
.lux-wordmark { display:flex; align-items:center; gap:.7rem; text-decoration:none; }
.lux-wm1 { display:block; font-size:.6rem; letter-spacing:.42em; text-transform:uppercase; color:#C9C2B4; }
.lux-wm2 { display:block; font-family:'Fraunces',serif; font-weight:400; font-size:1.1rem; color:#F5F0E6; letter-spacing:.06em; }
.lux-links { display:flex; gap:1.9rem; }
.lux-links a { text-decoration:none; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:#F5F0E6; opacity:.85; }
.lux-links a:hover { opacity:1; color:#C97B4A; }
.lux-call { text-decoration:none; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
  border:1px solid rgba(245,240,230,.5); color:#F5F0E6; padding:.55rem 1rem; border-radius:2px; }
.lux-call:hover { border-color:#C97B4A; color:#C97B4A; }
.lux-burger { display:none; background:none; border:none; color:#F5F0E6; font-size:1.4rem; cursor:pointer; }
.lux-mmenu { display:none; flex-direction:column; background:#121110;
  position:fixed; inset:0; z-index:60; padding:5.5rem 28px; }
.lux-mmenu a { text-decoration:none; color:#F5F0E6; font-family:'Fraunces',serif; font-size:1.6rem; padding:.7rem 0; border-bottom:1px solid rgba(245,240,230,.09); }
.lux-mmenu.open { display:flex; }
.lux-mclose { position:absolute; top:1.3rem; right:1.5rem; background:none; border:none; color:#F5F0E6; font-size:1.7rem; cursor:pointer; }
@media (max-width:900px) { .lux-links, .lux-call { display:none; } .lux-burger { display:block; } }

/* lux footer */
.lux-footer { border-top:1px solid rgba(245,240,230,.09); padding:3.5rem 0 4rem; color:#8B8478; font-size:.85rem; background:transparent !important; }
.lux-f-wrap { max-width:1140px; margin:0 auto; padding:0 28px; }
.lux-f-top { display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; margin-bottom:2rem; }
.lux-footer a { color:#C9C2B4; }

/* interior pages had fixed old nav offset — normalize */
main, .pg-wrap { padding-top:2.5rem !important; }
.page-header { padding-top:2rem !important; }


/* ===== LOGO LOCKUP + LOGO-DERIVED ACCENTS ===== */
:root { --dk-teal:#3E8C9E; }
.lux-wordmark { display:flex; align-items:center; gap:.8rem; }
.lux-mark { height:40px; width:auto; display:block; }
.lux-wm1, .lux-wm2 { display:block; }
@media (max-width:520px) { .lux-mark { height:34px; } .lux-wm1, .lux-wm2 { font-size:.9em; } }

/* teal as the quiet secondary accent, pulled from the logo */
.mono2::after, .section-eyebrow::after { content:""; display:block; width:34px; height:1px; background:var(--dk-teal); margin-top:.5rem; opacity:.7; }
.revx .who, .quote-strip p:last-child { color:var(--dk-teal) !important; }
.g-btn.active { border-color:var(--dk-orange) !important; }
.faq-item { border-bottom-color:rgba(62,140,158,.22) !important; }
.lux-footer { border-top-color:rgba(62,140,158,.22) !important; }

/* luxury chip restyle (dark) */
.chip { background: transparent !important; border: 1px solid rgba(245,240,230,.18); color: #CFC8BC !important; letter-spacing: .02em; border-radius: 2px !important; }
.chip:hover { border-color: #C4703A; color: #F5F0E6 !important; }
