

/* AJUSTE WORDPRESS: FONDO COMPLETO + CONTENIDO CENTRADO */
html,
body,
#page,
.site,
.site-content,
.content-area,
.site-main,
article,
.entry,
.entry-content,
.wp-site-blocks,
.wp-block-post-content,
.wp-block-html {
  background:#020202 !important;
}

/* La landing ocupa el ancho disponible, sin desbordarse */
.tom-orrego-page {
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#020202 !important;
  color:#f3f0e9 !important;
}

/* Márgenes amplios para todo el contenido interno */
.tom-orrego-page .page-shell {
  width:min(calc(100% - 240px), 1120px) !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.tom-orrego-page .narrow {
  width:min(calc(100% - 280px), 820px) !important;
  max-width:820px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Evitar que el tema cambie los colores */
.tom-orrego-page,
.tom-orrego-page p,
.tom-orrego-page li,
.tom-orrego-page strong,
.tom-orrego-page span,
.tom-orrego-page a,
.tom-orrego-page h1,
.tom-orrego-page h2,
.tom-orrego-page h3,
.tom-orrego-page h4,
.tom-orrego-page h5,
.tom-orrego-page h6 {
  color:inherit;
}

.tom-orrego-page h1,
.tom-orrego-page h2,
.tom-orrego-page h3,
.tom-orrego-page .display-title,
.tom-orrego-page .section-title,
.tom-orrego-page .stage-row h3,
.tom-orrego-page .route-card h3,
.tom-orrego-page .experience-card strong,
.tom-orrego-page .video-caption strong {
  color:#f3f0e9 !important;
}

.tom-orrego-page em,
.tom-orrego-page .display-title em,
.tom-orrego-page .section-title em {
  color:rgba(255,255,255,.62) !important;
}

.tom-orrego-page p,
.tom-orrego-page .lead,
.tom-orrego-page .stage-row p,
.tom-orrego-page .route-card p,
.tom-orrego-page .route-list li,
.tom-orrego-page .experience-card p {
  color:rgba(255,255,255,.72) !important;
}

.tom-orrego-page .eyebrow,
.tom-orrego-page .stage-number,
.tom-orrego-page .route-number,
.tom-orrego-page .scroll-note,
.tom-orrego-page .video-caption span,
.tom-orrego-page .experience-card span {
  color:rgba(255,255,255,.48) !important;
}

/* Neutralizar estilos heredados del tema */
.tom-orrego-page h1,
.tom-orrego-page h2,
.tom-orrego-page h3,
.tom-orrego-page p,
.tom-orrego-page ul,
.tom-orrego-page li {
  margin-top:0;
}

.tom-orrego-page a {
  text-decoration:none !important;
}

@media (max-width: 1100px) {
  .tom-orrego-page .page-shell,
  .tom-orrego-page .narrow {
    width:min(calc(100% - 80px), 100%) !important;
  }
}

@media (max-width: 720px) {
  .tom-orrego-page .page-shell,
  .tom-orrego-page .narrow {
    width:min(calc(100% - 30px), 100%) !important;
  }
}

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap");

:root{
      --bg:#020202;
      --bg-soft:#080808;
      --text:#f3f0e9;
      --muted:#b5b1aa;
      --muted-soft:#77746f;
      --line:rgba(255,255,255,.10);
      --line-strong:rgba(255,255,255,.17);
      --glass-top:rgba(255,255,255,.11);
      --glass-bottom:rgba(255,255,255,.045);
      --accent:#d9c8aa;
      --max:1360px;
      --narrow:980px;
      --ease:cubic-bezier(.22,1,.36,1);
      --section-space:clamp(110px, 13vw, 190px);
    }


    /* OCULTAR HEADER, FOOTER Y ESPACIOS DE WORDPRESS */
    header,
    footer,
    .site-header,
    .site-footer,
    #masthead,
    #colophon,
    .wp-site-blocks > header,
    .wp-site-blocks > footer,
    .entry-header,
    .page-header,
    .entry-title,
    .page-title,
    .post-title,
    .wp-block-post-title {
      display:none !important;
    }

    html,
    body,
    #page,
    .site,
    .site-content,
    .content-area,
    .site-main,
    main,
    article,
    .entry-content,
    .wp-site-blocks,
    .wp-block-group,
    .wp-block-post-content {
      margin:0 !important;
      padding:0 !important;
      width:100% !important;
      max-width:none !important;
    }

    body::before,
    body::after {
      display:none !important;
      content:none !important;
    }

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

    html{
      scroll-behavior:smooth;
      background:var(--bg);
    }

    body{
      min-height:100vh;
      overflow-x:hidden;
      background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.045), transparent 30rem),
        var(--bg);
      color:var(--text);
      font-family:"Manrope",sans-serif;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }

    img,video{
      display:block;
      max-width:100%;
    }

    a{
      color:inherit;
      text-decoration:none;
    }

    .page-shell{
      width:min(calc(100% - 40px), var(--max));
      margin:0 auto;
    }

    .narrow{
      width:min(calc(100% - 40px), var(--narrow));
      margin:0 auto;
    }

    .serif{
      font-family:"Playfair Display",Georgia,serif;
    }

    .section{
      position:relative;
      padding:var(--section-space) 0;
    }

    .section-dark{
      background:linear-gradient(180deg, rgba(255,255,255,.018), transparent 85%);
      border-top:1px solid rgba(255,255,255,.055);
    }

    .eyebrow{
      color:rgba(255,255,255,.49);
      font-size:.70rem;
      font-weight:500;
      letter-spacing:.20em;
      text-transform:uppercase;
    }

    .display-title{
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(3rem, 6vw, 7rem);
      line-height:.99;
      font-weight:400;
      letter-spacing:-.045em;
    }

    .display-title em{
      color:rgba(255,255,255,.58);
      font-weight:400;
    }

    .section-title{
      font-family:"Playfair Display",Georgia,serif;
      max-width:950px;
      font-size:clamp(2.5rem, 4.6vw, 5.35rem);
      line-height:1.01;
      font-weight:400;
      letter-spacing:-.04em;
    }

    .section-title em{
      color:rgba(255,255,255,.55);
      font-weight:400;
    }

    .lead{
      max-width:780px;
      color:rgba(255,255,255,.72);
      font-size:clamp(1rem, 1.25vw, 1.16rem);
      line-height:1.82;
      letter-spacing:-.01em;
    }

    .glass-button{
      display:inline-flex;
      min-height:58px;
      align-items:center;
      justify-content:center;
      gap:14px;
      padding:0 25px;
      border:1px solid rgba(255,255,255,.13);
      border-radius:999px;
      background:
        linear-gradient(180deg,var(--glass-top),var(--glass-bottom));
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.11),
        0 18px 45px rgba(0,0,0,.28);
      backdrop-filter:blur(20px) saturate(130%);
      -webkit-backdrop-filter:blur(20px) saturate(130%);
      color:#fff;
      font-size:.73rem;
      font-weight:500;
      letter-spacing:.14em;
      text-transform:uppercase;
      transition:
        transform .35s var(--ease),
        border-color .35s ease,
        background .35s ease;
    }

    .glass-button:hover{
      transform:translateY(-3px);
      border-color:rgba(255,255,255,.24);
      background:
        linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.065));
    }

    .glass-button svg{
      width:16px;
      transition:transform .35s var(--ease);
    }

    .glass-button:hover svg{
      transform:translate(4px,-4px);
    }

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

    .reveal.visible{
      opacity:1;
      transform:translateY(0);
    }

    /* LOGO INTRO */
    .logo-intro{
      min-height:100svh;
      display:grid;
      grid-template-rows:1fr auto 1fr;
      align-items:center;
      justify-items:center;
      padding:0 20px;
      background:
        radial-gradient(circle at 50% 50%, rgba(255,255,255,.045), transparent 22rem),
        #020202;
    }

    .logo-spacer{
      width:100%;
      height:100%;
    }

    .logo-only{
      display:flex;
      align-items:center;
      justify-content:center;
    }

    .logo-only img{
      width:clamp(104px, 10vw, 148px);
      height:auto;
      object-fit:contain;
      filter:drop-shadow(0 0 30px rgba(255,255,255,.06));
    }

    .scroll-note{
      align-self:end;
      padding-bottom:34px;
      color:rgba(255,255,255,.30);
      font-size:.64rem;
      letter-spacing:.18em;
      text-transform:uppercase;
    }

    /* FIRST MESSAGE */
    .opening{
      padding-top:clamp(130px, 16vw, 230px);
      padding-bottom:clamp(120px, 14vw, 210px);
      text-align:center;
    }

    .opening .eyebrow{
      margin-bottom:26px;
    }

    .opening .display-title{
      max-width:1080px;
      margin:0 auto;
    }

    .opening .lead{
      margin:34px auto 0;
      max-width:820px;
    }

    .opening-actions{
      display:flex;
      justify-content:center;
      flex-wrap:wrap;
      gap:12px;
      margin-top:38px;
    }

    /* VIDEO */
    .video-stage{
      position:relative;
      overflow:hidden;
      aspect-ratio:16 / 9;
      border-radius:34px;
      background:#0b0b0b;
      border:1px solid rgba(255,255,255,.09);
      box-shadow:0 38px 100px rgba(0,0,0,.32);
    }

    .video-stage video{
      width:100%;
      height:100%;
      object-fit:cover;
      filter:brightness(.62) contrast(1.05) saturate(.88);
    }

    .video-stage::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.12) 46%,rgba(0,0,0,.58)),
        linear-gradient(135deg,rgba(255,255,255,.07),transparent 32%);
    }

    .video-placeholder{
      position:absolute;
      inset:0;
      display:flex;
      align-items:center;
      justify-content:center;
      text-align:center;
      color:rgba(255,255,255,.28);
      font-size:.68rem;
      letter-spacing:.16em;
      text-transform:uppercase;
      z-index:1;
    }

    .video-caption{
      position:absolute;
      left:28px;
      right:28px;
      bottom:24px;
      z-index:2;
      display:flex;
      align-items:end;
      justify-content:space-between;
      gap:30px;
    }

    .video-caption strong{
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(1.45rem,2.4vw,2.45rem);
      font-weight:400;
      letter-spacing:-.03em;
    }

    .video-caption span{
      color:rgba(255,255,255,.54);
      font-size:.66rem;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    /* STAGES */
    .stage-heading{
      display:grid;
      grid-template-columns:240px 1fr;
      gap:64px;
      align-items:start;
      margin-bottom:72px;
    }

    .stages{
      border-top:1px solid var(--line);
    }

    .stage-row{
      display:grid;
      grid-template-columns:120px 1fr 1fr;
      gap:44px;
      padding:42px 0;
      border-bottom:1px solid var(--line);
      align-items:start;
    }

    .stage-number{
      color:rgba(255,255,255,.34);
      font-size:.68rem;
      letter-spacing:.18em;
      text-transform:uppercase;
    }

    .stage-row h3{
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(1.8rem,3vw,3.2rem);
      line-height:1.04;
      font-weight:400;
      letter-spacing:-.035em;
    }

    .stage-row p{
      color:rgba(255,255,255,.67);
      font-size:.99rem;
      line-height:1.75;
    }

    /* EXPERIENCE */
    .experience-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
      margin-top:54px;
    }

    .experience-card{
      min-height:250px;
      padding:30px 28px;
      border:1px solid rgba(255,255,255,.09);
      border-radius:28px;
      background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
      backdrop-filter:blur(18px);
      -webkit-backdrop-filter:blur(18px);
    }

    .experience-card strong{
      display:block;
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(2.3rem,4vw,4.4rem);
      font-weight:400;
      letter-spacing:-.045em;
      line-height:1;
    }

    .experience-card span{
      display:block;
      margin-top:12px;
      color:rgba(255,255,255,.46);
      font-size:.68rem;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    .experience-card p{
      margin-top:22px;
      color:rgba(255,255,255,.67);
      line-height:1.7;
      max-width:520px;
    }

    /* VIDEO GRID CONSISTENT */
    .video-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:16px;
      margin-top:54px;
    }

    .video-grid .video-stage{
      width:100%;
      aspect-ratio:4 / 5;
      border-radius:28px;
    }

    .video-grid .video-caption{
      left:20px;
      right:20px;
      bottom:18px;
      display:block;
    }

    .video-grid .video-caption strong{
      font-size:1.45rem;
    }

    .video-grid .video-caption span{
      display:block;
      margin-top:7px;
    }

    /* ROUTES */
    .route-header{
      max-width:900px;
      margin:0 auto 52px;
      text-align:center;
    }

    .route-header .section-title{
      margin:16px auto 0;
    }

    .route-header .lead{
      margin:24px auto 0;
    }

    .routes{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:18px;
    }

    .route-card{
      display:flex;
      flex-direction:column;
      min-height:430px;
      padding:34px 30px 30px;
      border-radius:32px;
      border:1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.032));
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.09),
        0 28px 80px rgba(0,0,0,.26);
      backdrop-filter:blur(22px) saturate(125%);
      -webkit-backdrop-filter:blur(22px) saturate(125%);
    }

    .route-number{
      color:rgba(255,255,255,.34);
      font-size:.68rem;
      letter-spacing:.18em;
      text-transform:uppercase;
    }

    .route-card h3{
      margin-top:22px;
      font-family:"Playfair Display",Georgia,serif;
      font-size:clamp(2rem,3.2vw,3.5rem);
      line-height:1.02;
      font-weight:400;
      letter-spacing:-.04em;
    }

    .route-card p{
      margin-top:18px;
      color:rgba(255,255,255,.69);
      line-height:1.72;
      max-width:520px;
    }

    .route-list{
      list-style:none;
      display:grid;
      gap:12px;
      margin:26px 0 32px;
    }

    .route-list li{
      display:flex;
      gap:12px;
      color:rgba(255,255,255,.75);
      font-size:.94rem;
      line-height:1.55;
    }

    .route-list li::before{
      content:"";
      width:6px;
      height:6px;
      margin-top:9px;
      flex:0 0 auto;
      border-radius:50%;
      background:rgba(255,255,255,.72);
    }

    .route-card .glass-button{
      width:max-content;
      margin-top:auto;
    }

    /* CLOSING */
    .closing{
      text-align:center;
      padding-bottom:150px;
    }

    .closing .section-title{
      max-width:960px;
      margin:0 auto;
    }

    .closing .lead{
      margin:28px auto 0;
    }

    .closing-actions{
      display:flex;
      justify-content:center;
      flex-wrap:wrap;
      gap:12px;
      margin-top:36px;
    }

    footer{
      padding:32px 20px 38px;
      border-top:1px solid rgba(255,255,255,.055);
      color:rgba(255,255,255,.26);
      text-align:center;
      font-size:.64rem;
      letter-spacing:.16em;
      text-transform:uppercase;
    }

    @media(max-width:1000px){
      .stage-heading,
      .stage-row{
        grid-template-columns:1fr;
        gap:18px;
      }

      .stage-row{
        padding:34px 0;
      }

      .video-grid{
        grid-template-columns:1fr;
      }

      .video-grid .video-stage{
        aspect-ratio:16 / 10;
      }
    }

    @media(max-width:780px){
      .page-shell,
      .narrow{
        width:min(calc(100% - 26px), var(--max));
      }

      .logo-intro{
        min-height:92svh;
      }

      .logo-only img{
        width:100px;
      }

      .opening{
        padding-top:110px;
        padding-bottom:110px;
      }

      .experience-grid,
      .routes{
        grid-template-columns:1fr;
      }

      .video-stage{
        aspect-ratio:4 / 5;
        border-radius:25px;
      }

      .video-caption{
        left:20px;
        right:20px;
        bottom:18px;
        display:block;
      }

      .video-caption span{
        display:block;
        margin-top:8px;
      }

      .route-card{
        min-height:auto;
      }
    }

    @media(prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{
        animation:none!important;
        transition:none!important;
      }
      .reveal{
        opacity:1;
        transform:none;
      }
    }

    .scroll-cue{
      display:flex !important;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:10px;
      text-decoration:none !important;
      cursor:pointer;
    }

    .scroll-cue svg{
      width:20px;
      height:20px;
      color:rgba(255,255,255,.48);
      animation:scrollArrow 1.8s ease-in-out infinite;
    }

    @keyframes scrollArrow{
      0%,100%{
        transform:translateY(0);
        opacity:.35;
      }
      50%{
        transform:translateY(8px);
        opacity:.9;
      }
    }

    @media(prefers-reduced-motion:reduce){
      .scroll-cue svg{
        animation:none !important;
      }
    }


    .tom-orrego-page button.glass-button{
      font-family:"Manrope",sans-serif;
      cursor:pointer;
    }


    /* VIDEO DETRÁS DEL LOGO */
    .logo-intro{
      position:relative !important;
      overflow:hidden !important;
      isolation:isolate;
      background:#020202 !important;
    }

    .logo-video-wrap{
      position:absolute;
      inset:0;
      z-index:0;
      overflow:hidden;
      pointer-events:none;
    }

    .logo-video{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center center;
      transform:scale(1.015);
      background:#020202;
    }

    .logo-video-dark{
      position:absolute;
      inset:0;
      background:rgba(0,0,0,.24);
      z-index:1;
    }

    .logo-video-fade{
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:42%;
      z-index:2;
      background:linear-gradient(
        180deg,
        rgba(2,2,2,0) 0%,
        rgba(2,2,2,.12) 18%,
        rgba(2,2,2,.52) 58%,
        rgba(2,2,2,.92) 86%,
        #020202 100%
      );
    }

    .logo-intro > *:not(.logo-video-wrap){
      position:relative;
      z-index:3;
    }

    .logo-only img{
      filter:
        drop-shadow(0 8px 30px rgba(0,0,0,.55))
        drop-shadow(0 0 18px rgba(255,255,255,.08)) !important;
    }

    @media (max-width:720px){
      .logo-video{
        object-position:center center;
        transform:scale(1.04);
      }

      .logo-video-fade{
        height:48%;
      }
    }

    @media (prefers-reduced-motion:reduce){
      .logo-video{
        display:none !important;
      }

      .logo-video-wrap{
        background:#020202 !important;
      }
    }


    /* FORZAR VISIBILIDAD Y REPRODUCCIÓN DEL VIDEO DEL LOGO */
    #tom-logo-video,
    .logo-video-wrap #tom-logo-video{
      display:block !important;
      visibility:visible !important;
      opacity:1 !important;
      width:100% !important;
      height:100% !important;
      min-width:100% !important;
      min-height:100% !important;
      position:absolute !important;
      inset:0 !important;
      object-fit:cover !important;
      object-position:center center !important;
      z-index:0 !important;
      pointer-events:none !important;
    }

    .logo-video-wrap{
      display:block !important;
      visibility:visible !important;
      opacity:1 !important;
      background:#020202 !important;
    }

    /* No ocultar el video por configuración de movimiento reducido */
    @media (prefers-reduced-motion:reduce){
      #tom-logo-video{
        display:block !important;
      }
    }


    /* AJUSTES V17 */
    .scroll-cue span{
      font-size:calc(.64rem + 2px) !important;
      letter-spacing:.19em !important;
    }

    .opening .display-title{
      font-size:clamp(2.7rem,5.2vw,6.2rem) !important;
      max-width:980px !important;
    }

    .opening .lead{
      max-width:760px !important;
    }

    .opening-actions{
      gap:14px !important;
    }

    .glass-button-secondary{
      background:rgba(255,255,255,.035) !important;
    }

    /* Persiana interactiva */
    .shutter-gallery{
      display:flex;
      width:100%;
      height:clamp(420px,58vw,720px);
      gap:8px;
      overflow:hidden;
      border-radius:32px;
      border:1px solid rgba(255,255,255,.08);
      background:#050505;
      box-shadow:0 36px 100px rgba(0,0,0,.35);
    }

    .shutter-panel{
      position:relative;
      flex:1 1 0;
      min-width:0;
      overflow:hidden;
      cursor:pointer;
      background-image:
        linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.58)),
        var(--bg);
      background-size:cover;
      background-position:center;
      transition:flex .65s cubic-bezier(.22,1,.36,1),filter .45s ease;
      filter:saturate(.78) brightness(.74);
    }

    .shutter-panel::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 45%,rgba(0,0,0,.16));
      pointer-events:none;
    }

    .shutter-panel:hover,
    .shutter-panel.is-active{
      flex:5.6 1 0;
      filter:saturate(.95) brightness(.88);
    }

    .shutter-label{
      position:absolute;
      left:18px;
      bottom:18px;
      z-index:2;
      display:flex;
      align-items:flex-end;
      gap:10px;
      writing-mode:vertical-rl;
      transform:rotate(180deg);
      color:#fff;
      transition:all .45s ease;
    }

    .shutter-label span{
      color:rgba(255,255,255,.48);
      font-size:.62rem;
      letter-spacing:.16em;
    }

    .shutter-label strong{
      font-family:"Playfair Display",Georgia,serif;
      font-size:1.25rem;
      font-weight:400;
      letter-spacing:-.03em;
    }

    .shutter-panel:hover .shutter-label,
    .shutter-panel.is-active .shutter-label{
      writing-mode:horizontal-tb;
      transform:none;
      align-items:center;
    }

    /* Métricas arquitectónicas */
    .experience-grid{
      grid-template-columns:repeat(12,1fr) !important;
      gap:18px !important;
    }

    .experience-card{
      position:relative;
      overflow:hidden;
      min-height:260px !important;
      padding:34px 30px !important;
      background:
        linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018)) !important;
      border-color:rgba(255,255,255,.10) !important;
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
    }

    .experience-card::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%),
        linear-gradient(0deg,transparent 49.8%,rgba(255,255,255,.025) 50%,transparent 50.2%);
      background-size:72px 72px;
      opacity:.28;
      pointer-events:none;
    }

    .experience-card:nth-child(1),
    .experience-card:nth-child(4){
      grid-column:span 7;
    }

    .experience-card:nth-child(2),
    .experience-card:nth-child(3){
      grid-column:span 5;
    }

    .experience-card strong,
    .experience-card span,
    .experience-card p{
      position:relative;
      z-index:1;
    }

    .experience-card strong{
      font-size:clamp(2.45rem,4vw,4.8rem) !important;
      max-width:90%;
    }

    /* Mercados */
    .market-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:16px;
      margin-top:54px;
    }

    .market-panel{
      overflow:hidden;
      border-radius:28px;
      border:1px solid rgba(255,255,255,.09);
      background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
    }

    .market-media{
      aspect-ratio:4/5;
      display:flex;
      align-items:center;
      justify-content:center;
      background:
        radial-gradient(circle at 50% 25%,rgba(255,255,255,.06),transparent 34%),
        #090909;
      color:rgba(255,255,255,.28);
      font-size:.68rem;
      letter-spacing:.15em;
      text-transform:uppercase;
    }

    .market-copy{
      padding:22px 20px 24px;
    }

    .market-copy span{
      color:rgba(255,255,255,.38);
      font-size:.64rem;
      letter-spacing:.17em;
    }

    .market-copy h3{
      margin-top:10px !important;
      font-family:"Playfair Display",Georgia,serif;
      font-size:1.75rem !important;
      font-weight:400 !important;
      color:#fff !important;
    }

    .market-copy p{
      margin-top:12px !important;
      color:rgba(255,255,255,.66) !important;
      font-size:.92rem !important;
      line-height:1.6 !important;
    }

    /* Rutas refinadas */
    .routes{
      gap:22px !important;
      align-items:stretch;
    }

    .route-card{
      position:relative;
      min-height:470px !important;
      padding:42px 38px 34px !important;
      border-radius:34px !important;
      background:
        radial-gradient(circle at 100% 0%,rgba(255,255,255,.055),transparent 28%),
        linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.018)) !important;
    }

    .route-card::before{
      content:"";
      position:absolute;
      top:0;
      left:38px;
      right:38px;
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
    }

    .route-card h3{
      max-width:560px;
      font-size:clamp(2.2rem,3.4vw,4rem) !important;
      line-height:.98 !important;
    }

    .route-card p{
      max-width:560px;
    }

    .route-list{
      margin-top:30px !important;
      gap:15px !important;
    }

    .route-card .glass-button{
      margin-top:auto !important;
    }

    /* Cierre preparado para imagen de Tom */
    .closing-tom{
      position:relative;
      min-height:72vh;
      display:flex;
      align-items:center;
      overflow:hidden;
      background:
        linear-gradient(90deg,rgba(2,2,2,.96) 0%,rgba(2,2,2,.82) 50%,rgba(2,2,2,.58) 100%),
        #020202 !important;
    }

    .closing-tom::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 80% 50%,rgba(255,255,255,.06),transparent 28%);
      pointer-events:none;
    }

    .closing-tom .narrow{
      position:relative;
      z-index:2;
    }

    .closing-tom .eyebrow{
      font-size:.78rem !important;
    }

    @media(max-width:1000px){
      .shutter-gallery{
        height:560px;
      }

      .market-grid{
        grid-template-columns:repeat(2,1fr);
      }

      .experience-card:nth-child(n){
        grid-column:span 6;
      }
    }

    @media(max-width:720px){
      .opening .display-title{
        font-size:clamp(2.35rem,11vw,4.2rem) !important;
      }

      .opening-actions{
        flex-direction:column;
        align-items:center;
      }

      .opening-actions .glass-button{
        width:100%;
        max-width:340px;
      }

      .shutter-gallery{
        height:520px;
        gap:4px;
        border-radius:24px;
      }

      .shutter-panel:hover,
      .shutter-panel.is-active{
        flex:4.4 1 0;
      }

      .market-grid{
        grid-template-columns:1fr;
      }

      .experience-grid{
        grid-template-columns:1fr !important;
      }

      .experience-card:nth-child(n){
        grid-column:auto;
      }

      .route-card{
        min-height:auto !important;
        padding:34px 24px 28px !important;
      }
    }


    /* AJUSTES V18 */
    .scroll-cue span{
      font-size:1rem !important;
      font-weight:600 !important;
      letter-spacing:.22em !important;
    }

    .scroll-cue svg{
      width:24px !important;
      height:24px !important;
    }

    .display-title{
      font-size:clamp(2.45rem,4.6vw,5.4rem) !important;
      line-height:1.02 !important;
    }

    .section-title{
      font-size:clamp(2.1rem,3.7vw,4.35rem) !important;
      line-height:1.03 !important;
    }

    .stage-row h3{
      font-size:clamp(1.65rem,2.5vw,2.65rem) !important;
    }

    .experience-card strong{
      font-size:clamp(2.1rem,3.35vw,3.8rem) !important;
    }

    .route-card h3{
      font-size:clamp(2rem,2.8vw,3.25rem) !important;
    }

    .closing .section-title{
      font-size:clamp(2.25rem,3.8vw,4.5rem) !important;
    }

    .shutter-panel{
      background:#060606 !important;
    }

    .shutter-image{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      display:block !important;
      opacity:.88;
      transform:scale(1.03);
      transition:transform .7s cubic-bezier(.22,1,.36,1), opacity .45s ease;
    }

    .shutter-panel:hover .shutter-image,
    .shutter-panel.is-active .shutter-image{
      transform:scale(1);
      opacity:1;
    }

    .closing-tom{
      background:
        linear-gradient(90deg,rgba(2,2,2,.98) 0%,rgba(2,2,2,.91) 38%,rgba(2,2,2,.52) 68%,rgba(2,2,2,.22) 100%),
        var(--tom-photo),
        #020202 !important;
      background-size:cover !important;
      background-position:center 24% !important;
      background-repeat:no-repeat !important;
    }

    .closing-tom::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:30%;
      background:linear-gradient(180deg,transparent,#020202);
      pointer-events:none;
    }

    .closing-tom .narrow{
      margin-left:max(7vw,40px) !important;
      margin-right:auto !important;
      max-width:760px !important;
    }

    @media(max-width:720px){
      .scroll-cue span{
        font-size:.92rem !important;
      }

      .display-title{
        font-size:clamp(2.25rem,10vw,3.8rem) !important;
      }

      .section-title{
        font-size:clamp(2rem,9vw,3.4rem) !important;
      }

      .route-card h3{
        font-size:clamp(2rem,9vw,3rem) !important;
      }

      .closing-tom{
        background:
          linear-gradient(180deg,rgba(2,2,2,.40) 0%,rgba(2,2,2,.72) 42%,rgba(2,2,2,.98) 78%,#020202 100%),
          var(--tom-photo),
          #020202 !important;
        background-position:center top !important;
        min-height:88vh !important;
        align-items:flex-end !important;
        padding-bottom:90px !important;
      }

      .closing-tom .narrow{
        margin:0 auto !important;
        width:min(calc(100% - 30px),100%) !important;
      }
    }


    /* AJUSTES V19 */

    /* Foto final de Tom: más pequeña, mejor encuadre y más lujo */
    .closing-tom{
      background:
        linear-gradient(90deg,rgba(2,2,2,.98) 0%,rgba(2,2,2,.90) 40%,rgba(2,2,2,.52) 70%,rgba(2,2,2,.18) 100%),
        var(--tom-photo),
        #020202 !important;
      background-size:auto 112% !important;
      background-position:92% 18% !important;
      background-repeat:no-repeat !important;
      min-height:76vh !important;
    }

    .closing-tom .narrow{
      max-width:700px !important;
    }

    /* Foto de Tom en la sección de etapas */
    .stages-tom{
      position:relative;
      overflow:hidden;
      isolation:isolate;
    }

    .stages-tom::before{
      content:"";
      position:absolute;
      top:0;
      right:-3%;
      width:46%;
      height:100%;
      background:
        linear-gradient(90deg,#020202 0%,rgba(2,2,2,.86) 18%,rgba(2,2,2,.25) 72%,rgba(2,2,2,.08) 100%),
        var(--tom-stage-photo);
      background-size:auto 92%;
      background-position:right 12%;
      background-repeat:no-repeat;
      opacity:.58;
      z-index:0;
      pointer-events:none;
    }

    .stages-tom > .page-shell{
      position:relative;
      z-index:1;
    }

    .stages-tom .stage-heading,
    .stages-tom .stages{
      max-width:74%;
    }

    /* Ocultar cualquier control o icono de reproducción */
    #tom-logo-video{
      pointer-events:none !important;
      -webkit-user-select:none !important;
      user-select:none !important;
    }

    #tom-logo-video::-webkit-media-controls,
    #tom-logo-video::-webkit-media-controls-panel,
    #tom-logo-video::-webkit-media-controls-start-playback-button,
    #tom-logo-video::-webkit-media-controls-overlay-play-button{
      display:none !important;
      -webkit-appearance:none !important;
      opacity:0 !important;
    }

    /* Carga visual más ligera */
    .shutter-image{
      backface-visibility:hidden;
      will-change:transform;
      image-rendering:auto;
    }

    .market-panel,
    .experience-card,
    .route-card{
      content-visibility:auto;
      contain-intrinsic-size:600px;
    }

    @media(max-width:1000px){
      .stages-tom .stage-heading,
      .stages-tom .stages{
        max-width:100%;
      }

      .stages-tom::before{
        width:52%;
        opacity:.28;
      }

      .closing-tom{
        background-size:auto 105% !important;
        background-position:82% 10% !important;
      }
    }

    @media(max-width:720px){
      .stages-tom{
        padding-top:380px !important;
      }

      .stages-tom::before{
        top:0;
        right:0;
        width:100%;
        height:390px;
        opacity:.72;
        background:
          linear-gradient(180deg,rgba(2,2,2,.08) 0%,rgba(2,2,2,.26) 48%,#020202 100%),
          var(--tom-stage-photo);
        background-size:auto 115%;
        background-position:center 5%;
        background-repeat:no-repeat;
      }

      .closing-tom{
        min-height:92vh !important;
        padding-top:430px !important;
        padding-bottom:80px !important;
        align-items:flex-end !important;
        background:
          linear-gradient(180deg,rgba(2,2,2,.08) 0%,rgba(2,2,2,.26) 38%,rgba(2,2,2,.78) 66%,#020202 88%),
          var(--tom-photo),
          #020202 !important;
        background-size:auto 62% !important;
        background-position:center top !important;
        background-repeat:no-repeat !important;
      }

      .closing-tom .narrow{
        max-width:none !important;
      }
    }



    /* V20 · CIERRE EDITORIAL */
    .closing-portrait{
      position:relative;
      background:#020202 !important;
      padding-top:110px !important;
      padding-bottom:110px !important;
    }

    .portrait-card{
      position:relative;
      width:min(100%, 1080px);
      margin:0 auto;
      min-height:clamp(620px, 76vw, 860px);
      border-radius:42px;
      overflow:hidden;
      background:#090909;
      border:1px solid rgba(255,255,255,.10);
      box-shadow:0 40px 120px rgba(0,0,0,.42);
      isolation:isolate;
    }

    .portrait-card-media{
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.18) 26%, rgba(0,0,0,.54) 72%, rgba(0,0,0,.88) 100%),
        linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.05) 28%, rgba(0,0,0,.00) 52%, rgba(0,0,0,.24) 100%),
        var(--tom-final-photo);
      background-size:cover;
      background-position:center center;
      background-repeat:no-repeat;
      transform:scale(1.01);
    }

    .portrait-card-border{
      position:absolute;
      inset:28px;
      border:1px solid rgba(255,255,255,.28);
      border-radius:34px;
      pointer-events:none;
      z-index:2;
    }

    .portrait-card-content{
      position:relative;
      z-index:3;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      min-height:inherit;
      padding:42px;
    }

    .portrait-card-top{
      display:flex;
      align-items:center;
      gap:16px;
    }

    .portrait-brandmark{
      width:42px;
      height:42px;
      border-radius:50%;
      border:1px solid rgba(255,255,255,.32);
      display:flex;
      align-items:center;
      justify-content:center;
      color:#fff;
      font-family:"Playfair Display", Georgia, serif;
      font-size:1rem;
      letter-spacing:-.02em;
      background:rgba(255,255,255,.08);
      backdrop-filter:blur(8px);
      -webkit-backdrop-filter:blur(8px);
    }

    .portrait-handle{
      color:rgba(255,255,255,.82);
      font-size:.88rem;
      letter-spacing:.02em;
      font-weight:500;
    }

    .portrait-card-bottom{
      max-width:620px;
      display:grid;
      gap:20px;
    }

    .portrait-title{
      margin:0;
      color:#fff;
      font-family:"Playfair Display", Georgia, serif;
      font-size:clamp(2.5rem, 4.2vw, 4.8rem);
      font-weight:400;
      line-height:.96;
      letter-spacing:-.045em;
      text-wrap:balance;
    }

    .portrait-title em{
      display:block;
      margin-top:8px;
      color:rgba(255,255,255,.86);
      font-style:italic;
      font-weight:400;
    }

    .portrait-copy{
      margin:0;
      max-width:560px;
      color:rgba(255,255,255,.78);
      font-size:1.02rem;
      line-height:1.72;
    }

    .portrait-actions{
      margin-top:4px;
    }

    @media (max-width: 1000px){
      .portrait-card{
        min-height:760px;
      }
      .portrait-card-content{
        padding:34px;
      }
      .portrait-card-border{
        inset:22px;
        border-radius:28px;
      }
      .portrait-title{
        font-size:clamp(2.25rem, 5.4vw, 3.8rem);
      }
    }

    @media (max-width: 720px){
      .closing-portrait{
        padding-top:72px !important;
        padding-bottom:72px !important;
      }
      .portrait-card{
        min-height:82svh;
        border-radius:28px;
      }
      .portrait-card-media{
        background-image:
          linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.12) 18%, rgba(0,0,0,.42) 52%, rgba(0,0,0,.88) 86%, rgba(0,0,0,.96) 100%),
          var(--tom-final-photo);
        background-position:center top;
      }
      .portrait-card-border{
        inset:16px;
        border-radius:24px;
      }
      .portrait-card-content{
        padding:24px;
      }
      .portrait-card-top{
        gap:12px;
      }
      .portrait-brandmark{
        width:38px;
        height:38px;
        font-size:.95rem;
      }
      .portrait-handle{
        font-size:.84rem;
      }
      .portrait-card-bottom{
        max-width:none;
        gap:16px;
      }
      .portrait-title{
        font-size:clamp(2.15rem, 9.4vw, 3.35rem);
        line-height:.98;
      }
      .portrait-copy{
        font-size:.96rem;
        line-height:1.64;
      }
      .portrait-actions .glass-button{
        width:100%;
        max-width:320px;
      }
    }



    /* V21 · MERCADOS + APERTURA MEDELLÍN + CIERRE REFINADO */
    .opening-medellin{
      position:relative;
      overflow:hidden;
      isolation:isolate;
      background:#020202 !important;
    }

    .opening-medellin::before{
      content:"";
      position:absolute;
      inset:0;
      background-image:
        linear-gradient(180deg, rgba(2,2,2,.90) 0%, rgba(2,2,2,.72) 18%, rgba(2,2,2,.72) 78%, rgba(2,2,2,.92) 100%),
        radial-gradient(circle at 50% 22%, rgba(255,255,255,.10), transparent 34%),
        var(--opening-city);
      background-size:cover;
      background-position:center 34%;
      background-repeat:no-repeat;
      opacity:.92;
      z-index:0;
      pointer-events:none;
    }

    .opening-medellin::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.16) 50%, rgba(0,0,0,.22) 100%);
      z-index:0;
      pointer-events:none;
    }

    .opening-medellin > .narrow{
      position:relative;
      z-index:1;
    }

    @media (min-width: 900px){
      .opening-medellin::before{
        background-attachment:fixed, scroll, fixed;
      }
    }

    .market-panel{
      background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
      box-shadow:0 22px 60px rgba(0,0,0,.18);
    }

    .market-media{
      position:relative;
      aspect-ratio:4/5;
      overflow:hidden;
      background:#090909;
    }

    .market-media img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
      display:block;
      transform:scale(1.01);
      transition:transform .55s ease, filter .45s ease;
      filter:saturate(.92) contrast(1.02);
    }

    .market-panel:hover .market-media img{
      transform:scale(1.035);
      filter:saturate(1) contrast(1.04);
    }

    .market-media::after{
      content:"";
      position:absolute;
      inset:auto 0 0 0;
      height:38%;
      background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.12) 40%, rgba(0,0,0,.34) 100%);
      pointer-events:none;
    }

    .market-copy{
      padding:20px 20px 24px;
    }

    .market-copy h3{
      font-size:1.55rem !important;
    }

    .market-copy p{
      font-size:.88rem !important;
      line-height:1.58 !important;
    }

    .closing-portrait{
      padding-top:84px !important;
      padding-bottom:84px !important;
    }

    .portrait-card{
      width:min(100%, 820px);
      min-height:640px;
      margin:0 auto;
      border-radius:34px;
    }

    .portrait-card-media{
      background-image:
        linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.14) 24%, rgba(0,0,0,.42) 62%, rgba(0,0,0,.82) 100%),
        linear-gradient(90deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.00) 40%, rgba(0,0,0,.18) 100%),
        var(--tom-final-photo);
      background-position:center center;
    }

    .portrait-card-border{
      inset:22px;
      border-radius:26px;
    }

    .portrait-card-content{
      padding:30px;
    }

    .portrait-card-bottom{
      max-width:520px;
      gap:14px;
    }

    .portrait-title{
      font-size:clamp(2.15rem, 3.2vw, 3.6rem);
      line-height:.98;
    }

    .portrait-title em{
      margin-top:6px;
    }

    .portrait-copy{
      max-width:480px;
      font-size:.95rem;
      line-height:1.62;
      color:rgba(255,255,255,.76);
    }

    @media (max-width: 720px){
      .opening-medellin::before{
        background-position:center 24%;
      }

      .portrait-card{
        width:min(100%, 92vw);
        min-height:auto;
        aspect-ratio: 0.74 / 1;
      }

      .portrait-card-media{
        background-image:
          linear-gradient(180deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.10) 16%, rgba(0,0,0,.28) 44%, rgba(0,0,0,.62) 68%, rgba(0,0,0,.92) 100%),
          var(--tom-final-photo);
        background-position:center center;
      }

      .portrait-card-content{
        padding:20px;
      }

      .portrait-card-top{
        gap:10px;
      }

      .portrait-card-bottom{
        max-width:none;
        gap:12px;
      }

      .portrait-title{
        max-width:85%;
        font-size:clamp(1.88rem, 7.5vw, 2.65rem);
        line-height:1.01;
      }

      .portrait-copy{
        max-width:92%;
        font-size:.9rem;
        line-height:1.52;
      }

      .portrait-actions .glass-button{
        width:100%;
        max-width:none;
      }
    }


    /* V22 · TARJETA FINAL COMPACTA */
    .closing-portrait{
      padding-top:90px !important;
      padding-bottom:110px !important;
    }

    .closing-portrait .page-shell{
      display:flex;
      justify-content:center;
    }

    .portrait-card{
      width:min(430px, calc(100vw - 40px)) !important;
      min-height:0 !important;
      aspect-ratio:4 / 5.8 !important;
      margin:0 auto !important;
      border-radius:32px !important;
      box-shadow:0 34px 90px rgba(0,0,0,.42) !important;
    }

    .portrait-card-media{
      background-image:
        linear-gradient(
          180deg,
          rgba(0,0,0,.04) 0%,
          rgba(0,0,0,.06) 28%,
          rgba(0,0,0,.18) 52%,
          rgba(0,0,0,.66) 78%,
          rgba(0,0,0,.92) 100%
        ),
        var(--tom-final-photo) !important;
      background-size:cover !important;
      background-position:center top !important;
    }

    .portrait-card-border{
      inset:16px !important;
      border-radius:25px !important;
      border-color:rgba(255,255,255,.30) !important;
    }

    .portrait-card-content{
      padding:25px !important;
    }

    .portrait-card-top{
      gap:11px !important;
    }

    .portrait-brandmark{
      width:38px !important;
      height:38px !important;
      font-size:.9rem !important;
      background:rgba(5,5,5,.20) !important;
    }

    .portrait-handle{
      font-size:.82rem !important;
      color:rgba(255,255,255,.88) !important;
    }

    .portrait-card-bottom{
      width:100% !important;
      max-width:none !important;
      gap:10px !important;
      padding:0 6px 4px !important;
      text-align:left !important;
    }

    .portrait-title{
      max-width:310px !important;
      margin:0 !important;
      font-size:clamp(2rem, 3vw, 2.65rem) !important;
      line-height:.98 !important;
      letter-spacing:-.045em !important;
      text-wrap:balance;
    }

    .portrait-title em{
      display:block !important;
      margin-top:4px !important;
      color:rgba(255,255,255,.82) !important;
    }

    .portrait-copy{
      max-width:290px !important;
      margin:3px 0 0 !important;
      font-size:.87rem !important;
      line-height:1.52 !important;
      color:rgba(255,255,255,.70) !important;
    }

    .portrait-actions{
      margin-top:8px !important;
    }

    .portrait-actions .glass-button{
      min-height:48px !important;
      padding:0 20px !important;
      font-size:.69rem !important;
    }

    @media (min-width:721px){
      .portrait-card{
        width:430px !important;
      }
    }

    @media (max-width:720px){
      .closing-portrait{
        padding-top:70px !important;
        padding-bottom:80px !important;
      }

      .portrait-card{
        width:min(430px, calc(100vw - 30px)) !important;
        aspect-ratio:4 / 5.9 !important;
        border-radius:28px !important;
      }

      .portrait-card-media{
        background-position:center top !important;
      }

      .portrait-card-border{
        inset:14px !important;
        border-radius:22px !important;
      }

      .portrait-card-content{
        padding:22px !important;
      }

      .portrait-title{
        max-width:285px !important;
        font-size:clamp(1.85rem, 8vw, 2.35rem) !important;
      }

      .portrait-copy{
        max-width:260px !important;
        font-size:.84rem !important;
      }

      .portrait-actions .glass-button{
        width:auto !important;
        max-width:none !important;
      }
    }


    /* V23 · HERO NOTE */
    .hero-note{
      display:grid;
      gap:8px;
      max-width:760px;
      margin:26px auto 0;
      padding:16px 18px;
      border:1px solid rgba(255,255,255,.10);
      border-radius:20px;
      background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028));
      box-shadow:0 18px 40px rgba(0,0,0,.14);
      text-align:center;
      backdrop-filter:blur(10px);
      -webkit-backdrop-filter:blur(10px);
    }
    .hero-note strong{
      color:#fff;
      font-size:1rem;
      font-weight:500;
      line-height:1.45;
    }
    .hero-note span{
      color:rgba(255,255,255,.68);
      font-size:.92rem;
      line-height:1.58;
    }

    /* V23 · TRUST */
    .trust-section{
      padding-top:34px !important;
    }
    .trust-shell{
      text-align:center;
    }
    .trust-intro{
      max-width:760px;
      margin:20px auto 0;
      color:rgba(255,255,255,.62);
      font-size:.96rem;
      line-height:1.7;
    }
    .trust-logos{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
      margin-top:34px;
      align-items:stretch;
    }
    .trust-logo-item{
      min-height:114px;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:22px 18px;
      border:1px solid rgba(255,255,255,.08);
      border-radius:24px;
      background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
    }
    .trust-logo-item img{
      max-width:100%;
      max-height:46px;
      width:auto;
      height:auto;
      object-fit:contain;
      filter:brightness(0) invert(1);
      opacity:.88;
    }

    /* V23 · SUCCESS */
    .success-header{
      max-width:920px;
      margin:0 auto 42px;
      text-align:center;
    }
    .success-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:22px;
    }
    .success-card{
      padding:34px 30px;
      border:1px solid rgba(255,255,255,.09);
      border-radius:30px;
      background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
      box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
    }
    .success-kicker{
      display:block;
      color:rgba(255,255,255,.42);
      font-size:.66rem;
      letter-spacing:.17em;
      text-transform:uppercase;
      margin-bottom:16px;
    }
    .success-card h3{
      margin:0;
      color:#fff;
      font-family:"Playfair Display", Georgia, serif;
      font-size:2rem;
      font-weight:400;
      line-height:1.02;
      letter-spacing:-.03em;
    }
    .success-card p{
      margin:16px 0 0;
      color:rgba(255,255,255,.70);
      font-size:.96rem;
      line-height:1.72;
    }

    /* V23 · FINAL CARD BETTER DIAGRAM */
    .portrait-card{
      width:min(420px, calc(100vw - 40px)) !important;
      aspect-ratio:4 / 6.15 !important;
    }
    .portrait-card-media{
      background-image:
        linear-gradient(
          180deg,
          rgba(0,0,0,.04) 0%,
          rgba(0,0,0,.04) 24%,
          rgba(0,0,0,.14) 48%,
          rgba(0,0,0,.52) 72%,
          rgba(0,0,0,.92) 100%
        ),
        var(--tom-final-photo) !important;
      background-position:center 14% !important;
      background-size:cover !important;
    }
    .portrait-card-content{
      justify-content:space-between !important;
    }
    .portrait-card-bottom{
      padding:0 6px 6px !important;
      gap:12px !important;
      max-width:100% !important;
    }
    .portrait-title{
      max-width:260px !important;
      font-size:clamp(1.85rem,2.7vw,2.35rem) !important;
      line-height:.97 !important;
    }
    .portrait-copy{
      max-width:270px !important;
      font-size:.84rem !important;
      line-height:1.55 !important;
      color:rgba(255,255,255,.74) !important;
    }
    .portrait-actions{
      margin-top:4px !important;
    }
    .portrait-actions .glass-button{
      min-height:50px !important;
      padding:0 22px !important;
    }

    @media (min-width:721px){
      .portrait-card{
        width:420px !important;
      }
    }

    @media (max-width:720px){
      .hero-note{
        margin-top:22px;
        padding:14px 14px;
        text-align:left;
      }
      .hero-note strong{
        font-size:.95rem;
      }
      .hero-note span{
        font-size:.88rem;
      }
      .trust-logos{
        grid-template-columns:1fr;
      }
      .success-grid{
        grid-template-columns:1fr;
      }
      .success-card{
        padding:26px 22px;
        border-radius:24px;
      }
      .success-card h3{
        font-size:1.7rem;
      }
      .portrait-card{
        width:min(420px, calc(100vw - 28px)) !important;
        aspect-ratio:4 / 6.05 !important;
      }
      .portrait-card-media{
        background-position:center 12% !important;
      }
      .portrait-title{
        max-width:250px !important;
        font-size:clamp(1.78rem, 7.3vw, 2.18rem) !important;
      }
      .portrait-copy{
        max-width:250px !important;
        font-size:.82rem !important;
      }
    }


