:root{
    --paper:#FFFFFF; --paper-2:#F2F4F7;
    --ink:#15202E; --ink-2:#4C5663; --mute:#697079; --rule:#E3E6EA;
    --lacre:#1C3A5E; --lacre-deep:#14304B; --lacre-dark:#0E2236;
    --laton:#B08B4F; --char:#0E2236; --char-text:#E9EDF1;
    --serif:'Cinzel',Georgia,serif; --sans:'Libre Franklin',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
    --fs-display:clamp(2.6rem,6.5vw,3.815rem); --fs-h1:clamp(2rem,5vw,2.441rem);
    --fs-h2:clamp(1.7rem,4vw,1.953rem); --fs-h3:1.563rem; --fs-h4:1.25rem;
    --fs-body-lg:1.25rem; --fs-body:1rem; --fs-small:.875rem; --fs-caption:.8rem; --fs-micro:.72rem; --fs-mono:.78rem;
    --s-xs:8px; --s-sm:12px; --s-md:20px; --s-lg:32px; --s-xl:52px; --s-2xl:84px; --s-3xl:120px;
    --hair:.5px solid var(--rule); --radius:2px; --ease:cubic-bezier(.2,.7,.2,1);
    --maxw:1080px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.7;-webkit-font-smoothing:antialiased;position:relative;overflow-x:hidden}
  body::before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:multiply;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;height:auto;display:block}
  ::selection{background:var(--lacre);color:#fff}
  :focus-visible{outline:2px solid var(--lacre);outline-offset:3px}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s-md)}
  .skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:200}
  .skip:focus{left:8px;top:8px}
  .eyebrow{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--lacre-deep);display:inline-flex;align-items:center;gap:10px}
  .seal{width:10px;height:10px;border-radius:50%;background:var(--lacre);display:inline-block;box-shadow:0 0 0 3px rgba(28,58,94,.16);flex:none}
  .rule-red{height:2px;width:56px;background:var(--lacre);border:none;margin:var(--s-md) 0}

  /* NAV */
  header.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.2) blur(6px);border-bottom:var(--hair)}
  .nav-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s-md);max-width:var(--maxw);margin:0 auto;padding:14px var(--s-md)}
  .brand{display:flex;flex-direction:column;line-height:1.05}
  .brand .bn{font-family:var(--serif);font-weight:600;font-size:1.02rem;letter-spacing:.06em}
  .brand .bt{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);margin-top:3px}
  .brand .bn b{color:var(--lacre)}
  nav.links{display:flex;align-items:center;gap:var(--s-lg)}
  .nlink{font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);position:relative;padding:6px 0}
  .nlink::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--lacre);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
  .nlink:hover{color:var(--ink)} .nlink:hover::after{transform:scaleX(1)}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:var(--fs-small);letter-spacing:.06em;text-transform:uppercase;padding:12px 20px;border:1px solid var(--lacre-deep);color:#fff;background:var(--lacre-deep);border-radius:var(--radius);cursor:pointer;position:relative;overflow:hidden}
  .btn span{position:relative;z-index:1;transition:transform .4s var(--ease)}
  .btn::before{content:"";position:absolute;inset:0;background:var(--lacre-dark);transform:translateX(-101%);transition:transform .45s var(--ease)}
  .btn:hover::before{transform:translateX(0)} .btn:hover span{transform:translateX(4px)}
  .btn.sm{padding:9px 16px;font-size:var(--fs-mono)}
  .btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)} .btn.ghost::before{background:var(--paper-2)} .btn.ghost:hover span{color:var(--ink)}
  .menu-tgl{display:none;background:none;border:1px solid var(--rule);border-radius:var(--radius);padding:8px 10px;font-size:1.1rem;cursor:pointer}

  /* HERO */
  .hero{padding:var(--s-3xl) 0 var(--s-2xl);position:relative;z-index:2}
  .hero-grid{display:grid;grid-template-columns:1.55fr .95fr;gap:var(--s-2xl);align-items:start}
  .hero h1{font-family:var(--serif);font-weight:600;font-size:var(--fs-display);letter-spacing:.02em;line-height:1.1;margin:var(--s-md) 0 0;max-width:16ch}
  .hero .lead{color:var(--ink-2);font-size:var(--fs-body-lg);max-width:48ch;margin:var(--s-md) 0 var(--s-lg)}
  .hero .cta-row{display:flex;gap:var(--s-sm);flex-wrap:wrap}
  .ledger{display:flex;flex-wrap:wrap;gap:0;margin-top:var(--s-2xl);border-top:var(--hair);border-bottom:var(--hair)}
  .ledger .it{padding:var(--s-md) var(--s-lg) var(--s-md) 0;margin-right:var(--s-lg);border-right:var(--hair)}
  .ledger .it:last-child{border-right:none}
  .ledger .v{font-family:var(--serif);font-size:1.6rem;font-weight:600;color:var(--ink)}
  .ledger .k{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:2px}
  /* ficha panel */
  .ficha{border:var(--hair);border-top:3px solid var(--lacre);border-radius:var(--radius);padding:var(--s-lg);position:relative;background:var(--paper)}
  .ficha h2{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:var(--s-md)}
  .ficha dl{display:grid;grid-template-columns:1fr;gap:var(--s-md)}
  .ficha .dk{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--lacre-deep)}
  .ficha .dv{font-size:var(--fs-small);color:var(--ink);margin-top:2px}
  .ficha .balanza{position:absolute;right:var(--s-md);top:var(--s-md);opacity:.18}

  /* SECTIONS */
  section{position:relative;z-index:2}
  .band{padding:var(--s-2xl) 0;border-top:var(--hair)}
  .band.tight{padding:var(--s-xl) 0}
  .band.soft{background:var(--paper-2)}
  .sec-head{position:relative;margin-bottom:var(--s-xl)}
  .sec-num{font-family:var(--serif);font-size:clamp(2.4rem,8vw,4rem);font-weight:600;line-height:1;color:transparent;-webkit-text-stroke:1px var(--rule);position:absolute;right:0;top:-8px;user-select:none}
  .sec-head h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);letter-spacing:.04em;margin:var(--s-sm) 0 var(--s-sm);max-width:20ch}
  .sec-head p{color:var(--ink-2);max-width:60ch}

  /* SOBRE */
  .sobre-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s-2xl);align-items:start}
  .firstperson{font-family:var(--serif);font-size:var(--fs-h3);font-weight:400;line-height:1.4;letter-spacing:.01em}
  .firstperson b{color:var(--lacre-deep);font-weight:500}
  .prose p{margin-bottom:var(--s-md);color:var(--ink-2)}
  .prose p strong{color:var(--ink);font-weight:500}
  .pullquote{border-left:3px solid var(--lacre);padding:var(--s-sm) 0 var(--s-sm) var(--s-md);margin:var(--s-lg) 0;font-family:var(--serif);font-size:var(--fs-h4);line-height:1.45;color:var(--ink)}
  .team{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-md);margin-top:var(--s-lg)}
  .team .t{border:var(--hair);border-radius:var(--radius);padding:var(--s-md)}
  .team .tn{font-family:var(--serif);font-size:1.4rem;font-weight:600}
  .team .tl{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:4px}
  .photo-ph{border:1px dashed var(--rule);border-radius:var(--radius);background:var(--paper-2);min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--mute);text-align:center;padding:var(--s-md)}
  .photo-ph .cap{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase}

  /* AREAS — registro editorial */
  .area{display:grid;grid-template-columns:64px 1fr auto;gap:var(--s-lg);align-items:start;padding:var(--s-lg) 0;border-top:var(--hair)}
  .area:last-child{border-bottom:var(--hair)}
  .area .idx{font-family:var(--mono);font-size:var(--fs-small);color:var(--lacre);letter-spacing:.1em;padding-top:6px}
  .area .at{font-family:var(--serif);font-size:var(--fs-h4);font-weight:500;letter-spacing:.03em}
  .area .badge{display:inline-block;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--lacre-deep);border:1px solid var(--lacre);border-radius:var(--radius);padding:2px 8px;margin-left:10px;vertical-align:middle}
  .area .tag{font-style:italic;color:var(--ink);margin:6px 0 6px}
  .area .desc{color:var(--ink-2);font-size:var(--fs-small);max-width:62ch}
  .area .who{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:8px}
  .area .acta{align-self:center;white-space:nowrap}
  .micro-cta{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--lacre-deep);position:relative;padding-bottom:3px}
  .micro-cta::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--lacre);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
  .micro-cta:hover::after{transform:scaleX(1)}

  /* POR QUE — definición */
  .why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-lg) var(--s-2xl)}
  .why .wt{font-family:var(--serif);font-size:var(--fs-h4);font-weight:500;letter-spacing:.02em;display:flex;align-items:baseline;gap:10px}
  .why .wt .n{font-family:var(--mono);font-size:var(--fs-mono);color:var(--lacre);letter-spacing:.1em}
  .why .wd{color:var(--ink-2);font-size:var(--fs-small);margin-top:8px}
  .members{margin-top:var(--s-2xl);border-top:var(--hair);padding-top:var(--s-lg)}
  .members .ml{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:var(--s-md)}
  .members ul{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-sm) var(--s-lg)}
  .members li{font-size:var(--fs-small);color:var(--ink);position:relative;padding-left:18px}
  .members li::before{content:"§";position:absolute;left:0;color:var(--laton);font-family:var(--serif)}

  /* CASOS */
  .cases{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-md)}
  .case{border:var(--hair);border-left:2px solid var(--lacre);border-radius:var(--radius);padding:var(--s-md) var(--s-lg)}
  .case .ck{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--lacre-deep)}
  .case .cd{margin-top:6px;color:var(--ink);font-size:var(--fs-small)}
  .case.ph{border-style:dashed;border-left:2px solid var(--lacre)} .case.ph .cd{color:var(--mute)}
  .testi{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-md);margin-top:var(--s-lg)}
  .tcard{border:1px dashed var(--rule);border-radius:var(--radius);padding:var(--s-lg);background:var(--paper-2);min-height:150px;display:flex;flex-direction:column;justify-content:space-between}
  .tcard .q{font-family:var(--serif);font-size:1.6rem;color:var(--laton);line-height:1}
  .tcard .ph{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
  .pending-note{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:var(--s-md)}

  /* CONTACTO */
  .contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s-2xl);align-items:start}
  form .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-md)}
  label{display:block;font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin:var(--s-md) 0 6px}
  input,select,textarea{width:100%;font-family:var(--sans);font-size:var(--fs-body);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:11px 12px}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--lacre)}
  textarea{min-height:120px;resize:vertical}
  .form-actions{margin-top:var(--s-lg);display:flex;gap:var(--s-sm);flex-wrap:wrap;align-items:center}
  .form-hint{font-size:var(--fs-caption);color:var(--mute);margin-top:var(--s-sm)}
  .contact-info dl{display:grid;gap:var(--s-md)}
  .contact-info .ck{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--lacre-deep)}
  .contact-info .cv{font-size:var(--fs-small);margin-top:3px}
  .contact-info .cv a{border-bottom:1px solid var(--rule)}
  .modes{display:flex;gap:var(--s-sm);flex-wrap:wrap;margin-top:var(--s-md)}
  .mode{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule);border-radius:var(--radius);padding:6px 10px;color:var(--ink-2)}
  .mapwrap{border:var(--hair);border-radius:var(--radius);overflow:hidden;margin-top:var(--s-lg)}
  .mapwrap iframe{width:100%;height:220px;border:0;display:block;filter:grayscale(.3) contrast(1.05)}

  /* FOOTER */
  footer.site{background:var(--char);color:var(--char-text);position:relative;z-index:2;margin-top:var(--s-2xl)}
  .foot-in{max-width:var(--maxw);margin:0 auto;padding:var(--s-2xl) var(--s-md);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-2xl)}
  footer .fb{font-family:var(--serif);font-weight:600;font-size:1.3rem;letter-spacing:.06em}
  footer .fb b{color:var(--lacre)}
  footer .ft{font-family:var(--mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--laton);margin-top:4px}
  footer .fdesc{color:#B9B7B1;font-size:var(--fs-small);margin-top:var(--s-md);max-width:42ch}
  footer h3{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.16em;text-transform:uppercase;color:var(--laton);margin-bottom:var(--s-md)}
  footer .frow{font-size:var(--fs-small);color:var(--char-text);margin-bottom:8px}
  footer .frow a{color:var(--char-text)} footer .frow a:hover{color:#fff}
  footer .legal{border-top:.5px solid rgba(237,236,232,.14);padding:var(--s-md) var(--s-md);max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s-sm);font-size:var(--fs-micro);color:#8C8A85}
  footer .socials{display:flex;gap:var(--s-md);margin-top:var(--s-sm)}
  footer .socials a{font-family:var(--mono);font-size:var(--fs-caption);letter-spacing:.1em;text-transform:uppercase}

  /* WhatsApp flotante */
  .wa-float{position:fixed;right:18px;bottom:18px;z-index:120;background:#1f7a44;color:#fff;border-radius:50px;padding:12px 18px;font-family:var(--mono);font-size:var(--fs-small);letter-spacing:.05em;box-shadow:0 8px 24px rgba(0,0,0,.18);display:inline-flex;align-items:center;gap:8px}
  .wa-float:hover{background:#155f37}

  /* logo en nav */
  .brand-row{display:flex;align-items:center;gap:12px}
  .brand-row .mk{height:36px;width:auto;flex:none}
  /* hero rediseñado (menos texto) */
  .hero-grid{grid-template-columns:1.25fr .75fr;align-items:center}
  .hero h1{font-size:clamp(2.6rem,7vw,4.2rem);line-height:1.04;max-width:13ch;margin-top:var(--s-md)}
  .hero-sub{font-family:var(--mono);font-size:var(--fs-small);letter-spacing:.04em;color:var(--ink-2);margin:0 0 var(--s-lg)}
  .hero-trust{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-top:var(--s-lg)}
  .hero-mark{display:flex;justify-content:center}
  .hero-mark img{width:100%;max-width:300px;height:auto}
  /* tarjeta de ubicación (reemplaza el mapa embebido) */
  .loc-card{border:var(--hair);border-top:3px solid var(--lacre);border-radius:var(--radius);padding:var(--s-lg);margin-top:var(--s-lg);position:relative;overflow:hidden}
  .loc-card .lk{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--lacre-deep)}
  .loc-card .lp{font-size:var(--fs-small);color:var(--ink);margin:8px 0 var(--s-md);max-width:40ch}
  .loc-card .balanza{position:absolute;right:-10px;bottom:-10px;opacity:.07}
  /* logo en footer */
  .foot-logo{height:64px;width:auto;margin-bottom:var(--s-sm)}

  /* sección oscura azul (ritmo tipo dmc) */
  .band.feature{background:var(--char);color:var(--char-text)}
  .band.feature .sec-head h2{color:var(--char-text)}
  .band.feature .sec-head p{color:#AEB8C4}
  .band.feature .eyebrow{color:var(--laton)}
  .band.feature .sec-num{-webkit-text-stroke-color:rgba(233,237,241,.18)}
  .band.feature .why .wt{color:var(--char-text)}
  .band.feature .why .wt .n{color:var(--laton)}
  .band.feature .why .wd{color:#AEB8C4}
  .band.feature .members{border-top-color:rgba(233,237,241,.16)}
  .band.feature .members .ml{color:#8C97A4}
  .band.feature .members li{color:var(--char-text)}
  /* foto del Lic. */
  .lic-photo{margin:0}
  .lic-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 12%;border-radius:var(--radius);border:0.5px solid var(--rule);display:block}
  .lic-photo figcaption{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:var(--s-sm);text-align:center}

  /* intro breve del Lic. */
  .band.intro{background:var(--paper-2)}
  .intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s-2xl);align-items:center}
  .intro-grid .lic-photo img{max-width:300px;margin:0 auto;object-position:center 28%}
  .chips{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-sm);margin:var(--s-md) 0 var(--s-lg)}
  .chips li{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:var(--paper);border:0.5px solid var(--rule);border-radius:var(--radius);padding:7px 12px}

  /* sección de contacto en azul oscuro */
  #contacto.band{background:#143150;color:var(--char-text)}
  #contacto .sec-head h2{color:var(--char-text)}
  #contacto .sec-head p{color:#AFC0D2}
  #contacto .eyebrow{color:var(--laton)}
  #contacto .sec-num{-webkit-text-stroke-color:rgba(233,237,241,.18)}
  #contacto label{color:#C3D0DE}
  #contacto input,#contacto select,#contacto textarea{background:#1B3A5A;border-color:rgba(233,237,241,.22);color:var(--char-text)}
  #contacto input::placeholder,#contacto textarea::placeholder{color:#8DA0B4}
  #contacto input:focus,#contacto select:focus,#contacto textarea:focus{border-color:var(--laton)}
  #contacto .btn{background:var(--laton);border-color:var(--laton)}
  #contacto .btn span{color:#13233A}
  #contacto .btn::before{background:#9A763E}
  #contacto .micro-cta{color:var(--laton)}
  #contacto .micro-cta::after{background:var(--laton)}
  #contacto .form-hint{color:#8DA0B4}
  #contacto .contact-info .ck{color:var(--laton)}
  #contacto .contact-info .cv,#contacto .contact-info .cv a{color:var(--char-text)}
  #contacto .contact-info .cv a{border-bottom-color:rgba(233,237,241,.3)}
  #contacto .mode{border-color:rgba(233,237,241,.25);color:#C3D0DE}
  #contacto .loc-card{border-color:rgba(233,237,241,.2);border-top-color:var(--laton)}
  #contacto .loc-card .lk{color:var(--laton)}
  #contacto .loc-card .lp{color:var(--char-text)}
  #contacto .loc-card .btn.ghost{background:transparent;border-color:rgba(233,237,241,.4)}
  #contacto .loc-card .btn.ghost span,#contacto .loc-card .btn.ghost:hover span{color:var(--char-text)}
  #contacto .loc-card .btn.ghost::before{background:rgba(233,237,241,.08)}

  /* reveal */
  .rv{opacity:0;transform:translateY(16px)}
  .rv.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}

  @media (max-width:860px){
    .intro-grid,.sobre-grid,.contact-grid{grid-template-columns:1fr;gap:var(--s-xl)}
    .hero{padding:var(--s-2xl) 0 var(--s-xl)}
    .hero-grid{grid-template-columns:1fr 170px;gap:var(--s-lg);align-items:center}
    .hero h1{font-size:clamp(2.1rem,6.2vw,3.2rem)}
    .hero-mark img{max-width:170px}
    .why-grid,.cases{grid-template-columns:1fr}
    .testi{grid-template-columns:1fr}
    .foot-in{grid-template-columns:1fr;gap:var(--s-xl)}
    nav.links{display:none}
    nav.links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:var(--hair);padding:var(--s-sm) var(--s-md)}
    nav.links.open .nlink{padding:12px 0;border-bottom:var(--hair)}
    nav.links.open .btn{margin:var(--s-sm) 0}
    .menu-tgl{display:inline-block}
    .area{grid-template-columns:40px 1fr;gap:var(--s-md)}
    .area .acta{grid-column:1/-1;align-self:start}
    .team{grid-template-columns:repeat(2,1fr);gap:var(--s-sm)}
    .team .t{padding:var(--s-sm)}
    .team .tn{font-size:1.5rem}
  }
  @media (max-width:560px){
    .hero .wrap{position:relative}
    .hero-grid{display:block}
    .hero-copy{position:relative;z-index:1;max-width:88%}
    .hero-mark{position:absolute;top:0;right:-26px;bottom:0;display:flex;align-items:center;justify-content:flex-end;margin:0;opacity:.12;z-index:0;pointer-events:none}
    .hero-mark img{width:72vw;max-width:280px}
    .hero h1{font-size:clamp(2.2rem,9vw,2.8rem)}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    .rv{opacity:1!important;transform:none!important}
  }

