/* Quita el highlight gris/azul que iOS Safari y Android Chrome aplican
   por defecto al tap en links/botones. Mantiene el feedback :active y :focus. */
*{-webkit-tap-highlight-color:transparent}

/* Accesibilidad: outline visible y consistente para navegación con teclado.
   Solo en :focus-visible (no en :focus por click) — no rompe la estética
   en interacciones con mouse pero garantiza que el foco se vea con Tab. */
:focus{outline:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:3px;
  border-radius:2px;
}

.skip-nav{position:absolute;top:-100%;left:0;z-index:10000;padding:.5rem 1rem;background:#F28C5A;color:#fff;font-size:.875rem;text-decoration:none;border-radius:0 0 4px 0;transition:top .15s ease}
.skip-nav:focus{top:0;outline:2px solid #fff;outline-offset:2px}

/* === bloque === */


/* ═══════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════ */
:root{
  --paper:#F6F4EF;
  --paper-2:#EFEBE2;
  --paper-3:#E6E1D4;
  --ink:#14130F;
  --ink-2:#23211B;
  --graphite:#3A382F;
  --muted:#7A7465;
  --mist:#B5AE9D;
  --line:rgba(20,19,15,.10);
  --line-strong:rgba(20,19,15,.22);

  --accent:#F28C5A;
  --accent-deep:#D86F3B;
  --accent-soft:#F9C1A1;

  --f-serif:'Cormorant Garamond', 'Times New Roman', serif;
  --f-script:'Caveat', cursive;
  --f-body:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-io: cubic-bezier(0.76, 0, 0.24, 1);
  --container: 1320px;
}

html[data-palette="noche"]{
  --paper:#0B0F16;--paper-2:#121722;--paper-3:#1A2130;
  --ink:#EFEAE0;--ink-2:#D8D3C6;--graphite:#C8C2B4;
  --muted:#8A8474;--mist:#5C5B56;
  --line:rgba(239,234,224,.09);--line-strong:rgba(239,234,224,.20);
}
html[data-palette="carbon"]{
  --paper:#1C1B17;--paper-2:#23221D;--paper-3:#2B2A24;
  --ink:#F2EFE7;--ink-2:#D9D5C9;--graphite:#BCB7A8;
  --muted:#8A8474;--mist:#5F5C54;
  --line:rgba(242,239,231,.08);--line-strong:rgba(242,239,231,.18);
}
html[data-palette="marfil"]{
  --paper:#F6F4EF;--paper-2:#EFEBE2;--paper-3:#E6E1D4;
  --ink:#14130F;--ink-2:#23211B;--graphite:#3A382F;
  --muted:#7A7465;--mist:#B5AE9D;
  --line:rgba(20,19,15,.10);--line-strong:rgba(20,19,15,.22);
}

html[data-accent="coral"]{--accent:#F28C5A;--accent-deep:#D86F3B;--accent-soft:#F9C1A1}
html[data-accent="brass"]{--accent:#C9A35E;--accent-deep:#8F7236;--accent-soft:#E3C488}
html[data-accent="crimson"]{--accent:#B4352E;--accent-deep:#8C2721;--accent-soft:#E09389}
html[data-accent="ink"]{--accent:#6B8BAD;--accent-deep:#3C5577;--accent-soft:#A5BBD3}

/* RESET */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%;font-size:100%}
body{
  font-family:var(--f-body);
  font-size:1rem;line-height:1.6;
  color:var(--ink-2);background:var(--paper);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  transition:background .8s var(--ease), color .8s var(--ease);
}
img,svg,canvas{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--accent);color:#fff}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--paper)}
::-webkit-scrollbar-thumb{background:var(--mist);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:var(--accent)}

/* GRAIN */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.08 0 0 0 0 0.07 0 0 0 0 0.06 0 0 0 0.10 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;opacity:.42;transition:opacity .4s;
}
body.no-grain::before{opacity:0}

/* CURSOR */
.cursor-halo{
  position:fixed;top:0;left:0;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle, rgba(242,140,90,.10) 0%, rgba(242,140,90,.03) 40%, transparent 70%);
  pointer-events:none;z-index:1;transform:translate(-50%,-50%);
  transition:opacity .6s var(--ease);opacity:0;
}
body.cursor-on .cursor-halo{opacity:1}
.cursor-dot{
  position:fixed;top:0;left:0;width:6px;height:6px;border-radius:50%;
  background:var(--accent);pointer-events:none;z-index:10000;
  transform:translate(-50%,-50%);
  transition:width .3s var(--ease), height .3s var(--ease);
}
.cursor-dot.hover{width:32px;height:32px;background:var(--accent);opacity:.3}
@media (hover:none){.cursor-halo,.cursor-dot{display:none}}

/* LOADER */
.loader{
  position:fixed;inset:0;z-index:10001;background:var(--paper);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2rem;
  transition:opacity 1s var(--ease), visibility 1s;
}
.loader.done{opacity:0;visibility:hidden}
.loader-mono{
  display:flex;align-items:center;gap:.7rem;
  opacity:0;animation:fadeIn .9s var(--ease) .2s forwards;
}
.loader-mono .l-M,.loader-mono .l-A{font-family:var(--f-body);font-weight:200;font-size:3rem;letter-spacing:.04em;color:var(--ink);line-height:1}
.loader-mono .l-bar{width:2px;height:2.4rem;background:var(--accent)}
@keyframes fadeIn{to{opacity:1}}
.loader-bar{width:min(180px,32vw);height:1px;background:var(--line-strong);position:relative;overflow:hidden}
.loader-bar::after{
  content:"";position:absolute;inset:0;background:var(--accent);
  transform:translateX(-100%);animation:slide .6s var(--ease) forwards;
}
@keyframes slide{to{transform:translateX(0)}}

/* ═══════════════════════════════════════════
   LOGO — abreviación M|A
═══════════════════════════════════════════ */
.mono{display:inline-flex;align-items:center;gap:.55rem;line-height:1;color:var(--ink)}
.mono .m-M,.mono .m-A{
  font-family:var(--f-body);font-weight:200;letter-spacing:.04em;font-size:1.5em;
}
.mono .m-bar{width:1.5px;height:1.25em;background:var(--accent);flex-shrink:0}
.mono .m-cia{
  font-family:var(--f-script);font-weight:400;font-size:.65em;color:var(--graphite);
  margin-left:-.3em;align-self:flex-end;margin-bottom:.05em;
}

/* NAV — padding lateral respeta el notch en iPhone landscape */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:1.4rem max(2rem, env(safe-area-inset-right)) 1.4rem max(2rem, env(safe-area-inset-left));
  display:flex;align-items:center;justify-content:space-between;
  background:transparent;
  transition:padding .5s var(--ease), background .5s, border-color .5s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  padding:.9rem max(2rem, env(safe-area-inset-right)) .9rem max(2rem, env(safe-area-inset-left));
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom-color:var(--line);
}

.nav-logo{display:flex;align-items:center;font-size:.95rem;pointer-events:none}
/* Por defecto (hero visible): logo del nav oculto — evita competencia con el logo grande del hero */
.nav-logo img{
  height:38px;width:auto;display:block;
  opacity:0;transform:translateY(-6px) translateZ(0);
  -webkit-backface-visibility:hidden;backface-visibility:hidden;
  will-change:opacity, transform;
  transition:opacity .55s var(--ease), transform .55s var(--ease), height .4s var(--ease);
}
/* Cuando el hero ya pasó (nav scrolled): logo aparece con transición suave */
.nav.scrolled .nav-logo{pointer-events:auto}
.nav.scrolled .nav-logo img{opacity:1;transform:none;height:34px}
html[data-palette="noche"] .nav-logo img,html[data-palette="carbon"] .nav-logo img{filter:invert(1) hue-rotate(180deg) saturate(1.05) brightness(1.05)}

.nav-links{display:flex;gap:2rem;align-items:center;list-style:none;margin:0;padding:0}
.nav-links a{
  font-size:.82rem;font-weight:600;color:var(--ink);letter-spacing:.16em;
  position:relative;padding:.5rem 0;transition:color .3s;text-transform:uppercase;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:2px;height:1px;width:0;
  background:var(--accent);transition:width .4s var(--ease);
}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{width:100%}

.nav-cta{
  font-size:.68rem;font-weight:500;padding:.75rem 1.3rem;
  border:1px solid var(--line-strong);color:var(--ink);letter-spacing:.2em;text-transform:uppercase;
  transition:all .4s var(--ease);display:inline-flex;align-items:center;gap:.6rem;
}
.nav-cta:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.nav-cta .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:pulse 2.4s infinite}
.nav-cta:hover .dot{background:#fff}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* Touch target 44x44 (Apple HIG / Material). Las 3 líneas mantienen el
   ancho visual original (~24x14) gracias al gap centrado. */
.nav-burger{
  display:none;width:44px;height:44px;
  flex-direction:column;justify-content:center;align-items:center;gap:5px;
  background:transparent;border:none;cursor:pointer;padding:0;margin:0 -10px;
}
.nav-burger span{display:block;width:24px;height:1px;background:var(--ink)}
@media(max-width:900px){.nav-links,.nav-cta{display:none}.nav-burger{display:flex}}

.mobile-menu{
  position:fixed;inset:0;z-index:99;background:var(--paper);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.6rem;
  opacity:0;visibility:hidden;transition:all .5s var(--ease);
}
.mobile-menu.open{opacity:1;visibility:visible}
.mobile-menu a{font-family:var(--f-serif);font-weight:300;font-size:2.2rem;color:var(--ink);letter-spacing:-.01em}
.mobile-menu a em{color:var(--accent);font-style:italic}

/* ═══════════════════════════════════════════
   HERO — animación mesh en movimiento
═══════════════════════════════════════════ */
.hero{
  position:relative;min-height:100vh;min-height:100svh;overflow:hidden;
  background:var(--paper);display:flex;align-items:center;isolation:isolate;
}
/* canvas animado */
.hero-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-canvas canvas{width:100%;height:100%;display:block}

/* grid lines sutiles */
.hero-grid{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    linear-gradient(to right, var(--line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--line) 1px, transparent 1px);
  background-size:clamp(60px, 8vw, 110px) clamp(60px, 8vw, 110px);
  mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 70%);
  opacity:.5;
}

/* meta label — bajo el nav para evitar colisión con CTA */
.hero-meta{
  position:absolute;top:6rem;right:2rem;z-index:4;
  font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
  font-weight:500;display:flex;align-items:center;gap:.8rem;
}
.hero-meta .dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:pulse 2.4s infinite}
@media(max-width:1200px){.hero-meta{display:none}}

