
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --navy: #1E2E3D; --navy-deep: #141F2B; --navy-mid: #2A3F52;
      --blue: #2563EB; --blue-light: #EFF6FF; --blue-mid: #1E90D4;
      --gold: #E8A94D; --gold-deep: #C47B2E;
      --gray-100: #F8F9FA; --gray-200: #E9ECEF; --gray-400: #9CA3AF;
      --gray-600: #6B7280; --gray-800: #1F2937;
      --shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
      --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
      --shadow-lg: 0 8px 32px rgba(0,0,0,0.16);
    }
    body { font-family: 'DM Sans', sans-serif; color: var(--gray-800); background: #fff; line-height: 1.6; }

    /* ── NAV ── */
    .nav { background: var(--navy); padding: 0 48px; display: flex; align-items: center; justify-content: space-between; height: 120px; position: sticky; top: 0; z-index: 200; box-shadow: 0 2px 16px rgba(0,0,0,0.22); }
    .nav-logo { height: 108px; width: auto; }
    .nav-links { display: flex; align-items: center; gap: 32px; }
    .nav-links a { font-size: 16px; font-weight: 600; color: rgba(255,255,255,0.9); text-decoration: none; transition: color 0.2s; letter-spacing: 0.2px; }
    .nav-links a:hover { color: var(--gold); }
    .nav-cta { background: var(--blue); color: #fff; font-size: 15px; font-weight: 700; font-family: 'DM Sans', sans-serif; padding: 12px 26px; border-radius: 6px; border: none; cursor: pointer; transition: background 0.2s; white-space: nowrap; }
    .nav-cta:hover { background: var(--blue-mid); }

    /* ── ZIP HERO ── */
    .zip-hero { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%); padding: 52px 48px 40px; text-align: center; position: relative; overflow: hidden; }
    .zip-hero::before { content: ''; position: absolute; top: -80px; right: -80px; width: 320px; height: 320px; border-radius: 50%; background: rgba(37,99,235,0.1); pointer-events: none; }
    .zip-hero-eyebrow { display: inline-flex; align-items: center; gap: 6px; background: rgba(37,99,235,0.2); border: 1px solid rgba(37,99,235,0.35); color: var(--gold); font-size: 12px; font-weight: 500; padding: 5px 14px; border-radius: 20px; margin-bottom: 18px; }
    .zip-hero-headline { font-family: 'Playfair Display', serif; font-size: 46px; font-weight: 900; color: #fff; line-height: 1.1; margin-bottom: 10px; }
    .zip-hero-headline em { color: var(--gold); font-style: normal; }
    .zip-hero-sub { font-size: 16px; color: rgba(255,255,255,0.6); margin-bottom: 32px; max-width: 500px; margin-left: auto; margin-right: auto; }
    .zip-search { background: #fff; border-radius: 12px; padding: 8px 8px 8px 20px; display: inline-flex; align-items: center; gap: 12px; box-shadow: var(--shadow-lg); max-width: 560px; width: 100%; margin-bottom: 20px; }
    .zip-search i { font-size: 20px; color: var(--blue); flex-shrink: 0; }
    .zip-search input { border: none; outline: none; font-size: 16px; font-family: 'DM Sans', sans-serif; color: var(--gray-800); width: 100%; background: transparent; }
    .zip-search input::placeholder { color: var(--gray-400); }
    .zip-search-btn { background: var(--blue); color: #fff; border: none; border-radius: 8px; padding: 13px 28px; font-size: 15px; font-weight: 600; font-family: 'DM Sans', sans-serif; cursor: pointer; white-space: nowrap; flex-shrink: 0; transition: background 0.2s; }
    .zip-search-btn:hover { background: var(--blue-mid); }
    .zip-trust { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; }
    .zip-trust-item { display: flex; align-items: center; gap: 6px; font-size: 13px; color: rgba(255,255,255,0.55); }
    .zip-trust-item i { font-size: 15px; color: var(--gold); }

    /* ── STATS BAR ── */
    .stats-bar { background: var(--gold); padding: 16px 48px; display: flex; justify-content: center; gap: 52px; flex-wrap: wrap; }
    .stat-item { text-align: center; }
    .stat-num { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 900; color: var(--navy); }
    .stat-label { font-size: 11px; color: rgba(30,46,61,0.65); text-transform: uppercase; letter-spacing: 1px; }

    /* ── SPLIT SERVICES ── */
    .split-services { display: grid; grid-template-columns: 1fr 1fr; }
    .split-side { padding: 48px 40px; }
    .split-left { background: var(--gray-100); }
    .split-right { background: #fff; border-left: 1px solid var(--gray-200); }
    .split-header { margin-bottom: 28px; }
    .split-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; padding: 4px 12px; border-radius: 20px; margin-bottom: 10px; }
    .split-tag-blue { background: var(--blue-light); color: var(--blue); }
    .split-tag-gold { background: #FEF3E2; color: var(--gold-deep); }
    .split-title { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 900; color: var(--navy); margin-bottom: 6px; }
    .split-sub { font-size: 14px; color: var(--gray-600); }
    .split-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .split-card { border-radius: 10px; overflow: hidden; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; border: 1px solid var(--gray-200); background: #fff; }
    .split-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
    /* Unified — both sides identical height */
    .split-card-img { height: 140px; background-size: cover; background-position: center; position: relative; }
    .split-card-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.45)); }
    .split-card-label { position: absolute; bottom: 8px; left: 10px; z-index: 1; font-size: 13px; font-weight: 600; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,0.5); }
    .split-card-body { padding: 10px 12px; }
    .split-card-cta { font-size: 12px; font-weight: 600; color: var(--blue); display: flex; align-items: center; gap: 3px; background: none; border: none; cursor: pointer; font-family: 'DM Sans', sans-serif; padding: 0; }

    /* Insurance cards — same as contractor cards */
    .ins-card-img { height: 140px; background-size: cover; background-position: center; position: relative; }
    .ins-card-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,0.05), rgba(0,0,0,0.45)); }

    /* ── CAROUSEL ── */
    .carousel-section { padding: 80px 0; background: #fff; overflow: hidden; }
    .carousel-header { text-align: center; padding: 0 48px; margin-bottom: 40px; }
    .section-label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--blue); margin-bottom: 8px; }
    .section-title { font-family: 'Playfair Display', serif; font-size: 34px; font-weight: 900; color: var(--gray-800); margin-bottom: 10px; }
    .section-sub { font-size: 15px; color: var(--gray-600); max-width: 520px; margin: 0 auto; }
    .carousel-track-wrap { position: relative; }
    .carousel-track { display: flex; gap: 24px; padding: 0 48px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .carousel-track::-webkit-scrollbar { display: none; }
    .carousel-slide { flex: 0 0 340px; scroll-snap-align: start; border-radius: 14px; overflow: hidden; border: 1px solid var(--gray-200); box-shadow: var(--shadow-sm); background: #fff; }
    .carousel-slide-img { height: 200px; background-size: cover; background-position: center; position: relative; }
    .carousel-slide-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 40%, rgba(20,31,43,0.7)); }
    .carousel-slide-badge { position: absolute; top: 14px; left: 14px; z-index: 1; background: var(--blue); color: #fff; font-size: 10px; font-weight: 600; padding: 3px 10px; border-radius: 10px; text-transform: uppercase; letter-spacing: 0.5px; }
    .carousel-slide-title { position: absolute; bottom: 14px; left: 14px; z-index: 1; font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 700; color: #fff; }
    .carousel-slide-body { padding: 18px 20px; }
    .carousel-slide-desc { font-size: 13px; color: var(--gray-600); line-height: 1.65; margin-bottom: 16px; }
    .carousel-slide-cta { background: var(--blue); color: #fff; border: none; border-radius: 6px; padding: 9px 18px; font-size: 13px; font-weight: 600; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: background 0.2s; }
    .carousel-slide-cta:hover { background: var(--blue-mid); }
    .carousel-nav { display: flex; justify-content: center; gap: 12px; margin-top: 28px; padding: 0 48px; }
    .carousel-btn { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--gray-200); background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--navy); transition: all 0.2s; }
    .carousel-btn:hover { background: var(--navy); color: #fff; border-color: var(--navy); }

    /* ── POPULAR PROJECTS ── */
    .popular { padding: 80px 48px; background: var(--gray-100); }
    .popular-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 48px; }
    .popular-card { border-radius: 12px; overflow: hidden; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
    .popular-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
    .popular-card-img { height: 150px; background-size: cover; background-position: center; position: relative; }
    .popular-card-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 30%, rgba(20,31,43,0.72)); }
    .popular-card-label { position: absolute; bottom: 0; left: 0; right: 0; padding: 12px 14px; z-index: 1; }
    .popular-card-title { font-size: 14px; font-weight: 600; color: #fff; margin-bottom: 2px; }
    .popular-card-sub { font-size: 11px; color: rgba(255,255,255,0.75); }

    /* ── HOW IT WORKS ── */
    .how { padding: 80px 48px; background: #fff; }
    .how-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 52px; position: relative; }
    .how-steps::before { content: ''; position: absolute; top: 28px; left: calc(12.5% + 28px); right: calc(12.5% + 28px); height: 2px; background: var(--gray-200); }
    .how-step { text-align: center; position: relative; z-index: 1; }
    .how-step-num { width: 56px; height: 56px; border-radius: 50%; background: var(--blue); color: #fff; font-size: 20px; font-weight: 700; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; box-shadow: 0 4px 14px rgba(37,99,235,0.3); }
    .how-step-title { font-weight: 600; font-size: 15px; color: var(--gray-800); margin-bottom: 8px; }
    .how-step-desc { font-size: 13px; color: var(--gray-600); line-height: 1.65; }

    /* ── QUOTE FORM ── */
    .quote-section { padding: 80px 48px; background: var(--gray-100); }
    .quote-inner { max-width: 980px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
    .quote-left-label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--blue); margin-bottom: 10px; }
    .quote-left-title { font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 900; color: var(--gray-800); margin-bottom: 16px; line-height: 1.2; }
    .quote-left-sub { font-size: 15px; color: var(--gray-600); line-height: 1.75; margin-bottom: 28px; }
    .quote-why { display: flex; flex-direction: column; gap: 16px; }
    .quote-why-item { display: flex; align-items: flex-start; gap: 12px; }
    .quote-why-icon { width: 38px; height: 38px; border-radius: 8px; background: var(--blue-light); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .quote-why-icon i { font-size: 18px; color: var(--blue); }
    .quote-why-text strong { display: block; font-size: 14px; font-weight: 600; color: var(--gray-800); margin-bottom: 2px; }
    .quote-why-text span { font-size: 13px; color: var(--gray-600); }
    .quote-form-box { background: #fff; border-radius: 16px; padding: 32px; box-shadow: var(--shadow-sm); border: 1px solid var(--gray-200); }
    .quote-form-title { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; color: var(--navy); margin-bottom: 6px; }
    .quote-form-sub { font-size: 13px; color: var(--gray-600); margin-bottom: 20px; }
    .form-zip-banner { background: var(--navy); color: #fff; border-radius: 8px; padding: 10px 14px; font-size: 13px; display: flex; align-items: center; gap: 8px; margin-bottom: 18px; }
    .form-zip-banner i { color: var(--gold); font-size: 16px; }
    .form-zip-banner strong { color: var(--gold); }
    .form-grid { display: flex; flex-direction: column; gap: 10px; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .form-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
    .form-section-label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.5px; color: var(--blue); margin-top: 6px; }
    .required-wrap { position: relative; }
    .required-wrap .req-star { position: absolute; color: #EF4444; font-size: 14px; pointer-events: none; top: 50%; transform: translateY(-50%); }
    .form-input { width: 100%; padding: 11px 14px; border: 1px solid var(--gray-200); border-radius: 8px; background: #fff; font-size: 14px; font-family: 'DM Sans', sans-serif; color: var(--gray-800); outline: none; transition: border-color 0.2s; }
    .form-input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,99,235,0.08); }
    .form-input::placeholder { color: var(--gray-400); }
    .form-zip-wrap { position: relative; }
    .form-zip-wrap .form-input { padding-left: 38px; }
    .form-zip-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); font-size: 16px; color: var(--blue); pointer-events: none; }
    .form-select { width: 100%; padding: 11px 14px; border: 1px solid var(--gray-200); border-radius: 8px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232563EB' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center; font-size: 14px; font-family: 'DM Sans', sans-serif; color: var(--gray-800); outline: none; appearance: none; cursor: pointer; }
    .form-select:focus { border-color: var(--blue); }
    .form-submit { background: var(--blue); color: #fff; border: none; border-radius: 8px; padding: 14px; font-size: 15px; font-weight: 600; font-family: 'DM Sans', sans-serif; cursor: pointer; width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background 0.2s; margin-top: 4px; }
    .form-submit:hover { background: var(--blue-mid); }
    .form-disclaimer { font-size: 11px; color: var(--gray-400); text-align: center; margin-top: 10px; line-height: 1.6; }
    .form-error-banner {
      background: #FEF2F2;
      border: 1px solid #FCA5A5;
      border-left: 3px solid #EF4444;
      border-radius: 8px;
      padding: 14px 16px;
      font-size: 13px;
      color: #991B1B;
      line-height: 1.6;
      display: flex;
      align-items: flex-start;
      gap: 10px;
      animation: shakeIn 0.4s ease;
    }
    .form-error-banner i { font-size: 18px; color: #EF4444; flex-shrink: 0; margin-top: 1px; }
    .form-error-banner strong { color: #7F1D1D; }
    .form-error-banner .missing-list { font-weight: 600; }
    @keyframes shakeIn {
      0% { opacity: 0; transform: translateX(0); }
      25% { opacity: 1; transform: translateX(-6px); }
      50% { transform: translateX(5px); }
      75% { transform: translateX(-3px); }
      100% { transform: translateX(0); }
    }
    .form-success { display: none; flex-direction: column; align-items: center; text-align: center; padding: 36px 16px; gap: 12px; }
    .form-success-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--blue-light); display: flex; align-items: center; justify-content: center; }
    .form-success-icon i { font-size: 32px; color: var(--blue); }
    .form-success-title { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 700; color: var(--navy); }
    .form-success-sub { font-size: 14px; color: var(--gray-600); line-height: 1.7; }

    /* ── BLOG ── */
    .blog { padding: 80px 48px; background: #fff; }
    .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
    .blog-card { border-radius: 12px; overflow: hidden; border: 1px solid var(--gray-200); transition: box-shadow 0.2s, transform 0.2s; cursor: pointer; }
    .blog-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
    .blog-card-img { height: 180px; background-size: cover; background-position: center; }
    .blog-card-body { padding: 20px; }
    .blog-card-tag { display: inline-block; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; color: var(--blue); background: var(--blue-light); padding: 3px 8px; border-radius: 8px; margin-bottom: 10px; }
    .blog-card-title { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 700; color: var(--navy); margin-bottom: 8px; line-height: 1.3; }
    .blog-card-excerpt { font-size: 13px; color: var(--gray-600); line-height: 1.65; margin-bottom: 14px; }
    .blog-card-cta { font-size: 13px; font-weight: 600; color: var(--blue); display: flex; align-items: center; gap: 4px; }

    /* ── TESTIMONIALS ── */
    .testimonials { padding: 80px 48px; background: var(--gray-100); }
    .testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 52px; }
    .testimonial-card { background: #fff; border-radius: 12px; padding: 28px; box-shadow: var(--shadow-sm); border: 1px solid var(--gray-200); }
    .testimonial-stars { color: var(--gold); font-size: 14px; margin-bottom: 14px; letter-spacing: 1px; }
    .testimonial-text { font-size: 14px; color: var(--gray-600); line-height: 1.75; margin-bottom: 20px; font-style: italic; }
    .testimonial-author { display: flex; align-items: center; gap: 12px; }
    .testimonial-photo { width: 46px; height: 46px; border-radius: 50%; background-size: cover; background-position: center; flex-shrink: 0; border: 2px solid var(--blue-light); }
    .testimonial-avatar { width: 46px; height: 46px; border-radius: 50%; background: var(--blue); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; color: #fff; flex-shrink: 0; }
    .testimonial-name { font-size: 14px; font-weight: 600; color: var(--gray-800); }
    .testimonial-location { font-size: 12px; color: var(--gray-400); display: flex; align-items: center; gap: 3px; }
    .testimonial-location i { font-size: 12px; color: var(--gold-deep); }

    /* ── PRO CTA ── */
    .pro-cta { background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%); padding: 80px 48px; display: grid; grid-template-columns: 1fr auto; gap: 48px; align-items: center; }
    .pro-cta-title { font-family: 'Playfair Display', serif; font-size: 34px; font-weight: 900; color: #fff; margin-bottom: 12px; }
    .pro-cta-sub { font-size: 16px; color: rgba(255,255,255,0.65); max-width: 480px; }
    .pro-cta-btn { background: var(--gold); color: var(--navy); border: none; padding: 18px 40px; border-radius: 8px; font-size: 15px; font-weight: 700; font-family: 'DM Sans', sans-serif; cursor: pointer; white-space: nowrap; transition: background 0.2s; }
    .pro-cta-btn:hover { background: #fff; }

    /* ── FOOTER ── */
    .footer { background: var(--navy-deep); padding: 56px 48px 28px; }
    .footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: 36px; margin-bottom: 44px; }
    .footer-logo { height: 70px; width: auto; margin-bottom: 14px; }
    .footer-brand-desc { font-size: 13px; color: rgba(255,255,255,0.38); line-height: 1.7; margin-bottom: 18px; }
    .footer-r1d { display: flex; align-items: center; gap: 8px; opacity: 0.5; }
    .footer-r1d img { height: 26px; width: auto; }
    .footer-r1d-label { font-size: 10px; color: rgba(255,255,255,0.3); }
    .footer-col-title { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; }
    .footer-col-links { display: flex; flex-direction: column; gap: 10px; }
    .footer-col-links a { font-size: 13px; color: rgba(255,255,255,0.42); text-decoration: none; transition: color 0.2s; }
    .footer-col-links a:hover { color: #fff; }
    .footer-bottom { border-top: 1px solid rgba(255,255,255,0.07); padding-top: 24px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
    .footer-bottom-text { font-size: 12px; color: rgba(255,255,255,0.28); }
    .footer-bottom-links { display: flex; gap: 20px; }
    .footer-bottom-links a { font-size: 12px; color: rgba(255,255,255,0.32); text-decoration: none; }
    .footer-bottom-links a:hover { color: rgba(255,255,255,0.7); }

    /* ── RESPONSIVE ── */
    @media (max-width: 1100px) {
      .split-services { grid-template-columns: 1fr; }
      .split-right { border-left: none; border-top: 1px solid var(--gray-200); }
      .footer-top { grid-template-columns: 1fr 1fr 1fr; }
    }
    @media (max-width: 960px) {
      .nav { padding: 0 24px; height: 80px; }
      .nav-links { display: none; }
      .zip-hero { padding: 40px 24px 36px; }
      .zip-hero-headline { font-size: 34px; }
      .popular-grid { grid-template-columns: repeat(2, 1fr); }
      .how-steps { grid-template-columns: 1fr 1fr; }
      .how-steps::before { display: none; }
      .quote-inner { grid-template-columns: 1fr; gap: 36px; }
      .quote-form-box { order: 1; }
      .quote-left { order: 2; }
      .testimonials-grid { grid-template-columns: 1fr; }
      .blog-grid { grid-template-columns: 1fr 1fr; }
      .pro-cta { grid-template-columns: 1fr; gap: 24px; }
      .footer-top { grid-template-columns: 1fr 1fr; }
      .popular, .how, .quote-section, .testimonials, .blog, .pro-cta { padding-left: 24px; padding-right: 24px; }
      .carousel-header { padding: 0 24px; }
      .footer { padding: 40px 24px 24px; }
      .stats-bar { padding: 16px 24px; gap: 24px; }
    }
    @media (max-width: 600px) {
      .popular-grid { grid-template-columns: 1fr; }
      .how-steps { grid-template-columns: 1fr; }
      .blog-grid { grid-template-columns: 1fr; }
      .footer-top { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }
      .form-row-3 { grid-template-columns: 1fr; }
      .split-grid { grid-template-columns: 1fr; }
      .zip-search { padding: 10px; flex-wrap: wrap; }
      .zip-search-btn { width: 100%; text-align: center; justify-content: center; }
    }
  

/* ── CONTENT PAGES (added 2026-10-08) ── */
.lqc-hero{background:linear-gradient(135deg,var(--navy-deep),var(--navy-mid));color:#fff;padding:56px 24px 48px}
.lqc-hero-inner{max-width:1080px;margin:0 auto}
.lqc-crumbs{font-size:13px;color:rgba(255,255,255,.75);margin-bottom:16px}
.lqc-crumbs a{color:rgba(255,255,255,.9);text-decoration:none}
.lqc-crumbs a:hover{text-decoration:underline}
.lqc-eyebrow{display:inline-block;background:rgba(232,169,77,.16);color:var(--gold);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:14px}
.lqc-hero h1{font-family:'Playfair Display',serif;font-size:clamp(30px,5vw,46px);line-height:1.15;margin:0 0 14px;color:#fff}
.lqc-hero p{font-size:18px;max-width:720px;color:rgba(255,255,255,.86);margin:0 0 26px}
.lqc-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy-deep);font-weight:600;padding:14px 26px;border-radius:10px;text-decoration:none;border:0;cursor:pointer;font-size:16px;font-family:inherit}
.lqc-btn:hover{background:var(--gold-deep);color:#fff}
.lqc-meta{font-size:13px;color:rgba(255,255,255,.7);margin-top:18px}
.lqc-wrap{max-width:1080px;margin:0 auto;padding:52px 24px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px}
.lqc-article h2{font-family:'Playfair Display',serif;font-size:28px;color:var(--navy);margin:40px 0 12px;line-height:1.25}
.lqc-article > h2:first-child{margin-top:0}
.lqc-article h3{font-size:19px;color:var(--navy);margin:26px 0 8px}
.lqc-article p,.lqc-article li{font-size:17px;color:var(--gray-800)}
.lqc-article p{margin:0 0 16px}
.lqc-article ul,.lqc-article ol{padding-left:22px;margin:0 0 18px}
.lqc-article li{margin-bottom:8px}
.lqc-article a{color:var(--blue)}
.lqc-figure{margin:0 0 28px}
.lqc-figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:14px;display:block}
.lqc-callout{background:var(--blue-light);border-left:4px solid var(--blue);padding:16px 20px;border-radius:8px;margin:24px 0}
.lqc-callout p:last-child{margin-bottom:0}
.lqc-article .lqc-note{background:var(--gray-100);border:1px solid var(--gray-200);padding:14px 18px;border-radius:8px;font-size:14px;color:var(--gray-600)}
.lqc-table-wrap{overflow-x:auto;margin:16px 0 20px;border:1px solid var(--gray-200);border-radius:10px}
.lqc-table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.lqc-table th{background:var(--navy);color:#fff;text-align:left;padding:12px 14px;font-weight:600}
.lqc-table td{padding:12px 14px;border-top:1px solid var(--gray-200);vertical-align:top}
.lqc-table tr:nth-child(even) td{background:var(--gray-100)}
.lqc-side{position:sticky;top:96px;align-self:start}
.lqc-card{background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:22px;box-shadow:var(--shadow-sm);margin-bottom:18px}
.lqc-card-cta{background:var(--navy);border-color:var(--navy);color:#fff}
.lqc-card-cta h3{color:#fff}
.lqc-card-cta p{color:rgba(255,255,255,.82);font-size:15px;margin:0 0 16px}
.lqc-card h3{font-size:17px;color:var(--navy);margin:0 0 10px}
.lqc-card ul{list-style:none;padding:0;margin:0}
.lqc-card li{border-top:1px solid var(--gray-200)}
.lqc-card li:first-child{border-top:0}
.lqc-card li a{display:block;padding:9px 0;color:var(--gray-800);text-decoration:none;font-size:15px}
.lqc-card li a:hover{color:var(--blue)}
.lqc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;margin:18px 0 26px}
.lqc-tile{display:block;text-decoration:none;color:inherit;border:1px solid var(--gray-200);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s}
.lqc-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.lqc-tile-img{height:150px;background-size:cover;background-position:center;background-color:var(--gray-200)}
.lqc-tile-body{padding:16px 18px}
.lqc-tile-tag{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-mid);margin-bottom:4px}
.lqc-tile-title{font-weight:600;color:var(--navy);font-size:17px;line-height:1.3;margin-bottom:6px}
.lqc-tile-sub{font-size:14px;color:var(--gray-600);line-height:1.5}
.lqc-faq{background:var(--gray-100);padding:60px 24px}
.lqc-faq-inner{max-width:860px;margin:0 auto}
.lqc-faq details{background:#fff;border:1px solid var(--gray-200);border-radius:12px;margin-bottom:12px}
.lqc-faq summary{cursor:pointer;padding:18px 48px 18px 20px;font-weight:600;color:var(--navy);list-style:none;position:relative;font-size:17px}
.lqc-faq summary::-webkit-details-marker{display:none}
.lqc-faq summary::after{content:'+';position:absolute;right:20px;top:14px;font-size:22px;color:var(--blue)}
.lqc-faq details[open] summary::after{content:'\2212'}
.lqc-faq details p{padding:0 20px 18px;margin:0;color:var(--gray-800);font-size:16px}
.lqc-related{padding:60px 24px}
.lqc-related-inner{max-width:1080px;margin:0 auto}
@media(max-width:900px){.lqc-wrap{grid-template-columns:1fr;padding:36px 16px;gap:28px}.lqc-side{position:static}.lqc-hero{padding:40px 16px 36px}.lqc-faq,.lqc-related{padding:44px 16px}}
.split-card-label a,.popular-card-title a,.blog-card-title a{color:inherit;text-decoration:none}
a.blog-card-cta{text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.lqc-card.lqc-card-cta h3{color:#fff}
