.blog-page{--bg-light:#faf9f5;--bg-white:#fff;--bg-dark:#181616;--text:#181616;--text-muted:#1816168c;--text-light:#18161659;--border:#18161614;--border-hover:#18161626}html:has(.blog-page){--bg-light:#faf9f5;--bg-white:#fff;--bg-dark:#181616;--text:#181616;--text-muted:#1816168c;--text-light:#18161659;--border:#18161614;--border-hover:#18161626}html:has(.blog-page) body{background:var(--bg-light);color:var(--text)}html:has(.blog-page) .nav-logo{color:var(--text)}html:has(.blog-page) .nav-links a{color:var(--text)}html:has(.blog-page) .nav-links a:hover{color:var(--red)}html:has(.blog-page) .nav.scrolled{box-shadow:0 1px 0 var(--border);background:#ffffffeb}html:has(.blog-page) .hamburger span{background:var(--text)}html:has(.blog-page) .mobile-menu{background:var(--bg-light)}html:has(.blog-page) .mobile-menu a{color:var(--text)}.blog-page{padding-top:1px}.breadcrumb{color:var(--text-light);padding:100px 0 0;font-size:13px}.breadcrumb a{color:var(--text-muted);transition:color .3s}.breadcrumb a:hover{color:var(--red)}.breadcrumb .sep{opacity:.4;margin:0 8px}.blog-hero{padding:24px 0 60px;position:relative}.blog-hero-inner{max-width:800px}.blog-hero h1{font-family:var(--serif);letter-spacing:-2px;color:var(--text);margin-bottom:16px;font-size:clamp(36px,5.5vw,64px);font-weight:400;line-height:1.05}.blog-hero h1 em{color:var(--red);font-style:italic}.blog-hero-sub{color:var(--text-muted);max-width:620px;margin-bottom:36px;font-size:17px;line-height:1.7}.blog-filters{flex-wrap:wrap;gap:8px;display:flex}.blog-filter{border-radius:var(--pill);letter-spacing:.2px;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--sans);transition:all .3s var(--ease-out);background:0 0;padding:10px 22px}.blog-filter:hover{border-color:var(--text);color:var(--text)}.blog-filter.active{background:var(--red);border-color:var(--red);color:#fff}@media (max-width:768px){.blog-hero{padding:20px 0 40px}}.featured-post{padding:0 0 70px}.featured-card{background:var(--bg-white);border:1px solid var(--border);transition:box-shadow .5s var(--ease-out), transform .5s var(--ease-out);color:inherit;border-radius:20px;grid-template-columns:1.2fr 1fr;display:grid;overflow:hidden}.featured-card:hover{transform:translateY(-4px);box-shadow:0 30px 80px #0000000f}.featured-card-img{min-height:400px;position:relative;overflow:hidden}.featured-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease-out)}.featured-card:hover .featured-card-img img{transform:scale(1.04)}.featured-card-img .fc-badge{border-radius:var(--pill);background:var(--red);color:#fff;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;font-size:11px;font-weight:600;position:absolute;top:20px;left:20px}.featured-card-body{flex-direction:column;justify-content:center;padding:48px;display:flex}.fc-category{letter-spacing:1.5px;text-transform:uppercase;color:var(--red);margin-bottom:16px;font-size:12px;font-weight:600}.fc-title{font-family:var(--serif);letter-spacing:-1px;color:var(--text);margin-bottom:16px;font-size:clamp(22px,2.5vw,32px);font-weight:400;line-height:1.2;transition:color .3s}.featured-card:hover .fc-title{color:var(--red)}.fc-excerpt{color:var(--text-muted);margin-bottom:24px;font-size:15px;line-height:1.7}.fc-meta{color:var(--text-light);align-items:center;gap:16px;font-size:13px;display:flex}.fc-meta-dot{background:var(--text-light);border-radius:50%;width:4px;height:4px}@media (max-width:900px){.featured-card{grid-template-columns:1fr}.featured-card-img{min-height:260px}.featured-card-body{padding:32px}}.blog-grid-section{padding:0 0 80px}.blog-grid-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:36px;display:flex}.blog-grid-header h2{font-family:var(--serif);letter-spacing:-1px;font-size:clamp(24px,3vw,36px);font-weight:400}.blog-grid-header h2 em{color:var(--red);font-style:italic}.blog-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}@media (max-width:900px){.blog-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.blog-grid{grid-template-columns:1fr}}.blog-card{background:var(--bg-white);border:1px solid var(--border);transition:box-shadow .4s var(--ease-out), transform .4s var(--ease-out), border-color .3s;color:inherit;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.blog-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 20px 60px #0000000f}.blog-card-img{aspect-ratio:16/10;position:relative;overflow:hidden}.blog-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease-out)}.blog-card:hover .blog-card-img img{transform:scale(1.05)}.blog-card-cat{border-radius:var(--pill);background:var(--bg-white);letter-spacing:1px;text-transform:uppercase;color:var(--red);padding:6px 14px;font-size:11px;font-weight:600;position:absolute;top:14px;left:14px;box-shadow:0 2px 8px #00000014}.blog-card-body{flex-direction:column;flex:1;padding:28px;display:flex}.blog-card-title{font-family:var(--serif);letter-spacing:-.5px;color:var(--text);margin-bottom:12px;font-size:20px;font-weight:400;line-height:1.3;transition:color .3s}.blog-card:hover .blog-card-title{color:var(--red)}.blog-card-excerpt{color:var(--text-muted);flex:1;margin-bottom:20px;font-size:14px;line-height:1.7}.blog-card-meta{color:var(--text-light);border-top:1px solid var(--border);align-items:center;gap:12px;padding-top:16px;font-size:12px;display:flex}.blog-card-meta .meta-dot{background:var(--text-light);border-radius:50%;width:3px;height:3px}.blog-empty{text-align:center;color:var(--text-light);grid-column:1/-1;padding:60px 20px}.faq-section{padding:0 0 80px}.faq-section h2{font-family:var(--serif);letter-spacing:-1px;margin-bottom:36px;font-size:clamp(24px,3vw,36px);font-weight:400}.faq-section h2 em{color:var(--red);font-style:italic}.faq-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);margin-bottom:12px;transition:border-color .3s;overflow:hidden}.faq-item:hover{border-color:var(--border-hover)}.faq-question{cursor:pointer;color:var(--text);justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;font-size:15px;font-weight:500;transition:color .3s;display:flex}.faq-question:hover{color:var(--red)}.faq-arrow{width:20px;height:20px;transition:transform .35s var(--ease-out);stroke:var(--text-muted);flex-shrink:0}.faq-item.open .faq-arrow{transform:rotate(180deg)}.faq-answer{max-height:0;transition:max-height .4s var(--ease-out), padding .4s;overflow:hidden}.faq-item.open .faq-answer{max-height:320px}.faq-answer-inner{color:var(--text-muted);padding:0 28px 22px;font-size:14px;line-height:1.8}.faq-answer-inner a{color:var(--red)}.cta-banner{background:var(--bg-dark);text-align:center;border-radius:24px;margin:0 0 80px;padding:60px;position:relative;overflow:hidden}.cta-banner:before{content:"";background:radial-gradient(at 30%,#ff38311a 0%,#0000 60%);position:absolute;inset:0}.cta-banner-inner{z-index:1;position:relative}.cta-banner h3{font-family:var(--serif);letter-spacing:-1.5px;color:var(--cream);margin-bottom:12px;font-size:clamp(24px,3.5vw,40px);font-weight:400}.cta-banner h3 em{color:var(--red);font-style:italic}.cta-banner p{color:#fffddb73;max-width:500px;margin-bottom:28px;margin-left:auto;margin-right:auto;font-size:15px;line-height:1.6}.cta-banner .cta-buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn-pill-light{background:0 0;border:1px solid #fffddb26;color:var(--cream)!important}.btn-pill-light:hover{border-color:var(--cream);box-shadow:0 4px 16px #fffddb0f}.service-areas{padding:0 0 80px}.service-areas h2{font-family:var(--serif);letter-spacing:-1px;margin-bottom:12px;font-size:clamp(24px,3vw,36px);font-weight:400}.service-areas h2 em{color:var(--red);font-style:italic}.service-areas-sub{color:var(--text-muted);max-width:600px;margin-bottom:32px;font-size:15px;line-height:1.7}.areas-grid{flex-wrap:wrap;gap:8px;display:flex}.area-tag{border-radius:var(--pill);border:1px solid var(--border);color:var(--text-muted);background:var(--bg-white);transition:all .3s var(--ease-out);padding:10px 20px;font-size:13px;font-weight:500}.area-tag:hover{border-color:var(--red);color:var(--red);background:#ff383108}