/* TITULAR central izquierda */
.hero-inner{
  position:relative;z-index:3;max-width:var(--container);width:100%;
  padding:7rem 2rem 7rem;margin:0 auto;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:.8rem;
  font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);font-weight:500;
  margin-bottom:2.2rem;opacity:0;animation:fadeDown .9s var(--ease) .5s forwards;
}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.hero-tag em{font-family:var(--f-script);text-transform:none;letter-spacing:0;color:var(--accent);font-size:1.3em;font-weight:400;font-style:normal}
.hero-tag .line{width:30px;height:1px;background:var(--line-strong)}

/* Hero brand — logo destacado */
.hero-brand{
  margin-bottom:3.5rem;opacity:0;transform:translateY(14px);
  animation:heroBrandIn 1.1s var(--ease) .35s forwards;
  max-width:min(540px, 58vw);
}
.hero-brand img{width:100%;height:auto;display:block;image-rendering:-webkit-optimize-contrast}
html[data-palette="noche"] .hero-brand img,html[data-palette="carbon"] .hero-brand img{filter:invert(1) hue-rotate(180deg) saturate(1.05) brightness(1.05)}
@keyframes heroBrandIn{to{opacity:1;transform:none}}
@media(max-width:700px){.hero-brand{max-width:82vw;margin-bottom:2rem}}

/* Laptops bajos (1366x768, MacBook 13"). Compacta el hero verticalmente. */
@media(max-height:800px){
  .hero-inner{padding-top:5rem;padding-bottom:5rem}
  .hero-brand{margin-bottom:2.5rem;max-width:min(440px, 48vw)}
  .hero-monogram{opacity:.5}
}
@media(max-height:720px){
  .hero-inner{padding-top:4rem;padding-bottom:4rem}
  .hero-monogram{display:none}
}
/* Mobile + viewport corto (iPhone SE 1ª 320×568, SE 2/3 375×667, Androids
   antiguos): el contenido centrado puede saturar el viewport. Despinea
   el hero al inicio y compacta márgenes. */
