/*
Theme Name: Figueroa Cabán & Reynoso Vázquez
Theme URI: https://figueroareynoso.com
Author: Figueroa Cabán & Reynoso Vázquez
Description: Tema a la medida para la firma de práctica apelativa Figueroa Cabán & Reynoso Vázquez. Textos editables desde Apariencia → Personalizar.
Version: 3.4
License: GNU General Public License v2 or later
Text Domain: fcrv
*/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  :root{
    --navy:#0D1B2A; --navy-mid:#102134; --gold:#BFA274; --gold-light:#D6BD8C; --gold-deep:#8C6D35; --gold-grad:linear-gradient(180deg,#E8D0A5 0%,#BDA077 52%,#8C6D35 100%);
    --cream:#F5F0E8; --white:#fff;
    --muted:rgba(245,240,232,.60); --dim:rgba(245,240,232,.38);
    --line:rgba(191,162,116,.20); --line-strong:rgba(191,162,116,.42);
  }
  html{scroll-behavior:smooth}
  body{background:var(--navy);color:var(--cream);font-family:'EB Garamond',Georgia,serif;
       font-size:19px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  img{display:block;max-width:100%}
  a{color:inherit}
  ::selection{background:var(--gold);color:var(--navy)}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px}

  .wrap{width:88%;max-width:1140px;margin:0 auto}
  .narrow{max-width:760px}
  .eyebrow{font-family:'Cormorant SC',serif;font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:500}
  h2.title{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.12;letter-spacing:.004em;
           font-size:clamp(1.9rem,3.8vw,2.85rem);margin-top:1.1rem}
  .hr{height:1px;width:60px;background:var(--line-strong);margin-top:1.7rem}
  .hr.center{margin-left:auto;margin-right:auto}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
  .reveal.vis{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

  /* NAV */
  nav{position:fixed;inset:0 0 auto 0;z-index:100;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;
      padding:.55rem 6%;background:rgba(13,27,42,.78);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transition:background .3s}
  .brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
  .nav-logo-img{height:38px;width:auto}
  .brand-txt{font-family:'Cormorant SC',serif;font-size:13.5px;letter-spacing:.15em;color:var(--cream);line-height:1}
  .brand-txt small{display:block;font-size:8px;letter-spacing:.26em;color:var(--gold);margin-top:3px}
  .nav-links{display:flex;gap:1.5rem;list-style:none;align-items:center;flex-wrap:wrap;justify-content:flex-end}
  .nav-links a{font-family:'Cormorant SC',serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .25s}
  .nav-links a:hover{color:var(--gold)}
  .nav-links .nav-legal a{color:var(--dim)}
  .nav-links .nav-legal:first-of-type{margin-left:.5rem;padding-left:1.3rem;border-left:1px solid var(--line)}
  /* Botón hamburguesa (oculto en escritorio) */
  .nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:9px;background:none;border:none;cursor:pointer;flex-shrink:0}
  .nav-toggle span{display:block;width:100%;height:2px;background:var(--gold);border-radius:2px;transition:transform .3s ease,opacity .25s ease}
  #nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  #nav.open .nav-toggle span:nth-child(2){opacity:0}
  #nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  @media(max-width:980px){
    .brand-txt{font-size:12px}
    .nav-toggle{display:flex}
    .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;
               background:rgba(13,27,42,.98);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:0 solid var(--line);
               padding:0 6%;max-height:0;overflow:hidden;opacity:0;pointer-events:none;transition:max-height .38s ease,opacity .3s ease,padding .3s ease,border-width .3s ease}
    #nav.open .nav-links{max-height:85vh;opacity:1;pointer-events:auto;padding-top:.25rem;padding-bottom:1.2rem;border-bottom-width:1px}
    .nav-links li{width:100%}
    .nav-links a{display:block;width:100%;padding:.95rem 0;font-size:13px;border-bottom:1px solid rgba(191,162,116,.10)}
    .nav-links .nav-legal:first-of-type{margin-left:0;padding-left:0;border-left:none}
  }

  /* Botón volver arriba */
  .to-top{position:fixed;right:22px;bottom:22px;z-index:120;width:46px;height:46px;display:flex;align-items:center;justify-content:center;
          background:rgba(13,27,42,.86);color:var(--gold);border:1px solid var(--line-strong);border-radius:50%;
          -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;
          opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s,transform .3s,background .25s,color .25s}
  .to-top.show{opacity:1;transform:none;pointer-events:auto}
  .to-top:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
  @media(prefers-reduced-motion:reduce){.to-top{transition:opacity .2s}}

  /* HERO */
  .hero{min-height:94vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:130px 7% 90px;position:relative}
  .hero::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(ellipse 56% 46% at 50% 34%,rgba(191,162,116,.12),transparent 72%)}
  .hero-logo{width:min(540px,86vw);height:auto;position:relative;z-index:2;margin-bottom:2.8rem}
  .hero h1{position:relative;z-index:2;font-family:'Cormorant Garamond',serif;font-weight:400;
           font-size:clamp(1.8rem,3.7vw,2.9rem);line-height:1.2;max-width:25ch;letter-spacing:.004em}
  .hero h1 em{font-style:italic;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero .lead{position:relative;z-index:2;margin:2rem auto 0;max-width:52ch;font-size:clamp(1.22rem,2.1vw,1.5rem);color:rgba(245,240,232,.82);font-style:italic;line-height:1.6}
  .hero-sep{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:.75rem;margin:2.1rem 0 0}
  .hero-sep .l{width:40px;height:1px;background:var(--line-strong)}
  .hero-sep .d{width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
  .hero .cta{position:relative;z-index:2;margin-top:2.8rem;font-family:'Cormorant SC',serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;
             color:var(--gold);text-decoration:none;border:1px solid var(--line-strong);padding:.95rem 1.9rem;transition:.28s;display:inline-block}
  .hero .cta:hover{background:var(--gold-grad);color:var(--navy);border-color:transparent}

  /* SECTION rhythm */
  section{padding:8.5rem 0;border-top:1px solid var(--line);scroll-margin-top:96px}
  section.alt{background:var(--navy-mid)}

  /* editorial split */
  .split{display:grid;grid-template-columns:.8fr 1.2fr;gap:4.5rem;align-items:start}
  .split .body p{color:var(--muted);margin-bottom:1.4rem}
  .split .body p:last-child{margin-bottom:0}
  @media(max-width:860px){.split{grid-template-columns:1fr;gap:1.6rem}}

  /* practice list */
  .pa-head{margin-bottom:2.6rem}
  .pa-group{margin-top:3.4rem}
  .pa-gtitle{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(1.35rem,2.4vw,1.6rem);background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:.01em;width:fit-content}
  .pa-gsub{font-style:italic;color:rgba(245,240,232,.72);font-size:1.14rem;margin-top:.35rem}
  .pa-list{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;margin-top:1.3rem}
  .pa-list .row{display:flex;align-items:baseline;gap:.95rem;padding:1.05rem 0;border-top:1px solid var(--line)}
  .pa-list .row .d{width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;position:relative;top:-.35em}
  .pa-list .row .t{font-family:'Cormorant Garamond',serif;font-size:1.22rem;color:var(--cream);line-height:1.32}
  @media(max-width:860px){.pa-list{grid-template-columns:1fr;column-gap:0}}

  /* partners */
  .ph{text-align:center;margin-bottom:4.5rem}
  .ph .hr{margin-left:auto;margin-right:auto}
  .duo{display:grid;grid-template-columns:1fr 1fr;gap:5rem}
  .person .portrait{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;border:1px solid var(--line-strong);
                    box-shadow:0 24px 60px rgba(0,0,0,.45)}
  .person .portrait img{width:100%;height:100%;object-fit:cover}
  .person .ptag{font-family:'Cormorant SC',serif;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);
                margin:1.8rem 0 .9rem;display:flex;align-items:center;gap:.6rem}
  .person .ptag::after{content:"";flex:1;height:1px;background:var(--line)}
  .person h3{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:1.6rem;line-height:1.2}
  .person .role{font-family:'Cormorant SC',serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);margin:.6rem 0 1.2rem;line-height:1.5}
  .person .bio{color:var(--muted);font-size:1.04rem;line-height:1.7}
  @media(max-width:860px){.duo{grid-template-columns:1fr;gap:3.5rem;max-width:440px;margin:0 auto}}

  /* statement / enfoque */
  .statement{text-align:center}
  .statement .title{margin-top:1.1rem}
  .statement .body{max-width:60ch;margin:2rem auto 0;color:var(--muted)}

  /* closing line */
  .closing{padding:7rem 0;text-align:center;border-top:1px solid var(--line);background:var(--navy-mid)}
  .closing p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;
             font-size:clamp(1.35rem,2.6vw,1.95rem);line-height:1.5;background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;max-width:24ch;margin:0 auto}

  /* contact */
  .contact{text-align:center}
  .contact .hr{margin-left:auto;margin-right:auto}
  .contact .intro{max-width:56ch;margin:1.8rem auto 0;color:rgba(245,240,232,.82);font-style:italic;font-size:clamp(1.15rem,1.9vw,1.34rem);line-height:1.6}
  .cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;margin:4rem 0 3rem;text-align:left}
  .cgrid--2{grid-template-columns:repeat(2,minmax(0,280px));justify-content:center;gap:3.4rem}
  .cgrid .clabel{font-family:'Cormorant SC',serif;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1rem}
  .cgrid .cname{font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:var(--cream);margin-bottom:.5rem}
  .cgrid p{color:var(--muted);font-size:1rem;line-height:1.6}
  .cgrid a{color:var(--muted);text-decoration:none;display:block;margin-top:.3rem;transition:color .25s;font-size:.94rem;word-break:normal;overflow-wrap:normal}
  .cgrid a:hover{color:var(--gold)}
  .contact .cta{font-family:'Cormorant SC',serif;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);font-weight:500;
                background:var(--gold-grad);text-decoration:none;padding:1rem 2.1rem;display:inline-block;transition:filter .28s;box-shadow:0 8px 24px rgba(191,162,116,.24)}
  .contact .cta:hover{filter:brightness(1.07)}
  @media(max-width:860px){.cgrid{grid-template-columns:1fr;gap:2rem}}

  /* footer */
  footer{padding:4.5rem 0 3.2rem;text-align:center;border-top:1px solid var(--line)}
  .footer-logo{width:min(360px,72vw);height:auto;margin:0 auto}
  .fmeta{font-size:.88rem;color:var(--dim);margin-top:1.6rem;font-style:italic}
  .fmeta span{display:block;font-family:'Cormorant SC',serif;font-style:normal;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
  .footer-legal{margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap}
  .footer-legal a{font-family:'Cormorant SC',serif;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .25s}
  .footer-legal a:hover{color:var(--gold)}
  .footer-legal .sep{color:var(--dim)}

  /* Páginas interiores (Aviso legal, Privacidad, etc.) */
  .legal{padding:9rem 0 7rem;border-top:1px solid var(--line);min-height:70vh}
  .legal .title{margin-top:1rem;font-size:clamp(2rem,4vw,2.9rem)}
  .legal-content{margin-top:3rem;color:var(--muted);font-size:1.08rem;line-height:1.8}
  .legal-content p{margin-bottom:1.4rem}
  .legal-content h2{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--cream);font-size:1.5rem;margin:2.6rem 0 1rem;line-height:1.25}
  .legal-content h3{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--gold-light);font-size:1.2rem;margin:2rem 0 .8rem}
  .legal-content ul,.legal-content ol{margin:0 0 1.4rem 1.4rem}
  .legal-content li{margin-bottom:.6rem}
  .legal-content a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--line-strong)}
  .legal-content strong{color:var(--cream);font-weight:500}
  .legal-back{margin-top:3.5rem}
  .legal-back a{font-family:'Cormorant SC',serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);text-decoration:none}
  .legal-back a:hover{color:var(--gold-light)}
