/* ═══════════════════════════════════════════════
   AGUIRRE ABOGADOS — Global Stylesheet
   Diseño: Luxury Editorial · Dark & Gold
   ═══════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600&family=Jost:wght@200;300;400;500;600&display=swap');

/* ── VARIABLES ── */
:root {
  --r:       #B01C1C;
  --rd:      #8b0000;
  --rg:      rgba(176,28,28,.1);
  --gold:    #c9a84c;
  --gold-lt: rgba(201,168,76,.15);
  --n:       #080404;
  --c:       #100606;
  --g:       #1c0c0c;
  --g2:      #261414;
  --f:       #faf8f5;
  --fm:      #f3ede4;
  --h:       #e2d8cc;
  --t:       #201010;
  --tm:      #6b4a3a;
  --tl:      #a08870;
  --w:       #ffffff;
  --dp:      'Cormorant Garamond', Georgia, serif;
  --sn:      'Jost', system-ui, sans-serif;
  --ease:    cubic-bezier(.16,1,.3,1);
  --ease2:   cubic-bezier(.4,0,.2,1);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--sn);color:var(--t);background:var(--f);overflow-x:hidden;-webkit-font-smoothing:antialiased}



/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--n)}
::-webkit-scrollbar-thumb{background:var(--r);border-radius:2px}