@media(max-width:700px) and (max-height:720px){
  .hero{align-items:flex-start}
  .hero-inner{padding-top:3rem;padding-bottom:3rem}
  .hero-brand{margin-bottom:1.6rem;max-width:min(300px,72vw)}
}

.hero-title{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(2.4rem, 6vw, 5.6rem);
  line-height:1.02;letter-spacing:-.02em;color:var(--ink);
  margin:0;max-width:20ch;
}
.hero-title .word{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .08em .08em;margin:0 -.08em -.08em}
.hero-title .word.anim-done{overflow:visible}
.hero-title .word > span{display:inline-block;transform:translateY(105%);opacity:0;animation:wordUp 1.1s var(--ease) forwards}
.hero-title .word:nth-child(1) > span{animation-delay:.7s}
.hero-title .word:nth-child(2) > span{animation-delay:.78s}
.hero-title .word:nth-child(3) > span{animation-delay:.86s}
.hero-title .word:nth-child(4) > span{animation-delay:.94s}
.hero-title .word:nth-child(5) > span{animation-delay:1.02s}
@keyframes wordUp{to{transform:none;opacity:1}}
.hero-title em{font-style:italic;color:var(--accent);font-weight:400}

/* Variante para H1 como lista de áreas (3 frases): cap mayor para que
   el título pese visualmente sin lede ni CTAs debajo. */
.hero-title.hero-title-services{
  font-size:clamp(2.2rem, 4.6vw, 4.6rem);
  line-height:1.12;
  max-width:30ch;
}
.hero-title.hero-title-services .word{display:block;line-height:1.12}
.hero-title.hero-title-services .word > span{display:inline-block}

@keyframes fadeUp{to{transform:none;opacity:1}}

.btn{
  font-size:.7rem;font-weight:500;padding:1.05rem 1.9rem;
  display:inline-flex;align-items:center;gap:.8rem;
  transition:all .5s var(--ease);position:relative;overflow:hidden;
  letter-spacing:.22em;text-transform:uppercase;border:1px solid transparent;
}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary::before{
  content:"";position:absolute;inset:0;background:var(--ink);
  transform:translateY(100%);transition:transform .5s var(--ease);z-index:0;
}
.btn-primary:hover::before{transform:translateY(0)}
.btn-primary span,.btn-primary svg{position:relative;z-index:1}
.btn-primary:hover{transform:translateY(-2px);border-color:var(--ink)}
html[data-palette="noche"] .btn-primary:hover,html[data-palette="carbon"] .btn-primary:hover{color:var(--paper)}

.btn-ghost{color:var(--ink);border-color:var(--line-strong);background:transparent}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
.btn svg{transition:transform .4s var(--ease)}
.btn:hover svg{transform:translate(3px,-3px)}

/* ═══════════════════════════════════════════
   MONOGRAMA GIGANTE — marca de agua del hero (abreviación M|A)
═══════════════════════════════════════════ */
.hero-monogram{
  position:absolute;right:clamp(-4rem,-2vw,0rem);bottom:clamp(-1rem,-2vw,2rem);
  z-index:2;pointer-events:none;
  display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);
  opacity:0;animation:fadeIn 1.4s var(--ease) 1.6s forwards;
}
.hero-monogram .hm-M,.hero-monogram .hm-A{
  font-family:var(--f-body);font-weight:100;
  font-size:clamp(14rem,26vw,28rem);line-height:.85;letter-spacing:-.05em;
  color:var(--ink);opacity:.09;
}
.hero-monogram .hm-bar{
  width:clamp(3px,.35vw,5px);height:clamp(9rem,16vw,17rem);
  background:var(--accent);opacity:.6;
}
@media(max-width:900px){.hero-monogram{opacity:0 !important;display:none}}

/* ═══════════════════════════════════════════
   SECCIONES
═══════════════════════════════════════════ */
.section{padding:8rem 2rem;position:relative}
.container{max-width:var(--container);margin:0 auto}
.eyebrow{
  font-size:.82rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);
  font-weight:700;display:inline-flex;align-items:center;gap:1rem;margin-bottom:1.8rem;
}
.eyebrow .num{font-family:var(--f-script);font-size:1.3rem;color:var(--graphite);letter-spacing:0;font-weight:400;text-transform:none}
.eyebrow .line-s{width:36px;height:1px;background:var(--line-strong)}
.section-title{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(2rem,4.2vw,3.6rem);line-height:1.06;letter-spacing:-.02em;
  color:var(--ink);margin:0 0 1.5rem;
}
.section-title em{font-style:italic;color:var(--accent);font-weight:400}
.section-intro{font-size:1rem;color:var(--graphite);max-width:58ch;line-height:1.75;font-weight:300}

.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease), transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ═══════════════════════════════════════════
   MICRO-INTERACCIONES DE MOVIMIENTO
═══════════════════════════════════════════ */
/* Parallax wrapper (aplicado via JS) */
.parallax-target{will-change:transform;transition:transform .1s linear}

/* Eje card — línea accent que cruza en hover */
.eje{position:relative;overflow:hidden;transition:transform .6s var(--ease)}
.eje:hover{transform:translateY(-4px)}
.eje::after{
  content:"";position:absolute;left:-20%;bottom:0;width:140%;height:1px;
  background:linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);
  transform:translateX(-100%);transition:transform 1s var(--ease);opacity:.6;
}
.eje:hover::after{transform:translateX(0)}

/* Abogado tilt sutil */
.abogado{transition:transform .6s var(--ease)}
.abogado:hover{transform:translateY(-6px)}

/* Practica card — subrayado animado en arrow */
.practica-arrow{position:relative}
.practica-arrow::before{
  content:"";position:absolute;left:0;bottom:-.3rem;width:0;height:1px;
  background:currentColor;transition:width .5s var(--ease);
}
.practica:hover .practica-arrow::before{width:100%}

/* Hero title — subtle letter float on load (complement existing word animation) */
@keyframes floatIn{
  0%{transform:translateY(30px) rotate(-1deg);opacity:0}
  100%{transform:translateY(0) rotate(0);opacity:1}
}

/* Scroll-driven accent line under section-titles */
.section-title{position:relative;display:inline-block}
.section-title::after{
  content:"";position:absolute;left:0;bottom:-.5rem;width:0;height:1px;
  background:var(--accent);transition:width 1.6s var(--ease) .3s;
}
.reveal.in .section-title::after{width:3.5rem}