/* V26 · BLINDAJE FULL-BLEED CONTRA CONTENEDORES DE WORDPRESS */
html,
body,
#page,
.site,
.site-content,
.content-area,
.site-main,
.entry,
.entry-content,
.wp-site-blocks,
.wp-block-post-content {
  background:#020202 !important;
}

.tom-orrego-page{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  background:#020202 !important;
  overflow-x:hidden !important;
}

.wp-block-html:has(.tom-orrego-page),
.wp-block-code:has(.tom-orrego-page),
.wp-block-group:has(.tom-orrego-page){
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#020202 !important;
}

.entry-content,
.wp-block-post-content,
.site-main,
.content-area,
.site-content{
  border:0 !important;
  box-shadow:none !important;
}

html,
body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}


/* V27 · BOTONES HACIA LOS CATÁLOGOS */
.market-copy{
  display:flex;
  flex-direction:column;
  min-height:245px;
}
.market-more{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:max-content;
  min-height:46px;
  margin-top:auto;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
  color:#fff!important;
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
  transition:transform .3s ease,border-color .3s ease;
}
.market-more:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.27);
}
.market-more span{color:#fff!important;font-size:.9rem}
@media(max-width:720px){
  .market-copy{min-height:auto}
  .market-more{margin-top:22px}
}


/* V30 · VIDEO INICIAL SIN MÁSCARA */
.logo-video-dark,
.logo-video-fade{
  display:none !important;
  opacity:0 !important;
  background:none !important;
}
.logo-video{
  filter:none !important;
  opacity:1 !important;
}



/* V31 · ELIMINAR FRANJA SUPERIOR EN MOBILE */
html,
body,
#page,
.site,
.site-content,
.content-area,
.site-main,
main,
article,
.entry,
.entry-content,
.wp-site-blocks,
.wp-block-post-content,
.wp-block-html,
.wp-block-group:has(.tom-orrego-page){
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
  outline:0 !important;
  background:#020202 !important;
}
.tom-orrego-page,
.tom-orrego-page > :first-child,
.logo-intro,
.logo-video-wrap{
  margin-top:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
@media(max-width:782px){
  html,body{margin:0 !important;padding:0 !important;background:#020202 !important;}
  body > #page,
  body > .site,
  body > .wp-site-blocks,
  #content,
  .site-content,
  .content-area,
  .site-main,
  article,
  .entry-content,
  .wp-block-post-content,
  .wp-block-html{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#020202 !important;
  }
  .tom-orrego-page{
    margin-top:-2px !important;
    min-height:calc(100vh + 2px) !important;
  }
}



/* V32 · HOME NAV + MOBILE SEAM + MARKET BUTTON ALIGNMENT */
:root{--to-nav-h:70px}
.wp-site-blocks{gap:0!important;row-gap:0!important}
.wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0!important}
.entry-content>*:first-child,.wp-block-post-content>*:first-child,.wp-block-html:has(.tom-orrego-page){margin-block-start:0!important;margin-top:0!important}
.wp-block-html:has(.tom-orrego-page){padding:0!important;border:0!important;line-height:0!important;background:#020202!important}
.tom-orrego-page{line-height:normal!important}

.to-home-nav{position:absolute;top:0;left:0;right:0;z-index:80;border-bottom:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(0,0,0,.48),rgba(0,0,0,.08) 72%,transparent)}
.to-home-nav-inner{width:min(calc(100% - 60px),1120px);min-height:var(--to-nav-h);margin:0 auto;display:flex;align-items:center;gap:30px}
.to-home-brand{font-family:"Playfair Display",Georgia,serif;font-size:1.55rem;color:#fff!important;text-decoration:none!important;line-height:1}
.to-home-links{margin-left:auto;display:flex;align-items:center;gap:30px}
.to-home-links a{font-size:.74rem;color:rgba(255,255,255,.78)!important;text-decoration:none!important;transition:.2s}
.to-home-links a:hover{color:#fff!important}
.to-home-toggle{display:none}
.to-home-mobile{display:none}

@media(min-width:721px){
  .market-panel{display:grid!important;grid-template-rows:auto 1fr!important;height:100%!important}
  .market-copy{display:flex!important;flex-direction:column!important;min-height:330px!important;height:100%!important}
  .market-copy h3{height:74px!important;min-height:74px!important;overflow:hidden!important}
  .market-copy p{height:126px!important;min-height:126px!important;overflow:hidden!important;margin-bottom:24px!important}
  .market-copy .market-more{margin-top:auto!important;align-self:flex-start!important}
}

@media(max-width:782px){
  html,body,#page,.site,.wp-site-blocks,.wp-block-post-content,.entry-content,.wp-block-html:has(.tom-orrego-page){margin:0!important;padding:0!important;border:0!important;gap:0!important;row-gap:0!important;background:#020202!important}
  .wp-site-blocks>*{margin-block:0!important}
  .tom-orrego-page{margin-top:0!important;transform:translateY(-1px)!important;margin-bottom:-1px!important}
  .to-home-nav-inner{width:calc(100% - 30px);min-height:62px}
  .to-home-links{display:none!important}
  .to-home-toggle{margin-left:auto;display:flex;width:30px;height:28px;padding:0;border:0;background:none;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;cursor:pointer}
  .to-home-toggle span{display:block;width:24px;height:2.5px;border-radius:999px;background:#fff;transition:.2s}
  .to-home-nav.is-open .to-home-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .to-home-nav.is-open .to-home-toggle span:nth-child(2){opacity:0}
  .to-home-nav.is-open .to-home-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .to-home-mobile{position:absolute;top:62px;right:15px;left:auto;width:min(270px,calc(100vw - 30px));display:grid;padding:8px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(8,8,8,.97);box-shadow:0 28px 80px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:.2s}
  .to-home-mobile[aria-hidden="false"]{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .to-home-mobile a{min-height:48px;display:flex;align-items:center;padding:0 12px;color:#fff!important;text-decoration:none!important;font-size:.86rem}
  .to-home-mobile a+a{border-top:1px solid rgba(255,255,255,.06)}
  .market-copy{min-height:0!important}
  .market-copy h3,.market-copy p{height:auto!important;min-height:0!important;overflow:visible!important}
}



/* V33 · HOME HEADER + LOADER + MOBILE VISUAL GALLERY + SEAM SHIELD */
html,body,#page,.site,.wp-site-blocks,.wp-block-post-content,.entry-content{background:#020202!important;margin:0!important;padding:0!important;border:0!important;gap:0!important;row-gap:0!important}
.tom-orrego-page{position:relative!important;margin:0!important;padding:0!important;background:#020202!important;overflow:visible!important}
.tom-orrego-page:before{content:"";position:absolute;left:50%;top:-120px;width:100vw;height:124px;transform:translateX(-50%);background:#020202;z-index:79;pointer-events:none}
.tom-orrego-page:after{content:"";position:absolute;left:50%;bottom:-100px;width:100vw;height:104px;transform:translateX(-50%);background:#020202;z-index:0;pointer-events:none}
body .wp-site-blocks>*,body .entry-content>*,body .wp-block-post-content>*{margin-block-start:0!important;margin-block-end:0!important}
body header.wp-block-template-part,body footer.wp-block-template-part,.site-header,.site-footer{display:none!important}
.to-home-nav{position:sticky!important;top:0!important;z-index:9990!important;background:rgba(8,8,8,.90)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%)}
.admin-bar .to-home-nav{top:32px!important}
.to-home-nav-inner{width:min(calc(100% - 36px),1180px)!important;min-height:70px!important}
.to-home-coming{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.46);font-size:.74rem}
.to-home-coming small{padding:3px 6px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:rgba(255,255,255,.58);font-size:.52rem;letter-spacing:.08em;text-transform:uppercase}
.to-home-mobile .to-home-coming{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;color:rgba(255,255,255,.52)}
.logo-intro{margin-top:0!important}

.to-page-loader{position:fixed;inset:0;z-index:999999;background:#020202;display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity .45s ease,visibility .45s ease}
.to-page-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.to-loader-ring{--to-load:4%;width:116px;height:116px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(#fff var(--to-load),rgba(255,255,255,.11) 0)}
.to-loader-ring:before{content:"";position:absolute;inset:2px;border-radius:50%;background:#020202}
.to-loader-ring span{position:relative;z-index:1;font-family:"Playfair Display",Georgia,serif;font-size:2.05rem;color:#fff;letter-spacing:-.06em}
html.to-is-loading,html.to-is-loading body{overflow:hidden!important;background:#020202!important}

@media(max-width:760px){
  .admin-bar .to-home-nav{top:46px!important}
  .to-home-nav-inner{width:calc(100% - 28px)!important;min-height:62px!important}
  .shutter-gallery{height:auto!important;display:flex!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;scroll-snap-type:x mandatory!important;padding:0 14px 8px!important;margin-inline:-14px!important;scrollbar-width:none!important}
  .shutter-gallery::-webkit-scrollbar{display:none!important}
  .shutter-panel,.shutter-panel:hover,.shutter-panel.is-active{flex:0 0 82vw!important;width:82vw!important;min-width:82vw!important;height:auto!important;aspect-ratio:4/5!important;border-radius:24px!important;filter:none!important;scroll-snap-align:center!important;overflow:hidden!important}
  .shutter-image{opacity:1!important;transform:none!important;object-fit:cover!important;object-position:center!important}
  .shutter-panel::after{background:linear-gradient(180deg,transparent 58%,rgba(0,0,0,.62))!important}
  .shutter-label,.shutter-panel:hover .shutter-label,.shutter-panel.is-active .shutter-label{left:18px!important;right:auto!important;bottom:18px!important;writing-mode:horizontal-tb!important;transform:none!important;display:flex!important;align-items:center!important;gap:10px!important}
  .shutter-label strong{font-size:1.35rem!important}
}



/* V34 · HOME SHELL: HEADER FIJO + FULL BLEED LIMPIO + SCROLL NATURAL */
html,body{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  min-height:100%!important;
  background:#020202!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}

/* El full-bleed vive en el bloque HTML padre, no en la landing. Evita la raya lateral. */
body .wp-block-html:has(.tom-orrego-page),
body .wp-block-code:has(.tom-orrego-page),
body .wp-block-group:has(.tom-orrego-page){
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  width:100dvw!important;
  max-width:none!important;
  margin:0!important;
  margin-left:-50vw!important;
  margin-left:-50dvw!important;
  padding:0!important;
  border:0!important;
  background:#020202!important;
  line-height:normal!important;
  overflow:visible!important;
}

.tom-orrego-page{
  position:relative!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  background:#020202!important;
  overflow:visible!important;
}

/* Desactivar los antiguos 'seam shields'. Estaban creando artefactos laterales. */
.tom-orrego-page:before,
.tom-orrego-page:after{
  content:none!important;
  display:none!important;
}

/* Header de Home: siempre visible, igual al lenguaje de portafolio/proyectos. */
.to-home-nav{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:99990!important;
  margin:0!important;
  background:rgba(6,6,6,.88)!important;
  border-bottom:1px solid rgba(255,255,255,.075)!important;
  backdrop-filter:blur(18px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(120%)!important;
}
.admin-bar .to-home-nav{top:32px!important}
.to-home-nav-inner{
  width:min(calc(100% - 40px),1180px)!important;
  min-height:70px!important;
  margin:0 auto!important;
}

/* El hero empieza detrás del header, pero su contenido importante no queda oculto. */
.logo-intro{
  margin:0!important;
  padding-top:70px!important;
  min-height:100svh!important;
  box-sizing:border-box!important;
}

/* Al terminar el loader el documento SIEMPRE recupera scroll. */
html:not(.to-is-loading),
html:not(.to-is-loading) body{
  overflow-y:auto!important;
  touch-action:auto!important;
}
.to-page-loader.is-done{display:none!important}

@media(max-width:782px){
  .admin-bar .to-home-nav{top:46px!important}
  .to-home-nav-inner{
    width:calc(100% - 30px)!important;
    min-height:62px!important;
  }
  .logo-intro{
    padding-top:62px!important;
    min-height:100svh!important;
  }

  /* Carrusel visual del Home: no secuestrar el gesto vertical del usuario. */
  .shutter-gallery{
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:auto!important;
    touch-action:auto!important;
  }
  .shutter-panel{
    scroll-snap-align:center!important;
    scroll-snap-stop:normal!important;
  }
}


/* =========================================================
   PLUGIN HOME OVERRIDES · v2.9.0
   The plugin owns the complete document, so WordPress wrapper hacks are disabled.
   ========================================================= */
html,body.rp-home-page{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;background:#020202!important;overflow-x:hidden!important}
body.rp-home-page{min-height:100vh!important}
body.rp-home-page .tom-orrego-page{position:relative!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;transform:none!important;overflow:clip!important;background:#020202!important;line-height:normal!important}
body.rp-home-page .tom-orrego-page:before,
body.rp-home-page .tom-orrego-page:after{display:none!important;content:none!important}
body.rp-home-page header.rp-floating-nav{display:flex!important}
body.rp-home-page .rp-floating-nav-wrap{display:block!important;z-index:99990!important}
body.rp-home-page .rp-page-loader{display:flex!important}
body.rp-home-page footer{display:block!important}
body.rp-home-page .to-home-nav{display:none!important}
body.rp-home-page .logo-intro{margin:0!important;padding-top:72px!important;width:100%!important;max-width:none!important}
body.rp-home-page .logo-video-wrap{left:0!important;right:0!important;width:100%!important;max-width:none!important;margin:0!important}
body.rp-home-page #tom-logo-video{width:100%!important;max-width:none!important}
body.rp-home-page .logo-video-dark,
body.rp-home-page .logo-video-fade{display:none!important}
body.rp-home-page .market-panel{height:100%!important;display:flex!important;flex-direction:column!important}
body.rp-home-page .market-copy{display:flex!important;flex-direction:column!important;flex:1!important}
body.rp-home-page .market-copy .market-more{margin-top:auto!important;align-self:flex-start!important}
body.rp-home-page .market-copy h3{min-height:2.2em}
body.rp-home-page .market-copy p{min-height:5.1em}
body.rp-home-page .shutter-gallery{touch-action:pan-y pan-x!important}
@media(max-width:760px){
  body.rp-home-page .logo-intro{padding-top:62px!important}
  body.rp-home-page .page-shell,body.rp-home-page .narrow{width:min(calc(100% - 30px),100%)!important}
  body.rp-home-page .shutter-gallery{scroll-snap-type:x proximity!important;overscroll-behavior-inline:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x pan-y!important}
  body.rp-home-page .shutter-panel,body.rp-home-page .shutter-panel:hover,body.rp-home-page .shutter-panel.is-active{flex:0 0 84vw!important;width:84vw!important;min-width:84vw!important;aspect-ratio:4/5!important}
  body.rp-home-page .market-copy h3,body.rp-home-page .market-copy p{min-height:0!important}
}
