/* Alarcón Ramirez Abogados — V3 (paleta del cliente) */
body{margin:0;background:#F7F3EC}
a{color:#7A5E38}a:hover{color:#2E2E2D}
.hero-img-m{display:none}
.btn-more{transition:background-color .25s ease, color .25s ease}
.btn-more:hover{background-color:#7A5E38 !important;color:#EDE5D8 !important}
.btn-bronce{transition:background-color .25s ease, border-color .25s ease}
.btn-bronce:hover{background-color:#2E2E2D !important;border-color:#2E2E2D !important;color:#EDE5D8 !important}
@media (max-width: 600px){.brand-name{font-size:clamp(15px,5vw,21px) !important}}
.card-hover{transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease, background-color .35s ease}
.card-hover:hover{transform:translateY(-8px);border-color:#A8875A !important;background-color:#FBF9F5 !important;box-shadow:0 18px 40px rgba(70,50,20,.16), 0 0 0 1px rgba(168,135,90,.25), 0 0 28px rgba(168,135,90,.12)}
.card-icon{transition:transform .45s ease, box-shadow .45s ease}
.card-hover:hover .card-icon{transform:rotate(-12deg) scale(1.08);box-shadow:0 0 22px rgba(168,135,90,.35)}
.card-icon-ring{transition:transform .45s ease, background-color .45s ease, box-shadow .45s ease}
.card-hover:hover .card-icon-ring{transform:rotate(-12deg) scale(1.08);box-shadow:0 0 20px rgba(168,135,90,.3)}
@media (prefers-reduced-motion: reduce){.card-hover,.card-icon,.card-icon-ring{transition:none}.card-hover:hover .card-icon-ring{transform:none}.card-hover:hover{transform:none}.card-hover:hover .card-icon{transform:none}}
@media (max-width: 1800px){.hero-img-d{left:50%}.hero-img-d-pic{width:100% !important;object-fit:cover;object-position:right center}}
@media (max-width: 820px){.hero-img-d{display:none !important}.hero-img-m{display:block !important}}
.ft-grid{display:grid;grid-template-columns:1.35fr 1fr 1.25fr;gap:56px}
.ft-h{margin:0 0 8px;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:#A8875A;display:flex;flex-direction:column;gap:12px}
.ft-h::after{content:"";width:28px;height:0;border-top:1px solid #A8875A}
.ft-link{color:#F7F3EC;text-decoration:none;transition:color .2s ease}
.ft-muted{color:#D9CCB8}
.ft-center{justify-self:center}
@media (max-width: 900px){.ft-center{justify-self:start}}
.ft-link:hover{color:#A8875A}
.ft-bottom{max-width:1240px;margin:0 auto;padding:22px 24px 30px 110px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13.5px}
@media (max-width: 900px){.ft-grid{grid-template-columns:1fr;gap:44px}.ft-bottom{padding:22px 24px 100px;justify-content:center;text-align:center}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
@media (max-width: 600px){.area-desc{white-space:normal !important;font-size:12px !important;line-height:1.35}.top-sep{display:none}}
:focus-visible{outline:2px solid #7A5E38;outline-offset:3px}
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:#2E2E2D;color:#EDE5D8;padding:10px 16px;border-radius:4px;font-weight:600;text-decoration:none}
.skip-link:focus{top:16px;color:#EDE5D8}
.ft-link:focus-visible,#contacto a:focus-visible{outline-color:#A8875A}

/* ---------- Aparición al bajar (IntersectionObserver en js/main.js) ---------- */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.is-visible{opacity:1;transform:none}

/* ---------- Especialidades: panel "Ver más" ---------- */
.svc-panel{transform:translateY(101%);visibility:hidden;transition:transform .45s ease,visibility 0s linear .45s}
.svc.is-open .svc-panel{transform:translateY(0);visibility:visible;transition:transform .45s ease,visibility 0s}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}.svc-panel{transition:none !important}}