/* Nav link underline elegant sweep */
.nav-links a{position:relative}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;
  background:var(--accent);transform:scaleX(0);transform-origin:right;
  transition:transform .5s var(--ease);
}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}

@media(prefers-reduced-motion:reduce){
  .eje,.abogado,.eje::after,.practica-arrow::before{transition:none;animation:none}
}

/* Nav active section link */
.nav-links a.nav-active{color:var(--accent)}
.nav-links a.nav-active::after{width:100%;transform:scaleX(1);transform-origin:left}

/* ═══════════════════════════════════════════
   QUIÉNES SOMOS — dos ejes
═══════════════════════════════════════════ */
.about{background:var(--paper);border-top:1px solid var(--line)}
.about-head{display:grid;grid-template-columns:1fr 1.3fr;gap:5rem;align-items:flex-end;margin-bottom:5rem}
@media(max-width:900px){.about-head{grid-template-columns:1fr;gap:2rem}}

.about-lead{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(1.4rem,2.3vw,1.95rem);line-height:1.45;letter-spacing:-.01em;
  color:var(--ink);margin:0;
}
.about-lead em{font-style:italic;color:var(--accent);font-weight:400}
.about-lead .drop{
  font-family:var(--f-serif);font-weight:400;
  float:left;font-size:5.8em;line-height:.82;margin:.06em .2em -.05em 0;color:var(--accent);
}
@media(max-width:600px){.about-lead .drop{font-size:5em}}

/* Dos ejes — tarjetas editoriales */
.ejes{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  border:1px solid var(--line-strong);margin-top:2rem;
}
@media(max-width:900px){.ejes{grid-template-columns:1fr}}
.eje{
  padding:3.5rem 3rem;position:relative;
  border-right:1px solid var(--line-strong);
  transition:background .5s var(--ease);
}
.eje:last-child{border-right:none}
@media(max-width:900px){.eje{border-right:none;border-bottom:1px solid var(--line-strong)}.eje:last-child{border-bottom:none}}
.eje:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}
.eje-num{font-family:var(--f-script);font-weight:400;font-size:1.6rem;color:var(--accent);margin-bottom:1.4rem;display:inline-block}
.eje-title{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15;letter-spacing:-.015em;
  color:var(--ink);margin:0 0 1.2rem;
}
.eje-title em{font-style:italic;color:var(--accent);font-weight:400}
.eje-desc{color:var(--graphite);line-height:1.8;font-size:.95rem;font-weight:300;margin:0}
.eje-ornament{
  position:absolute;top:2.5rem;right:2.5rem;
  font-family:var(--f-body);font-weight:100;font-size:5rem;color:var(--ink);opacity:.07;line-height:1;
}

/* ═══════════════════════════════════════════
   PRÁCTICAS
═══════════════════════════════════════════ */
.practicas{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.practicas-head{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:flex-end;margin-bottom:5rem}
@media(max-width:900px){.practicas-head{grid-template-columns:1fr;gap:1.5rem}}

.practicas-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line-strong);background:var(--paper)}
@media(max-width:900px){.practicas-grid{grid-template-columns:1fr}}

.practica{
  position:relative;padding:3rem 2.8rem;border-right:1px solid var(--line);
  transition:all .6s var(--ease);overflow:hidden;cursor:pointer;
  min-height:340px;display:flex;flex-direction:column;justify-content:space-between;
}
.practica:last-child{border-right:none}
@media(max-width:900px){
  .practica{border-right:none;border-bottom:1px solid var(--line)}
  .practica:last-child{border-bottom:none}
}
.practica::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%), rgba(242,140,90,.08), transparent 45%);
  opacity:0;transition:opacity .5s;pointer-events:none;
}
.practica:hover::before{opacity:1}
.practica:hover{background:color-mix(in srgb, var(--accent) 3%, transparent)}

.practica-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem}
.practica-num{font-family:var(--f-script);font-weight:400;font-size:1.4rem;color:var(--accent)}
.practica-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--accent);transition:all .5s}
.practica:hover .practica-icon{transform:rotate(-6deg)}

.practica h3{font-family:var(--f-serif);font-weight:300;font-size:1.9rem;letter-spacing:-.015em;color:var(--ink);margin:0 0 1rem;line-height:1.12}
.practica h3 em{font-style:italic;color:var(--accent);font-weight:400}
.practica-lead{font-family:var(--f-serif);font-style:italic;font-weight:400;color:var(--accent-deep);margin:0 0 1.2rem;font-size:1.1rem;line-height:1.4}
.practica p{color:var(--graphite);font-size:.92rem;line-height:1.75;margin:0 0 1rem;font-weight:300}
.practica-arrow{
  display:inline-flex;align-items:center;gap:.6rem;margin-top:2rem;
  font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);
  transition:gap .4s;font-weight:500;
  background:none;border:none;padding:0;cursor:pointer;
  text-decoration:none;font-family:inherit;
}
.practica-arrow:hover{color:var(--ink)}
.practica:hover .practica-arrow{gap:1rem}

/* Doble CTA en cada card: "Explorar la práctica" + "Contáctanos".
   En desktop apilados verticalmente con poco gap; en móvil igual. */
.practica-ctas{
  margin-top:2rem;display:flex;flex-direction:column;gap:.85rem;
}
.practica-ctas .practica-arrow{margin-top:0}
.practica-arrow.practica-arrow-secondary{
  color:var(--graphite);opacity:.85;
}
.practica-arrow.practica-arrow-secondary:hover{
  color:var(--accent);opacity:1;
}

/* ═══════════════════════════════════════════
   EQUIPO
═══════════════════════════════════════════ */
.equipo{background:var(--paper);position:relative}
.equipo-head{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:flex-end;margin-bottom:5rem}
@media(max-width:900px){.equipo-head{grid-template-columns:1fr;gap:1.5rem}}
.equipo-head-simple{display:block;margin-bottom:3rem}

