/* P&AT Legal — Servicios shared stylesheet */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
    --cream: #F2EFE8; --cream-2: #E9E5DC;
    --black: #111111; --dark: #1A1A1A;
    --gray-dark: #3A3632; --gray-mid: #7A756E;
    --gray-light: #C0BAB2; --accent: #8A7A62;
}
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; background: var(--cream); color: var(--black); font-size: 16px; line-height: 1.6; overflow-x: hidden; }

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 200; padding: 28px 52px; display: flex; align-items: center; justify-content: space-between; transition: background .35s, padding .35s, box-shadow .35s; }
nav.scrolled { background: var(--cream); padding: 16px 52px; box-shadow: 0 1px 0 var(--gray-light); }
.nav-logo img { height: 36px; width: auto; display: block; }
.nav-right { display: flex; align-items: center; gap: 40px; }
.nav-links { display: flex; align-items: center; gap: 36px; list-style: none; }
.nav-links a { text-decoration: none; color: var(--black); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 400; transition: color .2s; }
.nav-links a:hover { color: var(--accent); }
.nav-cta { background: var(--black); color: var(--cream); padding: 11px 26px; text-decoration: none; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 400; transition: background .2s; white-space: nowrap; }
.nav-cta:hover { background: var(--gray-dark); }
.hamburger { display: none; flex-direction: column; justify-content: center; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.hamburger span { display: block; width: 22px; height: 1px; background: var(--black); }
.mobile-menu { display: none; position: fixed; inset: 0; z-index: 150; background: var(--cream); flex-direction: column; align-items: center; justify-content: center; gap: 36px; }
.mobile-menu.open { display: flex; }
.mobile-menu a { text-decoration: none; color: var(--black); font-family: 'Cormorant Garamond', serif; font-size: 2.25rem; font-weight: 300; transition: color .2s; }
.mobile-menu a:hover { color: var(--accent); }
.close-btn { position: absolute; top: 28px; right: 52px; background: none; border: none; cursor: pointer; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gray-mid); font-family: 'Inter', sans-serif; }

/* WA FLOAT */
.wa-float { position: fixed; bottom: 32px; right: 32px; z-index: 300; width: 56px; height: 56px; background: #25D366; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 24px rgba(0,0,0,.25); transform: translateY(100px); opacity: 0; transition: transform .4s ease, opacity .4s ease, background .2s; text-decoration: none; }
.wa-float.visible { transform: translateY(0); opacity: 1; }
.wa-float:hover { background: #20BA5C; transform: scale(1.08) translateY(0) !important; }
.wa-float svg { width: 28px; height: 28px; fill: #fff; }

/* SERVICE HERO */
.srv-hero { background: var(--dark); color: var(--cream); padding: 160px 52px 96px; }
.inner { max-width: 1200px; margin: 0 auto; }
.back-link { display: inline-flex; align-items: center; gap: 10px; color: var(--gray-mid); text-decoration: none; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 56px; transition: color .2s; }
.back-link:hover { color: var(--accent); }
.area-tag { font-size: .65rem; letter-spacing: .25em; text-transform: uppercase; color: var(--accent); margin-bottom: 20px; }
.srv-hero-h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5rem, 5vw, 5rem); font-weight: 300; line-height: 1.06; letter-spacing: -.02em; margin-bottom: 28px; max-width: 820px; }
.srv-hero-h1 em { font-style: italic; }
.srv-hero-sub { font-size: 1rem; color: var(--gray-mid); line-height: 1.75; font-weight: 300; max-width: 600px; }

/* DETAIL */
.srv-detail { padding: 96px 52px; background: var(--cream); }
.two-col { display: grid; grid-template-columns: 1fr 400px; gap: 80px; }
.detail-h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.875rem; font-weight: 300; line-height: 1.2; letter-spacing: -.01em; margin-bottom: 16px; margin-top: 52px; }
.detail-h2:first-child { margin-top: 0; }
.detail-p { font-size: .9375rem; color: var(--gray-mid); line-height: 1.8; font-weight: 300; }
.includes-box { background: var(--cream-2); padding: 44px 40px; align-self: start; position: sticky; top: 100px; }
.includes-title { font-size: .65rem; letter-spacing: .25em; text-transform: uppercase; color: var(--accent); margin-bottom: 28px; }
.includes-list { list-style: none; display: flex; flex-direction: column; gap: 16px; }
.includes-list li { font-size: .9rem; color: var(--black); font-weight: 300; display: flex; align-items: flex-start; gap: 12px; line-height: 1.55; }
.includes-list li::before { content: '—'; color: var(--accent); flex-shrink: 0; font-size: .75rem; margin-top: 3px; }

