/* Fuente y estilos base */
:root {
  --primary: #2e2a27; /* oscuro elegante */
  --primary-rgb: 46,42,39;
  --accent: #c7a674; /* arena dorado suave */
  --accent-rgb: 199,166,116;
  --sand: #e7dcc8;
  --dark: #181615;
  --light: #f5f3ef;
  /* Sistema de superficies unificado */
  --surface-base: var(--light);
  --surface-alt: #efe9e0;
  --surface-alt-rgb: 239,233,224;
  --surface-contrast: #ffffff;
  --surface-tint: rgba(var(--accent-rgb), 0.06);
  --border-soft: #e2ddd4;
  /* Overlay más claro para mostrar mejor la imagen */
  --gradient-hero: linear-gradient(120deg, rgba(255,255,255,0.05), rgba(46,42,39,0.35) 35%, rgba(24,20,18,0.55) 78%);
  --transition-base: all .55s cubic-bezier(.19,1,.22,1);
  /* Tipografía unificada: Figtree */
  --font-serif: 'Figtree', sans-serif;
  --font-sans: 'Figtree', system-ui, -apple-system, sans-serif;
}
/* Override Bootstrap primary to remove default azul */
:root {
  --bs-primary: var(--accent);
  --bs-primary-rgb: var(--accent-rgb);
  --bs-link-color: var(--accent);
  --bs-link-hover-color: #b79055;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--font-sans);
  background: var(--surface-base);
  color: #2b2b2b;
  letter-spacing: .15px;
}

h1,h2,h3,h4,h5,h6 { font-family: var(--font-sans); letter-spacing: .5px; font-weight:600; }
p { line-height: 1.6; }

/* Navbar */
#mainNav { backdrop-filter:none; background:#1c1a18!important; box-shadow:none; transition:var(--transition-base); border-bottom:none; }
#mainNav.colored { background:#1c1a18!important; }
#mainNav.scrolled { background:#2a2623!important; box-shadow:none; }
#mainNav .logo-mjb { font-weight:600; font-size:1.05rem; letter-spacing:.6rem; position:relative; color:#fff!important; text-decoration:none; display:inline-block; padding:4px 4px 10px 4px; margin-right:1.75rem; }
#mainNav .logo-mjb::after { content:""; position:absolute; left:6px; right:6px; bottom:0; height:3px; background:var(--accent); border-radius:2px; }
#mainNav .nav-link { color:rgba(255,255,255,.78)!important; transition:var(--transition-base); }
#mainNav .nav-link:hover { color:#fff!important; }
/* Eliminado subrayado animado bajo los enlaces del menú */
#mainNav .nav-link::after { display:none!important; }