/* Equipo — retrato editorial */
.equipo-portrait{
  margin:0 auto 5rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;
  width:100%;
}
.equipo-portrait-img{
  position:relative;overflow:hidden;
  width:100%;
  /* Clamp: mínimo 320px, escala con 78vw, tope 900px (resolución nativa de la foto original) */
  max-width:clamp(320px, 78vw, 900px);
  aspect-ratio:3/2;
  border:1px solid var(--line);
  background:linear-gradient(180deg, #d4cec5 0%, #c8c1b6 100%);
  display:flex;align-items:center;justify-content:center;
}
.equipo-portrait-img img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  filter:saturate(.92) contrast(1.02);
  transition:transform 1.4s var(--ease);
}
@media(max-width:600px){
  .equipo-portrait-img{max-width:100%;aspect-ratio:3/2}
}
.equipo-portrait:hover .equipo-portrait-img img{transform:scale(1.02)}
.equipo-portrait-mark{display:none}
.equipo-portrait-cap{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center;
  padding-top:.2rem;text-align:center;
}
.equipo-portrait-cap .cap-num{
  font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);
  font-weight:500;
}
.equipo-portrait-cap .cap-sep{width:24px;height:1px;background:var(--line-strong)}
.equipo-portrait-cap .cap-txt{
  font-family:var(--f-serif);font-size:.92rem;font-weight:300;font-style:normal;
  color:var(--graphite);line-height:1.5;
}
.equipo-portrait-cap .cap-txt em{font-style:italic;color:var(--muted);font-weight:300}

.equipo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
@media(max-width:1280px){.equipo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.equipo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.equipo-grid{grid-template-columns:1fr}}

.abogado{position:relative;display:flex;flex-direction:column;gap:1.2rem;transition:all .6s var(--ease);cursor:pointer;color:inherit;text-decoration:none}
.abogado-portrait{
  position:relative;aspect-ratio:3/4;overflow:hidden;
  background:linear-gradient(180deg, var(--paper-3) 0%, var(--paper-2) 55%, color-mix(in srgb, var(--paper-2) 92%, var(--accent) 8%) 100%);
  border:1px solid var(--line);
}
.abogado-portrait::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 30%, rgba(242,140,90,.06), transparent 55%),
    repeating-linear-gradient(45deg, transparent 0 18px, rgba(255,255,255,.015) 18px 19px);
}
.abogado-portrait .silhouette{
  position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:80%;opacity:.14;transition:all .8s var(--ease);
}
.abogado:hover .abogado-portrait .silhouette{opacity:.22;transform:translateX(-50%) scale(1.04)}
.abogado-portrait .ph-tag{
  position:absolute;top:1rem;left:1rem;
  font-size:.56rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);
}
.abogado-portrait .num{position:absolute;top:.8rem;right:1rem;font-family:var(--f-script);font-weight:400;font-size:1.2rem;color:var(--accent);z-index:3}
.abogado-portrait .abogado-photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 18%;
  display:block;z-index:2;
  filter:saturate(.9) contrast(1.02);
  transition:transform 1.4s var(--ease), filter .6s;
}
.abogado:hover .abogado-portrait .abogado-photo{transform:scale(1.04);filter:saturate(1) contrast(1.05)}
.abogado-portrait[data-photo]::before{
  background:linear-gradient(180deg, transparent 55%, rgba(0,0,0,.18) 100%);
  z-index:1;
}
.abogado-role{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:.6rem}
.abogado h4{font-family:var(--f-serif);font-weight:400;font-size:1.35rem;letter-spacing:-.01em;color:var(--ink);margin:0 0 .4rem;line-height:1.15}
.abogado-spec{font-size:.82rem;color:var(--graphite);line-height:1.5;font-weight:300}

/* Hover overlay "Ver perfil" */
.abogado-view{
  position:absolute;inset:auto 0 0 0;padding:.9rem 1.1rem;
  background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:.7rem;
  font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500;
  transform:translateY(100%);transition:transform .5s var(--ease);
  z-index:4;
}
.abogado:hover .abogado-view,.abogado:focus-visible .abogado-view{transform:translateY(0)}
.abogado:focus-visible{outline:none}
.abogado:focus-visible .abogado-portrait{box-shadow:0 0 0 2px var(--accent)}
.abogado-view svg{transition:transform .4s var(--ease)}
.abogado:hover .abogado-view svg{transform:translate(3px,-3px)}

/* ═══════════════════════════════════════════
   MODAL — perfil de abogado
═══════════════════════════════════════════ */
.bio-modal{
  position:fixed;inset:0;z-index:10002;
  display:flex;align-items:center;justify-content:flex-end;
  background:color-mix(in srgb, var(--ink) 55%, transparent);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  opacity:0;visibility:hidden;transition:opacity .5s var(--ease), visibility .5s;
  padding:0;
}
.bio-modal.open{opacity:1;visibility:visible}
.bio-panel{
  background:var(--paper);color:var(--ink-2);
  width:min(720px, 100%);height:100%;max-height:100vh;
  overflow-y:auto;padding:3.5rem 3rem 4rem;
  border-left:1px solid var(--line-strong);
  transform:translateX(40px);transition:transform .6s var(--ease);
  position:relative;
}
.bio-modal.open .bio-panel{transform:none}
@media(max-width:700px){.bio-panel{padding:2.2rem 1.5rem 3rem}}

.bio-close{
  position:absolute;top:1.3rem;right:1.5rem;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line-strong);color:var(--ink);
  font-size:1.2rem;cursor:pointer;transition:all .3s;
}
.bio-close:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(90deg)}

.bio-head{margin-bottom:2.5rem;padding-bottom:1.8rem;border-bottom:1px solid var(--line)}
.bio-role{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem}
.bio-role::before{content:"";width:6px;height:6px;background:var(--accent)}
.bio-name{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(2rem,4vw,2.8rem);line-height:1.05;letter-spacing:-.02em;
  color:var(--ink);margin:0 0 .6rem;
}
.bio-name em{font-style:italic;color:var(--accent);font-weight:400}
.bio-subtitle{font-family:var(--f-serif);font-style:italic;font-weight:300;color:var(--graphite);font-size:1.1rem;line-height:1.4}
.bio-email{
  display:inline-flex;align-items:center;gap:.55rem;
  margin-top:1.2rem;padding:.55rem .9rem;
  font-family:var(--f-sans);font-size:.8rem;font-weight:500;letter-spacing:.02em;
  color:var(--ink);text-decoration:none;
  border:1px solid var(--line-strong);border-radius:999px;
  transition:all .35s var(--ease);
}
.bio-email svg{color:var(--accent);flex-shrink:0;transition:transform .35s var(--ease)}
.bio-email:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.bio-email:hover svg{color:var(--accent);transform:translateX(2px)}

