:root {
  --dc-blue: #002654;
  --dc-blue-light: #003d82;
  --dc-blue-dark: #001a3a;
  --dc-red: #ED2939;
  --dc-red-dark: #c41e2a;
  --dc-gold: #f59e0b;
  --dc-gold-light: #fbbf24;
  --dc-white: #ffffff;
  --dc-gray-50: #f8fafc;
  --dc-gray-100: #f1f5f9;
  --dc-gray-200: #e2e8f0;
  --dc-gray-300: #cbd5e1;
  --dc-gray-400: #94a3b8;
  --dc-gray-500: #64748b;
  --dc-gray-600: #475569;
  --dc-gray-700: #334155;
  --dc-gray-800: #1e293b;
  --dc-gray-900: #0f172a;
  --dc-radius: 12px;
  --dc-radius-lg: 20px;
  --dc-shadow: 0 4px 24px rgba(0,38,84,.08);
  --dc-shadow-lg: 0 12px 40px rgba(0,38,84,.12);
  --dc-shadow-xl: 0 20px 60px rgba(0,38,84,.16);
  --dc-transition: .3s cubic-bezier(.4,0,.2,1);
  --dc-font-heading: 'Sora', system-ui, sans-serif;
  --dc-font-body: 'DM Sans', system-ui, sans-serif;
  --dc-max-w: 1200px;
}
/* ═══ RESET ═══ */
.dc-page, .dc-page * { margin:0; padding:0; box-sizing:border-box; }
.dc-page { font-family: var(--dc-font-body); color: var(--dc-gray-800); line-height:1.7; font-size:16px; overflow-x:hidden; }
.dc-page img { max-width:100%; height:auto; display:block; }
.dc-page a { color: var(--dc-blue); text-decoration:none; transition: var(--dc-transition); }
.dc-page a:hover { color: var(--dc-red); }
/* ═══ LAYOUT ═══ */
.dc-container { max-width: var(--dc-max-w); margin:0 auto; padding:0 24px; }
.dc-section { padding: 80px 0; }
.dc-section--alt { background: var(--dc-gray-50); }
.dc-section--blue { background: var(--dc-blue); color: var(--dc-white); }
.dc-section--blue a { color: var(--dc-gold); }
.dc-section--blue .dc-subtitle { color: var(--dc-gray-300); }
/* ═══ TYPOGRAPHY ═══ */
.dc-page h1, .dc-page h2, .dc-page h3, .dc-page h4 { font-family: var(--dc-font-heading); font-weight:700; line-height:1.2; }
.dc-page h1 { font-size: clamp(2rem, 5vw, 3.2rem); }
.dc-page h2 { font-size: clamp(1.6rem, 4vw, 2.4rem); margin-bottom:16px; }
.dc-page h3 { font-size: clamp(1.2rem, 3vw, 1.6rem); margin-bottom:12px; }
.dc-title-accent { color: var(--dc-red); }
.dc-subtitle { color: var(--dc-gray-500); font-size:1.1rem; line-height:1.6; max-width:680px; }
.dc-subtitle--center { margin-left:auto; margin-right:auto; text-align:center; }
.dc-section-header { text-align:center; margin-bottom:48px; }
.dc-badge { display:inline-flex; align-items:center; gap:6px; background: rgba(237,41,57,.08); color: var(--dc-red); font-size:.85rem; font-weight:600; padding:6px 16px; border-radius:100px; margin-bottom:16px; font-family: var(--dc-font-heading); letter-spacing:.02em; }
.dc-section--blue .dc-badge { background: rgba(255,255,255,.12); color: var(--dc-gold); }
/* ═══ HERO ═══ */
.dc-hero { background: linear-gradient(135deg, var(--dc-blue) 0%, var(--dc-blue-dark) 60%, #000d1f 100%); color: var(--dc-white); padding: 100px 0 80px; position:relative; overflow:hidden; }
.dc-hero::before { content:''; position:absolute; top:-50%; right:-20%; width:600px; height:600px; border-radius:50%; background: radial-gradient(circle, rgba(237,41,57,.12) 0%, transparent 70%); pointer-events:none; }
.dc-hero::after { content:''; position:absolute; bottom:-30%; left:-10%; width:500px; height:500px; border-radius:50%; background: radial-gradient(circle, rgba(245,158,11,.08) 0%, transparent 70%); pointer-events:none; }
.dc-hero .dc-container { position:relative; z-index:1; }
.dc-hero-grid { display:grid; grid-template-columns:1fr 400px; gap:48px; align-items:center; }
.dc-hero h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); margin-bottom:20px; }
.dc-hero h1 .dc-highlight { color: var(--dc-gold); position:relative; }
.dc-hero-desc { font-size:1.15rem; color: rgba(255,255,255,.8); line-height:1.7; margin-bottom:28px; }
.dc-hero-stats { display:flex; gap:32px; margin-top:32px; padding-top:32px; border-top:1px solid rgba(255,255,255,.12); }
.dc-hero-stat { text-align:center; }
.dc-hero-stat strong { display:block; font-family: var(--dc-font-heading); font-size:1.8rem; color: var(--dc-gold); font-weight:800; }
.dc-hero-stat span { font-size:.85rem; color: rgba(255,255,255,.6); }
/* ═══ HERO FORM ═══ */
.dc-hero-form { background: rgba(255,255,255,.06); backdrop-filter: blur(12px); border:1px solid rgba(255,255,255,.1); border-radius: var(--dc-radius-lg); padding:32px; }
.dc-hero-form h3 { font-size:1.2rem; margin-bottom:20px; color: var(--dc-white); text-align:center; }
.dc-hero-form label { display:block; font-size:.85rem; color: rgba(255,255,255,.7); margin-bottom:6px; font-weight:500; }
.dc-hero-form input, .dc-hero-form select, .dc-hero-form textarea { width:100%; padding:12px 16px; border:1px solid rgba(255,255,255,.15); border-radius:8px; background: rgba(255,255,255,.08); color: var(--dc-white); font-family: var(--dc-font-body); font-size:.95rem; margin-bottom:14px; transition: var(--dc-transition); }
.dc-hero-form input::placeholder, .dc-hero-form textarea::placeholder { color: rgba(255,255,255,.4); }
.dc-hero-form input:focus, .dc-hero-form select:focus, .dc-hero-form textarea:focus { outline:none; border-color: var(--dc-gold); background: rgba(255,255,255,.12); }
.dc-hero-form select option { background: var(--dc-blue); color: var(--dc-white); }
.dc-hero-form .dc-btn { width:100%; justify-content:center; margin-top:4px; }
/* ═══ BUTTONS ═══ */
.dc-btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border-radius:8px; font-family: var(--dc-font-heading); font-weight:600; font-size:.95rem; cursor:pointer; border:none; transition: var(--dc-transition); text-decoration:none !important; }
.dc-btn--primary { background: var(--dc-red); color: var(--dc-white); }
.dc-btn--primary:hover { background: var(--dc-red-dark); color: var(--dc-white); transform:translateY(-2px); box-shadow: 0 8px 24px rgba(237,41,57,.3); }
.dc-btn--secondary { background: var(--dc-gold); color: var(--dc-blue-dark); }
.dc-btn--secondary:hover { background: var(--dc-gold-light); transform:translateY(-2px); box-shadow: 0 8px 24px rgba(245,158,11,.3); }
.dc-btn--outline { background:transparent; border:2px solid var(--dc-blue); color: var(--dc-blue); }
.dc-btn--outline:hover { background: var(--dc-blue); color: var(--dc-white); }
.dc-btn--white { background: var(--dc-white); color: var(--dc-blue); }
.dc-btn--white:hover { background: var(--dc-gray-100); transform:translateY(-2px); }
.dc-btn--wa { background:#25d366; color:#fff; }
.dc-btn--wa:hover { background:#1ebe57; color:#fff; transform:translateY(-2px); box-shadow:0 8px 24px rgba(37,211,102,.3); }
.dc-btn svg, .dc-btn img { width:20px; height:20px; flex-shrink:0; }
/* ═══ CARDS ═══ */
.dc-grid { display:grid; gap:24px; }
.dc-grid--2 { grid-template-columns: repeat(2, 1fr); }
.dc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.dc-grid--4 { grid-template-columns: repeat(4, 1fr); }
.dc-card { background: var(--dc-white); border-radius: var(--dc-radius); padding:32px; box-shadow: var(--dc-shadow); transition: var(--dc-transition); border:1px solid var(--dc-gray-200); }
.dc-card:hover { transform:translateY(-4px); box-shadow: var(--dc-shadow-lg); }
.dc-card-icon { width:56px; height:56px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:1.6rem; }
.dc-card-icon--blue { background: rgba(0,38,84,.06); color: var(--dc-blue); }
.dc-card-icon--red { background: rgba(237,41,57,.06); color: var(--dc-red); }
.dc-card-icon--gold { background: rgba(245,158,11,.08); color: var(--dc-gold); }
/* ═══ STEPS / PROCESS ═══ */
.dc-steps { display:grid; grid-template-columns: repeat(4, 1fr); gap:24px; position:relative; }
.dc-steps::before { content:''; position:absolute; top:36px; left:10%; right:10%; height:2px; background: linear-gradient(90deg, var(--dc-blue), var(--dc-red), var(--dc-gold)); opacity:.2; }
.dc-step { text-align:center; position:relative; }
.dc-step-num { width:56px; height:56px; border-radius:50%; background: var(--dc-blue); color: var(--dc-white); font-family: var(--dc-font-heading); font-weight:800; font-size:1.3rem; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; position:relative; z-index:1; }
.dc-step:nth-child(2) .dc-step-num { background: var(--dc-blue-light); }
.dc-step:nth-child(3) .dc-step-num { background: var(--dc-red); }
.dc-step:nth-child(4) .dc-step-num { background: var(--dc-gold); color: var(--dc-blue-dark); }
.dc-step h4 { font-size:1rem; margin-bottom:8px; }
.dc-step p { font-size:.9rem; color: var(--dc-gray-500); }
/* ═══ PRICE TABLE ═══ */
.dc-price-table { width:100%; border-collapse:separate; border-spacing:0; border-radius: var(--dc-radius); overflow:hidden; box-shadow: var(--dc-shadow); }
.dc-price-table th { background: var(--dc-blue); color: var(--dc-white); padding:16px 20px; text-align:left; font-family: var(--dc-font-heading); font-weight:600; font-size:.9rem; }
.dc-price-table td { padding:14px 20px; border-bottom:1px solid var(--dc-gray-200); font-size:.95rem; }
.dc-price-table tr:last-child td { border-bottom:none; }
.dc-price-table tr:nth-child(even) td { background: var(--dc-gray-50); }
.dc-price-table .dc-price { font-weight:700; color: var(--dc-blue); font-family: var(--dc-font-heading); }
/* ═══ PRICE SIMULATOR ═══ */
.dc-simulator { background: var(--dc-white); border-radius: var(--dc-radius-lg); padding:40px; box-shadow: var(--dc-shadow-lg); border:2px solid var(--dc-gray-200); }
.dc-simulator h3 { text-align:center; margin-bottom:8px; }
.dc-simulator-sub { text-align:center; color: var(--dc-gray-500); font-size:.95rem; margin-bottom:32px; }
.dc-sim-group { margin-bottom:24px; }
.dc-sim-group label { display:block; font-weight:600; margin-bottom:8px; font-family: var(--dc-font-heading); font-size:.95rem; }
.dc-sim-options { display:flex; flex-wrap:wrap; gap:10px; }
.dc-sim-opt { padding:10px 20px; border:2px solid var(--dc-gray-200); border-radius:8px; cursor:pointer; font-size:.9rem; font-weight:500; transition: var(--dc-transition); background: var(--dc-white); }
.dc-sim-opt:hover { border-color: var(--dc-blue); color: var(--dc-blue); }
.dc-sim-opt.active { border-color: var(--dc-blue); background: var(--dc-blue); color: var(--dc-white); }
.dc-sim-result { margin-top:32px; padding:24px; background: linear-gradient(135deg, var(--dc-blue), var(--dc-blue-dark)); border-radius: var(--dc-radius); text-align:center; color: var(--dc-white); display:none; }
.dc-sim-result.visible { display:block; }
.dc-sim-result .dc-sim-price { font-family: var(--dc-font-heading); font-size:2.4rem; font-weight:800; color: var(--dc-gold); }
.dc-sim-result .dc-sim-note { font-size:.85rem; color: rgba(255,255,255,.7); margin-top:8px; }
/* ═══ TESTIMONIALS ═══ */
.dc-testimonial { background: var(--dc-white); border-radius: var(--dc-radius); padding:28px; border-left:4px solid var(--dc-gold); box-shadow: var(--dc-shadow); }
.dc-testimonial-stars { color: var(--dc-gold); font-size:1.1rem; margin-bottom:12px; letter-spacing:2px; }
.dc-testimonial p { font-style:italic; color: var(--dc-gray-600); margin-bottom:12px; line-height:1.7; }
.dc-testimonial-author { font-weight:700; color: var(--dc-blue); font-size:.9rem; }
/* ═══ FAQ ═══ */
.dc-faq-item { border:1px solid var(--dc-gray-200); border-radius: var(--dc-radius); margin-bottom:12px; overflow:hidden; background: var(--dc-white); transition: var(--dc-transition); }
.dc-faq-item:hover { border-color: var(--dc-gray-300); }
.dc-faq-q { padding:18px 24px; font-weight:600; cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-family: var(--dc-font-heading); font-size:.95rem; color: var(--dc-gray-800); user-select:none; }
.dc-faq-q::after { content:'+'; font-size:1.4rem; color: var(--dc-gray-400); transition: var(--dc-transition); font-weight:300; }
.dc-faq-item.open .dc-faq-q::after { content:'−'; color: var(--dc-red); }
.dc-faq-a { max-height:0; overflow:hidden; transition: max-height .35s ease; }
.dc-faq-a-inner { padding:0 24px 18px; color: var(--dc-gray-600); font-size:.95rem; line-height:1.7; }
.dc-faq-item.open .dc-faq-a { max-height:500px; }
/* ═══ CTA BAND ═══ */
.dc-cta { background: linear-gradient(135deg, var(--dc-red), var(--dc-red-dark)); color: var(--dc-white); padding:60px 0; text-align:center; position:relative; overflow:hidden; }
.dc-cta::before { content:''; position:absolute; top:-50%; right:-10%; width:400px; height:400px; border-radius:50%; background: rgba(255,255,255,.05); }
.dc-cta h2 { color: var(--dc-white); margin-bottom:12px; }
.dc-cta p { color: rgba(255,255,255,.85); margin-bottom:28px; font-size:1.1rem; }
.dc-cta .dc-btn { font-size:1.05rem; padding:16px 36px; }
/* ═══ FOOTER ═══ */
/* ═══ NAVBAR ═══ */
.dc-nav { background: var(--dc-white); padding:12px 0; box-shadow: 0 2px 12px rgba(0,0,0,.06); position:sticky; top:0; z-index:1000; }
.dc-nav .dc-container { display:flex; align-items:center; justify-content:space-between; }
.dc-nav-logo { font-family: var(--dc-font-heading); font-size:1.3rem; font-weight:800; color: var(--dc-blue); }
.dc-nav-logo span { color: var(--dc-red); }
.dc-nav-links { display:flex; align-items:center; gap:24px; list-style:none; }
.dc-nav-links a { font-size:.9rem; font-weight:500; color: var(--dc-gray-600); }
.dc-nav-links a:hover { color: var(--dc-blue); }
.dc-nav-tel { font-family: var(--dc-font-heading); font-weight:700; color: var(--dc-blue) !important; font-size:1rem; }
.dc-hamburger { display:none; background:none; border:none; cursor:pointer; padding:8px; }
.dc-hamburger span { display:block; width:24px; height:2px; background: var(--dc-gray-700); margin:5px 0; transition: var(--dc-transition); }
.dc-mobile-menu { display:none; }
/* ═══ BREADCRUMB ═══ */
.dc-breadcrumb { padding:16px 0; font-size:.85rem; color: var(--dc-gray-400); }
.dc-breadcrumb a { color: var(--dc-gray-400); }
.dc-breadcrumb a:hover { color: var(--dc-blue); }
.dc-breadcrumb span { margin:0 8px; }
/* ═══ INTERNAL LINKS ═══ */
.dc-links-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; }
.dc-link-card { display:flex; align-items:center; gap:10px; padding:14px 18px; border-radius:8px; background: var(--dc-white); border:1px solid var(--dc-gray-200); font-size:.9rem; font-weight:500; transition: var(--dc-transition); }
.dc-link-card:hover { border-color: var(--dc-blue); color: var(--dc-blue); transform:translateY(-2px); box-shadow: var(--dc-shadow); }
.dc-link-card .dc-link-arrow { margin-left:auto; color: var(--dc-gray-400); transition: var(--dc-transition); }
.dc-link-card:hover .dc-link-arrow { color: var(--dc-red); transform:translateX(3px); }
/* ═══ BEFORE/AFTER SLIDER ═══ */
.dc-ba-wrapper { position:relative; border-radius: var(--dc-radius); overflow:hidden; box-shadow: var(--dc-shadow-lg); aspect-ratio:16/10; }
.dc-ba-before, .dc-ba-after { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.dc-ba-before { clip-path: inset(0 50% 0 0); }
.dc-ba-slider { position:absolute; top:0; bottom:0; left:50%; width:4px; background: var(--dc-white); cursor:ew-resize; z-index:2; }
.dc-ba-slider::after { content:'⇔'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:40px; height:40px; background: var(--dc-white); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1rem; color: var(--dc-blue); box-shadow: var(--dc-shadow); }
.dc-ba-label { position:absolute; top:16px; padding:6px 14px; border-radius:6px; font-size:.8rem; font-weight:700; font-family: var(--dc-font-heading); z-index:3; }
.dc-ba-label--before { left:16px; background: var(--dc-red); color: var(--dc-white); }
.dc-ba-label--after { right:16px; background: var(--dc-gold); color: var(--dc-blue-dark); }
/* ═══ LOCAL STATS ═══ */
.dc-local-stats { display:grid; grid-template-columns: repeat(4, 1fr); gap:16px; }
.dc-local-stat { background: var(--dc-white); border-radius: var(--dc-radius); padding:24px; text-align:center; box-shadow: var(--dc-shadow); border-top:3px solid var(--dc-blue); }
.dc-local-stat strong { display:block; font-family: var(--dc-font-heading); font-size:1.6rem; color: var(--dc-blue); font-weight:800; }
.dc-local-stat span { font-size:.85rem; color: var(--dc-gray-500); }
/* ═══ BLOG ═══ */
.dc-article { max-width:800px; margin:0 auto; }
.dc-article h1 { margin-bottom:12px; }
.dc-article-meta { color: var(--dc-gray-500); font-size:.9rem; margin-bottom:32px; }
.dc-article-content { font-size:1.05rem; line-height:1.8; }
.dc-article-content h2 { margin-top:40px; margin-bottom:16px; }
.dc-article-content h3 { margin-top:32px; margin-bottom:12px; }
.dc-article-content p { margin-bottom:16px; }
.dc-article-content ul, .dc-article-content ol { margin-bottom:16px; padding-left:24px; }
.dc-article-content li { margin-bottom:8px; }
.dc-article-content blockquote { border-left:4px solid var(--dc-gold); padding:16px 24px; background: var(--dc-gray-50); border-radius:0 8px 8px 0; margin:24px 0; font-style:italic; color: var(--dc-gray-600); }
/* ═══ RESPONSIVE ═══ */
@media (max-width: 1024px) {
  .dc-hero-grid { grid-template-columns:1fr; }
  .dc-hero-form { max-width:480px; }
  .dc-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .dc-steps { grid-template-columns: repeat(2, 1fr); }
  .dc-steps::before { display:none; }
    .dc-links-grid { grid-template-columns: repeat(2, 1fr); }
  .dc-local-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .dc-section { padding:56px 0; }
  .dc-hero { padding:72px 0 56px; }
  .dc-grid--3, .dc-grid--2 { grid-template-columns:1fr; }
  .dc-hero-stats { flex-wrap:wrap; gap:16px; }
  .dc-hero-stat { flex:1 0 40%; }
  .dc-nav-links { display:none; }
  .dc-hamburger { display:block; }
  .dc-mobile-menu.open { display:block; position:absolute; top:100%; left:0; right:0; background: var(--dc-white); padding:16px 24px; box-shadow: var(--dc-shadow-lg); }
  .dc-mobile-menu a { display:block; padding:12px 0; border-bottom:1px solid var(--dc-gray-100); font-weight:500; }
    .dc-links-grid { grid-template-columns:1fr; }
}
@media (max-width: 480px) {
  .dc-hero { padding:56px 0 40px; }
  .dc-hero-form { padding:24px; }
  .dc-card { padding:24px; }
  .dc-simulator { padding:24px; }
  .dc-steps { grid-template-columns:1fr; }
  .dc-local-stats { grid-template-columns:1fr; }
  .dc-cta { padding:40px 0; }
}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes sweep{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}
@keyframes pulse{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes slideR{0%{transform:translateX(-8px);opacity:0}100%{transform:translateX(0);opacity:1}}
@keyframes glow{0%,100%{r:3}50%{r:5}}
.fl{animation:float 3s ease-in-out infinite}
.fl2{animation:float 3.5s ease-in-out infinite .5s}
.sw{animation:sweep 2s ease-in-out infinite;transform-origin:center bottom}
.pl{animation:pulse 2s ease-in-out infinite}
.sr{animation:slideR .8s ease-out both}
.sr2{animation:slideR .8s ease-out .3s both}
.sr3{animation:slideR .8s ease-out .6s both}
.gl{animation:glow 2s ease-in-out infinite}
@keyframes ring{0%{r:20;opacity:.3}100%{r:24;opacity:0}}
@keyframes pop{0%{transform:scale(0.8);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes starPop{0%{transform:scale(0)}50%{transform:scale(1.2)}100%{transform:scale(1)}}
/* Sticky CTA buttons */
.dc-sticky-btns { position:fixed; bottom:20px; right:20px; display:flex; flex-direction:column; gap:12px; z-index:9999; }
.dc-sticky-btn { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; text-decoration:none; box-shadow:0 4px 15px rgba(0,0,0,.25); transition:transform .2s ease, box-shadow .2s ease; }
.dc-sticky-btn:hover { transform:scale(1.1); box-shadow:0 6px 20px rgba(0,0,0,.35); }
.dc-sticky-btn--phone { background:var(--dc-blue); }
.dc-sticky-btn--whatsapp { background:#25d366; }
.dc-sticky-btn svg { width:28px; height:28px; fill:#fff; }
@media (max-width:768px) { .dc-sticky-btns { bottom:16px; right:16px; gap:10px; } .dc-sticky-btn { width:52px; height:52px; } .dc-sticky-btn svg { width:24px; height:24px; } }
/* Footer v2 — optimized */
.dc-footer { background: var(--dc-gray-900); color: var(--dc-gray-400); padding:60px 0 24px; font-size:.9rem; }
.dc-footer-top { display:flex; justify-content:space-between; align-items:flex-start; gap:32px; margin-bottom:32px; flex-wrap:wrap; }
.dc-footer-brand { max-width:320px; }
.dc-footer-brand h3 { color: var(--dc-white); font-family: var(--dc-font-heading); font-size:1.15rem; margin-bottom:12px; }
.dc-footer-brand p { line-height:1.6; margin-bottom:10px; font-size:.88rem; }
.dc-footer-trust { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }
.dc-footer-trust-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:8px 14px; font-size:.78rem; color:var(--dc-gray-300); }
.dc-footer-cta { background: linear-gradient(135deg, var(--dc-red), #c0202f); border-radius:12px; padding:24px; text-align:center; min-width:260px; }
.dc-footer-cta h4 { color:var(--dc-white); font-size:1.05rem; margin-bottom:8px; }
.dc-footer-cta p { color:rgba(255,255,255,.8); font-size:.85rem; margin-bottom:14px; }
.dc-footer-cta .dc-btn { background:var(--dc-white); color:var(--dc-red); font-weight:700; }
.dc-footer-cta .dc-btn:hover { background:var(--dc-gold); color:var(--dc-blue-dark); }
.dc-footer-grid-v2 { display:grid; grid-template-columns: repeat(5, 1fr); gap:24px; margin-bottom:32px; }
.dc-footer-grid-v2 h4 { color: var(--dc-white); font-family: var(--dc-font-heading); font-size:.92rem; margin-bottom:12px; }
.dc-footer-links li { margin-bottom:6px; }
.dc-footer-links a { color: var(--dc-gray-400); font-size:.84rem; }
.dc-footer-links a:hover { color: var(--dc-gold); }
.dc-footer-contact { list-style:none; }
.dc-footer-contact li { display:flex; align-items:flex-start; gap:8px; margin-bottom:10px; font-size:.84rem; }
.dc-footer-contact a { color: var(--dc-gray-300); }
.dc-footer-hours { background:rgba(255,255,255,.04); border-radius:8px; padding:12px 14px; margin-top:12px; font-size:.8rem; line-height:1.6; }
.dc-footer-hours strong { color:var(--dc-white); display:block; margin-bottom:4px; font-size:.84rem; }
.dc-footer-social { display:flex; gap:10px; margin-top:16px; }
.dc-footer-social a { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition: background .2s; }
.dc-footer-social a:hover { background:var(--dc-gold); }
.dc-footer-social svg { width:18px; height:18px; fill:var(--dc-gray-300); }
.dc-footer-social a:hover svg { fill:var(--dc-blue-dark); }
.dc-footer-map { margin-bottom:24px; border-radius:12px; overflow:hidden; border:1px solid rgba(255,255,255,.1); }
.dc-footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:.78rem; color: var(--dc-gray-500); }
@media (max-width:900px) { .dc-footer-grid-v2 { grid-template-columns: repeat(3, 1fr); } .dc-footer-top { flex-direction:column; } .dc-footer-cta { width:100%; } }
@media (max-width:600px) { .dc-footer-grid-v2 { grid-template-columns: repeat(2, 1fr); } }