/* ── SELECTION ── */
::selection{background:var(--r);color:#fff}

/* ── NAVIGATION ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:0 64px;height:72px;display:flex;align-items:center;justify-content:space-between;transition:background .4s,box-shadow .4s}
.nav.scrolled{background:rgba(8,4,4,.95);backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(176,28,28,.3)}
.nav-logo img{height:40px;width:auto;transition:opacity .2s}
.nav-logo:hover img{opacity:.85}
.nav-links{display:flex;align-items:center;gap:40px;list-style:none}
.nav-links a{font-family:var(--sn);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);text-decoration:none;position:relative;transition:color .2s;padding-bottom:4px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--r);transition:width .3s var(--ease)}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-links a.active{color:#fff}
.nav-tel{font-family:var(--sn);font-size:13px;font-weight:700;letter-spacing:.08em;color:#fff;text-decoration:none;border:1px solid var(--r);padding:9px 20px;background:var(--r);transition:background .2s,border-color .2s}
.nav-tel:hover{background:var(--rd);border-color:var(--rd)}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.nav-burger span{display:block;width:24px;height:1px;background:#fff;transition:transform .3s,opacity .3s}

/* ── MOBILE NAV ── */
.nav-mobile{position:fixed;inset:0;background:var(--n);z-index:490;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
.nav-mobile.open{opacity:1;pointer-events:all}
.nav-mobile a{font-family:var(--dp);font-size:clamp(28px,5vw,48px);font-weight:300;color:rgba(255,255,255,.6);text-decoration:none;letter-spacing:.04em;transition:color .2s}
.nav-mobile a:hover{color:#fff}
.nav-mobile-tel{font-family:var(--sn);font-size:16px;color:var(--r);text-decoration:none;margin-top:16px;letter-spacing:.1em}

/* ── REVEAL ANIMATIONS ── */
.rv{opacity:0;transform:translateY(36px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.vis{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-36px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv-l.vis{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(36px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv-r.vis{opacity:1;transform:none}
.rv-s{opacity:0;transform:scale(.96);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv-s.vis{opacity:1;transform:none}

/* ── TYPOGRAPHY ── */
.ey{font-family:var(--sn);font-size:11px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--r);margin-bottom:14px;display:block}
.ey-gold{color:var(--gold)}
.h1{font-family:var(--dp);font-size:clamp(42px,5.5vw,80px);font-weight:300;line-height:1.04;letter-spacing:-.01em}
.h2{font-family:var(--dp);font-size:clamp(30px,3.8vw,52px);font-weight:600;line-height:1.1}
.h3{font-family:var(--dp);font-size:clamp(22px,2.5vw,32px);font-weight:600;line-height:1.2}
.rule{width:44px;height:2px;background:var(--r);margin:20px 0 28px}
.rule-gold{background:var(--gold)}
.rule-center{margin-left:auto;margin-right:auto}
.lead{font-size:18px;font-weight:300;line-height:1.8;color:var(--tm)}
.body-text{font-size:16px;font-weight:300;line-height:1.8;color:var(--tm)}

/* ── BUTTONS ── */
.btn-r{display:inline-flex;align-items:center;gap:10px;background:var(--r);color:#fff;font-family:var(--sn);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:16px 32px;text-decoration:none;transition:background .25s,transform .2s;border:none;cursor:pointer}
.btn-r:hover{background:var(--rd);transform:translateY(-2px)}
.btn-r svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .25s}
.btn-r:hover svg{transform:translateX(4px)}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--t);font-family:var(--sn);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:15px 30px;text-decoration:none;border:1px solid var(--h);transition:border-color .25s,color .25s}
.btn-ghost:hover{border-color:var(--r);color:var(--r)}
.btn-ghost.lgt{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.2)}
.btn-ghost.lgt:hover{border-color:var(--r);color:#fff}

/* ── SECTIONS ── */
.sec{position:relative}
.con{max-width:1200px;margin:0 auto;padding:0 64px}
.sp{padding:112px 0}
.sp-sm{padding:72px 0}

/* ── DIVIDER ── */
.deco-line{display:flex;align-items:center;gap:24px;margin:48px 0}
.deco-line::before,.deco-line::after{content:'';flex:1;height:1px;background:var(--h)}
.deco-line span{font-family:var(--dp);font-size:20px;color:var(--r);font-style:italic}

/* ── FOOTER ── */
footer{background:var(--n);padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:64px;padding-bottom:64px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-brand img{height:36px;margin-bottom:20px}
.footer-brand p{font-size:14px;font-weight:300;color:rgba(255,255,255,.4);line-height:1.7;max-width:280px}
.footer-col h4{font-family:var(--sn);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--r);margin-bottom:20px}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:10px}
.footer-col ul li a{font-size:14px;font-weight:300;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s;display:flex;align-items:center;gap:8px}
.footer-col ul li a:hover{color:#fff}
.footer-col ul li a::before{content:'';width:16px;height:1px;background:var(--r);flex-shrink:0}
.footer-contact p{font-size:14px;font-weight:300;color:rgba(255,255,255,.45);line-height:1.9;margin-bottom:4px}
.footer-contact a{color:var(--r);text-decoration:none}
.footer-bottom{padding-top:32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.footer-copy{font-size:12px;color:rgba(255,255,255,.25);font-weight:300}
.footer-legal{display:flex;gap:24px}
.footer-legal a{font-size:12px;color:rgba(255,255,255,.25);text-decoration:none;transition:color .2s}
.footer-legal a:hover{color:rgba(255,255,255,.6)}

/* ── PROGRESS BAR ── */
.progress{position:fixed;top:0;left:0;height:2px;background:var(--r);z-index:600;transition:width .1s linear;width:0}

/* ── PAGE TRANSITION ── */
.page-transition{position:fixed;inset:0;background:var(--n);z-index:800;transform:translateY(100%);transition:transform .6s var(--ease)}
.page-transition.out{transform:translateY(0)}
.page-transition.in{transform:translateY(-100%)}

/* ── NOISE OVERLAY ── */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.025;pointer-events:none;z-index:999}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .con{padding:0 40px}
  .nav{padding:0 40px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:48px}
  .sp{padding:80px 0}
}
@media(max-width:768px){
  .nav-links,.nav-tel{display:none}
  .nav-burger{display:flex}
  .con{padding:0 24px}
  .nav{padding:0 24px;height:64px}
  .sp{padding:64px 0}
  .sp-sm{padding:48px 0}
  .footer-grid{grid-template-columns:1fr;gap:40px}
  footer{padding:64px 0 32px}
}