.bio-section{margin-bottom:2rem}
.bio-section-title{
  font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);
  font-weight:500;margin:0 0 1rem;display:flex;align-items:center;gap:.8rem;
}
.bio-section-title .num{font-family:var(--f-script);font-weight:400;font-size:1.1rem;letter-spacing:0;color:var(--graphite);text-transform:none}
.bio-body p{color:var(--graphite);line-height:1.8;margin:0 0 1rem;font-size:.95rem;font-weight:300}
.bio-body p:last-child{margin-bottom:0}
.bio-body ul{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.6rem}
.bio-body ul li{
  padding-left:1.1rem;position:relative;line-height:1.6;color:var(--graphite);font-size:.9rem;font-weight:300;
}
.bio-body ul li::before{content:"—";position:absolute;left:0;color:var(--accent)}

.bio-foot{
  margin-top:2.5rem;padding-top:1.8rem;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
}
.bio-foot .mono{font-size:1.05rem}
.bio-foot .nav-arrows{display:flex;gap:.5rem}
.bio-nav-btn{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;transition:all .3s;
}
.bio-nav-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.bio-nav-btn:disabled{opacity:.3;cursor:not-allowed}

/* ═══════════════════════════════════════════
   CONTACTO — versión sobria estilo gfernandez
═══════════════════════════════════════════ */
.contact{
  background:var(--paper);border-top:1px solid var(--line);
  padding:8rem 2rem 0;position:relative;overflow:hidden;
  isolation:isolate;
}
.contact::before{
  content:"";position:absolute;inset:0;
  background:url("data:image/webp;base64,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") center 55%/cover no-repeat;
  opacity:.14;filter:saturate(.6) contrast(1.05);
  z-index:-2;
}
.contact::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, var(--paper) 0%, color-mix(in srgb, var(--paper) 82%, transparent) 30%, color-mix(in srgb, var(--paper) 70%, transparent) 55%, color-mix(in srgb, var(--paper) 85%, transparent) 80%, var(--paper) 100%);
  z-index:-1;pointer-events:none;
}
html[data-palette="noche"] .contact::before,html[data-palette="carbon"] .contact::before{opacity:.22}
.contact-inner{max-width:var(--container);margin:0 auto;position:relative}

.contact-hero{
  display:grid;grid-template-columns:1fr;gap:0;padding-bottom:6rem;
  border-bottom:1px solid var(--line);position:relative;
}

.contact-eyebrow{
  font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
  font-weight:500;margin-bottom:2.5rem;display:flex;align-items:center;gap:.8rem;
}
.contact-eyebrow .line{width:30px;height:1px;background:var(--line-strong)}

.contact-title{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(3rem,8vw,7rem);line-height:.95;letter-spacing:-.025em;
  color:var(--ink);margin:0 0 3rem;max-width:12ch;
}
.contact-title em{font-style:italic;color:var(--accent);font-weight:400}

/* Email/phone grandes, clickeables */
.contact-links{display:flex;flex-direction:column;gap:.5rem;margin-bottom:4rem}
.contact-link{
  font-family:var(--f-serif);font-weight:300;
  font-size:clamp(1.5rem,3.2vw,2.4rem);letter-spacing:-.015em;
  color:var(--ink);display:inline-flex;align-items:baseline;gap:1rem;
  padding:.4rem 0;transition:color .4s;position:relative;width:fit-content;
}
.contact-link:hover{color:var(--accent)}
.contact-link .ic-arrow{
  display:inline-block;font-size:.6em;color:var(--accent);
  transition:transform .5s var(--ease);
}
.contact-link:hover .ic-arrow{transform:translate(6px,-6px)}
.contact-link .label{
  font-family:var(--f-body);font-size:.62rem;font-weight:500;letter-spacing:.3em;
  text-transform:uppercase;color:var(--muted);margin-right:1.2rem;align-self:center;
  min-width:56px;
}

/* Formulario de contacto */
.contact-form{
  margin:.5rem 0 3rem;display:flex;flex-direction:column;gap:1.4rem;
  background:color-mix(in srgb, var(--paper) 78%, transparent);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  border:1px solid var(--line);
  padding:2.5rem 2.2rem;
  max-width:760px;
}
@media(max-width:700px){.contact-form{padding:1.8rem 1.4rem}}
/* En móvil iOS, font-size <16px hace que Safari zoomée el viewport al
   enfocar el input. Forzamos 16px para que el form no descoloque la página. */
@media(max-width:768px){
  .cf-field input,
  .cf-field textarea,
  .cf-select select{font-size:16px}
}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media(max-width:600px){.cf-row{grid-template-columns:1fr}}
.cf-field{display:flex;flex-direction:column;gap:.6rem}
.cf-label{
  font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
  font-weight:500;
}
.cf-label em{font-family:var(--f-script);font-style:italic;font-weight:400;text-transform:none;letter-spacing:.02em;color:var(--graphite);font-size:1.35em}
.cf-field input,
.cf-field textarea,
.cf-select select{
  font-family:var(--f-body);font-size:.95rem;font-weight:300;
  background:transparent;border:none;
  border-bottom:1px solid var(--line-strong);
  padding:.55rem 0;color:var(--ink);
  outline:none;transition:border-color .3s;
  width:100%;
}
.cf-field input:focus,
.cf-field textarea:focus,
.cf-select select:focus{border-bottom-color:var(--accent)}
.cf-field textarea{resize:vertical;min-height:100px;line-height:1.6;font-family:var(--f-body)}
.cf-field textarea::placeholder{color:var(--muted);font-weight:300;font-style:italic}

.cf-select{position:relative;display:flex;align-items:center}
.cf-select select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:1.8rem}
.cf-select svg{position:absolute;right:0;bottom:.85rem;color:var(--graphite);pointer-events:none}

.cf-foot{
  display:flex;align-items:center;justify-content:space-between;gap:1.4rem;
  margin-top:.6rem;padding-top:1.2rem;border-top:1px solid var(--line);
  flex-wrap:wrap;
}
.cf-note{font-size:.78rem;color:var(--graphite);line-height:1.5;font-weight:300;max-width:44ch;margin:0}
.cf-submit{
  display:inline-flex;align-items:center;gap:.7rem;
  background:var(--accent);color:#fff;border:none;
  padding:1rem 1.6rem;cursor:pointer;
  font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;font-weight:500;
  transition:all .35s var(--ease);font-family:var(--f-body);
}
.cf-submit:hover{background:var(--ink);transform:translateY(-2px)}
.cf-submit svg{transition:transform .4s var(--ease)}
.cf-submit:hover svg{transform:translate(3px,-3px)}