/* FOR WHOM */
.for-whom { padding: 80px 52px; background: var(--cream-2); }
.for-whom-h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 300; line-height: 1.2; letter-spacing: -.01em; margin-bottom: 40px; max-width: 600px; }
.for-whom-h2 em { font-style: italic; }
.tags-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.tag { font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; border: 1px solid var(--gray-light); padding: 10px 20px; color: var(--gray-dark); font-weight: 300; }

/* CTA */
.srv-cta-section { padding: 96px 52px; background: var(--dark); }
.srv-cta-section .inner { display: grid; grid-template-columns: 1fr auto; gap: 80px; align-items: center; }
.cta-h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2rem, 3.5vw, 3rem); font-weight: 300; line-height: 1.15; letter-spacing: -.015em; color: var(--cream); margin-bottom: 12px; }
.cta-h2 em { font-style: italic; }
.cta-sub { font-size: .9rem; color: var(--gray-mid); font-weight: 300; }
.cta-btns { display: flex; flex-direction: column; gap: 12px; align-items: flex-end; }
.btn-cta-primary { background: var(--cream); color: var(--black); padding: 14px 36px; text-decoration: none; font-size: .75rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 400; transition: background .2s, color .2s; white-space: nowrap; display: inline-block; }
.btn-cta-primary:hover { background: var(--accent); color: var(--cream); }
.btn-cta-ghost { color: var(--gray-mid); text-decoration: none; font-size: .75rem; letter-spacing: .13em; text-transform: uppercase; font-weight: 400; padding: 10px 0; border-bottom: 1px solid #333; transition: color .2s, border-color .2s; white-space: nowrap; display: inline-block; }
.btn-cta-ghost:hover { color: var(--cream); border-color: var(--cream); }

/* OTHER SERVICES */
.other-srv { padding: 96px 52px; background: var(--cream); }
.other-srv-label { font-size: .65rem; letter-spacing: .25em; text-transform: uppercase; color: var(--gray-mid); margin-bottom: 48px; }
.other-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--gray-light); }
.other-item { background: var(--cream); padding: 36px 28px; text-decoration: none; color: var(--black); transition: background .2s; display: block; }
.other-item:hover { background: var(--cream-2); }
.other-area { font-size: .6rem; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.other-name { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 400; letter-spacing: -.005em; }

/* FOOTER */
footer { background: var(--dark); border-top: 1px solid #1E1B18; padding: 36px 52px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.footer-brand { font-family: 'Cormorant Garamond', serif; font-size: 1.125rem; font-weight: 400; letter-spacing: .04em; color: #3A3530; }
.footer-copy { font-size: .72rem; color: #3A3530; letter-spacing: .04em; }
.footer-nav { display: flex; gap: 28px; list-style: none; }
.footer-nav a { font-size: .7rem; color: #3A3530; text-decoration: none; letter-spacing: .1em; text-transform: uppercase; transition: color .2s; }
.footer-nav a:hover { color: var(--cream); }

/* RESPONSIVE */
@media (max-width: 960px) {
    .nav-right .nav-links, .nav-right .nav-cta { display: none; }
    .hamburger { display: flex; }
    nav { padding: 20px 28px; }
    nav.scrolled { padding: 14px 28px; }
    .srv-hero, .srv-detail, .for-whom, .srv-cta-section, .other-srv { padding-left: 28px; padding-right: 28px; }
    footer { padding: 24px 28px; }
    .two-col { grid-template-columns: 1fr; gap: 48px; }
    .includes-box { position: static; }
    .srv-cta-section .inner { grid-template-columns: 1fr; gap: 40px; }
    .cta-btns { align-items: flex-start; flex-direction: row; }
    .other-grid { grid-template-columns: 1fr 1fr; }
    .wa-float { bottom: 20px; right: 20px; }
}
@media (max-width: 560px) {
    .other-grid { grid-template-columns: 1fr; }
    .footer-nav { display: none; }
    .cta-btns { flex-direction: column; }
}