/* ============================================================
   PÁGINAS SECUNDARIAS (áreas, legales)
   ============================================================ */
.page-hero{padding:var(--s-2xl) 0 var(--s-xl);border-bottom:var(--hair);position:relative;z-index:2}
.page-hero h1{font-family:var(--serif);font-weight:600;font-size:var(--fs-h1);letter-spacing:.03em;line-height:1.12;margin:var(--s-md) 0 0;max-width:20ch}
.page-hero .lead{color:var(--ink-2);font-size:var(--fs-body-lg);max-width:56ch;margin:var(--s-md) 0 0}
.crumbs{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.crumbs a{color:var(--ink-2);border-bottom:1px solid var(--rule)}
.crumbs a:hover{color:var(--lacre)}
.crumbs span{margin:0 6px;color:var(--rule)}
.page-body{padding:var(--s-2xl) 0;position:relative;z-index:2}
.page-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:var(--s-2xl);align-items:start}
.page-grid h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-h3);letter-spacing:.03em;margin:var(--s-xl) 0 var(--s-sm)}
.page-grid h2:first-child{margin-top:0}
.page-grid h3{font-family:var(--serif);font-weight:500;font-size:var(--fs-h4);letter-spacing:.02em;margin:var(--s-lg) 0 var(--s-xs)}
.page-grid p{color:var(--ink-2);margin-bottom:var(--s-md)}
.page-grid ul{list-style:none;margin:0 0 var(--s-md)}
.page-grid ul:not(.aside-list) li{color:var(--ink-2);font-size:var(--fs-small);padding:7px 0 7px 20px;position:relative;border-bottom:var(--hair)}
.page-grid ul:not(.aside-list) li::before{content:"§";position:absolute;left:0;color:var(--lacre);font-family:var(--serif)}
.aside-card{border:var(--hair);border-top:3px solid var(--lacre);border-radius:var(--radius);padding:var(--s-lg);position:sticky;top:96px}
.aside-card .ak{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.14em;text-transform:uppercase;color:var(--lacre-deep)}
.aside-card p{font-size:var(--fs-small);color:var(--ink-2);margin:8px 0 var(--s-md)}
.aside-card .btn{width:100%;justify-content:center;margin-bottom:var(--s-sm)}
.aside-list{list-style:none;margin-top:var(--s-md);border-top:var(--hair);padding-top:var(--s-md)}
.aside-list li{padding:8px 0;border-bottom:var(--hair)}
.aside-list li:last-child{border-bottom:none}
.aside-list li::before{content:none;display:none}
.aside-list a{font-size:var(--fs-small);color:var(--ink-2);border-bottom:1px solid transparent}
.aside-list a:hover{color:var(--lacre);border-bottom-color:var(--rule)}
.aside-list a[aria-current="page"]{color:var(--lacre);font-weight:500}
.legal-note{background:var(--paper-2);border-left:3px solid var(--lacre);border-radius:var(--radius);padding:var(--s-md) var(--s-lg);margin:var(--s-lg) 0}
.legal-note p{font-size:var(--fs-small);margin:0}
.doc-meta{font-family:var(--mono);font-size:var(--fs-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:var(--s-lg)}
.prose-legal h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-h4);letter-spacing:.03em;margin:var(--s-xl) 0 var(--s-sm)}
.prose-legal p,.prose-legal li{color:var(--ink-2);font-size:var(--fs-small)}
.prose-legal p{margin-bottom:var(--s-md);max-width:72ch}
.prose-legal ul{list-style:none;margin:0 0 var(--s-md);max-width:72ch}
.prose-legal li{padding:6px 0 6px 20px;position:relative}
.prose-legal li::before{content:"§";position:absolute;left:0;color:var(--lacre);font-family:var(--serif)}
.cta-band{background:var(--char);color:var(--char-text);padding:var(--s-2xl) 0;position:relative;z-index:2;text-align:center}
.cta-band h2{font-family:var(--serif);font-weight:500;font-size:var(--fs-h2);letter-spacing:.04em;margin-bottom:var(--s-sm)}
.cta-band p{color:#AEB8C4;max-width:52ch;margin:0 auto var(--s-lg)}
.cta-band .btn{background:var(--laton);border-color:var(--laton)}
.cta-band .btn span{color:#13233A}
.cta-band .btn::before{background:#9A763E}
.area-index{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-md);margin-top:var(--s-lg)}
.area-index a{border:var(--hair);border-left:2px solid var(--lacre);border-radius:var(--radius);padding:var(--s-md) var(--s-lg);display:block}
.area-index a:hover{background:var(--paper-2)}
.area-index .ai-t{font-family:var(--serif);font-size:var(--fs-h4);font-weight:500;letter-spacing:.02em}
.area-index .ai-d{font-size:var(--fs-small);color:var(--ink-2);margin-top:4px}
@media (max-width:860px){
  .page-grid{grid-template-columns:1fr;gap:var(--s-xl)}
  .aside-card{position:static}
  .area-index{grid-template-columns:1fr}
}


/* ============================================================
   QA · formulario (honeypot, consentimiento, estado de envío)
   ============================================================ */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{font-size:var(--fs-caption);color:#AFC0D2;margin-top:var(--s-md);max-width:60ch;line-height:1.55}
.consent a{color:var(--laton);border-bottom:1px solid rgba(176,139,79,.5)}
.consent strong{color:var(--char-text);font-weight:500}
.form-status{font-size:var(--fs-small);margin-top:var(--s-sm);padding:10px 14px;border-radius:var(--radius);line-height:1.5}
.form-status.ok{background:rgba(176,139,79,.14);border-left:3px solid var(--laton);color:#F0E4CF}
.form-status.err{background:rgba(255,255,255,.08);border-left:3px solid #E28E7A;color:#FBD9CB}
.menu-tgl{display:none;align-items:center;justify-content:center;color:var(--ink)}
@media (max-width:860px){ .menu-tgl{display:inline-flex} }