.cf-success{
  display:none;align-items:center;gap:.8rem;
  padding:1rem 1.2rem;border:1px solid var(--accent);color:var(--accent);
  font-size:.85rem;font-weight:400;line-height:1.5;
  margin-top:.5rem;
}
.cf-success.show{display:flex}
.contact-form.sent .cf-row,
.contact-form.sent .cf-field:not(:has(.cf-success)),
.contact-form.sent .cf-foot{opacity:.3;pointer-events:none;transition:opacity .4s}

/* Info en una sola columna sobria */
.contact-info{
  display:grid;grid-template-columns:1fr;gap:3rem;
  padding:3.5rem 0 5rem;border-bottom:1px solid var(--line);
  max-width:760px;
}
.ci-block .ci-label{
  font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);
  font-weight:500;margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;
}
.ci-block .ci-label::before{content:"";width:6px;height:6px;background:var(--accent)}
.ci-block .ci-value{
  font-family:var(--f-serif);font-weight:300;font-size:1.15rem;
  color:var(--ink);line-height:1.5;letter-spacing:-.005em;
}
.ci-block .ci-extra{
  font-size:.78rem;color:var(--muted);margin-top:.7rem;display:flex;gap:1rem;letter-spacing:.03em;
}
.ci-block .ci-extra a:hover{color:var(--accent)}

/* Cierre */
.contact-outro{
  padding:5rem 0;display:flex;justify-content:space-between;align-items:center;gap:3rem;flex-wrap:wrap;
}

/* Layout 2-columnas en desktop ≥1024px: form a la izquierda,
   oficina + accesos a la derecha. La sección reduce su altura total
   y mantiene la información de contacto visible mientras se llena el form. */
@media(min-width:1024px){
  .contact-inner{
    display:grid;
    grid-template-columns:1.55fr 1fr;
    column-gap:5rem;
    align-items:start;
  }
  .contact-hero{
    padding-bottom:0;
    border-bottom:none;
  }
  .contact-form{max-width:none}
  .contact-info{
    max-width:none;
    padding:0 0 4rem;
    border-bottom:none;
  }
  .contact-outro{
    grid-column:1 / -1;
    border-top:1px solid var(--line);
    padding-top:4rem;
    margin-top:1rem;
  }
}
.contact-outro-text{
  font-family:var(--f-serif);font-style:italic;font-weight:300;
  font-size:clamp(1.05rem,1.6vw,1.35rem);color:var(--graphite);line-height:1.5;max-width:38ch;
}
.contact-outro-text em{color:var(--accent);font-style:normal;font-weight:400}

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
.footer{
  background:var(--paper-2);border-top:1px solid var(--line);
  padding:4rem max(2rem, env(safe-area-inset-right)) max(2rem, calc(env(safe-area-inset-bottom) + 1rem)) max(2rem, env(safe-area-inset-left));
}
.footer-grid{
  max-width:var(--container);margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;
  padding-bottom:3rem;border-bottom:1px solid var(--line);
}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr}}

.footer-brand{display:flex;flex-direction:column;gap:1.2rem}
.footer-brand img{max-width:200px}
html[data-palette="noche"] .footer-brand img,html[data-palette="carbon"] .footer-brand img{filter:invert(1) hue-rotate(180deg) saturate(1.1)}
.footer-tag{color:var(--graphite);font-size:.82rem;line-height:1.65;max-width:36ch;font-weight:300}

.footer-col h5{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);font-weight:500;margin:0 0 1.2rem}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}
.footer-col li,.footer-col a{color:var(--graphite);font-size:.85rem;line-height:1.55;transition:color .3s;font-weight:300}
.footer-col a:hover{color:var(--accent)}

.footer-bot{
  max-width:var(--container);margin:2rem auto 0;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  font-size:.7rem;color:var(--muted);letter-spacing:.05em;
}
.footer-bot a{color:var(--muted);transition:color .3s}
.footer-bot a:hover{color:var(--accent)}

/* TWEAKS PANEL */
.tweaks-panel{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:9998;width:280px;padding:1.3rem;
  background:color-mix(in srgb, var(--paper) 94%, transparent);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid var(--line-strong);color:var(--ink);font-family:var(--f-body);
  display:none;flex-direction:column;gap:1rem;box-shadow:0 20px 60px rgba(0,0,0,.2);
}
.tweaks-panel.open{display:flex}
.tweaks-panel h6{font-family:var(--f-serif);font-weight:400;font-size:1.1rem;margin:0;display:flex;justify-content:space-between;align-items:center;color:var(--ink)}
.tweaks-panel h6 em{font-style:italic;color:var(--accent);font-family:var(--f-script)}
.tweaks-panel .tw-close{color:var(--muted);font-size:1.3rem;cursor:pointer;line-height:1}
.tweaks-panel .tw-group{display:flex;flex-direction:column;gap:.5rem}
.tweaks-panel .tw-label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:500}
.tweaks-panel .tw-options{display:flex;gap:.4rem;flex-wrap:wrap}
.tweaks-panel .tw-chip{padding:.4rem .7rem;border:1px solid var(--line-strong);font-size:.7rem;color:var(--graphite);cursor:pointer;transition:all .3s}
.tweaks-panel .tw-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.tweaks-panel .tw-chip:hover:not(.active){border-color:var(--accent);color:var(--accent)}
.tweaks-panel .tw-row{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--graphite)}
.tweaks-panel .tw-toggle{width:34px;height:18px;border-radius:12px;background:var(--mist);position:relative;cursor:pointer;transition:background .3s}
.tweaks-panel .tw-toggle::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--paper);transition:all .3s}
.tweaks-panel .tw-toggle.on{background:var(--accent)}
.tweaks-panel .tw-toggle.on::after{left:18px;background:#fff}


/* === bloque === */


.practice-frente{
  margin-bottom:2rem;padding-bottom:1.8rem;border-bottom:1px solid var(--line);
}
.practice-frente:last-of-type{border-bottom:none}
.practice-frente-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:.9rem}
.practice-frente-num{
  font-family:var(--f-script);font-size:1.4rem;color:var(--accent);font-weight:400;
  min-width:1.5rem;
}
.practice-frente-head h3{
  font-family:var(--f-serif);font-weight:300;font-size:1.35rem;line-height:1.2;
  letter-spacing:-.015em;color:var(--ink);margin:0;
}
/* Body del modal de práctica: párrafos de prosa (reemplaza el patrón de
   4 frentes). Texto sobrio, line-height generoso, máximo de medida cómoda. */
