    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box
    }

    html {
      scroll-behavior: smooth
    }

    :root {
      --K: #111010;
      --D: #1C1C1C;
      --W: #FDFCFA;
      --GP: #F8F6F2;
      --GM: #4A4A4A;
      --G: #B8962E;
      --GB: #D4AA3A;
      --GLP: #F7F0DC
    }

    body {
      font-family: 'Mulish', sans-serif;
      background: var(--W);
      color: var(--K);
      overflow-x: hidden
    }

    a {
      color: #B8962E;
      text-decoration: none;
      transition: color .3s;
    }

    a:hover {
      text-decoration: underline;
    }

    nav {
      background: var(--K);
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 1.6rem 6%;
      border-bottom: 1px solid rgba(184, 150, 46, .2);
      position: relative;
    }

    .ln {
      font-family: 'Playfair Display', serif;
      font-size: 2rem;
      font-weight: 700;
      letter-spacing: .08em;
      color: var(--GB);
      text-transform: uppercase
    }

    .ls {
      font-family: 'DM Mono', monospace;
      font-size: .88rem;
      letter-spacing: .3em;
      text-transform: uppercase;
      color: rgba(233, 188, 67, .85);
      margin-top: 13px;
      display: block
    }

    .nav-brand-link {
      display: block;
    }

    .nav-brand-row {
      display: inline-flex;
      align-items: center;
      gap: 0.9rem;
    }

    .nav-logo {
      height: 36px;
      width: auto;
      display: block;
      flex-shrink: 0;
    }

    .nav-brand-text {
      display: flex;
      flex-direction: column;
    }

    .nav-brand-text .ls {
      margin-top: 4px;
    }

    .navmenu {
      display: flex;
      gap: 1.5rem;
      margin-top: 1.5rem;
      flex-wrap: wrap;
    }

    .navmenu-close {
      display: none;
    }

    .navmenu a {
      font-family: 'DM Mono', monospace;
      font-size: 1rem;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: #FFFFFF;
      text-decoration: none;
      transition: color .3s;
      position: relative;
    }

    .navmenu a:not(:last-child)::after {
      content: '\00B7';
      position: absolute;
      right: -0.75rem;
      top: 50%;
      transform: translate(50%, -50%);
      color: rgba(233, 188, 67, .4);
      font-size: 1rem;
      pointer-events: none;
    }

    .navmenu a:hover {
      color: var(--G);
    }

    .hamburger {
      display: none;
    }

    @media(max-width:900px) {
      .nav-left {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        width: 100%;
      }

      .nav-branding {
        flex: 1;
        padding-right: 15px;
      }

      /* En móvil: logo arriba (flex-start), subtítulo alineado con la J de Juris */
      .nav-brand-row {
        align-items: flex-start;
      }

      .ln {
        font-size: 1.3rem;
      }

      .hamburger {
        display: block;
        background: transparent;
        border: none;
        color: var(--G);
        cursor: pointer;
        padding: 5px;
      }

      .nc {
        display: none;
      }

      .navmenu {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #1a1c24;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
        z-index: 999;
        padding: 2rem 2rem 4rem;
        box-sizing: border-box;
      }

      .navmenu.active {
        display: flex;
        animation: slideDown 0.3s ease;
      }

      @keyframes slideDown {
        from { transform: translateY(-100%); opacity: 0; }
        to   { transform: translateY(0);    opacity: 1; }
      }

      .navmenu a {
        font-size: 1.1rem;
        letter-spacing: .15em;
        padding: 1rem 0;
        width: 100%;
        text-align: center;
        border-bottom: 1px solid rgba(255,255,255,.07);
      }

      .navmenu a:first-of-type {
        border-top: 1px solid rgba(255,255,255,.07);
      }

      .navmenu a:last-child {
        border-bottom: none;
      }

      .navmenu a:not(:last-child)::after {
        display: none;
      }

      .navmenu-close {
        display: block;
        position: absolute;
        top: 1.4rem;
        right: 1.6rem;
        background: transparent;
        border: none;
        color: #fff;
        cursor: pointer;
        padding: 6px;
        line-height: 0;
        z-index: 1001;
        pointer-events: auto;
      }
    }

    .nc {
      font-family: 'DM Mono', monospace;
      font-size: .6rem;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: var(--GB);
      text-decoration: none;
      border: 1px solid rgba(184, 150, 46, .45);
      padding: .6rem 1.3rem;
      transition: all .3s
    }

    .nc:hover {
      background: var(--G);
      color: var(--K)
    }

    .hero {
      background: var(--K);
      padding: 3rem 6% 5rem;
      position: relative;
      overflow: hidden;
      min-height: 90vh;
      display: flex;
      flex-direction: column;
      justify-content: center
    }

    .hg {
      position: absolute;
      inset: 0;
      background-image: repeating-linear-gradient(0deg, transparent, transparent 80px, rgba(184, 150, 46, .025) 80px, rgba(184, 150, 46, .025) 81px), repeating-linear-gradient(90deg, transparent, transparent 80px, rgba(184, 150, 46, .025) 80px, rgba(184, 150, 46, .025) 81px);
      pointer-events: none
    }

    .hgl {
      position: absolute;
      top: -120px;
      right: -120px;
      width: 550px;
      height: 550px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(184, 150, 46, .1) 0%, transparent 70%);
      pointer-events: none
    }

    .hi {
      position: relative;
      z-index: 2
    }

    .ey {
      font-family: 'DM Mono', monospace;
      font-size: 1rem;
      letter-spacing: .35em;
      text-transform: uppercase;
      color: var(--G);
      display: flex;
      align-items: center;
      gap: .8rem;
      margin-bottom: 2rem;
      animation: fu .7s ease both
    }

    .eyl {
      width: 36px;
      height: 1px;
      background: var(--G)
    }

    h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(3.2rem, 7vw, 7rem);
      font-weight: 900;
      line-height: 1;
      color: var(--W);
      max-width: 850px;
      margin-bottom: 2rem;
      animation: fu .7s ease .1s both
    }

    h1 em {
      font-style: italic;
      color: var(--GB)
    }

    .hp {
      font-size: 1.70rem;
      line-height: 1.70;
      color: rgba(253, 252, 250, .58);
      max-width: 650px;
      margin-bottom: 2.8rem;
      font-weight: 300;
      animation: fu .7s ease .2s both
    }

    @media (max-width: 900px) {
      .hp {
        font-size: 1.20rem;
        line-height: 1.45;
      }
    }

    .hp strong {
      color: var(--W);
      font-weight: 600
    }

    .btnrow {
      display: flex;
      gap: 1rem;
      flex-wrap: wrap;
      animation: fu .7s ease .3s both
    }

    .bg {
      background: var(--G);
      color: var(--K);
      padding: 1.4rem 2.2rem;
      font-family: 'Mulish', sans-serif;
      font-size: .98rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      border: 2px solid var(--G);
      transition: all .3s
    }

    .bg:hover {
      background: var(--GB);
      border-color: var(--GB);
      transform: translateY(-2px)
    }

    .bgh {
      background: transparent;
      color: rgba(253, 252, 250, .65);
      padding: 1rem 2.2rem;
      font-family: 'Mulish', sans-serif;
      font-size: .78rem;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      border: 1px solid rgba(253, 252, 250, .18);
      transition: all .3s
    }

    .bgh:hover {
      border-color: var(--G);
      color: var(--GB)
    }


    .alrt {
      background: var(--D);
      padding: 4rem 6%;
      border-top: 2px solid var(--G);
      position: relative;
      overflow: hidden
    }

    .alrtbg {
      position: absolute;
      right: -1rem;
      top: 50%;
      transform: translateY(-50%);
      font-family: 'Playfair Display', serif;
      font-size: 16rem;
      font-weight: 900;
      color: rgba(184, 150, 46, .04);
      line-height: 1;
      pointer-events: none;
      user-select: none
    }

    .alrtg {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
      position: relative;
      z-index: 1
    }

    .alrtl {
      font-family: 'DM Mono', monospace;
      font-size: .9rem;
      letter-spacing: .3em;
      text-transform: uppercase;
      color: var(--G);
      display: flex;
      align-items: center;
      gap: .6rem;
      margin-bottom: 1.2rem
    }

    .alrtl span {
      width: 24px;
      height: 1px;
      background: var(--G);
      display: inline-block
    }

    .alrtt {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.5rem, 2.8vw, 2.2rem);
      font-weight: 700;
      color: var(--W);
      line-height: 1.25;
      margin-bottom: 1.2rem
    }

    .alrtt em {
      font-style: italic;
      color: var(--GB)
    }

    .alrtp {
      font-size: 1.2rem;
      line-height: 1.9;
      color: rgba(253, 252, 250, .55)
    }

    .alrtp strong {
      color: rgba(253, 252, 250, .85)
    }

    .alrtp em {
      font-style: italic
    }

    .sts {
      display: flex;
      flex-direction: column
    }

    .st {
      display: flex;
      align-items: flex-start;
      gap: 1.5rem;
      padding: 1.8rem 0;
      border-bottom: 1px solid rgba(184, 150, 46, .12)
    }

    .st:last-child {
      border-bottom: none
    }

    .stn {
      font-family: 'Playfair Display', serif;
      font-size: 2.8rem;
      font-weight: 900;
      color: var(--GB);
      line-height: 1;
      flex-shrink: 0;
      min-width: 140px;
      text-align: right;
    }

    .stl {
      font-family: 'DM Mono', monospace;
      font-size: .9rem;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: rgba(233, 188, 67, .55);
      margin-bottom: .4rem
    }

    .std {
      font-size: 1.2rem;
      line-height: 1.7;
      color: rgba(253, 252, 250, .45)
    }

    .warn {
      margin-top: 2.5rem;
      padding: 1.2rem 1.8rem;
      background: rgba(155, 44, 44, .15);
      border: 1px solid rgba(155, 44, 44, .3);
      display: flex;
      align-items: center;
      gap: 1rem;
      position: relative;
      z-index: 1
    }

    .pu {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #E53E3E;
      flex-shrink: 0;
      animation: bl 1.4s infinite
    }

    @keyframes bl {

      0%,
      100% {
        opacity: 1;
        transform: scale(1)
      }

      50% {
        opacity: .35;
        transform: scale(.6)
      }
    }

    .warn p {
      font-family: 'DM Mono', monospace;
      font-size: .9rem;
      letter-spacing: .15em;
      text-transform: uppercase;
      color: rgba(253, 252, 250, .65);
      line-height: 1.7
    }

    .sec {
      padding: 5.5rem 6%
    }

    .tag {
      font-family: 'DM Mono', monospace;
      font-size: .9rem;
      letter-spacing: .3em;
      text-transform: uppercase;
      color: var(--G);
      display: flex;
      align-items: center;
      gap: .6rem;
      margin-bottom: 1rem
    }

    .tag::before {
      content: '';
      width: 22px;
      height: 1px;
      background: var(--G)
    }

    .sh {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.8rem, 3.2vw, 2.6rem);
      font-weight: 700;
      line-height: 1.2;
      color: var(--K);
      margin-bottom: 1.2rem
    }

    .sh em {
      font-style: italic;
      color: var(--G)
    }

    .rv {
      opacity: 0;
      transform: translateY(22px);
      transition: opacity .7s ease, transform .7s ease
    }

    .rv.on {
      opacity: 1;
      transform: none
    }

    @keyframes fu {
      from {
        opacity: 0;
        transform: translateY(22px)
      }

      to {
        opacity: 1;
        transform: none
      }
    }

    .pcards {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2px;
      background: rgba(184, 150, 46, .1)
    }

    .pcard {
      background: var(--GP);
      padding: 2.5rem;
      position: relative;
      transition: background .3s
    }

    .pcard:hover {
      background: var(--GLP)
    }

    .pcard::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 3px;
      height: 100%;
      background: var(--G)
    }

    .ptag {
      font-family: 'DM Mono', monospace;
      font-size: .9rem;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: var(--G);
      margin-bottom: .8rem
    }

    .ptit {
      font-family: 'Playfair Display', serif;
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--K);
      margin-bottom: .8rem;
      line-height: 1.3
    }

    .pbdy {
      font-size: 1rem;
      line-height: 1.85;
      color: var(--GM)
    }

    .pbdy strong {
      color: var(--K);
      font-weight: 700
    }

    .pbdy ul {
      margin-top: 1.2rem;
      padding-left: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.8rem;
    }

    .pbdy ul li {
      position: relative;
      padding-left: 1.2rem;
      line-height: 1.6;
    }

    .pbdy ul li::before {
      content: '\25C6';
      color: var(--G);
      font-size: 0.65rem;
      position: absolute;
      left: 0;
      top: 0.4rem;
    }

    .pnote {
      margin-top: 2px;
      background: var(--D);
      padding: 2rem 2.5rem;
      display: flex;
      align-items: center;
      gap: 1.2rem
    }

    .pnotedot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--G);
      flex-shrink: 0
    }

    .pnote p {
      font-size: 1rem;
      line-height: 1.8;
      color: rgba(253, 252, 250, .6)
    }

    .pnote strong {
      color: var(--GB)
    }

    .wcards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2px;
      margin-top: 3rem;
      background: rgba(184, 150, 46, .12)
    }

    .wcard {
      background: var(--W);
      padding: 2.5rem 2rem;
      transition: background .3s
    }

    .wcard:hover {
      background: var(--GLP)
    }

    .wcnum {
      font-family: 'Playfair Display', serif;
      font-size: 3rem;
      font-weight: 900;
      color: rgba(184, 150, 46, .1);
      line-height: 1;
      margin-bottom: 1rem
    }

    .wctit {
      font-family: 'Playfair Display', serif;
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--K);
      margin-bottom: .7rem;
      line-height: 1.3
    }

    .wcdsc {
      font-size: 1rem;
      line-height: 1.8;
      color: var(--GM)
    }

    .procs {
      background: var(--K)
    }

    .procs .tag {
      color: var(--G)
    }

    .procs .sh {
      color: var(--W)
    }

    .procs .sh em {
      color: var(--GB)
    }

    .procsl {
      font-size: 1.2rem;
      line-height: 1.85;
      color: rgba(253, 252, 250, .5);
      max-width: 600px;
      margin-top: .8rem
    }

    .steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin-top: 3.5rem;
      border: 1px solid rgba(184, 150, 46, .15)
    }

    .step {
      padding: 2.5rem;
      border-right: 1px solid rgba(184, 150, 46, .12);
      position: relative;
      transition: background .3s
    }

    .step:last-child {
      border-right: none
    }

    .step:hover {
      background: rgba(184, 150, 46, .04)
    }

    .steptag {
      font-family: 'DM Mono', monospace;
      font-size: .9rem;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: var(--G);
      margin-bottom: 1rem
    }

    .stepnum {
      position: absolute;
      top: 1.5rem;
      right: 2rem;
      font-family: 'Playfair Display', serif;
      font-size: 4rem;
      font-weight: 900;
      color: rgba(184, 150, 46, .07);
      line-height: 1
    }

    .steph {
      font-family: 'Playfair Display', serif;
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--W);
      margin-bottom: .8rem;
      line-height: 1.3
    }

    .stepb {
      font-size: 1rem;
      line-height: 1.85;
      color: rgba(253, 252, 250, .48)
    }

    .stepb strong {
      color: rgba(253, 252, 250, .8);
      font-weight: 600
    }

    .wvgrid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
      margin-top: 3rem
    }

    .wvbox {
      background: var(--K);
      padding: 2.8rem;
      position: relative;
      overflow: hidden
    }

    .wvbox::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--G), rgba(184, 150, 46, .2), transparent)
    }

    .wvq {
      font-family: 'Playfair Display', serif;
      font-size: 1.35rem;
      font-style: italic;
      color: var(--W);
      line-height: 1.5;
      margin-bottom: 2rem;
      opacity: .85
    }

    .wvlist {
      display: flex;
      flex-direction: column;
      gap: 1rem
    }

    .wvitem {
      display: flex;
      gap: .8rem;
      align-items: flex-start
    }

    .wvdot {
      color: var(--G);
      font-size: .65rem;
      flex-shrink: 0;
      margin-top: .2rem
    }

    .wvtxt {
      font-size: 1rem;
      line-height: 1.7;
      color: rgba(253, 252, 250, .6)
    }

    .wvbody p {
      font-size: 1.2rem;
      line-height: 1.9;
      color: var(--GM);
      margin-bottom: 1.1rem
    }

    .wvbody strong {
      color: var(--K);
      font-weight: 700
    }

    .jmsec {
      background: var(--D);
      padding: 6rem 6%;
      position: relative;
      overflow: hidden
    }

    .jmbg {
      position: absolute;
      right: -2rem;
      top: 50%;
      transform: translateY(-50%);
      font-family: 'Playfair Display', serif;
      font-size: 22rem;
      font-weight: 900;
      color: rgba(184, 150, 46, .03);
      line-height: 1;
      pointer-events: none;
      user-select: none
    }

    .jmsec .tag {
      color: var(--G)
    }

    .jmlead {
      font-size: 1.2rem;
      line-height: 1.9;
      color: rgba(253, 252, 250, .6);
      max-width: 800px;
      margin-bottom: 4rem
    }

    .jmlead strong {
      color: var(--W)
    }

    .jmgrid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2px;
      background: rgba(184, 150, 46, .08);
      margin-bottom: 2px
    }

    .jmcard {
      background: rgba(255, 255, 255, .03);
      padding: 3rem 2.5rem;
      border-top: 2px solid rgba(184, 150, 46, .25);
      transition: background .3s
    }

    .jmcard:first-child {
      border-top-color: var(--G)
    }

    .jmcard:hover {
      background: rgba(184, 150, 46, .07)
    }

    .jmicon {
      color: #FFFFFF;
      font-size: 1.4rem;
      margin-bottom: 1.2rem
    }

    .jmtit {
      font-family: 'Playfair Display', serif;
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--W);
      margin-bottom: 1rem;
      line-height: 1.3
    }

    .jmtit em {
      font-style: italic;
      color: var(--GB)
    }

    .jmbdy {
      font-size: 1rem;
      line-height: 1.9;
      color: rgba(253, 252, 250, .55)
    }

    .jmbdy strong {
      color: rgba(253, 252, 250, .85)
    }

    .jmbdy em {
      color: rgba(253, 252, 250, .7)
    }

    .jmclose {
      background: var(--G);
      padding: 2.5rem 3rem
    }

    .jmcloseg {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 3rem;
      align-items: center
    }

    .jmcloseg a.bg {
      white-space: nowrap;
      flex-shrink: 0;
    }

    .jmcloset {
      font-family: 'Playfair Display', serif;
      font-size: 1.35rem;
      font-style: italic;
      color: var(--K);
      line-height: 1.5
    }

    .jmcloset strong {
      font-style: normal;
      font-weight: 700
    }

    .qsec {
      background: var(--D);
      padding: 5rem 6%;
      text-align: center
    }

    .qmark {
      font-family: 'Playfair Display', serif;
      font-size: 5rem;
      line-height: .6;
      color: var(--G);
      opacity: .25;
      display: block;
      margin-bottom: 1.5rem
    }

    .qtxt {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.2rem, 2.2vw, 1.8rem);
      font-style: italic;
      line-height: 1.65;
      color: var(--W);
      max-width: 780px;
      margin: 0 auto 1.5rem
    }

    .qtxt em {
      font-style: normal;
      color: var(--GB)
    }

    .qsrc {
      font-family: 'DM Mono', monospace;
      font-size: .55rem;
      letter-spacing: .25em;
      text-transform: uppercase;
      color: rgba(253, 252, 250, .28)
    }

    .ctasec {
      background: var(--G);
      padding: 5.5rem 6%;
      position: relative;
      overflow: hidden
    }

    .ctadec {
      position: absolute;
      right: -1rem;
      top: 50%;
      transform: translateY(-50%);
      font-family: 'Playfair Display', serif;
      font-size: 18rem;
      font-weight: 900;
      color: rgba(0, 0, 0, .055);
      line-height: 1;
      pointer-events: none;
      user-select: none
    }

    .ctagrid {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 4rem;
      align-items: center;
      position: relative;
      z-index: 1
    }

    .ctah {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 3.8vw, 3rem);
      font-weight: 900;
      color: var(--K);
      line-height: 1.1;
      margin-bottom: 1rem
    }

    .ctah em {
      font-style: italic
    }

    .ctap {
      font-size: 1rem;
      line-height: 1.8;
      color: rgba(0, 0, 0, .92);
      max-width: 520px
    }

    .ctacard {
      background: var(--K);
      padding: 2rem 2.2rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.2rem;
      min-width: 260px
    }

    .ctacardtit {
      font-family: 'DM Mono', monospace;
      font-size: 1rem;
      font-weight: 400;
      letter-spacing: .1em;
      color: var(--GB);
      text-align: center;
      line-height: 1.5;
      text-transform: uppercase
    }

    .ctacardsub {
      width: 100%;
      font-family: 'DM Mono', monospace;
      font-size: .85rem;
      font-weight: 400;
      letter-spacing: .12em;
      color: var(--GB);
      text-align: center;
      line-height: 1.8;
      padding-top: .8rem;
      border-top: 1px solid rgba(184, 150, 46, .25);
      text-transform: uppercase
    }

    .btndark {
      background: var(--G);
      color: var(--K);
      padding: 1.1rem 1.8rem;
      font-family: 'Mulish', sans-serif;
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: .1em;
      text-transform: uppercase;
      text-decoration: none;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: .5rem;
      width: 100%;
      border: 2px solid var(--G);
      transition: all .3s
    }

    .btndark:hover {
      background: transparent;
      color: var(--GB);
      border-color: var(--GB)
    }

    footer {
      background: var(--K);
      border-top: 1px solid rgba(184, 150, 46, .12);
      padding: 2.5rem 6%;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: .8rem;
      text-align: center
    }

    .flogo {
      font-family: 'Playfair Display', serif;
      font-size: 1.8rem;
      font-weight: 700;
      color: var(--G)
    }

    .femail {
      font-family: 'DM Mono', monospace;
      font-size: 1rem;
      letter-spacing: .15em;
      color: rgba(184, 150, 46, .6);
      text-decoration: none;
      transition: color .3s
    }

    .femail:hover {
      color: var(--GB)
    }

    .fcopy {
      font-family: 'DM Mono', monospace;
      font-size: 1rem;
      letter-spacing: .1em;
      color: rgba(253, 252, 250, .2)
    }

    @media(max-width:900px) {

      .alrtg,
      .wvgrid,
      .ctagrid,
      .jmcloseg {
        grid-template-columns: 1fr;
        gap: 2rem
      }

      .jmclose {
        padding: 2rem 1.5rem;
      }

      .jmcloset {
        font-size: 1.15rem;
        text-align: center;
      }

      .jmcloseg a.bg {
        white-space: normal;
        text-align: center;
        justify-content: center;
        width: 100%;
      }

      .pcards,
      .wcards,
      .steps,
      .jmgrid {
        grid-template-columns: 1fr
      }

      .step {
        border-right: none;
        border-bottom: 1px solid rgba(184, 150, 46, .12)
      }

      .step:last-child {
        border-bottom: none
      }

      .ctacard {
        width: 100%
      }
    }

    .faqsec {
      background: var(--GP);
      padding: 6rem 6%;
    }

    .faqwrap {
      max-width: 800px;
      margin: 0 auto;
    }

    .faqtag {
      font-family: 'DM Mono', monospace;
      font-size: .9rem;
      letter-spacing: .3em;
      text-transform: uppercase;
      color: var(--G);
      display: flex;
      align-items: center;
      gap: .6rem;
      margin-bottom: 1rem;
      justify-content: center;
    }

    .faqtag::before,
    .faqtag::after {
      content: '';
      width: 22px;
      height: 1px;
      background: var(--G);
    }

    .faqh {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.8rem, 3.2vw, 2.6rem);
      font-weight: 700;
      color: var(--K);
      line-height: 1.2;
      margin-bottom: 3rem;
      text-align: center;
    }

    .faqh em {
      font-style: italic;
      color: var(--G);
    }

    .faqlist {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }

    .faqitem {
      background: var(--W);
      border: 1px solid rgba(184, 150, 46, .15);
      transition: all .3s;
    }

    .faqitem:hover {
      border-color: rgba(184, 150, 46, .4);
    }

    .faqitem summary {
      padding: 1.5rem 2rem;
      font-family: 'Playfair Display', serif;
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--K);
      cursor: pointer;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      transition: color .3s;
    }

    .faqitem summary::-webkit-details-marker {
      display: none;
    }

    .faqitem summary::after {
      content: '+';
      color: var(--G);
      font-size: 1.5rem;
      font-weight: 400;
      transition: transform .3s;
    }

    .faqitem[open] summary {
      color: var(--G);
    }

    .faqitem[open] summary::after {
      content: '\2212';
    }

    .faqitem .faqans {
      padding: 0 2rem 1.8rem 2rem;
      font-size: 1rem;
      line-height: 1.8;
      color: var(--GM);
    }

    .faqitem .faqans strong {
      color: var(--K);
    }

    .frmsec {
      background: var(--K);
      padding: 6rem 6%;
      position: relative;
      overflow: hidden
    }

    .frmbg {
      position: absolute;
      left: -2rem;
      top: 50%;
      transform: translateY(-50%);
      font-family: 'Playfair Display', serif;
      font-size: 20rem;
      font-weight: 900;
      color: rgba(184, 150, 46, .03);
      line-height: 1;
      pointer-events: none;
      user-select: none
    }

    .frmwrap {
      max-width: 760px;
      margin: 0 auto;
      position: relative;
      z-index: 1
    }

    .frmtag {
      font-family: 'DM Mono', monospace;
      font-size: 1rem;
      letter-spacing: .3em;
      text-transform: uppercase;
      color: var(--G);
      display: flex;
      align-items: center;
      gap: .6rem;
      margin-bottom: 1rem
    }

    .frmtag::before {
      content: '';
      width: 22px;
      height: 1px;
      background: var(--G);
      display: inline-block
    }

    .frmh {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.8rem, 3vw, 2.6rem);
      font-weight: 700;
      color: var(--W);
      line-height: 1.2;
      margin-bottom: .8rem
    }

    .frmh em {
      font-style: italic;
      color: var(--GB)
    }

    .frmsub {
      font-size: 1.2rem;
      line-height: 1.8;
      color: rgba(253, 252, 250, .45);
      margin-bottom: 3rem
    }

    .frmgrid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.2rem
    }

    .frmfield {
      display: flex;
      flex-direction: column;
      gap: .4rem
    }

    .frmfield.full {
      grid-column: 1/-1
    }

    .frmlabel {
      font-family: 'DM Mono', monospace;
      font-size: .9rem;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: rgba(233, 188, 67, .7)
    }

    .frmlabel span {
      color: var(--G)
    }

    .frminput {
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(184, 150, 46, .2);
      color: var(--W);
      font-family: 'Mulish', sans-serif;
      font-size: .88rem;
      padding: .85rem 1rem;
      outline: none;
      transition: border-color .25s;
      width: 100%
    }

    .frminput::placeholder {
      color: rgba(253, 252, 250, .2)
    }

    .frminput:focus {
      border-color: rgba(184, 150, 46, .7)
    }

    .frminput.error {
      border-color: rgba(229, 62, 62, .6)
    }

    textarea.frminput {
      resize: vertical;
      min-height: 120px;
      line-height: 1.7
    }

    .frmchecks {
      display: flex;
      flex-direction: column;
      gap: .9rem;
      margin-top: .5rem
    }

    .frmcheck {
      display: flex;
      align-items: flex-start;
      gap: .9rem;
      cursor: pointer
    }

    .frmcheck input[type=checkbox] {
      appearance: none;
      -webkit-appearance: none;
      width: 16px;
      height: 16px;
      min-width: 16px;
      border: 1px solid rgba(184, 150, 46, .4);
      background: transparent;
      cursor: pointer;
      margin-top: .15rem;
      transition: all .2s;
      position: relative
    }

    .frmcheck input[type=checkbox]:checked {
      background: var(--G);
      border-color: var(--G)
    }

    .frmcheck input[type=checkbox]:checked::after {
      content: '✓';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: var(--K);
      font-size: .65rem;
      font-weight: 700
    }

    .frmcheck input[type=checkbox].error {
      border-color: rgba(229, 62, 62, .6)
    }

    .frmcheck p {
      font-size: .9rem;
      line-height: 1.7;
      color: rgba(253, 252, 250, .45)
    }

    .frmcheck p a {
      color: rgba(184, 150, 46, .8);
      text-decoration: underline
    }

    .frmcheck p span {
      color: var(--G)
    }

    .frmerr {
      font-size: .7rem;
      color: rgba(229, 62, 62, .8);
      font-family: 'DM Mono', monospace;
      letter-spacing: .05em;
      min-height: .9rem
    }

    .frmbtn {
      margin-top: 2rem;
      background: var(--G);
      color: var(--K);
      padding: 1.1rem 2.5rem;
      font-family: 'Mulish', sans-serif;
      font-size: .82rem;
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      border: 2px solid var(--G);
      cursor: pointer;
      transition: all .3s;
      display: inline-flex;
      align-items: center;
      gap: .6rem
    }

    .frmbtn:hover {
      background: var(--GB);
      border-color: var(--GB)
    }

    .frmbtn:disabled {
      opacity: .5;
      cursor: not-allowed
    }

    .frmok {
      display: none;
      background: rgba(184, 150, 46, .08);
      border: 1px solid rgba(184, 150, 46, .3);
      padding: 2rem 2.5rem;
      text-align: center;
      margin-top: 1.5rem
    }

    .frmok p {
      font-family: 'Playfair Display', serif;
      font-size: 1.1rem;
      color: var(--W);
      margin-bottom: .5rem
    }

    .frmok span {
      font-family: 'DM Mono', monospace;
      font-size: .6rem;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: rgba(184, 150, 46, .7)
    }

    .frmerrmsg {
      display: none;
      background: rgba(229, 62, 62, .08);
      border: 1px solid rgba(229, 62, 62, .3);
      padding: 1.2rem 1.8rem;
      margin-top: 1rem;
      font-size: .82rem;
      color: rgba(253, 252, 250, .6);
      line-height: 1.6
    }

    .honeypot {
      position: absolute;
      left: -9999px;
      opacity: 0;
      height: 0;
      overflow: hidden
    }

    @media(max-width:900px) {
      .frmgrid {
        grid-template-columns: 1fr
      }
    }

    /* ===== BLOG CARDS ===== */
    .bcards {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 2px;
      background: rgba(184, 150, 46, .1);
      margin-top: 3rem;
    }

    .bcard {
      background: var(--GP);
      padding: 1.5rem;
      position: relative;
      transition: background .3s;
    }

    .bcard:hover {
      background: var(--GLP);
    }

    .bcard::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 3px;
      height: 100%;
      background: var(--G);
    }

    @media(max-width:900px) {
      .bcards {
        grid-template-columns: 1fr;
      }
    }

    /* ===== BOTÓN FLOTANTE CTA ===== */
    #fab-contacto {
      position: fixed;
      bottom: 2rem;
      right: 2rem;
      z-index: 9999;
      display: none;
      /* Oculto en escritorio */
      align-items: center;
      gap: .6rem;
      background: var(--G);
      color: var(--K);
      font-family: 'Mulish', sans-serif;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .1em;
      text-transform: uppercase;
      text-decoration: none;
      padding: .95rem 1.7rem;
      border: 2px solid var(--G);
      box-shadow: 0 8px 32px rgba(184, 150, 46, .35), 0 2px 8px rgba(0, 0, 0, .25);
      cursor: pointer;
      opacity: 0;
      transform: translateY(1.5rem);
      pointer-events: none;
      transition: opacity .4s ease, transform .4s ease, background .25s, box-shadow .25s;
    }

    #fab-contacto.fab-visible {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }

    #fab-contacto:hover {
      background: var(--GB, #c8a02a);
      border-color: var(--GB, #c8a02a);
      box-shadow: 0 12px 40px rgba(184, 150, 46, .5), 0 2px 8px rgba(0, 0, 0, .3);
    }

    #fab-contacto svg {
      flex-shrink: 0;
    }

    @media (max-width: 900px) {
      #fab-contacto {
        display: flex;
        bottom: 1.2rem;
        right: 1.2rem;
        padding: .85rem 1.2rem;
        font-size: .72rem;
      }
    }