.service-hero{background:linear-gradient(135deg,#1B365D 0%,#142845 50%,#0F1F38 100%);color:#fff;padding:48px 36px;border-radius:16px;margin-bottom:32px;position:relative;overflow:hidden;box-shadow:0 12px 32px rgba(27,54,93,0.25)}.service-hero::before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(circle,rgba(232,168,56,0.15) 0%,transparent 70%);pointer-events:none}.service-hero__title{color:#fff !important;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.2;margin-bottom:14px;position:relative;z-index:1}.service-hero__subtitle{color:rgba(255,255,255,0.85) !important;font-size:1.05rem;font-weight:400;margin-bottom:22px;position:relative;z-index:1}.service-hero__meta{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}.service-hero__meta .trust-badge{background:rgba(255,255,255,0.12) !important;color:#fff !important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,0.18);padding:8px 16px !important;font-size:0.85rem !important;font-weight:500;border-radius:50px}.service-hero__meta .trust-badge .icon{color:#E8A838 !important}.service-image{margin:-16px 0 32px;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.08);position:relative}.service-image img{width:100% !important;height:auto !important;display:block;transition:transform 0.4s ease}.service-image:hover img{transform:scale(1.02)}.service-image::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 60%,rgba(27,54,93,0.15) 100%);pointer-events:none}.inline-cta{margin:32px 0 !important;text-align:center}.inline-cta .btn--cta{background:linear-gradient(135deg,#E8A838 0%,#D49228 100%);color:#1B365D;padding:16px 32px;border-radius:50px;font-size:1.05rem;font-weight:700;display:inline-flex;align-items:center;gap:10px;box-shadow:0 8px 20px rgba(232,168,56,0.35);transition:all 0.25s ease;text-decoration:none}.inline-cta .btn--cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(232,168,56,0.5)}.service-intro{background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%);padding:28px 32px;border-left:4px solid #E8A838 !important;border-radius:0 12px 12px 0;margin-bottom:32px !important;font-size:1.05rem !important;line-height:1.7;color:#1f2937}.service-content.prose{font-size:1rem;line-height:1.75;color:#1f2937}.service-content.prose h2{font-size:1.55rem;color:#1B365D;margin:40px 0 16px;padding-bottom:10px;border-bottom:2px solid #f3f4f6}.service-content.prose h3{font-size:1.2rem;color:#1B365D;margin:28px 0 12px}.service-content.prose p{margin:0 0 16px}.service-content.prose ul,.service-content.prose ol{margin:16px 0 24px 24px;line-height:1.75}.service-content.prose li{margin-bottom:8px}.service-content.prose table{width:100%;border-collapse:collapse;margin:24px 0;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04)}.service-content.prose th{background:linear-gradient(135deg,#1B365D 0%,#142845 100%);color:#fff;text-align:left;padding:14px 18px;font-weight:600;font-size:0.95rem}.service-content.prose td{padding:12px 18px;border-top:1px solid #f3f4f6}.service-content.prose tr:nth-child(even) td{background:#fafbfc}.service-content.prose a{color:#1B365D;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;text-decoration-color:rgba(232,168,56,0.4);transition:all 0.2s ease}.service-content.prose a:hover{color:#E8A838;text-decoration-color:#E8A838}.service-content.prose strong{color:#1B365D;font-weight:700}.faq-section{margin:48px 0;padding:36px;background:linear-gradient(135deg,#fafbfc 0%,#f3f4f6 100%);border-radius:14px;border:1px solid #e5e7eb}.faq-section .section-title{color:#1B365D;font-size:1.5rem;margin:0 0 24px}.faq-list{display:grid;gap:16px}.faq-item{background:#fff;padding:22px 26px;border-radius:10px;border:1px solid #e5e7eb;transition:box-shadow 0.2s ease,transform 0.2s ease}.faq-item:hover{box-shadow:0 6px 16px rgba(0,0,0,0.06);transform:translateY(-1px)}.faq-item__question{font-size:1.05rem;color:#1B365D;margin:0 0 10px;font-weight:700}.faq-item__answer{color:#4b5563;font-size:0.95rem;line-height:1.7;margin:0}.cta-banner{background:linear-gradient(135deg,#1B365D 0%,#142845 100%);color:#fff;padding:36px 32px;border-radius:14px;text-align:center;margin:48px 0;box-shadow:0 12px 32px rgba(27,54,93,0.2)}.cta-banner__title{color:#fff;font-size:1.5rem;margin:0 0 12px}.cta-banner__text{color:rgba(255,255,255,0.85);margin:0 0 22px;font-size:1rem}.cta-banner .btn--cta.btn--lg{background:linear-gradient(135deg,#E8A838 0%,#D49228 100%);color:#1B365D;padding:18px 38px;font-size:1.1rem;font-weight:700;border-radius:50px;box-shadow:0 8px 20px rgba(232,168,56,0.35);text-decoration:none;display:inline-block;transition:all 0.25s ease}.cta-banner .btn--cta.btn--lg:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(232,168,56,0.5)}.services-grid-section{background:#fff !important;border:1px solid #e5e7eb !important;box-shadow:0 4px 16px rgba(0,0,0,0.04)}.services-grid-section h2{color:#1B365D;font-size:1.55rem;margin:0 0 6px}.services-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr)) !important;gap:14px !important}.service-card{border:1px solid #e5e7eb !important;background:linear-gradient(135deg,#fff 0%,#fafbfc 100%) !important;padding:20px 22px !important;border-radius:10px !important}.service-card:hover{border-color:#E8A838 !important;box-shadow:0 8px 20px rgba(232,168,56,0.15) !important;transform:translateY(-3px) !important}.service-card__price{color:#E8A838 !important;font-size:0.7rem !important;font-weight:800 !important;letter-spacing:0.08em !important;margin-bottom:8px !important}.service-card__name{color:#1B365D !important;font-size:1rem !important;font-weight:700 !important;margin-bottom:6px !important}.service-card__brief{color:#6b7280 !important;font-size:0.825rem !important;line-height:1.5 !important}.testimonials-section h2{color:#1B365D;font-size:1.55rem;text-align:center;margin:0 0 6px}.testimonials-section__lede{text-align:center;color:#6b7280;margin-bottom:28px !important}.testimonial{background:linear-gradient(135deg,#fff 0%,#fafbfc 100%) !important;border-color:#e5e7eb !important;box-shadow:0 4px 12px rgba(0,0,0,0.04) !important;border-radius:12px !important;transition:transform 0.2s ease,box-shadow 0.2s ease}.testimonial:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(27,54,93,0.08) !important}.testimonial__stars{font-size:1.15rem !important;letter-spacing:0.08em !important}.testimonial__quote{line-height:1.65 !important;color:#1f2937 !important}.testimonial__author{color:#1B365D !important;font-weight:700 !important}.credentials-section h2{text-align:center;font-size:1.55rem;margin:0 0 24px !important}.credentials-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important}.credential-card{background:rgba(255,255,255,0.06) !important;border-color:rgba(255,255,255,0.12) !important;transition:transform 0.2s ease}.credential-card:hover{transform:translateY(-3px);background:rgba(255,255,255,0.1) !important}.competitor-framing-section h2{text-align:center;color:#1B365D;font-size:1.55rem;margin:0 0 8px}.competitor-framing-section>p{text-align:center;color:#6b7280;margin-bottom:24px !important}.comparison-col h3{color:#1B365D;margin:0 0 14px !important}.nearby-cities-section h2{color:#1B365D;font-size:1.4rem;margin:0 0 18px;padding-left:16px;border-left:4px solid #E8A838}@media (max-width:760px){.service-hero{padding:32px 22px}.service-hero__title{font-size:1.6rem}.service-content.prose h2{font-size:1.3rem}.service-content.prose table{display:block;overflow-x:auto}.services-grid{grid-template-columns:1fr 1fr !important;gap:10px !important}.service-card{padding:14px 16px !important}.service-card__name{font-size:0.9rem !important}.testimonials-grid{grid-template-columns:1fr !important}}.about-hero,.contact-hero,.service-areas-hero,.blog-hero,.page-hero,.hero--basic{background:linear-gradient(135deg,#1B365D 0%,#142845 50%,#0F1F38 100%) !important;color:#fff;padding:64px 24px;border-radius:0;margin:0 0 32px;position:relative}.about-hero h1,.about-hero .hero__title,.contact-hero h1,.service-areas-hero h1,.blog-hero h1,.page-hero h1,.hero--basic h1{color:#fff !important;font-size:clamp(1.8rem,4.5vw,2.6rem);margin:0 0 12px;line-height:1.2}.about-hero p,.contact-hero p,.service-areas-hero p,.blog-hero p,.page-hero p,.hero--basic p{color:rgba(255,255,255,0.85) !important}.site-footer{position:relative;background:radial-gradient(1200px 320px at 50% -80px,rgba(232,168,56,0.10),transparent 60%),linear-gradient(180deg,#0F1F38 0%,#0B1729 45%,#08111F 100%) !important;color:#CBD5E1 !important;padding:72px 0 40px !important;overflow:hidden}.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(232,168,56,0.0) 8%,rgba(232,168,56,0.55) 50%,rgba(232,168,56,0.0) 92%,transparent 100%);pointer-events:none}.site-footer::after{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 22% 30%,rgba(255,255,255,0.04),transparent 50%),radial-gradient(1px 1px at 78% 65%,rgba(232,168,56,0.05),transparent 50%);pointer-events:none;opacity:0.6}.site-footer>.container{position:relative;z-index:1}.site-footer .footer-heading{color:#F5E9D2 !important;font-size:12px !important;letter-spacing:0.18em !important;text-transform:uppercase;font-weight:700;position:relative;padding-bottom:12px;margin-bottom:18px !important}.site-footer .footer-heading::after{content:"";position:absolute;bottom:0;left:0;width:28px;height:2px;background:linear-gradient(90deg,#E8A838,rgba(232,168,56,0));border-radius:2px}.site-footer .footer-links a,.site-footer .footer-nap a,.site-footer .footer-nap span{color:#B6C2D4 !important;transition:color .2s ease,transform .2s ease,letter-spacing .2s ease}.site-footer .footer-links a:hover{color:#E8A838 !important;letter-spacing:0.01em}.site-footer .footer-nap a:hover{color:#E8A838 !important}.site-footer .footer-nap .icon{color:#E8A838 !important}.site-footer .footer-tagline{color:#94A3B8 !important;font-size:14px;letter-spacing:0.01em;line-height:1.55}.footer-trust{display:flex !important;flex-wrap:wrap;justify-content:center;gap:14px !important;padding:24px 0 8px !important;margin-top:8px;border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06)}.footer-trust__item{display:inline-flex !important;align-items:center;gap:10px !important;padding:10px 18px !important;border-radius:999px !important;background:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.02)) !important;border:1px solid rgba(232,168,56,0.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 4px 14px rgba(0,0,0,0.25);color:#E5E7EB !important;font-size:14px !important;font-weight:500;letter-spacing:0.01em;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.footer-trust__item:hover{transform:translateY(-2px);border-color:rgba(232,168,56,0.45);box-shadow:inset 0 1px 0 rgba(255,255,255,0.08),0 8px 24px rgba(232,168,56,0.10)}.footer-trust__item .icon{color:#E8A838 !important;filter:drop-shadow(0 0 6px rgba(232,168,56,0.35))}.footer-bottom{padding-top:36px !important}.footer-bottom__divider{display:flex !important;align-items:center;justify-content:center;gap:16px;margin:0 auto 28px !important;max-width:520px}.footer-bottom__divider::before,.footer-bottom__divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(232,168,56,0) 0%,rgba(232,168,56,0.45) 50%,rgba(232,168,56,0) 100%) !important}.footer-bottom__diamond{color:#E8A838 !important;font-size:10px;text-shadow:0 0 12px rgba(232,168,56,0.55);animation:cdl-diamond-glow 4s ease-in-out infinite}@keyframes cdl-diamond-glow{0%,100%{text-shadow:0 0 8px rgba(232,168,56,0.45)}50%{text-shadow:0 0 16px rgba(232,168,56,0.85)}}.footer-social{display:flex !important;justify-content:center;gap:12px !important;margin-bottom:26px !important}.footer-social__link{width:42px !important;height:42px !important;border-radius:50% !important;display:inline-flex !important;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.015)) !important;border:1px solid rgba(255,255,255,0.10);color:#CBD5E1 !important;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease;position:relative}.footer-social__link:hover{transform:translateY(-3px) scale(1.06);color:#0B1729 !important;background:linear-gradient(180deg,#F1B94B,#E8A838) !important;border-color:#E8A838;box-shadow:0 10px 22px rgba(232,168,56,0.25),inset 0 1px 0 rgba(255,255,255,0.5)}.footer-social__link svg{width:18px;height:18px}.footer-copyright{text-align:center}.footer-copyright p{margin:4px 0 !important;color:#8C9AAE !important;font-size:13px !important;letter-spacing:0.02em}.footer-copyright p:first-child{color:#C9D2E0 !important;font-weight:500;font-size:13.5px !important}.footer-credit{margin-top:14px !important;font-size:12.5px !important;color:#6E7C92 !important;letter-spacing:0.04em}.footer-credit a{position:relative;color:#E8A838 !important;font-weight:600;text-decoration:none !important;background:linear-gradient(90deg,#F1B94B,#E8A838 50%,#C8862A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:1px;transition:opacity .2s ease}.footer-credit a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:linear-gradient(90deg,rgba(232,168,56,0),#E8A838 50%,rgba(232,168,56,0));transform:scaleX(0);transform-origin:left center;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.footer-credit a:hover{opacity:0.92}.footer-credit a:hover::after{transform:scaleX(1)}@media (max-width:640px){.site-footer{padding:56px 0 32px !important}.footer-trust{gap:8px !important;padding:18px 0 6px !important}.footer-trust__item{padding:8px 14px !important;font-size:13px !important}.footer-social__link{width:40px !important;height:40px !important}.footer-copyright p{font-size:12.5px !important}}@media print{.site-footer::before,.site-footer::after,.footer-bottom__divider::before,.footer-bottom__divider::after{display:none !important}.site-footer{background:#fff !important;color:#000 !important}}html,body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select,[contenteditable="true"]{-webkit-user-select:text !important;-moz-user-select:text !important;-ms-user-select:text !important;user-select:text !important}a[href^="tel:"],a[href^="mailto:"]{-webkit-user-select:text;user-select:text}img,picture,svg,figure{-webkit-user-drag:none;user-drag:none;pointer-events:auto}::selection{background:transparent;color:inherit}::-moz-selection{background:transparent;color:inherit}body.page-blog-index .service-hero,body.page-blog-post .service-hero{background:radial-gradient(1000px 400px at 80% -20%,rgba(232,168,56,0.12),transparent 60%),linear-gradient(135deg,#1B365D 0%,#142845 55%,#0F1F38 100%) !important;color:#fff !important;padding:64px 32px 56px !important;border-radius:18px;margin-bottom:36px;position:relative;overflow:hidden;border:1px solid rgba(232,168,56,0.18);box-shadow:0 18px 40px rgba(0,0,0,0.18)}body.page-blog-index .service-hero::before,body.page-blog-post .service-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 18% 22%,rgba(255,255,255,0.06),transparent 50%),radial-gradient(1px 1px at 65% 78%,rgba(232,168,56,0.10),transparent 50%);pointer-events:none}body.page-blog-post .service-hero__title{color:#fff !important;font-size:clamp(1.7rem,3.6vw,2.4rem) !important;line-height:1.18 !important;letter-spacing:-0.005em;max-width:880px}body.page-blog-post .service-hero__subtitle{color:rgba(255,255,255,0.82) !important;font-size:1.05rem;line-height:1.55;max-width:760px;margin-top:14px}body.page-blog-index .blog-cards{grid-template-columns:repeat(auto-fill,minmax(340px,1fr)) !important;gap:28px !important;margin:40px 0 !important}body.page-blog-index .blog-card{background:linear-gradient(180deg,#fff 0%,#FAFBFC 100%) !important;border:1px solid #E5E9EF !important;border-radius:16px !important;overflow:hidden;box-shadow:0 1px 2px rgba(15,31,56,0.04),0 4px 16px rgba(15,31,56,0.06) !important;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .25s ease !important;position:relative}body.page-blog-index .blog-card::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#E8A838 0%,#F1B94B 50%,#E8A838 100%);opacity:0;transition:opacity .3s ease;z-index:2}body.page-blog-index .blog-card:hover{transform:translateY(-6px) !important;border-color:rgba(232,168,56,0.45) !important;box-shadow:0 2px 4px rgba(15,31,56,0.06),0 18px 38px rgba(27,54,93,0.18),0 0 0 1px rgba(232,168,56,0.08) !important}body.page-blog-index .blog-card:hover::before{opacity:1}body.page-blog-index .blog-card__image-wrap{aspect-ratio:16/9 !important;background:#0F1F38 !important;position:relative}body.page-blog-index .blog-card__image-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(15,31,56,0.18) 100%);pointer-events:none}body.page-blog-index .blog-card__image-wrap img{width:100% !important;height:100% !important;object-fit:cover !important;transition:transform .55s cubic-bezier(.2,.8,.2,1) !important}body.page-blog-index .blog-card:hover .blog-card__image-wrap img{transform:scale(1.06) !important}body.page-blog-index .blog-card__body{padding:22px 24px 24px !important}body.page-blog-index .blog-card__category{display:inline-flex !important;align-items:center;gap:6px;font-size:11px !important;text-transform:uppercase !important;letter-spacing:0.16em !important;color:#B8862A !important;font-weight:700 !important;margin-bottom:10px !important}body.page-blog-index .blog-card__category::before{content:"";display:inline-block;width:18px;height:1.5px;background:#E8A838;margin-right:2px}body.page-blog-index .blog-card__title{font-size:1.18rem !important;line-height:1.32 !important;color:#0F1F38 !important;font-weight:700;letter-spacing:-0.005em;margin:0 0 12px !important;transition:color .2s ease}body.page-blog-index .blog-card:hover .blog-card__title{color:#1B365D !important}body.page-blog-index .blog-card__date{font-size:12.5px !important;color:#8A95A6 !important;letter-spacing:0.02em;display:flex;align-items:center;gap:6px}body.page-blog-index .blog-card__date::before{content:"•";color:#E8A838;font-size:16px;line-height:0}body.page-blog-post .service-content,body.page-blog-post .prose{max-width:760px;margin:0 auto;font-size:17px;line-height:1.75;color:#243047;letter-spacing:-0.003em}body.page-blog-post .prose p{margin:0 0 22px}body.page-blog-post .prose h2{font-size:clamp(1.5rem,2.5vw,1.85rem) !important;line-height:1.25;color:#0F1F38 !important;margin:48px 0 18px !important;padding-bottom:14px;position:relative;letter-spacing:-0.01em}body.page-blog-post .prose h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:linear-gradient(90deg,#E8A838 0%,rgba(232,168,56,0) 100%);border-radius:2px}body.page-blog-post .prose h3{font-size:1.25rem !important;color:#1B365D !important;margin:32px 0 12px !important;line-height:1.3}body.page-blog-post .prose ul,body.page-blog-post .prose ol{margin:0 0 24px;padding-left:22px}body.page-blog-post .prose ul li,body.page-blog-post .prose ol li{margin-bottom:10px;padding-left:6px}body.page-blog-post .prose ul li::marker{color:#E8A838}body.page-blog-post .prose ol li::marker{color:#E8A838;font-weight:600}body.page-blog-post .prose blockquote{border-left:3px solid #E8A838;background:linear-gradient(90deg,rgba(232,168,56,0.06),transparent 60%);padding:16px 20px 16px 22px;margin:28px 0;border-radius:0 8px 8px 0;font-style:italic;color:#1B365D}body.page-blog-post .prose strong{color:#0F1F38;font-weight:700}body.page-blog-post .prose a{color:#B8862A;text-decoration:underline;text-decoration-color:rgba(232,168,56,0.4);text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease}body.page-blog-post .prose a:hover{color:#1B365D;text-decoration-color:#E8A838}body.page-blog-post .service-image{margin:0 auto 36px !important;max-width:1000px;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(15,31,56,0.20);position:relative}body.page-blog-post .service-image img{width:100% !important;height:auto !important;display:block;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}body.page-blog-post .service-image:hover img{transform:scale(1.02)}body.page-blog-index .service-hero__meta .trust-badge,body.page-blog-post .service-hero__meta .trust-badge{background:rgba(255,255,255,0.10) !important;border:1px solid rgba(232,168,56,0.35);backdrop-filter:blur(6px);color:#fff !important}body.page-blog-index .service-hero__meta .trust-badge .icon,body.page-blog-post .service-hero__meta .trust-badge .icon{color:#E8A838 !important}@media (max-width:640px){body.page-blog-index .service-hero,body.page-blog-post .service-hero{padding:44px 22px 38px !important;border-radius:14px;margin-bottom:24px}body.page-blog-index .blog-cards{gap:18px !important;margin:28px 0 !important}body.page-blog-post .prose{font-size:16px;line-height:1.7}body.page-blog-post .service-image{border-radius:12px}}.recent-jobs-section,.audience-services-section,.coverage-map-section{margin:56px 0;padding:36px 32px;background:linear-gradient(180deg,#FAFBFC 0%,#FFFFFF 100%);border:1px solid #E5E9EF;border-radius:18px;box-shadow:0 4px 16px rgba(15,31,56,0.04)}.recent-jobs-section .section-title,.audience-services-section .section-title,.coverage-map-section .section-title,.services-grid-section .section-title{font-size:clamp(1.4rem,2.4vw,1.7rem);color:#0F1F38;margin:0 0 8px;position:relative;padding-bottom:14px;letter-spacing:-0.005em}.recent-jobs-section .section-title::after,.audience-services-section .section-title::after,.coverage-map-section .section-title::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:3px;background:linear-gradient(90deg,#E8A838,rgba(232,168,56,0));border-radius:2px}.recent-jobs-section .section-lead,.audience-services-section .section-lead,.coverage-map-section .section-lead{color:#4B5563;margin:0 0 24px;font-size:15px;line-height:1.6}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.job-card{background:#fff;border:1px solid #E5E9EF;border-left:3px solid #E8A838;border-radius:10px;padding:16px 18px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.job-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(27,54,93,0.10);border-color:rgba(232,168,56,0.5)}.job-card__head{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#1B365D;font-weight:600;font-size:14px;letter-spacing:-0.005em}.job-card__pin{font-size:14px}.job-card__loc{color:#1B365D}.job-card__desc{color:#374151;font-size:14px;line-height:1.55;margin:0}.jobs-cta{margin-top:26px;text-align:center}.audience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px}.audience-card{background:linear-gradient(180deg,#fff 0%,#F8FAFC 100%);border:1px solid #E5E9EF;border-radius:14px;padding:22px 22px 24px;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.audience-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:14px 14px 0 0;background:linear-gradient(90deg,#1B365D,#E8A838);opacity:0.85}.audience-card:hover{transform:translateY(-3px);border-color:rgba(232,168,56,0.4);box-shadow:0 12px 28px rgba(15,31,56,0.10)}.audience-card__icon{font-size:28px;margin-bottom:8px;display:inline-block}.audience-card__title{font-size:1.1rem;color:#0F1F38;margin:0 0 12px;letter-spacing:-0.005em}.audience-card__list{list-style:none;padding:0;margin:0}.audience-card__list li{padding:6px 0;border-top:1px solid #F1F4F9;font-size:14px}.audience-card__list li:first-child{border-top:0}.audience-card__list a{color:#1B365D;text-decoration:none;display:flex;align-items:center;gap:6px;transition:color .15s ease,transform .15s ease}.audience-card__list a::before{content:"→";color:#E8A838;font-weight:700;transition:transform .2s ease}.audience-card__list a:hover{color:#B8862A}.audience-card__list a:hover::before{transform:translateX(3px)}.coverage-map{border-radius:12px;overflow:hidden;border:1px solid #E5E9EF;box-shadow:0 8px 22px rgba(15,31,56,0.10)}.coverage-map iframe{display:block}.cities-served-strip{background:linear-gradient(180deg,#FAFBFC 0%,#F4F6FA 100%);border:1px solid #E5E9EF;border-radius:12px;padding:16px 22px;margin:36px 0}.cities-served-strip__label{margin:0 0 6px;font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#B8862A;font-weight:700}.cities-served-strip__links{margin:0;font-size:14.5px;color:#1B365D;line-height:1.7}.cities-served-strip__links a{color:#1B365D;text-decoration:none;transition:color .15s ease}.cities-served-strip__links a:hover{color:#E8A838}.faq-section .faq-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.faq-item{background:#fff;border:1px solid #E5E9EF;border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.faq-item[open]{border-color:rgba(232,168,56,0.4);box-shadow:0 6px 18px rgba(15,31,56,0.06)}.faq-q{cursor:pointer;padding:16px 22px;font-weight:600;color:#0F1F38;font-size:15.5px;line-height:1.4;list-style:none;position:relative;padding-right:44px;transition:background .15s ease}.faq-q::-webkit-details-marker{display:none}.faq-q::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#E8A838;font-size:22px;font-weight:400;transition:transform .25s ease}.faq-item[open] .faq-q::after{content:"−";transform:translateY(-50%) rotate(180deg)}.faq-q:hover{background:#FAFBFC}.faq-a{padding:0 22px 18px;color:#374151;font-size:15px;line-height:1.65}.faq-a a{color:#B8862A;text-decoration:underline;text-decoration-color:rgba(232,168,56,0.4);text-underline-offset:3px}.faq-a a:hover{color:#1B365D}body.page-faq-hub .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:16px}.service-tile{display:block;padding:14px 18px;background:#fff;border:1px solid #E5E9EF;border-radius:10px;color:#1B365D;text-decoration:none;font-weight:500;font-size:14.5px;transition:all .2s ease;position:relative;padding-right:36px}.service-tile::after{content:"→";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:#E8A838;transition:transform .2s ease}.service-tile:hover{border-color:rgba(232,168,56,0.5);background:#FAFBFC;color:#B8862A}.service-tile:hover::after{transform:translateY(-50%) translateX(4px)}@media (max-width:640px){.recent-jobs-section,.audience-services-section,.coverage-map-section{padding:24px 18px;margin:36px 0;border-radius:14px}.jobs-grid,.audience-grid{gap:12px}.audience-card{padding:18px}.cities-served-strip{padding:14px 18px}.faq-q{font-size:14.5px;padding:14px 44px 14px 18px}}.site-header{position:sticky;top:0;z-index:100;background:#0A1525!important;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid rgba(232,168,56,0.12);box-shadow:0 1px 0 rgba(232,168,56,0.08),0 8px 32px rgba(0,0,0,0.20);transition:padding .3s ease,background .3s ease}.trust-strip,.top-bar,.utility-bar{background:linear-gradient(90deg,#0B1729 0%,#0F1F38 50%,#0B1729 100%) !important;border-bottom:1px solid rgba(232,168,56,0.10);color:#C9D2E0 !important;font-size:13px;letter-spacing:0.01em}@media (min-width:768px){.main-nav,nav.main-nav{display:flex !important;align-items:center !important;flex-wrap:nowrap !important;gap:4px !important}}@media (max-width:767.98px){.main-nav,nav.main-nav{display:none !important}}.main-nav__link{position:relative !important;padding:12px 16px !important;font-size:15px !important;font-weight:500 !important;letter-spacing:0.01em !important;color:#FFFFFF!important;text-shadow:0 1px 3px rgba(0,0,0,0.85)!important;border-radius:8px !important;text-decoration:none !important;background:transparent !important;border:none !important;cursor:pointer;transition:color .2s ease,background .2s ease,transform .15s ease !important;white-space:nowrap !important;display:inline-flex !important;align-items:center;gap:6px}.main-nav__link::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:2px;background:linear-gradient(90deg,#E8A838,#F1B94B);border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.main-nav__link:hover{color:#fff !important;background:rgba(232,168,56,0.08) !important}.main-nav__link:hover::after{transform:scaleX(1)}.main-nav__link[aria-current="page"],.main-nav__link.active{color:#F1B94B !important}.main-nav__link[aria-current="page"]::after,.main-nav__link.active::after{transform:scaleX(1)}.main-nav__link[aria-haspopup="true"]::before{content:"";margin-right:0}.main-nav__link[aria-haspopup="true"][aria-expanded="true"]{background:rgba(232,168,56,0.10) !important;color:#fff !important}.nav-dropdown,.dropdown-menu,.main-nav__dropdown{background:linear-gradient(180deg,rgba(15,31,56,0.98),rgba(11,23,41,0.98)) !important;border:1px solid rgba(232,168,56,0.18) !important;border-radius:12px !important;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 20px 50px rgba(0,0,0,0.45),inset 0 1px 0 rgba(255,255,255,0.06) !important;padding:8px !important;margin-top:8px !important}.nav-dropdown a,.dropdown-menu a,.main-nav__dropdown a{display:block !important;padding:10px 14px !important;color:#C9D2E0 !important;text-decoration:none !important;border-radius:8px !important;font-size:14px !important;transition:background .15s ease,color .15s ease,transform .15s ease !important}.nav-dropdown a:hover,.dropdown-menu a:hover,.main-nav__dropdown a:hover{background:rgba(232,168,56,0.12) !important;color:#F1B94B !important;transform:translateX(2px)}.site-header .logo,.site-header .site-logo,.header__logo{position:relative}.site-header .logo:hover img,.site-header .site-logo:hover img,.header__logo:hover img{filter:drop-shadow(0 0 12px rgba(232,168,56,0.35))}.nav-phone,.header-phone,.phone-cta{background:linear-gradient(135deg,#E8A838 0%,#F1B94B 50%,#C8862A 100%) !important;color:#0B1729 !important;font-weight:700 !important;padding:12px 22px !important;border-radius:10px !important;border:1px solid rgba(232,168,56,0.5);box-shadow:0 6px 18px rgba(232,168,56,0.30),inset 0 1px 0 rgba(255,255,255,0.4),inset 0 -1px 0 rgba(0,0,0,0.10);text-decoration:none !important;letter-spacing:0.01em !important;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease !important;display:inline-flex !important;align-items:center;gap:8px}.nav-phone:hover,.header-phone:hover,.phone-cta:hover{transform:translateY(-2px) !important;box-shadow:0 10px 28px rgba(232,168,56,0.40),inset 0 1px 0 rgba(255,255,255,0.5) !important;filter:brightness(1.04)}.site-header .utility-bar svg,.site-header .top-bar svg{color:#E8A838 !important}.mobile-nav-toggle,.nav-toggle,.hamburger{background:rgba(232,168,56,0.10) !important;border:1px solid rgba(232,168,56,0.30) !important;border-radius:10px;color:#F1B94B !important;transition:background .2s ease}.mobile-nav-toggle:hover,.nav-toggle:hover,.hamburger:hover{background:rgba(232,168,56,0.18) !important}.mobile-nav,#mobile-nav{background:linear-gradient(180deg,#0F1F38 0%,#0B1729 100%) !important;border-left:1px solid rgba(232,168,56,0.18)}.mobile-nav a,#mobile-nav a{color:#C9D2E0 !important;padding:14px 22px !important;border-bottom:1px solid rgba(255,255,255,0.04);transition:background .15s ease,color .15s ease}.mobile-nav a:hover,#mobile-nav a:hover,.mobile-nav a:focus,#mobile-nav a:focus{background:rgba(232,168,56,0.10) !important;color:#F1B94B !important}@media (max-width:980px){.main-nav__link{padding:10px 12px !important;font-size:14px !important}.nav-phone{padding:10px 16px !important;font-size:14px !important}}.quick-answer{background:linear-gradient(135deg,rgba(232,168,56,0.10) 0%,rgba(232,168,56,0.04) 100%);border-left:4px solid #E8A838;border-radius:0 12px 12px 0;padding:18px 22px;margin:0 0 28px 0;box-shadow:0 2px 6px rgba(15,31,56,0.04);position:relative}.quick-answer::before{content:"AI Quick Answer";position:absolute;top:-10px;left:18px;background:linear-gradient(90deg,#E8A838,#F1B94B);color:#0B1729;font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;padding:4px 10px;border-radius:6px;box-shadow:0 2px 6px rgba(232,168,56,0.30)}.quick-answer p{margin:0 !important;color:#1B365D;font-size:15.5px;line-height:1.6;font-weight:500}.related-resources{background:linear-gradient(180deg,#FAFBFC 0%,#F4F6FA 100%);border:1px solid #E5E9EF;border-radius:14px;padding:24px 26px;margin:40px 0 28px}.related-resources__heading{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:0.16em;color:#B8862A;font-weight:700;position:relative;padding-bottom:8px}.related-resources__heading + .related-resources__heading{margin-top:18px}.related-resources__heading::after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:linear-gradient(90deg,#E8A838,rgba(232,168,56,0));border-radius:2px}.related-resources__list{list-style:none;padding:0;margin:0 0 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.related-resources__list li{margin:0;padding:0}.related-resources__list a{display:block;padding:10px 14px;background:#fff;border:1px solid #E5E9EF;border-radius:8px;color:#1B365D;text-decoration:none;font-size:14px;font-weight:500;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .15s ease;position:relative;padding-right:28px}.related-resources__list a::after{content:"→";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#E8A838;transition:transform .2s ease}.related-resources__list a:hover{border-color:rgba(232,168,56,0.5);background:#FFFCF5;color:#B8862A;transform:translateX(2px)}.related-resources__list a:hover::after{transform:translateY(-50%) translateX(3px)}.learn-more-link{display:inline-block;margin-left:4px;color:#B8862A !important;font-weight:600;text-decoration:none !important;border-bottom:1px dashed rgba(232,168,56,0.4);transition:border-color .2s ease,color .2s ease}.learn-more-link:hover{color:#1B365D !important;border-bottom-color:#E8A838}body.page-pillar-guide .pillar-toc{background:linear-gradient(180deg,#FAFBFC 0%,#F4F6FA 100%);border:1px solid #E5E9EF;border-radius:14px;padding:24px 28px;margin:28px 0 36px;box-shadow:0 2px 6px rgba(15,31,56,0.04)}body.page-pillar-guide .pillar-toc h2{margin:0 0 14px;font-size:13px;letter-spacing:0.16em;text-transform:uppercase;color:#B8862A;font-weight:700}body.page-pillar-guide .pillar-toc ol{margin:0;padding-left:22px;columns:2;column-gap:28px}body.page-pillar-guide .pillar-toc li{margin-bottom:6px;break-inside:avoid}body.page-pillar-guide .pillar-toc a{color:#1B365D;text-decoration:none;font-size:14.5px;transition:color .15s ease,padding-left .15s ease}body.page-pillar-guide .pillar-toc a:hover{color:#B8862A;padding-left:4px}body.page-pillar-guide .pillar-prose h2{scroll-margin-top:100px;font-size:clamp(1.45rem,2.4vw,1.8rem);color:#0F1F38 !important;margin:56px 0 18px !important;padding-bottom:14px;position:relative;letter-spacing:-0.01em}body.page-pillar-guide .pillar-prose h2::after{content:"";position:absolute;left:0;bottom:0;width:64px;height:3px;background:linear-gradient(90deg,#E8A838,rgba(232,168,56,0));border-radius:2px}body.page-pillar-guide .pillar-prose h3{color:#1B365D;margin:28px 0 10px;font-size:1.15rem}body.page-pillar-guide .pillar-prose table{border-radius:10px;overflow:hidden;box-shadow:0 4px 14px rgba(15,31,56,0.06)}body.page-pillar-guide .pillar-prose ul li::marker,body.page-pillar-guide .pillar-prose ol li::marker{color:#E8A838;font-weight:600}@media (max-width:700px){body.page-pillar-guide .pillar-toc ol{columns:1}};@keyframes cdl-diamond-glow{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.18);opacity:1}}.footer-bottom__diamond{will-change:transform,opacity;animation:cdl-diamond-glow 4s ease-in-out infinite!important}@keyframes cdl-pulse-glow{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.5);opacity:0}}.hero__eta-pulse,.sticky-cta__pulse{will-change:transform,opacity;animation:cdl-pulse-glow 2s ease-out infinite!important;background:#22C55E;border-radius:50%;box-shadow:none!important}.main-nav__link{color:#FFFFFF!important;text-shadow:0 1px 3px rgba(0,0,0,0.85)!important}.main-nav__link[role="menuitem"]{color:#FFFFFF!important;text-shadow:0 1px 3px rgba(0,0,0,0.85)!important}.site-header{background:#0A1525!important};@keyframes cdl-diamond-glow{0%,100%{transform:scale(1) translateZ(0);opacity:.85}50%{transform:scale(1.25) translateZ(0);opacity:1}}.footer-bottom__diamond{will-change:transform,opacity!important;animation:cdl-diamond-glow 4s ease-in-out infinite!important;text-shadow:none!important;color:#E8A838!important}
/* WAVE 18 — premium About + Contact design */
body.page-about .section,body.page-contact .section{padding:48px 0!important}
body.page-about .section-title,body.page-contact .section-title{font-size:clamp(2rem,4.5vw,3rem)!important;color:#0F1F38!important;margin:0 0 12px!important;letter-spacing:-0.015em!important;line-height:1.15!important;background:linear-gradient(135deg,#1B365D 0%,#0F1F38 50%,#142845 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}
body.page-about .section-subtitle,body.page-contact .section-subtitle{font-size:1.15rem!important;color:#4B5563!important;line-height:1.6!important;max-width:780px!important;margin:0 0 48px!important}
body.page-about .about-content,body.page-contact .contact-deep-content{max-width:880px;margin:0 auto}
.about-block,.contact-block{margin:0 0 36px!important;padding:32px 36px!important;background:linear-gradient(180deg,#fff 0%,#FAFBFC 100%)!important;border:1px solid #E5E9EF!important;border-radius:18px!important;box-shadow:0 1px 2px rgba(15,31,56,0.04),0 6px 22px rgba(15,31,56,0.05)!important;position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .25s ease}
.about-block::before,.contact-block::before{content:"";position:absolute;top:0;left:0;width:60px;height:3px;background:linear-gradient(90deg,#E8A838 0%,#F1B94B 100%);border-radius:18px 0 0 0;border-top-left-radius:18px}
.about-block:hover,.contact-block:hover{transform:translateY(-3px)!important;box-shadow:0 2px 4px rgba(15,31,56,0.05),0 16px 36px rgba(15,31,56,0.10)!important;border-color:rgba(232,168,56,0.30)!important}
.about-block h2,.contact-block h2{font-size:clamp(1.4rem,2.4vw,1.65rem)!important;color:#0F1F38!important;margin:0 0 16px!important;padding-bottom:14px!important;position:relative;letter-spacing:-0.01em;line-height:1.25!important;border:0!important}
.about-block h2::after,.contact-block h2::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;background:linear-gradient(90deg,#E8A838,rgba(232,168,56,0));border-radius:2px}
.about-block p,.contact-block p{color:#374151!important;font-size:16px!important;line-height:1.75!important;margin:0 0 14px!important}
.about-block p:last-child,.contact-block p:last-child{margin-bottom:0!important}
.about-block strong,.contact-block strong{color:#0F1F38!important;font-weight:700}
.about-block ul,.about-block ol,.contact-block ul,.contact-block ol{margin:0 0 8px!important;padding-left:22px!important}
.about-block ul li,.about-block ol li,.contact-block ul li,.contact-block ol li{margin-bottom:10px!important;color:#374151!important;font-size:15.5px!important;line-height:1.65!important}
.about-block ul li::marker,.contact-block ul li::marker{color:#E8A838!important}
.about-block ol li::marker,.contact-block ol li::marker{color:#E8A838!important;font-weight:700}
.about-block a,.contact-block a{color:#B8862A!important;text-decoration:underline!important;text-decoration-color:rgba(232,168,56,0.40)!important;text-underline-offset:3px!important;font-weight:500;transition:color .2s ease,text-decoration-color .2s ease}
.about-block a:hover,.contact-block a:hover{color:#0F1F38!important;text-decoration-color:#E8A838!important}
.timeline-list{list-style:none!important;padding:0!important;margin:18px 0!important;position:relative}
.timeline-list::before{content:"";position:absolute;left:14px;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,#E8A838 0%,rgba(232,168,56,0.20) 100%)}
.timeline-list li{position:relative;padding:8px 0 8px 44px!important;margin-bottom:10px!important;color:#374151!important;font-size:15.5px!important;line-height:1.6!important}
.timeline-list li::before{content:"";position:absolute;left:8px;top:14px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #E8A838;box-shadow:0 0 0 3px rgba(232,168,56,0.15)}
.timeline-list li::marker{display:none}
.about-block table,.contact-block table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;margin:18px 0!important;border-radius:12px!important;overflow:hidden!important;box-shadow:0 4px 14px rgba(15,31,56,0.06)!important;border:1px solid #E5E9EF!important}
.about-block table th,.contact-block table th{background:linear-gradient(135deg,#1B365D 0%,#0F1F38 100%)!important;color:#F5E9D2!important;text-align:left;padding:14px 18px!important;font-weight:600;font-size:13.5px!important;letter-spacing:0.04em;text-transform:uppercase}
.about-block table td,.contact-block table td{padding:12px 18px!important;background:#fff!important;border-top:1px solid #F1F4F9!important;font-size:15px!important}
.about-block table tr:nth-child(even) td,.contact-block table tr:nth-child(even) td{background:#FAFBFC!important}
body.page-contact .contact-grid{margin-top:48px!important;padding-top:36px!important;border-top:1px solid #E5E9EF}
body.page-contact .contact-form-wrap{background:linear-gradient(180deg,#FAFBFC 0%,#F4F6FA 100%);padding:32px 36px;border-radius:18px;border:1px solid #E5E9EF;box-shadow:0 6px 22px rgba(15,31,56,0.06)}
body.page-contact .contact-form-wrap h2{color:#0F1F38;font-size:1.5rem;margin:0 0 18px;letter-spacing:-0.01em}
body.page-contact .form__label{color:#1B365D!important;font-weight:600;font-size:14px}
body.page-contact .form__input,body.page-contact .form__textarea,body.page-contact .form__select{border:1px solid #E5E9EF!important;border-radius:10px!important;padding:12px 14px!important;font-size:15px!important;transition:border-color .2s ease,box-shadow .2s ease}
body.page-contact .form__input:focus,body.page-contact .form__textarea:focus,body.page-contact .form__select:focus{border-color:#E8A838!important;box-shadow:0 0 0 3px rgba(232,168,56,0.15)!important;outline:none!important}
@media (max-width:640px){.about-block,.contact-block{padding:22px 20px!important;border-radius:14px!important;margin-bottom:18px!important}.about-block h2,.contact-block h2{font-size:1.25rem!important}body.page-contact .contact-form-wrap{padding:22px 20px;border-radius:14px}}
html body header.site-header,html body .site-header{background:#0A1525!important;background-color:#0A1525!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html body .main-nav__link,html body a.main-nav__link[role="menuitem"]{color:#FFFFFF!important;text-shadow:0 1px 3px rgba(0,0,0,0.85)!important;font-weight:600!important}
/* WAVE 19 — hero image caption overlay */
.hero__image{position:relative}
.hero__image-caption{position:absolute;left:0;right:0;bottom:0;padding:32px 26px 22px;background:linear-gradient(180deg,transparent 0%,rgba(11,23,41,0.40) 30%,rgba(11,23,41,0.92) 100%);display:flex;flex-direction:column;gap:6px;color:#fff;border-radius:0 0 var(--radius-lg,12px) var(--radius-lg,12px);pointer-events:none}
.hero__image-caption-eyebrow{font-size:11px;letter-spacing:0.20em;color:#F1B94B;font-weight:700;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,0.7)}
.hero__image-caption-title{font-size:clamp(1rem,1.6vw,1.18rem);font-weight:700;line-height:1.25;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.85);letter-spacing:-0.005em}
.hero__image-caption-sub{font-size:13px;color:rgba(255,255,255,0.92);text-shadow:0 1px 4px rgba(0,0,0,0.85);font-weight:400}
@media (max-width:640px){.hero__image-caption{padding:22px 18px 16px}.hero__image-caption-title{font-size:0.95rem}.hero__image-caption-sub{font-size:12px}}

/* ─── PREMIUM MOBILE NAV DRAWER + HAMBURGER (2026-04-29 fix) ─── */
@media (max-width:767.98px){
  .site-header__inner{padding:10px 16px!important;min-height:60px!important}
  .site-header__logo img{height:36px!important}
  .site-header__cta{display:none!important}
  .site-header__mobile-actions{display:flex!important;align-items:center;gap:10px}
  .site-header__mobile-phone{width:42px!important;height:42px!important;background:linear-gradient(135deg,#E8A838 0%,#F1B94B 50%,#C8862A 100%)!important;color:#0B1729!important;border-radius:50%!important;box-shadow:0 4px 12px rgba(232,168,56,.35),inset 0 1px 0 rgba(255,255,255,.4)!important;border:1px solid rgba(232,168,56,.5)!important}
  .mobile-toggle{display:flex!important;width:44px;height:44px;background:rgba(232,168,56,.10)!important;border:1px solid rgba(232,168,56,.32)!important;border-radius:10px!important;padding:0!important;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:background .2s ease,border-color .2s ease}
  .mobile-toggle:hover,.mobile-toggle:focus-visible{background:rgba(232,168,56,.18)!important;border-color:rgba(232,168,56,.55)!important}
  .mobile-toggle__bar{display:block;width:22px;height:2px;background:#F1B94B!important;border-radius:2px;transition:transform .25s cubic-bezier(.2,.8,.2,1),opacity .2s ease}
  .mobile-toggle[aria-expanded="true"]{background:rgba(232,168,56,.20)!important;border-color:rgba(232,168,56,.6)!important}

  /* Scrim overlay — pointer-events:none so drawer always receives taps */
  body:has(#mobile-nav:not([hidden]))::before{content:"";position:fixed;inset:0;background:rgba(4,9,18,.72);z-index:9998;pointer-events:none;animation:cdl-scrim-in .22s ease-out}
  @keyframes cdl-scrim-in{from{opacity:0}to{opacity:1}}

  /* Drawer slide-in from right (z above scrim, GPU-composited, no filters that blur text) */
  .mobile-nav,#mobile-nav{position:fixed!important;top:0;right:0;bottom:0;width:min(86vw,360px)!important;max-height:100vh!important;height:100vh!important;background:#0B1729!important;background-image:linear-gradient(180deg,#11243F 0%,#0B1729 60%,#070F1B 100%)!important;border-left:1px solid rgba(232,168,56,.28)!important;box-shadow:-24px 0 60px rgba(0,0,0,.6),inset 1px 0 0 rgba(255,255,255,.05)!important;z-index:9999!important;transform:translate3d(100%,0,0);transition:transform .32s cubic-bezier(.2,.8,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 0 80px!important;isolation:isolate;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:layout style paint;filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:transform}
  .mobile-nav:not([hidden]),#mobile-nav:not([hidden]){transform:translate3d(0,0,0)}
  .mobile-nav[hidden],#mobile-nav[hidden]{display:block!important;transform:translate3d(100%,0,0);pointer-events:none;visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s}
  .mobile-nav:not([hidden]){visibility:visible;transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s}
  .mobile-nav *,#mobile-nav *{filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;text-shadow:none!important}

  .mobile-nav__eta{margin:4px 16px 14px!important;padding:12px 14px!important;background:linear-gradient(135deg,rgba(34,197,94,.14),rgba(34,197,94,.04))!important;border:1px solid rgba(34,197,94,.28)!important;border-radius:10px!important;color:#86EFAC!important;font-size:13px!important;font-weight:600!important;letter-spacing:.01em}
  .mobile-nav__eta svg{color:#22C55E!important}

  .mobile-nav__list{list-style:none;padding:0 12px!important;margin:0}
  .mobile-nav__list>li{margin:2px 0}
  .mobile-nav__list a,.mobile-nav__accordion{display:flex!important;align-items:center;justify-content:space-between;padding:15px 18px!important;font-size:16px!important;font-weight:700!important;color:#FFFFFF!important;background:transparent!important;border:1px solid transparent!important;border-radius:10px!important;min-height:50px;text-decoration:none!important;letter-spacing:-.005em;transition:background .18s ease,color .18s ease,border-color .18s ease,padding-left .18s ease;width:100%;text-align:left;cursor:pointer;pointer-events:auto!important}
  .mobile-nav__list a:hover,.mobile-nav__list a:focus-visible,.mobile-nav__accordion:hover,.mobile-nav__accordion:focus-visible{background:rgba(232,168,56,.10)!important;color:#F1B94B!important;border-color:rgba(232,168,56,.22)!important;padding-left:20px!important}
  .mobile-nav__accordion[aria-expanded="true"]{background:rgba(232,168,56,.08)!important;color:#F1B94B!important;border-color:rgba(232,168,56,.18)!important}
  .mobile-nav__accordion .icon,.mobile-nav__accordion svg{color:#E8A838!important;transition:transform .25s ease}
  .mobile-nav__accordion[aria-expanded="true"] .icon,.mobile-nav__accordion[aria-expanded="true"] svg{transform:rotate(180deg)}

  .mobile-nav__sub{list-style:none;padding:4px 0 8px 8px!important;margin:0!important;border-left:2px solid rgba(232,168,56,.22);margin-left:14px!important}
  .mobile-nav__sub a{padding:12px 16px!important;font-size:14.5px!important;font-weight:600!important;color:#E5EAF2!important;min-height:44px;pointer-events:auto!important}
  .mobile-nav__sub a:hover,.mobile-nav__sub a:focus-visible{color:#F1B94B!important;background:rgba(232,168,56,.06)!important;border-color:transparent!important}

  .mobile-nav__cta{margin:18px 16px 0!important;padding:14px 18px!important;background:linear-gradient(135deg,#E8A838 0%,#F1B94B 50%,#C8862A 100%)!important;color:#0B1729!important;font-weight:800!important;font-size:16px!important;text-align:center;border-radius:12px!important;box-shadow:0 8px 22px rgba(232,168,56,.35),inset 0 1px 0 rgba(255,255,255,.4)!important;text-decoration:none!important;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:.01em}

  body:has(#mobile-nav:not([hidden])){overflow:hidden}
}

/* Tablet+: ensure hamburger + drawer hidden, desktop nav visible */
@media (min-width:768px){
  .mobile-toggle{display:none!important}
  .site-header__mobile-actions{display:none!important}
  #mobile-nav,.mobile-nav{display:none!important}
}

/* Consolidated from inline crit-css (was duplicated in 84 HTML files) */
nav.breadcrumb{display:none!important}.service-card__cta{color:#92400E!important}.footer-bottom__inner,.footer-bottom__nav a{color:#9CA3AF!important}

/* === CRISP DRAWER OVERRIDE — last-word, no GPU tricks (2026-04-29 v3) === */
@media (max-width:767.98px){
  body:has(#mobile-nav:not([hidden]))::before{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
  .mobile-nav,#mobile-nav{
    background:#0A1525!important;
    background-image:none!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
    contain:none!important;
    isolation:auto!important;
    backface-visibility:visible!important;
    filter:none!important;
    backdrop-filter:none!important;
    opacity:1!important;
    -webkit-font-smoothing:antialiased!important;
    -moz-osx-font-smoothing:auto!important;
    text-rendering:auto!important;
  }
  .mobile-nav[hidden],#mobile-nav[hidden]{display:none!important}
  .mobile-nav:not([hidden]),#mobile-nav:not([hidden]){display:block!important;position:fixed!important;top:0;right:0;bottom:0;left:auto;width:min(86vw,360px)!important;height:100vh!important;padding:18px 0 80px!important;overflow-y:auto;z-index:9999!important;box-shadow:-20px 0 50px rgba(0,0,0,.55)!important;border-left:1px solid rgba(232,168,56,.3)!important}

  .mobile-nav *,#mobile-nav *{
    text-shadow:none!important;
    filter:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    opacity:1!important;
  }

  .mobile-nav__list,#mobile-nav .mobile-nav__list{padding:0 10px!important;margin:0!important;list-style:none}
  .mobile-nav__list>li{margin:3px 0!important;padding:0!important}

  .mobile-nav__list a,
  #mobile-nav .mobile-nav__list a,
  .mobile-nav__list>li>a,
  .mobile-nav__accordion,
  #mobile-nav .mobile-nav__accordion{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    box-sizing:border-box!important;
    padding:16px 18px!important;
    min-height:52px!important;
    font-family:inherit!important;
    font-size:17px!important;
    font-weight:700!important;
    line-height:1.25!important;
    letter-spacing:0!important;
    color:#FFFFFF!important;
    background:transparent!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    text-decoration:none!important;
    text-align:left!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    transition:background .15s ease,border-color .15s ease!important;
  }
  .mobile-nav__list a:hover,
  .mobile-nav__list a:active,
  .mobile-nav__list a:focus,
  .mobile-nav__accordion:hover,
  .mobile-nav__accordion:active,
  .mobile-nav__accordion:focus{
    background:rgba(232,168,56,.14)!important;
    border-color:rgba(232,168,56,.32)!important;
    color:#F1B94B!important;
    outline:none;
  }
  .mobile-nav__accordion[aria-expanded="true"]{
    background:rgba(232,168,56,.10)!important;
    color:#F1B94B!important;
    border-color:rgba(232,168,56,.22)!important;
  }
  .mobile-nav__accordion svg,.mobile-nav__accordion .icon{color:#E8A838!important;width:14px;height:14px;flex-shrink:0;transition:transform .2s ease}
  .mobile-nav__accordion[aria-expanded="true"] svg,.mobile-nav__accordion[aria-expanded="true"] .icon{transform:rotate(180deg)}

  .mobile-nav__sub{list-style:none!important;padding:2px 0 6px 6px!important;margin:0 8px 4px 18px!important;border-left:2px solid rgba(232,168,56,.28)!important}
  .mobile-nav__sub a,#mobile-nav .mobile-nav__sub a{
    padding:12px 14px!important;
    min-height:44px!important;
    font-size:15px!important;
    font-weight:600!important;
    color:#E8EEF7!important;
  }
  .mobile-nav__sub a:hover,.mobile-nav__sub a:active,.mobile-nav__sub a:focus{color:#F1B94B!important;background:rgba(232,168,56,.10)!important}

  .mobile-nav__eta{margin:6px 14px 12px!important;padding:11px 14px!important;background:rgba(34,197,94,.12)!important;border:1px solid rgba(34,197,94,.32)!important;border-radius:10px!important;color:#7DF0A8!important;font-size:13.5px!important;font-weight:700!important}
  .mobile-nav__eta svg,.mobile-nav__eta .icon{color:#22C55E!important}
}

/* === DEBUG: kill scrim, force color-scheme, force pure white text (v4) === */
:root{color-scheme:light}
@media (max-width:767.98px){
  body:has(#mobile-nav:not([hidden]))::before{display:none!important;content:none!important}
  .mobile-nav,#mobile-nav{
    background:#000814!important;
    background-image:none!important;
    box-shadow:-32px 0 80px rgba(0,0,0,.85)!important;
  }
  .mobile-nav,#mobile-nav,.mobile-nav *,#mobile-nav *{
    color:#FFFFFF!important;
    -webkit-text-fill-color:#FFFFFF!important;
  }
  .mobile-nav__accordion svg,.mobile-nav__accordion .icon,
  #mobile-nav .mobile-nav__accordion svg,#mobile-nav .mobile-nav__accordion .icon{
    color:#F1B94B!important;-webkit-text-fill-color:#F1B94B!important;fill:#F1B94B!important;stroke:#F1B94B!important;
  }
  .mobile-nav__eta,#mobile-nav .mobile-nav__eta{color:#7DF0A8!important;-webkit-text-fill-color:#7DF0A8!important}
  .mobile-nav__eta *,#mobile-nav .mobile-nav__eta *{color:#7DF0A8!important;-webkit-text-fill-color:#7DF0A8!important}
}

/* ============================================================
   Wave 17 SURGICAL — 2026-05-24
   Only target .why-item INSIDE .how-it-works and .why-us-section.
   Zero global selectors. Zero nav touching.
   ============================================================ */

/* Section padding + alternating bg */
section.how-it-works {
    padding: 56px 0;
    background: #ffffff;
}
section.why-us-section {
    padding: 56px 0;
}
section.why-us-section.section--alt {
    background: #f8fafc;
}

/* Section title centered */
section.how-it-works > .container > .section-title,
section.why-us-section > .container > .section-title {
    text-align: center;
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: #1B365D;
    margin: 0 0 12px;
}

section.how-it-works > .container > .section-subtitle,
section.why-us-section > .container > .section-subtitle {
    text-align: center;
    color: #64748b;
    max-width: 680px;
    margin: 0 auto 36px;
    font-size: 1rem;
}

/* Grid spacing */
section.how-it-works .why-grid,
section.why-us-section .why-grid {
    gap: 24px;
}

/* Card styling for why-item ONLY inside these two sections */
section.how-it-works .why-item,
section.why-us-section .why-item {
    background: #ffffff;
    padding: 28px 22px;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(15, 23, 42, 0.06);
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    text-align: center;
}

section.how-it-works .why-item:hover,
section.why-us-section .why-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.10);
}

section.how-it-works .why-item__icon,
section.why-us-section .why-item__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #E8A838, #b45309);
    color: #ffffff;
    border-radius: 14px;
    margin: 0 auto 14px;
}

section.how-it-works .why-item__title,
section.why-us-section .why-item__title {
    font-size: 1.02rem;
    font-weight: 700;
    color: #1B365D;
    margin: 0 0 10px;
}

section.how-it-works .why-item > p,
section.why-us-section .why-item > p {
    font-size: 0.92rem;
    color: #475569;
    line-height: 1.65;
    margin: 0;
}

/* Mobile padding adjustment */
@media (max-width: 768px) {
    section.how-it-works,
    section.why-us-section {
        padding: 40px 0;
    }
}

/* ============================================================
   Wave 18 — section-scoped premium styling
   ALL selectors prefixed with section.<class> or .site-footer
   to NEVER affect nav/header/mega-menu/existing rules.
   ============================================================ */

/* ── DEMO STATS SECTION (service-area pages) ───────── */
section.demo-stats-section {
    padding: 56px 0;
    background: #f8fafc;
}
section.demo-stats-section .demo-stats-section__lede {
    text-align: center;
    color: #64748b;
    max-width: 680px;
    margin: 0 auto 32px;
    line-height: 1.6;
}
section.demo-stats-section .demo-stats-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px;
}
section.demo-stats-section .demo-stat {
    background: #ffffff;
    border-radius: 16px;
    padding: 22px 18px;
    text-align: center;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: transform 0.2s ease;
}
section.demo-stats-section .demo-stat:hover { transform: translateY(-3px); }
section.demo-stats-section .demo-stat__icon { color: #b45309; margin-bottom: 10px; }
section.demo-stats-section .demo-stat__value {
    font-size: 1.8rem;
    font-weight: 800;
    color: #1B365D;
    line-height: 1.1;
    margin: 0 0 4px;
}
section.demo-stats-section .demo-stat__label {
    font-size: 0.85rem;
    color: #475569;
    line-height: 1.4;
    margin: 0;
}

/* ── HOOD GRID SECTION ───────────────────────────── */
section.hood-grid-section { padding: 56px 0; }
section.hood-grid-section .hood-grid-section__lede {
    text-align: center;
    color: #64748b;
    max-width: 720px;
    margin: 0 auto 32px;
    line-height: 1.6;
}
section.hood-grid-section .hood-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px;
}
section.hood-grid-section .hood-cat-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 24px 22px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
section.hood-grid-section .hood-cat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
}
section.hood-grid-section .hood-cat-card__header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
section.hood-grid-section .hood-cat-card__icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #1B365D, #142845);
    color: #ffffff;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
section.hood-grid-section .hood-cat-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1B365D;
    margin: 0;
}
section.hood-grid-section .hood-cat-card__profile {
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.6;
    margin: 0 0 14px;
}
section.hood-grid-section .hood-cat-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
section.hood-grid-section .hood-cat-card__service {
    font-size: 0.86rem;
    color: #0f172a;
    padding: 6px 10px;
    background: #f8fafc;
    border-radius: 6px;
    display: inline-block;
}

/* ── LANDMARKS SECTION ───────────────────────────── */
section.landmarks-section {
    padding: 56px 0;
    background: #f8fafc;
}
section.landmarks-section .landmarks-section__lede {
    text-align: center;
    color: #64748b;
    max-width: 720px;
    margin: 0 auto 32px;
}
section.landmarks-section .landmarks-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px;
}
section.landmarks-section .landmark-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 18px;
    border: 1px solid rgba(15, 23, 42, 0.06);
    display: flex;
    gap: 14px;
    align-items: flex-start;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: transform 0.15s ease;
}
section.landmarks-section .landmark-card:hover { transform: translateX(4px); }
section.landmarks-section .landmark-card__icon {
    width: 40px;
    height: 40px;
    background: #E8A838;
    color: #1B365D;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
section.landmarks-section .landmark-card__name {
    font-size: 0.98rem;
    font-weight: 700;
    color: #1B365D;
    margin: 0 0 4px;
}
section.landmarks-section .landmark-card__text {
    font-size: 0.86rem;
    color: #475569;
    line-height: 1.5;
    margin: 0;
}

/* ── CREDENTIALS SECTION ─────────────────────────── */
section.credentials-section {
    padding: 64px 0;
    background: #f8fafc;
}
section.credentials-section .credentials-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    max-width: 1100px;
    margin: 32px auto 0;
    padding: 0 16px;
}
section.credentials-section .credential-card {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 16px;
    padding: 26px 22px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
section.credentials-section .credential-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
}
section.credentials-section .credential-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, #E8A838, #b45309);
    color: #ffffff;
    border-radius: 14px;
    margin: 0 auto 14px;
}
section.credentials-section .credential-card__title {
    font-size: 1.02rem;
    font-weight: 700;
    color: #1B365D;
    margin: 0 0 10px;
}
section.credentials-section .credential-card__text {
    font-size: 0.92rem;
    color: #475569;
    line-height: 1.6;
    margin: 0;
}

/* ── TESTIMONIALS SECTION ────────────────────────── */
section.testimonials-section {
    padding: 56px 0;
    background: #f8fafc;
}
section.testimonials-section .testimonials-grid {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-width: 1100px;
    margin: 32px auto 0;
    padding: 0 16px;
}
section.testimonials-section .testimonial {
    background: #ffffff;
    border-radius: 16px;
    padding: 24px;
    border-left: 4px solid #E8A838;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
section.testimonials-section .testimonial__quote {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #0f172a;
    margin: 0 0 12px;
    font-style: italic;
}
section.testimonials-section .testimonial__author {
    font-size: 0.85rem;
    color: #64748b;
    font-weight: 600;
    border: none;
    padding: 0;
}

/* ── COMPETITOR FRAMING ──────────────────────────── */
section.competitor-framing-section { padding: 56px 0; }
section.competitor-framing-section .container { max-width: 980px; margin: 0 auto; padding: 0 16px; }

/* ── SERVICES GRID SECTION ───────────────────────── */
section.services-grid-section { padding: 56px 0; }
section.services-grid-section .services-grid-section__lede {
    text-align: center;
    color: #64748b;
    max-width: 720px;
    margin: 0 auto 32px;
    line-height: 1.6;
}

/* ── NEARBY CITIES SECTION ───────────────────────── */
section.nearby-cities-section { padding: 56px 0; }
section.nearby-cities-section .nearby-cities-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 1100px;
}
section.nearby-cities-section .nearby-cities-list li { margin: 0; }
section.nearby-cities-section .nearby-cities-list a {
    display: inline-block;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: #0f172a;
    padding: 8px 16px;
    border-radius: 30px;
    text-decoration: none;
    font-size: 0.88rem;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
section.nearby-cities-section .nearby-cities-list a:hover {
    background: #1B365D;
    color: #ffffff;
    border-color: #1B365D;
}

/* ── CDL-RV (reviews on home) ────────────────────── */
section.cdl-rv {
    padding: 64px 0;
    background: #ffffff;
}
section.cdl-rv .cdl-rv__inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px;
}
section.cdl-rv .cdl-rv__header { text-align: center; margin-bottom: 32px; }
section.cdl-rv .cdl-rv__title {
    font-size: clamp(1.5rem, 3vw, 2rem);
    margin: 0 0 12px;
    color: #1B365D;
}
section.cdl-rv .cdl-rv__score-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}
section.cdl-rv .cdl-rv__score-num {
    font-size: 2.5rem;
    font-weight: 800;
    color: #b45309;
    line-height: 1;
}
section.cdl-rv .cdl-rv__stars-lg {
    color: #fbbf24;
    font-size: 1.5rem;
    letter-spacing: 2px;
}
section.cdl-rv .cdl-rv__score-meta { font-size: 0.9rem; color: #64748b; }
section.cdl-rv .cdl-rv__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f0fdf4;
    color: #16a34a;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
}
section.cdl-rv .cdl-rv__grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    margin-bottom: 28px;
}
section.cdl-rv .cdl-rv__card {
    background: #ffffff;
    border-radius: 14px;
    padding: 22px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(15, 23, 42, 0.05);
    display: flex;
    flex-direction: column;
    gap: 12px;
}
section.cdl-rv .cdl-rv__card-top {
    display: flex;
    align-items: center;
    gap: 12px;
}
section.cdl-rv .cdl-rv__avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #b45309;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.95rem;
}
section.cdl-rv .cdl-rv__name { font-weight: 700; color: #1B365D; font-size: 0.95rem; }
section.cdl-rv .cdl-rv__date { font-size: 0.8rem; color: #64748b; }
section.cdl-rv .cdl-rv__stars { color: #fbbf24; font-size: 1rem; letter-spacing: 1px; }
section.cdl-rv .cdl-rv__text {
    font-size: 0.93rem;
    line-height: 1.65;
    color: #334155;
    margin: 0;
}
section.cdl-rv .cdl-rv__cta { text-align: center; margin-top: 24px; }
section.cdl-rv .cdl-rv__cta-sub { color: #64748b; font-size: 0.9rem; margin: 8px 0 0; }
section.cdl-rv .cdl-rv__btn {
    display: inline-block;
    background: #b45309;
    color: #ffffff;
    padding: 12px 26px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
}
section.cdl-rv .cdl-rv__btn:hover { background: #92400e; }
section.cdl-rv .cdl-rv__g { color: #4285f4; font-weight: 700; }

/* ── FAQ SECTION ─────────────────────────────────── */
section.faq-section { padding: 56px 0; }
section.faq-section.section--alt { background: #f8fafc; }
section.faq-section .faq-list { max-width: 820px; margin: 0 auto; padding: 0 16px; }
section.faq-section .faq-item {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 12px;
    margin-bottom: 12px;
    overflow: hidden;
}
section.faq-section .faq-item__question {
    width: 100%;
    background: transparent;
    border: none;
    padding: 18px 22px;
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    color: #1B365D;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
section.faq-section .faq-item__answer {
    padding: 0 22px 18px;
    color: #475569;
    line-height: 1.7;
    font-size: 0.95rem;
}

/* ── POPULAR SERVICES + NEIGHBORHOODS ───────────── */
section.popular-services { padding: 56px 0; }
section.neighborhoods { padding: 56px 0; }
section.neighborhoods.section--alt { background: #f8fafc; }
section.services-section { padding: 56px 0; }
section.services-section.section--alt { background: #f8fafc; }

/* ── AREAS RIBBON ────────────────────────────────── */
section.areas-ribbon { padding: 40px 0; }
section.areas-ribbon .areas-ribbon__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 1100px;
}
section.areas-ribbon .area-tag {
    display: inline-block;
    background: #f1f5f9;
    color: #334155;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.88rem;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
section.areas-ribbon .area-tag:hover {
    background: #b45309;
    color: #ffffff;
}

/* ── FOOTER (scoped under .site-footer) ─────────── */
.site-footer .footer-grid {
    display: grid;
    gap: 32px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    padding: 48px 16px 24px;
    max-width: 1200px;
    margin: 0 auto;
}
.site-footer .footer-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.site-footer .footer-logo,
.site-footer .footer-col--brand img {
    max-width: 180px;
    margin-bottom: 6px;
}
.site-footer .footer-tagline {
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 12px;
    line-height: 1.6;
}
.site-footer .footer-heading {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #ffffff;
    margin: 0 0 6px;
}
.site-footer .footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.site-footer .footer-links a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    font-size: 0.88rem;
    padding: 4px 0;
    transition: color 0.15s ease;
}
.site-footer .footer-links a:hover { color: #E8A838; }
.site-footer .footer-links--areas {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 16px;
}
.site-footer .footer-nap {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.7;
    margin: 0 0 8px;
}
.site-footer .footer-nap a { color: #E8A838; }
.site-footer .footer-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.site-footer .footer-trust span {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.75rem;
}
.site-footer .footer-social {
    display: flex;
    gap: 10px;
    margin-top: 6px;
}
.site-footer .footer-social__link {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}
.site-footer .footer-social__link:hover {
    background: #E8A838;
    color: #1B365D;
}
.site-footer .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    padding: 18px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.85rem;
    max-width: 1200px;
    margin: 0 auto;
}
.site-footer .footer-credit,
.site-footer .footer-copyright {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.5);
}
.site-footer .footer-bottom__diamond {
    color: rgba(255, 255, 255, 0.3);
    margin: 0 8px;
}
.site-footer .footer-bottom__divider {
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin: 24px 0;
}

/* ── SIDEBAR (Castle Rock + service-area page sidebar) ──
   Scoped under aside.sidebar to not affect other classes */
aside.sidebar {
    align-self: flex-start;
    position: sticky;
    top: 90px;
}
aside.sidebar .sidebar__card {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 14px;
    padding: 22px 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
}
aside.sidebar .sidebar__title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1B365D;
    margin: 0 0 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
aside.sidebar .sidebar__links {
    list-style: none;
    margin: 0;
    padding: 0;
}
aside.sidebar .sidebar__links li { margin: 0 0 2px; }
aside.sidebar .sidebar__link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    font-size: 0.88rem;
    color: #334155;
    text-decoration: none;
    border-radius: 6px;
    transition: background 0.15s ease, color 0.15s ease;
    line-height: 1.4;
}
aside.sidebar .sidebar__link:hover {
    background: #fff7ed;
    color: #b45309;
}
aside.sidebar .sidebar__link--active {
    background: #fff7ed;
    color: #b45309;
    font-weight: 600;
}
@media (max-width: 900px) {
    aside.sidebar {
        position: static;
        width: 100%;
    }
}

/* ============================================================
   Wave 19 — DRAMATIC premium enhancements
   Scoped under .site-header / .site-footer / section.X
   Uses bolder visual effects: gold underline animation, larger
   shadows, gradient buttons, hover transforms.
   ============================================================ */

/* ── NAV HOVER ENHANCEMENT (additive, doesn't override colors) ── */
.site-header .main-nav__link {
    position: relative;
    transition: color 0.2s ease, padding 0.2s ease !important;
}
.site-header .main-nav__link::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #E8A838, #b45309);
    transition: width 0.25s ease, left 0.25s ease;
}
.site-header .main-nav__link:hover::after {
    width: 100%;
    left: 0;
}
.site-header {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

/* Phone button in header (CTA prominence) */
.site-header .site-header__cta,
.site-header .site-header__mobile-phone {
    background: linear-gradient(135deg, #E8A838 0%, #b45309 100%) !important;
    color: #1B365D !important;
    box-shadow: 0 4px 12px rgba(232, 168, 56, 0.30);
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.site-header .site-header__cta:hover,
.site-header .site-header__mobile-phone:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(232, 168, 56, 0.45);
}

/* Mega-menu dropdown enhancement */
.site-header .mega-menu {
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.20);
    border-radius: 0 0 14px 14px;
    background: #ffffff;
    border-top: 3px solid #E8A838;
}
.site-header .mega-menu__group-title {
    color: #b45309 !important;
}
.site-header .mega-menu a {
    transition: color 0.15s ease, padding-left 0.15s ease;
    color: #334155;
}
.site-header .mega-menu a:hover {
    color: #b45309;
    padding-left: 6px;
}

/* ── RECENT JOBS SECTION (Castle Rock) ─────────────── */
section.recent-jobs-section {
    padding: 56px 0;
    background: #ffffff;
}
section.recent-jobs-section .container { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
section.recent-jobs-section .recent-jobs-grid,
section.recent-jobs-section .container > div {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    margin-top: 32px;
}
section.recent-jobs-section .recent-job,
section.recent-jobs-section article {
    background: #ffffff;
    border-radius: 14px;
    padding: 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
section.recent-jobs-section .recent-job:hover,
section.recent-jobs-section article:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.10);
}

/* ── AUDIENCE SERVICES SECTION ─────────────────────── */
section.audience-services-section {
    padding: 56px 0;
    background: #f8fafc;
}
section.audience-services-section .container { max-width: 1100px; margin: 0 auto; padding: 0 16px; }

/* ── COVERAGE MAP SECTION ──────────────────────────── */
section.coverage-map-section {
    padding: 56px 0;
}
section.coverage-map-section .container { max-width: 1100px; margin: 0 auto; padding: 0 16px; }

/* ── SECTION TITLES — make consistent across sections ── */
section.demo-stats-section > .container > h2,
section.hood-grid-section > .container > h2,
section.landmarks-section > .container > h2,
section.credentials-section > .container > h2,
section.testimonials-section > .container > h2,
section.services-grid-section > .container > h2,
section.recent-jobs-section > .container > h2,
section.audience-services-section > .container > h2,
section.coverage-map-section > .container > h2,
section.competitor-framing-section > .container > h2,
section.faq-section > .container > h2,
section.cdl-rv > .container > h2,
section.cdl-rv h2.section-title,
section.popular-services > .container > h2,
section.neighborhoods > .container > h2,
section.services-section > .container > h2,
section.areas-ribbon > .container > h2 {
    text-align: center;
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    color: #1B365D !important;
    margin: 0 0 16px !important;
    font-weight: 800;
    letter-spacing: -0.01em;
}

/* Add divider under section titles */
section.demo-stats-section > .container > h2::after,
section.hood-grid-section > .container > h2::after,
section.landmarks-section > .container > h2::after,
section.credentials-section > .container > h2::after,
section.testimonials-section > .container > h2::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, #E8A838, #b45309);
    margin: 12px auto 0;
    border-radius: 2px;
}

/* ── BLOG CARDS (used on home + blog index) ──────── */
.blog-cards {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-width: 1100px;
    margin: 24px auto;
    padding: 0 16px;
}
.blog-card {
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
    color: inherit;
    display: block;
}
.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}
.blog-card__image-wrap {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f3f4f6;
}
.blog-card__image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.blog-card:hover .blog-card__image-wrap img { transform: scale(1.05); }
.blog-card__body { padding: 18px 22px; }
.blog-card__category {
    display: inline-block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #b45309;
    font-weight: 700;
    margin-bottom: 6px;
}
.blog-card__title {
    margin: 0 0 8px;
    font-size: 1.05rem;
    line-height: 1.3;
    color: #1B365D;
}
.blog-card__date {
    font-size: 0.8rem;
    color: #64748b;
}

/* ============================================================
   Wave 20 — Home hero premium polish + container padding fix
   Issue: hero content was clipping left edge.
   ============================================================ */

/* CONTAINER FIX — enforce padding + center */
section.hero .container,
section.hero > .container,
section.hero .hero__inner {
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
    max-width: 1280px;
    margin: 0 auto;
    box-sizing: border-box;
}

/* ── HERO premium polish ────────────────────────── */
section.hero {
    position: relative;
    overflow: hidden;
}

/* Subtle pattern overlay */
section.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 80% 10%, rgba(232, 168, 56, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 10% 90%, rgba(232, 168, 56, 0.04) 0%, transparent 35%);
    pointer-events: none;
    z-index: 0;
}

section.hero .hero__inner {
    position: relative;
    z-index: 2;
}

/* Eyebrow — more prominent */
section.hero .hero__eyebrow {
    display: inline-block;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    color: #E8A838 !important;
    background: rgba(232, 168, 56, 0.10);
    padding: 6px 14px;
    border-radius: 100px;
    border: 1px solid rgba(232, 168, 56, 0.25);
    margin-bottom: 18px !important;
    text-transform: uppercase;
}

/* H1 — bigger, with gold-accent gradient option */
section.hero .hero__title,
section.hero h1 {
    font-size: clamp(2.1rem, 5.8vw, 3.6rem) !important;
    line-height: 1.06 !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.02em;
    margin: 0 0 18px !important;
    text-wrap: balance;
}

/* Subtitle + desc */
section.hero .hero__subtitle {
    font-size: 1.1rem !important;
    color: rgba(255, 255, 255, 0.92) !important;
    margin: 0 0 14px !important;
    line-height: 1.5;
}
section.hero .hero__desc,
section.hero .hero__inner p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.7;
    max-width: 620px;
}

/* Quick Answer box — premium glass-card */
section.hero .quick-answer,
section.hero p[class*="quick-answer"],
section.hero .hero__quick-answer {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    padding: 20px 22px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.65;
    margin: 22px 0;
    font-size: 0.95rem;
}
section.hero .quick-answer strong,
section.hero .hero__quick-answer strong {
    color: #E8A838;
    font-weight: 800;
}

/* Hero actions row */
section.hero .hero__actions {
    display: flex;
    gap: 14px;
    margin: 24px 0 !important;
    flex-wrap: wrap;
}
section.hero .hero__actions .btn--primary,
section.hero .hero__actions .btn--cta {
    background: linear-gradient(135deg, #E8A838 0%, #b45309 100%) !important;
    color: #1B365D !important;
    padding: 14px 28px !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    box-shadow: 0 8px 24px rgba(232, 168, 56, 0.35);
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    text-decoration: none;
}
section.hero .hero__actions .btn--primary:hover,
section.hero .hero__actions .btn--cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(232, 168, 56, 0.50);
}
section.hero .hero__actions .btn--outline,
section.hero .hero__actions .btn--secondary {
    background: rgba(255, 255, 255, 0.10) !important;
    color: #ffffff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.30) !important;
    padding: 13px 26px !important;
    border-radius: 50px !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background 0.18s ease, transform 0.18s ease;
}
section.hero .hero__actions .btn--outline:hover,
section.hero .hero__actions .btn--secondary:hover {
    background: rgba(255, 255, 255, 0.18) !important;
    transform: translateY(-2px);
}

/* Trust badges — premium pills */
section.hero .hero__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px !important;
}
section.hero .trust-badge {
    background: rgba(255, 255, 255, 0.10) !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    color: rgba(255, 255, 255, 0.95) !important;
    padding: 7px 14px !important;
    border-radius: 100px !important;
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
section.hero .trust-badge .icon { color: #E8A838 !important; }

/* Hero image — premium frame */
section.hero .hero__image {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
    position: relative;
}
section.hero .hero__image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(15, 29, 47, 0.6) 100%);
    z-index: 1;
    pointer-events: none;
}
section.hero .hero__image-badge {
    position: absolute;
    bottom: 18px;
    left: 18px;
    z-index: 2;
    background: rgba(15, 29, 47, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(232, 168, 56, 0.30);
    color: #ffffff;
    padding: 10px 16px;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 600;
    max-width: 90%;
}
section.hero .hero__image-badge .icon { color: #E8A838; }

/* Hero ETA badge — Highlands Ranch indicator */
section.hero .hero__eta-badge {
    background: rgba(34, 197, 94, 0.14) !important;
    border: 1px solid rgba(34, 197, 94, 0.30) !important;
    color: #4ade80 !important;
    padding: 9px 18px !important;
    border-radius: 100px !important;
    margin-bottom: 22px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    font-weight: 600;
    font-size: 0.88rem;
}
section.hero .hero__eta-badge strong { color: #ffffff; font-weight: 800; }

/* Mobile: stack content above image */
@media (max-width: 900px) {
    section.hero {
        min-height: auto !important;
        padding: 36px 0 48px !important;
    }
    section.hero .hero__inner {
        flex-direction: column !important;
        gap: 28px !important;
    }
    section.hero .hero__image {
        order: -1;
    }
}

/* ============================================================
   Wave 21 — Service Cards uniformity fix
   Issue: .services-section cards span entire viewport
   Fix: enforce container + grid + card styling
   ============================================================ */

section.services-section > .container,
section.services-section .container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
    box-sizing: border-box;
}

section.services-section .service-cards,
section.services-section .service-cards--snap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    padding-bottom: 0 !important;
}

@media (min-width: 640px) {
    section.services-section .service-cards,
    section.services-section .service-cards--snap {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (min-width: 1024px) {
    section.services-section .service-cards,
    section.services-section .service-cards--snap {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

section.services-section .service-card {
    flex: unset !important;
    min-width: unset !important;
    scroll-snap-align: unset !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-top: 3px solid #E8A838 !important;
    border-radius: 14px !important;
    padding: 24px 22px !important;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-top-color 0.2s ease !important;
    text-decoration: none;
    color: #0f172a;
    display: flex !important;
    flex-direction: column !important;
}
section.services-section .service-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12) !important;
    border-top-color: #1B365D !important;
}
section.services-section .service-card__icon {
    width: 52px !important;
    height: 52px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, rgba(232,168,56,.18), rgba(180,83,9,.12)) !important;
    color: #b45309 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px !important;
}
section.services-section .service-card__title {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #1B365D !important;
    margin: 0 0 10px !important;
}
section.services-section .service-card__desc {
    font-size: 0.92rem !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin: 0 0 16px !important;
    flex: 1;
}
section.services-section .service-card__cta {
    color: #b45309 !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    transition: gap 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
section.services-section .service-card:hover .service-card__cta {
    gap: 8px;
}

/* Section title centered + accent */
section.services-section > .container > .section-title {
    text-align: center;
    font-size: clamp(1.5rem, 3vw, 2rem) !important;
    color: #1B365D !important;
    margin: 0 0 12px !important;
    font-weight: 800;
}
section.services-section > .container > .section-subtitle {
    text-align: center;
    color: #64748b;
    max-width: 720px;
    margin: 0 auto 32px !important;
    font-size: 1rem;
    line-height: 1.6;
}

/* === Also apply same constraint to all other major sections === */
section.how-it-works > .container,
section.why-us-section > .container,
section.popular-services > .container,
section.neighborhoods > .container,
section.demo-stats-section > .container,
section.hood-grid-section > .container,
section.landmarks-section > .container,
section.credentials-section > .container,
section.testimonials-section > .container,
section.competitor-framing-section > .container,
section.services-grid-section > .container,
section.recent-jobs-section > .container,
section.audience-services-section > .container,
section.coverage-map-section > .container,
section.cdl-rv > .container,
section.faq-section > .container,
section.areas-ribbon > .container,
section.nearby-cities-section > .container,
section.cta-banner > .container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
    box-sizing: border-box;
}

/* ============================================================
   Wave 22 — Header + Top-bar polish
   1. Constrain top-bar + header inner to max-width + padding
   2. Hide duplicate phone in top-bar (CTA already in header)
   3. Replace duplicate "Licensed & Insured" mini-text with badge style
   ============================================================ */

/* Top-bar layout — proper container */
.top-bar > .container,
.top-bar .top-bar__inner {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
    box-sizing: border-box;
    min-height: 36px;
}

/* Hide duplicate phone in top-bar — header CTA is already prominent */
.top-bar .top-bar__phone {
    display: none !important;
}

/* Style the "Licensed & Insured" trust text in top-bar */
.top-bar .top-bar__trust {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    font-weight: 500;
}
.top-bar .top-bar__trust .icon {
    color: #E8A838;
    width: 14px;
    height: 14px;
}

/* Top-bar badge (15-25 min) — keep visible */
.top-bar .top-bar__badge {
    background: rgba(232, 168, 56, 0.14) !important;
    color: #E8A838 !important;
    padding: 4px 12px !important;
    border-radius: 100px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    border: 1px solid rgba(232, 168, 56, 0.18);
}

/* Top-bar hours */
.top-bar .top-bar__hours {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.78rem;
    font-weight: 500;
}

/* Header inner — constrain + padding */
.site-header .site-header__inner,
.site-header > .container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
    box-sizing: border-box;
    min-height: 72px;
}

/* Header CTA stronger position (right side, never touches edge) */
.site-header .site-header__cta {
    margin-left: auto;
    flex-shrink: 0;
}

/* Mobile — hide top-bar entirely; main header has all the info */
@media (max-width: 767px) {
    .top-bar {
        display: none !important;
    }
}

/* ============================================================
   Wave 24 — Contact page premium polish
   Targets: .contact-grid, .contact-form-wrap, .contact-info-wrap,
            .contact-info-card, .contact-block, .form-related
   Scoped — won't affect other pages
   ============================================================ */

.page-contact .contact-grid {
    display: grid !important;
    gap: 32px !important;
    grid-template-columns: 1fr !important;
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px clamp(16px, 4vw, 32px) !important;
}

@media (min-width: 900px) {
    .page-contact .contact-grid {
        grid-template-columns: 1.4fr 1fr !important;
    }
}

/* ── Form Card ──────────────────────────────── */
.page-contact .contact-form-wrap {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    padding: 32px 28px;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
    border-top: 4px solid #E8A838;
}
@media (max-width: 640px) {
    .page-contact .contact-form-wrap { padding: 24px 20px; }
}

.page-contact .contact-form-wrap > h2,
.page-contact .contact-form-wrap > .form__title,
.page-contact #contact-form ~ h2,
.page-contact .contact-form-wrap h2:first-child {
    font-size: clamp(1.4rem, 2.6vw, 1.8rem);
    font-weight: 800;
    color: #1B365D;
    margin: 0 0 6px;
    letter-spacing: -0.01em;
}

.page-contact .contact-form-wrap > p:first-of-type {
    color: #64748b;
    margin: 0 0 22px;
    font-size: 0.95rem;
}

/* Form fields */
.page-contact #contact-form .form__group {
    margin-bottom: 16px;
}
.page-contact #contact-form .form__label {
    display: block;
    font-size: 0.85rem;
    font-weight: 700;
    color: #334155;
    margin-bottom: 6px;
}
.page-contact #contact-form .form__input,
.page-contact #contact-form .form__textarea,
.page-contact #contact-form select {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    font-size: 0.95rem;
    color: #0f172a;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
    font-family: inherit;
    box-sizing: border-box;
}
.page-contact #contact-form .form__input::placeholder,
.page-contact #contact-form .form__textarea::placeholder {
    color: #94a3b8;
}
.page-contact #contact-form .form__input:focus,
.page-contact #contact-form .form__textarea:focus,
.page-contact #contact-form select:focus {
    outline: none;
    border-color: #E8A838;
    box-shadow: 0 0 0 3px rgba(232, 168, 56, 0.18);
    background: #fffdf8;
}
.page-contact #contact-form .form__textarea {
    min-height: 120px;
    resize: vertical;
}
.page-contact #contact-form .form__input.error,
.page-contact #contact-form .form__textarea.error,
.page-contact #contact-form select.error {
    border-color: #dc2626;
    background: #fef2f2;
}
.page-contact #contact-form .form__error {
    display: block;
    font-size: 0.82rem;
    color: #dc2626;
    margin-top: 4px;
    min-height: 1.2em;
}

/* Submit button — gold gradient */
.page-contact #contact-form .form__submit,
.page-contact #contact-form button[type="submit"] {
    width: 100%;
    padding: 15px 28px !important;
    background: linear-gradient(135deg, #E8A838 0%, #b45309 100%) !important;
    color: #1B365D !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(232, 168, 56, 0.30) !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease !important;
    margin-top: 8px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.page-contact #contact-form .form__submit:hover,
.page-contact #contact-form button[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 32px rgba(232, 168, 56, 0.42) !important;
}
.page-contact #contact-form .form__submit:disabled,
.page-contact #contact-form button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
}

/* ── Info Card ────────────────────────────── */
.page-contact .contact-info-wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.page-contact .contact-info-card {
    background: linear-gradient(155deg, #1B365D 0%, #142845 100%);
    color: #ffffff;
    border-radius: 18px;
    padding: 28px 26px;
    box-shadow: 0 12px 32px rgba(27, 54, 93, 0.22);
    position: relative;
    overflow: hidden;
}
.page-contact .contact-info-card::before {
    content: "";
    position: absolute;
    top: -40%;
    right: -20%;
    width: 60%;
    height: 200%;
    background: radial-gradient(circle, rgba(232, 168, 56, 0.12) 0%, transparent 70%);
    pointer-events: none;
}
.page-contact .contact-info-card > * {
    position: relative;
    z-index: 1;
}
.page-contact .contact-info-card h2,
.page-contact .contact-info-card h3 {
    color: #E8A838 !important;
    font-size: 0.82rem !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    margin: 0 0 14px;
}
.page-contact .contact-info-card strong {
    color: #ffffff;
    font-size: 1.15rem;
    font-weight: 700;
    display: block;
    margin-bottom: 6px;
}
.page-contact .contact-info-card p,
.page-contact .contact-info-card div {
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
    font-size: 0.95rem;
    margin: 0 0 10px;
}
.page-contact .contact-info-card a {
    color: #E8A838;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.15s ease;
}
.page-contact .contact-info-card a:hover {
    color: #ffffff;
    text-decoration: underline;
}
.page-contact .contact-info-card svg,
.page-contact .contact-info-card .icon {
    color: #E8A838;
    vertical-align: middle;
    margin-right: 4px;
}

/* Map/Find-us card */
.page-contact .contact-info-wrap .contact-info-card:nth-of-type(2),
.page-contact .contact-map-card {
    background: #ffffff;
    color: #1B365D;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    padding: 28px 26px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.page-contact .contact-info-wrap .contact-info-card:nth-of-type(2) h2,
.page-contact .contact-info-wrap .contact-info-card:nth-of-type(2) h3,
.page-contact .contact-map-card h2 {
    color: #1B365D !important;
    font-size: 1.05rem !important;
    text-transform: none;
    letter-spacing: 0;
    margin: 12px 0 6px;
}
.page-contact .contact-info-wrap .contact-info-card:nth-of-type(2) p,
.page-contact .contact-map-card p {
    color: #475569;
    font-size: 0.92rem;
}
.page-contact .contact-info-wrap .contact-info-card:nth-of-type(2) .btn,
.page-contact .contact-info-wrap .contact-info-card:nth-of-type(2) a.button,
.page-contact .contact-map-card a {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    padding: 12px 24px !important;
    background: linear-gradient(135deg, #E8A838 0%, #b45309 100%) !important;
    color: #1B365D !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(232, 168, 56, 0.30);
    transition: transform 0.15s ease;
}
.page-contact .contact-info-wrap .contact-info-card:nth-of-type(2) .btn:hover,
.page-contact .contact-map-card a:hover {
    transform: translateY(-2px);
}

/* ── Deep content (left column with H2 sections) ─ */
.page-contact .contact-deep-content {
    max-width: 1100px;
    margin: 32px auto;
    padding: 0 clamp(16px, 4vw, 32px);
}
.page-contact .contact-block {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 14px;
    padding: 26px 28px;
    margin-bottom: 18px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.page-contact .contact-block h2 {
    font-size: clamp(1.15rem, 2vw, 1.4rem);
    color: #1B365D;
    margin: 0 0 12px;
    font-weight: 800;
    letter-spacing: -0.01em;
}
.page-contact .contact-block p {
    color: #334155;
    line-height: 1.7;
    margin: 0 0 10px;
}
.page-contact .contact-block a {
    color: #b45309;
    font-weight: 600;
}
.page-contact .contact-block table {
    background: #f8fafc;
    border-radius: 8px;
    overflow: hidden;
}
.page-contact .contact-block table th,
.page-contact .contact-block table td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
.page-contact .contact-block table th {
    background: #f1f5f9;
    font-weight: 700;
    color: #1B365D;
    font-size: 0.88rem;
}

/* Form result message (success/error injected by JS) */
.page-contact .form__result {
    margin-top: 18px;
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* ============================================================
   Wave 25 — Sidebar CTA card premium
   Issue: empty/invisible cta box below sidebar service list
   ============================================================ */

aside.sidebar .sidebar__cta-card {
    background: linear-gradient(155deg, #1B365D 0%, #142845 100%) !important;
    color: #ffffff !important;
    border-radius: 14px !important;
    padding: 24px 22px !important;
    text-align: center !important;
    box-shadow: 0 8px 24px rgba(27, 54, 93, 0.25) !important;
    position: relative;
    overflow: hidden;
    margin-top: 16px;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

aside.sidebar .sidebar__cta-card::before {
    content: "";
    position: absolute;
    top: -40%;
    right: -20%;
    width: 60%;
    height: 200%;
    background: radial-gradient(circle, rgba(232, 168, 56, 0.14) 0%, transparent 70%);
    pointer-events: none;
}

aside.sidebar .sidebar__cta-card > * {
    position: relative;
    z-index: 1;
}

aside.sidebar .sidebar__cta-title {
    color: #ffffff !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    margin: 0 0 8px !important;
    letter-spacing: -0.01em;
}

aside.sidebar .sidebar__cta-text {
    color: rgba(255, 255, 255, 0.82) !important;
    font-size: 0.88rem !important;
    line-height: 1.55;
    margin: 0 0 16px !important;
}

aside.sidebar .sidebar__cta-card .btn,
aside.sidebar .sidebar__cta-card .btn--cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 18px !important;
    background: linear-gradient(135deg, #E8A838 0%, #b45309 100%) !important;
    color: #1B365D !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    box-shadow: 0 6px 16px rgba(232, 168, 56, 0.30);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

aside.sidebar .sidebar__cta-card .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(232, 168, 56, 0.42);
}

aside.sidebar .sidebar__cta-card .btn .icon {
    color: #1B365D !important;
}

aside.sidebar .sidebar__cta-sub {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 0.78rem !important;
    margin: 12px 0 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

aside.sidebar .sidebar__cta-sub .icon {
    color: #E8A838 !important;
}

/* ============================================================
   Wave 26 — Content-main typography + neighborhood content polish
   Scope: article.content-main on .page-city, .page-service
   Targets the long-form content body inside city/service pages
   ============================================================ */

article.content-main {
    padding: 4px 0;
}

/* Typography hierarchy */
article.content-main > h1,
article.content-main > .service-content > h1 {
    font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
    font-weight: 800 !important;
    color: #1B365D !important;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 32px 0 18px !important;
}

article.content-main h2,
article.content-main .service-content h2 {
    font-size: clamp(1.4rem, 2.8vw, 1.9rem) !important;
    font-weight: 800 !important;
    color: #1B365D !important;
    letter-spacing: -0.01em;
    line-height: 1.2;
    margin: 36px 0 14px !important;
    padding-top: 8px;
    position: relative;
}

article.content-main h2::before,
article.content-main .service-content h2::before {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    background: linear-gradient(90deg, #E8A838, #b45309);
    border-radius: 2px;
    margin-bottom: 14px;
}

article.content-main h3,
article.content-main .service-content h3 {
    font-size: clamp(1.1rem, 2.2vw, 1.35rem) !important;
    font-weight: 700 !important;
    color: #1B365D !important;
    margin: 24px 0 10px !important;
    line-height: 1.3;
}

article.content-main h4,
article.content-main .service-content h4 {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #1B365D !important;
    margin: 20px 0 8px !important;
}

/* Body paragraphs */
article.content-main p,
article.content-main .service-content p,
article.content-main .content-prose p {
    font-size: 1rem;
    line-height: 1.75;
    color: #334155;
    margin: 0 0 16px;
    max-width: 75ch;
}

article.content-main strong,
article.content-main .service-content strong {
    color: #1B365D;
    font-weight: 700;
}

article.content-main a:not(.btn):not(.service-card__cta),
article.content-main .service-content a:not(.btn) {
    color: #b45309;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    transition: text-decoration-thickness 0.15s ease, color 0.15s ease;
}
article.content-main a:not(.btn):hover {
    text-decoration-thickness: 2px;
    color: #92400e;
}

/* Lists */
article.content-main ul,
article.content-main ol,
article.content-main .service-content ul,
article.content-main .service-content ol {
    margin: 0 0 18px;
    padding-left: 24px;
    max-width: 75ch;
}

article.content-main ul li,
article.content-main ol li {
    font-size: 1rem;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 8px;
}

article.content-main ul li::marker {
    color: #b45309;
}

/* Tables */
article.content-main table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0 24px;
    font-size: 0.95rem;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
    border: 1px solid rgba(15, 23, 42, 0.08);
}
article.content-main table th {
    background: #f1f5f9;
    color: #1B365D;
    font-weight: 700;
    padding: 12px 16px;
    text-align: left;
    font-size: 0.9rem;
    border-bottom: 2px solid rgba(15, 23, 42, 0.10);
}
article.content-main table td {
    padding: 12px 16px;
    color: #334155;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}
article.content-main table tr:last-child td {
    border-bottom: none;
}
article.content-main table tr:hover {
    background: #fafbfc;
}

/* Blockquote */
article.content-main blockquote {
    background: linear-gradient(135deg, #fff7ed, #ffffff);
    border-left: 4px solid #E8A838;
    padding: 18px 22px;
    border-radius: 10px;
    margin: 22px 0;
    color: #334155;
    font-style: italic;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}

/* Code/abbr */
article.content-main abbr {
    text-decoration: underline dotted;
    text-decoration-color: #E8A838;
    cursor: help;
}

/* Aside callouts (Wave 7-era ones) */
article.content-main aside {
    background: #fff7ed;
    border-left: 4px solid #b45309;
    border-radius: 8px;
    padding: 16px 20px;
    margin: 22px 0;
    color: #1e293b;
    font-size: 0.95rem;
    line-height: 1.6;
}
article.content-main aside p {
    margin: 0;
    max-width: none;
}

/* hr divider */
article.content-main hr {
    border: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(15, 23, 42, 0.15), transparent);
    margin: 32px 0;
}

/* Sub-section card (used in service-areas/highlands-ranch and similar) */
article.content-main .content-section,
article.content-main > section {
    padding: 20px 0;
}

/* Source citation footer */
article.content-main p > em:only-child,
article.content-main p[style*="font-size:.85"] {
    color: #64748b !important;
    font-size: 0.85rem !important;
    line-height: 1.5;
}

/* Highlighted neighborhood section */
article.content-main > h2[id*="neighborhoods"],
article.content-main > h2:contains("Neighborhoods") {
    padding-top: 16px;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    margin-top: 36px;
}

/* ============================================================
   Wave 27 — Blog index + blog cards premium
   ============================================================ */

/* Lede paragraph (first p inside .service-content prose on blog index) */
.page-blog-index article.content-main .service-content > p:first-of-type,
.page-blog article.content-main .service-content > p:first-of-type {
    font-size: 1.1rem !important;
    line-height: 1.75;
    color: #475569;
    margin: 0 0 32px;
    max-width: 720px;
    padding: 16px 0 18px;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    font-weight: 400;
}

/* Blog cards grid */
.blog-cards {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    gap: 24px !important;
    margin: 32px 0 !important;
}

.blog-card {
    display: flex !important;
    flex-direction: column;
    background: #ffffff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
    border: 1px solid rgba(15, 23, 42, 0.06) !important;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
}

.blog-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #E8A838, #b45309);
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 2;
}

.blog-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14) !important;
}
.blog-card:hover::before {
    opacity: 1;
}

.blog-card__image-wrap {
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    background: #f1f5f9 !important;
    position: relative;
}
.blog-card__image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 65%, rgba(15, 23, 42, 0.10) 100%);
    pointer-events: none;
}
.blog-card__image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.blog-card:hover .blog-card__image-wrap img {
    transform: scale(1.06) !important;
}

.blog-card__body {
    padding: 20px 22px 22px !important;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.blog-card__category {
    display: inline-flex !important;
    align-items: center;
    align-self: flex-start;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.10em !important;
    color: #b45309 !important;
    background: rgba(232, 168, 56, 0.10);
    border: 1px solid rgba(232, 168, 56, 0.22);
    padding: 4px 10px;
    border-radius: 100px;
    font-weight: 800 !important;
    margin: 0 0 12px !important;
}

.blog-card__title {
    margin: 0 0 10px !important;
    font-size: 1.08rem !important;
    line-height: 1.35 !important;
    color: #1B365D !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
    flex: 1;
}

.blog-card:hover .blog-card__title {
    color: #b45309 !important;
}

.blog-card__date {
    font-size: 0.78rem !important;
    color: #94a3b8 !important;
    margin-top: 6px !important;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 500;
}

.blog-card__date::before {
    content: "🗓";
    font-size: 0.85rem;
    opacity: 0.7;
}

/* Single blog post layout (article inner) */
.page-blog-post article.content-main .service-content > p:first-of-type,
.page-blog article.content-main .service-content > p:first-of-type:not(:has(+ .blog-cards)) {
    font-size: 1.15rem;
    color: #1e293b;
    line-height: 1.7;
}

/* Reading-comfort max-width for blog post body */
.page-blog-post article.content-main .service-content > p,
.page-blog-post article.content-main .service-content > ul,
.page-blog-post article.content-main .service-content > ol {
    max-width: 70ch;
}

/* ============================================================
   Wave 28 — Force horizontal padding on content containers
   Fixes: content flush to viewport left edge on blog/about/city/service pages
   ============================================================ */

/* Force container padding everywhere */
body > main .container,
body > main > .container,
main#main-content .container,
main#main-content > .container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
    box-sizing: border-box !important;
}

/* Content-layout (article + sidebar 2-col) */
.content-layout {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
    box-sizing: border-box !important;
}

/* About page H1 + subtitle: ensure they're padded */
.page-about .container > h1.section-title,
.page-about .container > p.section-subtitle {
    padding-left: 0 !important;
    margin-left: 0 !important;
    max-width: 900px;
}
.page-about .container > h1.section-title {
    font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
    color: #1B365D !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
    margin-top: 36px !important;
    margin-bottom: 14px !important;
}
.page-about .container > p.section-subtitle {
    font-size: 1.1rem !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    margin-bottom: 32px !important;
}

/* Service page H1 directly inside .container (fallback) */
.page-service .container > h1.section-title,
.page-city .container > h1.section-title,
.page-blog-index .container > h1.section-title {
    padding-left: 0 !important;
    margin-left: 0 !important;
    font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
    color: #1B365D !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em;
}

/* Castle Rock-style H1 inside section first-of-type */
section.content-section > .container > h1,
section.content-section > .container > h2 {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Force breadcrumb container padding too */
.breadcrumb-bar > .container,
nav.breadcrumb-bar > .container {
    max-width: 1280px !important;
    padding-left: clamp(16px, 4vw, 32px) !important;
    padding-right: clamp(16px, 4vw, 32px) !important;
}

/* Mobile: still ensure padding */
@media (max-width: 640px) {
    body > main .container,
    .content-layout {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ============================================================
   Wave 29 — Demo-stat text overflow fix
   Issue: long words like "approximately $115,000" overflow card
   ============================================================ */

section.demo-stats-section .demo-stat__value {
    font-size: clamp(1.1rem, 2.6vw, 1.7rem) !important;
    line-height: 1.15 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
    padding: 0 4px;
    max-width: 100%;
    box-sizing: border-box;
}

section.demo-stats-section .demo-stat {
    min-width: 0 !important;
    overflow: hidden;
    word-wrap: break-word;
}

section.demo-stats-section .demo-stat__label {
    font-size: 0.78rem !important;
    line-height: 1.3 !important;
    word-break: break-word;
    overflow-wrap: anywhere;
}

section.demo-stats-section .demo-stat__icon {
    font-size: 1.6rem;
    display: block;
    text-align: center;
}

/* Grid — give cards more breathing room on wide viewports */
section.demo-stats-section .demo-stats-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    gap: 16px !important;
}

@media (max-width: 640px) {
    section.demo-stats-section .demo-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    section.demo-stats-section .demo-stat__value {
        font-size: clamp(0.95rem, 4vw, 1.3rem) !important;
    }
}

/* Same protection for other stat-like cards */
section.credentials-section .credential-card__title,
section.credentials-section .credential-card__text,
section.landmarks-section .landmark-card__name,
section.landmarks-section .landmark-card__text,
section.hood-grid-section .hood-cat-card__title,
section.hood-grid-section .hood-cat-card__profile,
.cdl-rv__text,
.cdl-rv__name {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    hyphens: auto;
}

/* ============================================================
   Wave 30 — Restore white text on dark-bg cards/sections
   Issue: Wave 26 forced h2/h3 color navy, but inside navy cards
   text becomes invisible.
   ============================================================ */

/* Inline CTA cards inside content-main (navy/dark bg) */
article.content-main .cta-banner,
article.content-main .inline-cta-card,
article.content-main .dark-cta,
article.content-main section.cta-banner,
section.cta-banner,
article.content-main aside[style*="background:#0b0f17"],
article.content-main aside[style*="background:#0f172a"],
article.content-main aside[style*="background:#1B365D"],
article.content-main aside[style*="background:#1e293b"],
article.content-main div[style*="background:linear-gradient(135deg,#0f172a"],
article.content-main div[style*="background:linear-gradient(155deg, #1B365D"] {
    color: #ffffff !important;
    border-radius: 14px;
    padding: 28px 26px;
    margin: 22px 0;
    text-align: center;
    box-shadow: 0 12px 32px rgba(27, 54, 93, 0.22);
}

article.content-main .cta-banner h2,
article.content-main .cta-banner h3,
article.content-main .cta-banner__title,
article.content-main section.cta-banner h2,
section.cta-banner h2,
article.content-main section.cta-banner h3,
section.cta-banner h3,
article.content-main aside[style*="background:#0b0f17"] h2,
article.content-main aside[style*="background:#0b0f17"] h3,
article.content-main aside[style*="background:#0f172a"] h2,
article.content-main aside[style*="background:#0f172a"] h3,
article.content-main aside[style*="background:#1B365D"] h2,
article.content-main aside[style*="background:#1B365D"] h3,
article.content-main aside[style*="background:#1e293b"] h2,
article.content-main aside[style*="background:#1e293b"] h3,
article.content-main div[style*="background:linear-gradient"] h2,
article.content-main div[style*="background:linear-gradient"] h3 {
    color: #ffffff !important;
    font-weight: 800 !important;
}

article.content-main .cta-banner h2::before,
article.content-main .cta-banner h3::before,
article.content-main section.cta-banner h2::before,
section.cta-banner h2::before,
article.content-main aside[style*="background:#0"] h2::before,
article.content-main aside[style*="background:#0"] h3::before,
article.content-main aside[style*="background:#1B365D"] h2::before,
article.content-main aside[style*="background:#1e293b"] h2::before {
    display: none !important;
}

article.content-main .cta-banner p,
article.content-main section.cta-banner p,
section.cta-banner p,
article.content-main aside[style*="background:#0b0f17"] p,
article.content-main aside[style*="background:#0f172a"] p,
article.content-main aside[style*="background:#1B365D"] p,
article.content-main aside[style*="background:#1e293b"] p,
article.content-main div[style*="background:linear-gradient(155deg, #1B365D"] p {
    color: rgba(255, 255, 255, 0.85) !important;
}

article.content-main .cta-banner a:not(.btn),
article.content-main section.cta-banner a:not(.btn),
section.cta-banner a:not(.btn) {
    color: #E8A838 !important;
}

article.content-main .cta-banner strong,
article.content-main section.cta-banner strong,
section.cta-banner strong {
    color: #ffffff !important;
}

/* Wave 7 dominance-block "Local vs National" comparison — keep dark side red text visible */
article.content-main div[style*="background:#fef2f2"] h3,
article.content-main div[style*="background:#fef2f2"] strong {
    color: #dc2626 !important;
}
article.content-main div[style*="background:#fef2f2"] li {
    color: #334155 !important;
}
article.content-main div[style*="background:#f8fafc"] h3,
article.content-main div[style*="background:#f0fdf4"] h3 {
    color: #16a34a !important;
}

/* Wave 8 BackCountry/neighborhood pages dark hero callout */
article.content-main section[style*="background:linear-gradient(135deg,#0f172a"] {
    color: #ffffff !important;
}
article.content-main section[style*="background:linear-gradient(135deg,#0f172a"] h1,
article.content-main section[style*="background:linear-gradient(135deg,#0f172a"] h2,
article.content-main section[style*="background:linear-gradient(135deg,#0f172a"] h3 {
    color: #ffffff !important;
}
article.content-main section[style*="background:linear-gradient(135deg,#0f172a"] h1::before,
article.content-main section[style*="background:linear-gradient(135deg,#0f172a"] h2::before,
article.content-main section[style*="background:linear-gradient(135deg,#0f172a"] h3::before {
    display: none !important;
}
article.content-main section[style*="background:linear-gradient(135deg,#0f172a"] p {
    color: rgba(255, 255, 255, 0.85) !important;
}

/* Reviews/info-card dark variants */
article.content-main .gdk-gbp-map h2,
article.content-main .gdk-gbp-map p,
article.content-main .gdk-gbp-map a {
    color: #ffffff;
}
article.content-main .gdk-gbp-map h2 { color: #ffffff !important; }
article.content-main .gdk-gbp-map h2::before { display: none !important; }