.practice-body{margin:2rem 0 0}
.practice-body p{
  color:var(--graphite);line-height:1.8;font-size:1rem;font-weight:300;
  margin:0 0 1.5rem;max-width:64ch;
}
.practice-body p:last-child{margin-bottom:0}

.practice-frente p{
  color:var(--graphite);line-height:1.75;font-size:.92rem;font-weight:300;margin:0;
  padding-left:2.5rem;
}
.practice-foot{
  margin-top:2.5rem;padding-top:1.8rem;border-top:1px solid var(--line);
  display:flex;justify-content:flex-end;
}

/* Utilities */
.cf-honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.contact-mono-mark{font-size:1.2rem}

/* ═══════════════════════════════════════════
   DESKTOP GRANDE ≥1600px — MacBook 16/17", QHD (2560×1440),
   monitores ultrawide. El container se abre, los caps tipográficos
   suben y la respiración lateral aumenta.
═══════════════════════════════════════════ */
@media(min-width:1600px){
  :root{--container:1480px}
  .section{padding:9rem 4rem}
  .footer{padding:5rem max(4rem, env(safe-area-inset-right)) max(2rem, calc(env(safe-area-inset-bottom) + 1rem)) max(4rem, env(safe-area-inset-left))}
  .nav{padding:1.6rem max(4rem, env(safe-area-inset-right)) 1.6rem max(4rem, env(safe-area-inset-left))}
  .nav.scrolled{padding:1rem max(4rem, env(safe-area-inset-right)) 1rem max(4rem, env(safe-area-inset-left))}
  .nav-links{gap:2.4rem}
  .nav-links a{font-size:.88rem}

  .hero-inner{padding:8rem 4rem 8rem;max-width:1480px}
  .hero-title{font-size:clamp(2.4rem, 5.2vw, 6.4rem);max-width:22ch}
  .hero-title.hero-title-services{font-size:clamp(2.4rem, 4.4vw, 5.2rem)}
  .hero-brand{max-width:min(620px, 44vw)}

  .section-title{font-size:clamp(2rem, 3.6vw, 4.2rem)}
  .section-intro{font-size:1.05rem;max-width:62ch}
  .about-lead{font-size:clamp(1.4rem, 2vw, 2.2rem)}

  .eje{padding:4rem 3.5rem}
  .eje-title{font-size:clamp(1.6rem, 2vw, 2.5rem)}
  .eje-desc{font-size:1rem}

  .practica{padding:3.5rem 3.2rem;min-height:380px}
  .practica h3{font-size:2.1rem}
  .practica-lead{font-size:1.15rem}
  .practica p{font-size:.96rem}

  .contact-title{font-size:clamp(3rem, 6.4vw, 8rem)}
  .contact-link{font-size:clamp(1.5rem, 2.6vw, 2.7rem)}
  .ci-block .ci-value{font-size:1.25rem}
}

/* ═══════════════════════════════════════════
   ULTRA-WIDE / 4K ≥2200px — pantallas 4K (3840×2160),
   5K (5120×2880), monitores ultrawide. Cap más alto y
   container generoso, manteniendo legibilidad de columna.
═══════════════════════════════════════════ */
@media(min-width:2200px){
  :root{--container:1680px}
  .section{padding:10rem 6rem}
  .footer{padding:6rem max(6rem, env(safe-area-inset-right)) max(2rem, calc(env(safe-area-inset-bottom) + 1rem)) max(6rem, env(safe-area-inset-left))}
  .nav{padding:1.8rem max(6rem, env(safe-area-inset-right)) 1.8rem max(6rem, env(safe-area-inset-left))}
  .nav.scrolled{padding:1.1rem max(6rem, env(safe-area-inset-right)) 1.1rem max(6rem, env(safe-area-inset-left))}

  .hero-inner{padding:9rem 6rem 9rem;max-width:1680px}
  .hero-title{font-size:clamp(2.4rem, 4.6vw, 7.4rem);max-width:24ch}
  .hero-title.hero-title-services{font-size:clamp(2.6rem, 4vw, 6rem)}
  .hero-brand{max-width:min(720px, 40vw)}

  .section-title{font-size:clamp(2rem, 3.2vw, 4.8rem)}
  .about-lead{font-size:clamp(1.4rem, 1.8vw, 2.5rem)}

  .eje{padding:5rem 4rem}
  .eje-title{font-size:clamp(1.6rem, 1.8vw, 2.8rem)}

  .practica{padding:4rem 3.6rem;min-height:440px}
  .practica h3{font-size:2.4rem}

  .contact-title{font-size:clamp(3rem, 5.6vw, 9rem)}
  .contact-link{font-size:clamp(1.5rem, 2.4vw, 3rem)}
}

/* ═══════════════════════════════════════════
   PREFERS-REDUCED-MOTION — desactiva todas las
   animaciones de entrada y transiciones no esenciales
═══════════════════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .hero-title .word > span{transform:none;opacity:1;animation:none}
  .hero-brand{opacity:1;transform:none;animation:none}
  .hero-monogram{opacity:.09;animation:none}
  .loader-mono{opacity:1;animation:none}
  .loader-bar::after{transform:none;animation:none}
  .reveal{opacity:1;transform:none;transition:none}
  .reveal.in{opacity:1;transform:none}
  .section-title::after{transition:none}
  body{transition:none}
}

/* 404 page */
.notfound-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:2rem}
.notfound{text-align:center;max-width:520px}
.notfound .code{font-family:monospace;font-size:.78rem;letter-spacing:.18em;opacity:.55;text-transform:uppercase;margin-bottom:1.5rem}
.notfound h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;margin:0 0 1.25rem;font-weight:400}
.notfound p{line-height:1.7;opacity:.8;margin:0 0 2rem}
.notfound .links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;font-size:.95rem}
.notfound a{color:inherit;text-decoration:underline;text-underline-offset:3px}