/* Hero (simplificado oscuro) */
.hero-section { background:#1c1a18; color:#ffffff; padding-top:130px; padding-bottom:70px; position:relative; }
.hero-section::after { display:none; }
.section-white { background:#ffffff; }
.hero-section h1, .hero-section h2, .hero-section p.lead { text-shadow:0 2px 6px rgba(0,0,0,.4); }
.hero-section p.lead { max-width:640px; }
.hero-section .hero-title { line-height:1.08; }
/* Variante específica hero-simple */
.hero-simple .hero-title { font-size: clamp(2.2rem, 4vw, 3.1rem); }
.hero-simple .hero-figure { aspect-ratio:4/5; background:#292522; overflow:hidden; border-radius:1rem; box-shadow:0 1.25rem 2rem -0.75rem rgba(0,0,0,.45); }
.hero-simple .hero-figure img { object-fit:cover; width:100%; height:100%; filter:contrast(1.03) saturate(.9); }
.hero-title { letter-spacing:.5px; }
.accent-bar { width:90px; height:3px; background:var(--accent); border-radius:2px; box-shadow:0 0 0 1px rgba(var(--accent-rgb), .15); }
.hero-tags { display:flex; flex-wrap:wrap; gap:.65rem; }
.tag-badge { --tag-bg: rgba(255,255,255,.14); --tag-border: rgba(255,255,255,.28); font-size:.75rem; letter-spacing:.8px; text-transform:uppercase; font-weight:600; padding:.5rem .85rem; border:1px solid var(--tag-border); background:var(--tag-bg); backdrop-filter: blur(6px); border-radius: 2rem; color:#fff; position:relative; overflow:hidden; line-height:1; transition:var(--transition-base); }
.tag-badge::after { content:""; position:absolute; inset:0; background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,0)); opacity:.55; mix-blend-mode:overlay; }
.tag-badge:hover { transform:translateY(-4px); box-shadow:0 6px 18px -8px rgba(0,0,0,.45); }
.tag-badge.tag-accent { --tag-bg: rgba(var(--accent-rgb), .25); --tag-border: rgba(var(--accent-rgb), .55); color:#fff; }

/* Scroll cue eliminado en nueva versión */
.scroll-cue { display:none!important; }

/* (Shape divider removido) */

/* Floating buttons */
.floating-call { position:fixed; bottom:24px; right:24px; width:56px; height:56px; background:var(--accent); color:#1f1c1a; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.25rem; box-shadow:0 12px 28px -10px rgba(var(--accent-rgb), .55), 0 4px 12px -2px rgba(0,0,0,.3); z-index:1090; transition:var(--transition-base); text-decoration:none; }
.floating-call:hover { transform:translateY(-4px) scale(1.03); color:#1f1c1a; box-shadow:0 14px 34px -12px rgba(var(--accent-rgb), .6), 0 6px 16px -3px rgba(0,0,0,.35); }
.floating-whatsapp { position:fixed; bottom:24px; right:94px; width:56px; height:56px; background:#25D366; color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.25rem; box-shadow:0 12px 28px -10px rgba(37,211,102,.4), 0 4px 12px -2px rgba(0,0,0,.3); z-index:1090; transition:var(--transition-base); text-decoration:none; }
.floating-whatsapp:hover { transform:translateY(-4px) scale(1.03); color:#fff; box-shadow:0 14px 34px -12px rgba(37,211,102,.5), 0 6px 16px -3px rgba(0,0,0,.35); }
@media (max-width:600px) { .floating-whatsapp { bottom:94px; right:24px; } }

.hero-section .hero-card { background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15); }
.glass { backdrop-filter: blur(14px); }
.lift { transition: var(--transition-base); }
.lift:hover { transform:translateY(-4px); box-shadow:0 1.25rem 2rem -0.5rem rgba(0,0,0,.35); }

/* Microinteracciones mejoradas */
.service-card { transition: var(--transition-base); }
.service-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px -12px rgba(0,0,0,.15); }
.service-card .icon-wrap { transition: var(--transition-base); }
.service-card:hover .icon-wrap { transform: scale(1.1); }

.value-card { transition: var(--transition-base); }
.value-card:hover { transform: translateY(-6px); }

.inheritance-step { transition: var(--transition-base); cursor: pointer; }
.inheritance-step:hover { transform: translateY(-4px); box-shadow: 0 12px 24px -8px rgba(var(--accent-rgb),.25); }

.tag-badge { transition: var(--transition-base); cursor: pointer; }
.tag-badge:hover { transform: translateY(-2px) scale(1.05); box-shadow: 0 8px 16px -6px rgba(var(--accent-rgb),.4); }

.quick-contact-card { transition: var(--transition-base); }
.quick-contact-card:hover { transform: translateY(-3px); box-shadow: 0 8px 16px -6px rgba(0,0,0,.1); }

/* Animación de pulso para botones de acción */
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.7); } 70% { box-shadow: 0 0 0 10px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }
.floating-whatsapp { animation: pulse 2s infinite; }

/* Hover mejorado para acordeón */
.accordion-button:not(.collapsed) { background-color: rgba(var(--accent-rgb),.08); border-color: rgba(var(--accent-rgb),.2); }
.accordion-item { transition: var(--transition-base); }
.accordion-item:hover { transform: translateY(-2px); }

.section-padding { padding: 6rem 0; }
.strip-dark.pb-5 { padding-bottom:3.5rem!important; }
.site-footer { margin-top:0!important; }
.section-title { font-size: clamp(1.9rem, 2.4vw + 1rem, 3rem); font-weight:700; margin-bottom:1rem; }
.section-subtitle { font-size: 1.05rem; color:#5d564e; }
/* Secciones */
.section-alt { background: var(--surface-alt); }
.section-alt-soft { background: linear-gradient(180deg, var(--surface-alt) 0%, var(--surface-base) 100%); }
.section-accent-soft { background: linear-gradient(135deg, var(--surface-base) 0%, var(--surface-alt) 100%); }
/* Compatibilidad antigua */
.bg-gradient-light { background: var(--surface-alt); }

/* Cards */
.service-card { background: var(--surface-contrast); border:1px solid var(--border-soft); transition:var(--transition-base); position:relative; overflow:hidden; }
.service-card::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg, rgba(var(--primary-rgb),0.05), rgba(255,255,255,0)); opacity:0; transition:var(--transition-base); }
.service-card:hover { transform:translateY(-6px); box-shadow:0 1.25rem 2rem -0.75rem rgba(0,0,0,.18); }
.service-card:hover::before { opacity:1; }
.icon-wrap { width:56px; height:56px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; border-radius:14px; box-shadow:0 8px 18px -6px rgba(var(--accent-rgb), .45); background: var(--primary); color: var(--accent); }

/* Features */
.feature { border:1px solid var(--border-soft); transition:var(--transition-base); background: var(--surface-contrast); }
.feature:hover { transform:translateY(-5px); box-shadow:0 .75rem 1.5rem -.5rem rgba(0,0,0,.15); }

/* Perfil Profesional - Ribbon simple */
.profile-ribbon { position:relative; background:linear-gradient(110deg,#ffffff 0%, #f3ede4 100%); border:1px solid var(--border-soft); border-radius:30px; overflow:hidden; box-shadow:0 22px 42px -20px rgba(0,0,0,.16), 0 6px 18px -8px rgba(0,0,0,.08); }
.profile-ribbon::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 8% 18%, rgba(var(--accent-rgb), .18), transparent 60%), radial-gradient(circle at 92% 82%, rgba(var(--accent-rgb), .12), transparent 65%); opacity:.55; pointer-events:none; }
.profile-ribbon .ribbon-inner { position:relative; padding:2.6rem 2.4rem 2.5rem; }
.profile-ribbon h3 { font-size:1.05rem; text-transform:uppercase; letter-spacing:.55px; font-weight:700; margin:0 0 1.3rem; position:relative; color:var(--primary); }
.profile-ribbon h3::after { content:""; position:absolute; left:0; bottom:-10px; height:3px; width:80px; background:var(--accent); border-radius:2px; box-shadow:0 0 0 1px rgba(var(--accent-rgb), .18); }
.profile-ribbon p { font-size:.9rem; line-height:1.55; }
.ribbon-tags { display:flex; flex-wrap:wrap; gap:.6rem .75rem; }
.ribbon-tags li { background:#fff; border:1px solid var(--border-soft); font-size:.6rem; letter-spacing:.8px; font-weight:600; text-transform:uppercase; padding:.55rem .9rem .5rem; border-radius:2rem; display:inline-flex; align-items:center; gap:.4rem; color:#493f36; position:relative; overflow:hidden; }
.ribbon-tags li i { color:var(--accent); font-size:1rem; }
.ribbon-tags li::after { content:""; position:absolute; inset:0; background:linear-gradient(140deg, rgba(var(--accent-rgb), .15), rgba(var(--accent-rgb), 0)); opacity:0; transition:var(--transition-base); }
.ribbon-tags li:hover { transform:translateY(-4px); box-shadow:0 10px 22px -10px rgba(0,0,0,.18); }
.ribbon-tags li:hover::after { opacity:1; }
.signature-alt { font-weight:600; font-size:.7rem; letter-spacing:1.2px; color:#6a6157; display:inline-block; position:relative; padding-left:14px; }
.signature-alt::before { content:""; position:absolute; left:0; top:50%; width:6px; height:6px; background:var(--accent); border-radius:50%; transform:translateY(-50%); box-shadow:0 0 0 4px rgba(var(--accent-rgb), .25); }
@media (max-width: 575px){
  .profile-ribbon .ribbon-inner { padding:2.2rem 1.6rem 2.2rem; }
}

/* Valores / Enfoque cards */
.value-card { background: var(--surface-contrast); border:1px solid var(--border-soft); border-radius:20px; padding:1.75rem 1.55rem 1.6rem; position:relative; overflow:hidden; transition:var(--transition-base); height:100%; }
.value-card::before { content:""; position:absolute; inset:0; background:linear-gradient(140deg, rgba(var(--accent-rgb), .18), rgba(var(--accent-rgb), 0) 60%); opacity:0; transition:var(--transition-base); }
.value-card:hover { transform:translateY(-6px); box-shadow:0 1.25rem 2rem -1rem rgba(0,0,0,.18); }
.value-card:hover::before { opacity:1; }
.value-icon { width:52px; height:52px; border-radius:14px; background:var(--primary); color:var(--accent); display:flex; align-items:center; justify-content:center; font-size:1.4rem; box-shadow:0 10px 20px -10px rgba(var(--accent-rgb), .55); margin-bottom:1rem; }
.value-card h3 { font-size:1rem; font-weight:600; letter-spacing:.5px; }
.value-card p { font-size:.8rem; line-height:1.5; margin:0; }

/* Stats */
.stats .stat { min-width:90px; }
.stat-number { display:block; font-size:2.2rem; font-weight:700; font-family:var(--font-sans); line-height:1; color:var(--accent); }
.stat-label { display:block; text-transform:uppercase; font-size:.65rem; letter-spacing:1.2px; margin-top:.35rem; font-weight:600; color:#555; }

/* Contact */
.contact-info { border:1px solid var(--border-soft); background: var(--surface-contrast); }
.contact-form .form-control { border-radius: .75rem; }
.contact-form .form-control:focus { border-color: var(--primary); box-shadow:0 0 0 .25rem rgba(var(--primary-rgb), .15); }

/* Footer */
.footer-link { color:#b5aa9a; text-decoration:none; position:relative; }
.footer-link:hover { color:#fff; }
.footer-link::after { content:""; position:absolute; left:0; bottom:-2px; height:1px; width:0; background:#fff; transition:var(--transition-base); }
.footer-link:hover::after { width:100%; }

/* Animations */
[data-animate] { opacity:0; transform:translateY(25px); transition: var(--transition-base); }
[data-animate].animated { opacity:1; transform:translateY(0); }
[data-animate="zoom-in"] { transform:scale(.9); }
[data-animate="zoom-in"].animated { transform:scale(1); }

/* Delays */
[data-delay="100"] { transition-delay:.1s; }
[data-delay="200"] { transition-delay:.2s; }
[data-delay="300"] { transition-delay:.3s; }
[data-delay="400"] { transition-delay:.4s; }
[data-delay="500"] { transition-delay:.5s; }

/* Responsive tweaks */
@media (max-width: 991px) {
  .hero-section { padding-top: 100px; }
  .section-padding { padding:4.5rem 0; }
}
@media (max-width: 575px) {
  .hero-section { text-align:center; }
  .hero-section .hero-card { display:none; }
}

/* Accent utility */
.text-accent { color: var(--accent)!important; }

/* Map */
.map-wrapper { position:relative; width:100%; height:380px; border:1px solid #d8d1c6; background:#fff; }
.map-wrapper iframe { width:100%; height:100%; display:block; filter:none; }
.btn-primary { --bs-btn-bg: var(--accent); --bs-btn-border-color: var(--accent); --bs-btn-hover-bg: #b89458; --bs-btn-hover-border-color: #b89458; --bs-btn-active-bg: #ac8749; --bs-btn-active-border-color: #ac8749; color:#1f1c1a; font-weight:600; }
.btn-primary:hover { color:#1f1c1a; }

/* Portrait / About */
.portrait-photo { object-position: center top; }
.about-box { border:1px solid var(--border-soft); background: var(--surface-contrast); }
.about-box p { line-height:1.55; }
.map-wrapper::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow:inset 0 0 0 1px rgba(255,255,255,.4), 0 10px 25px -10px rgba(0,0,0,.35); }

/* Páginas legales */
.legal-page .legal-content { margin-bottom: 4rem; }

/* Cookie Consent (versión compacta) */
.cookie-consent { position:fixed; z-index:2000; left:20px; bottom:20px; max-width:360px; background:#fff; border:1px solid var(--border-soft); border-radius:14px; box-shadow:0 12px 36px -10px rgba(0,0,0,.22), 0 3px 12px -4px rgba(0,0,0,.14); padding:0; overflow:hidden; font-size:.85rem; animation:cc-fade .45s ease; }
@media (max-width:600px){ .cookie-consent { left:14px; right:14px; bottom:14px; max-width:none; } }
.cc-inner { padding:1.6rem 1.5rem 1.4rem; position:relative; }
.cc-logo { font-family: var(--font-sans); font-size:1.35rem; letter-spacing:.15rem; text-align:center; margin:0 0 1rem; color:var(--primary); position:relative; font-weight:600; }
.cc-logo::after { content:""; display:block; width:60px; height:2px; background:var(--accent); margin:.55rem auto 0; opacity:.55; }
.cc-text { line-height:1.5; margin:0 0 1rem; font-size:.85rem; }
.cc-links { margin:0 0 1.1rem; font-size:.75rem; text-align:center; }
.cc-link { color:var(--accent); text-decoration:none; transition:var(--transition-base); }
.cc-link:hover { color:#b89458; text-decoration:underline; }
.cc-actions { display:flex; flex-wrap:wrap; gap:.65rem; justify-content:space-between; }
.cc-cookie-category { margin-bottom:.8rem; padding:.6rem; background:rgba(var(--accent-rgb), .05); border-radius:8px; border:1px solid rgba(var(--accent-rgb), .15); }
.cc-cookie-category:last-child { margin-bottom:0; }
.cc-cookie-category .cc-switch { margin-bottom:0; }
.cc-cookie-category .cc-desc { color:#666; font-size:.65rem; margin-top:.2rem; display:block; }
.cc-btn { flex:1 1 auto; border-radius:40px; padding:.7rem .95rem; font-size:.7rem; font-weight:600; letter-spacing:.5px; text-transform:none; cursor:pointer; border:1px solid transparent; background:transparent; transition:var(--transition-base); }
.cc-btn.outline { border-color:#28302b; color:#28302b; background:#fff; }
.cc-btn.outline:hover { background:rgba(var(--accent-rgb), .12); }
.cc-btn.filled { background:var(--accent); color:#1d1b19; border-color:var(--accent); box-shadow:0 4px 14px -6px rgba(var(--accent-rgb), .55); }
.cc-btn.filled:hover { background:#b89458; }
.cc-preferences { margin-top:1rem; border-top:1px solid var(--border-soft); padding-top:.9rem; animation:cc-slide .35s ease; }
.cc-switch { display:flex; align-items:center; gap:.55rem; font-size:.7rem; font-weight:600; margin-bottom:.45rem; }
.cc-switch input { accent-color: var(--accent); width:16px; height:16px; }
.cc-switch small { font-weight:400; opacity:.75; }
.cc-pref-actions { display:flex; gap:.6rem; margin-top:.55rem; }
.cookie-consent[hidden] { display:none!important; }
@keyframes cc-fade { from { opacity:0; transform:translateY(14px);} to { opacity:1; transform:translateY(0);} }
@keyframes cc-slide { from { opacity:0; height:0; } to { opacity:1; height:auto; } }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; border:0!important; }

/* Contact page design enhancements */
.contact-hero { position:relative; background:#1c1a18; color:#fff; padding:130px 0 70px; overflow:hidden; }
.contact-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 18% 30%, rgba(var(--accent-rgb),.12), transparent 55%), radial-gradient(circle at 82% 68%, rgba(var(--accent-rgb),.12), transparent 60%); opacity:.65; pointer-events:none; }
.contact-hero .tagline { text-transform:uppercase; letter-spacing:2px; font-size:.7rem; font-weight:600; color:rgba(255,255,255,.55); margin-bottom:1.2rem; }
.quick-contacts { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.quick-contact-card { background:#262320; border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:1rem 1.15rem; flex:1 1 160px; min-width:150px; position:relative; color:#f4f3f1; box-shadow:0 8px 22px -12px rgba(0,0,0,.55); transition:var(--transition-base); }
.quick-contact-card i { color:var(--accent); font-size:1.15rem; margin-right:.45rem; }
.quick-contact-card span { font-size:.65rem; letter-spacing:.5px; font-weight:600; text-transform:uppercase; display:block; opacity:.65; }
.quick-contact-card strong { display:block; font-size:.9rem; font-weight:600; margin-top:.15rem; }
.quick-contact-card:hover { transform:translateY(-4px); border-color:rgba(var(--accent-rgb), .5); box-shadow:0 14px 34px -16px rgba(0,0,0,.65); }
.contact-layout .contact-form-wrapper { background:#ffffff; border:1px solid var(--border-soft); border-radius:18px; padding:2.2rem 2rem; box-shadow:0 12px 32px -16px rgba(0,0,0,.18); height:100%; display:flex; flex-direction:column; }
.contact-layout .info-wrapper { background:var(--surface-contrast); border:1px solid var(--border-soft); border-radius:18px; padding:2rem 2rem; box-shadow:0 12px 32px -16px rgba(0,0,0,.15); }
/* New contact aside layout */
.slim-form { padding:2rem 2rem 2.2rem; }
/* Old aside grid removed; new compact info + map overlay */
.mini-info-card { background:#ffffff; border:1px solid var(--border-soft); border-radius:22px; padding:1.15rem 1.3rem 1.05rem; position:relative; box-shadow:0 12px 28px -18px rgba(0,0,0,.18); }
.mini-item { font-size:.65rem; letter-spacing:.5px; text-transform:uppercase; font-weight:600; color:#5d564e; display:flex; flex-direction:column; gap:.15rem; background:#fff; border:1px solid var(--border-soft); border-radius:14px; padding:.65rem .7rem .6rem; box-shadow:0 6px 16px -10px rgba(0,0,0,.15); }
.mini-item i { font-size:1.05rem; color:var(--accent); }
.mini-item .label { opacity:.55; font-size:.65rem; margin:0; }
.mini-item .value { font-size:.75rem; line-height:1.2; font-weight:600; text-transform:none; letter-spacing:.4px; }
.map-box { background:#fff; border:1px solid var(--border-soft); }
.contact-right .map-box { min-height:340px; }
.contact-right { height:100%; display:flex; flex-direction:column; }
.contact-form-wrapper.slim-form { height:100%; display:flex; flex-direction:column; }
.contact-form-wrapper.slim-form form { flex:1 0 auto; }
.contact-right .map-box { height:340px; display:block; flex:0 0 auto; }
.contact-right .map-box .map-wrapper { height:100%; }
.contact-right .mini-info-card { flex:0 0 auto; }
.map-box iframe { display:block; }

@media (max-width: 991px){
  .contact-form-wrapper.slim-form, .contact-right { height:auto; }
  .contact-right .map-box { min-height:320px; }
}

/* Equal height enforcement */
/* (Removed floating map info & equal height helpers) */
/* Removed previous 3-column contact grid styles (clean-up) */
@media (max-width: 991px){ .contact-hero { padding:120px 0 60px; } }

/* Remove gradient & reduce spacing when .no-gradient applied */
.contact-hero.no-gradient::before { display:none; }
.contact-hero.no-gradient { background:#1c1a18; padding:110px 0 56px; }
@media (max-width: 991px){ .contact-hero.no-gradient { padding:100px 0 50px; } }

/* Remove extra top gap in contact page by eliminating manual mt/pt classes */
body .contact-layout > .contact-hero { margin-top:0; }

/* Contact section transition removal (no light gap) */
.contact-section-main { position:relative; margin-top:0; }
.contact-section-main::before { display:none; }

/* Inheritance dark strip variation */
.strip-dark { background:#22201d; color:#f5f3ef; position:relative; overflow:hidden; }
.strip-dark::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 15%, rgba(var(--accent-rgb), .18), transparent 60%), radial-gradient(circle at 12% 88%, rgba(var(--accent-rgb), .15), transparent 65%); opacity:.35; pointer-events:none; }
.strip-dark .section-title { color:#ffffff; }
.strip-dark p { color:#d7d2cb; }
.inheritance-steps { display:grid; gap:1.4rem; margin-top:1.5rem; }
@media (min-width: 768px){ .inheritance-steps { grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); } }
.inheritance-step { position:relative; padding:1.4rem 1.3rem 1.2rem 3.2rem; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); border-radius:18px; backdrop-filter: blur(4px); transition:var(--transition-base); min-height:140px; }
.inheritance-step .step-index { position:absolute; left:1rem; top:1.05rem; width:2.45rem; height:2.45rem; border-radius:50%; background:linear-gradient(145deg,var(--accent), #b89458); color:#1f1c1a; font-weight:600; display:flex; align-items:center; justify-content:center; font-size:.9rem; letter-spacing:.5px; box-shadow:0 8px 20px -8px rgba(var(--accent-rgb), .6), 0 0 0 1px rgba(0,0,0,.08); }
.inheritance-step h3 { font-size:.8rem; letter-spacing:1px; text-transform:uppercase; font-weight:600; margin:0 0 .55rem; color:#fff; }
.inheritance-step p { font-size:.75rem; line-height:1.4; margin:0; color:#d3cec7; }
.inheritance-step:hover { transform:translateY(-6px); border-color:rgba(var(--accent-rgb), .55); box-shadow:0 18px 36px -18px rgba(0,0,0,.55); }

/* Consistent spacing adjustment when number size increased */
.inheritance-step { padding-left:3.9rem; }

/* Footer unified color */
.site-footer { background:#1c1a18; color:#d7d2cb; }
.site-footer h5,.site-footer h6 { color:#ffffff; }
.site-footer .footer-link { color:#b5aa9a; }
.site-footer .footer-link:hover { color:#ffffff; }
