:root{--navy:#071522;--navy2:#0b1d2b;--gold:#d9aa54;--gold2:#efc36d;--ink:#0d1620;--muted:#65717d;--paper:#f7f7f4;--white:#fff;--line:#e4e7e8;--shadow:0 20px 60px rgba(6,20,31,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;background:rgba(7,21,34,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between}.brand img{width:132px;display:block}.main-nav{display:flex;align-items:center;gap:30px;color:#eaf0f3;font-size:14px}.main-nav a{opacity:.9}.main-nav a:hover{color:var(--gold2)}.nav-cta{background:var(--gold);color:#071522!important;padding:12px 22px;border-radius:5px;font-weight:700;opacity:1!important}.menu-toggle{display:none;background:none;border:0}.hero{position:relative;min-height:760px;background:var(--navy);color:white;overflow:hidden}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 40%,rgba(64,92,110,.35),transparent 35%),linear-gradient(90deg,rgba(7,21,34,.99) 0%,rgba(7,21,34,.94) 44%,rgba(7,21,34,.55) 100%)}.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:55px 55px;pointer-events:none}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;min-height:760px;padding-top:55px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:800;color:var(--gold2);margin:0 0 20px}.eyebrow.dark{color:#a77930}.hero h1,.contact-cta h2,h2{font-family:Manrope,sans-serif;letter-spacing:-.045em;line-height:1.03}.hero h1{font-size:clamp(44px,5.2vw,72px);margin:0 0 26px}.hero h1 span,h2 em{color:var(--gold);font-style:normal}.hero-lead{font-size:18px;color:#c8d0d5;max-width:590px}.hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.hero-pills span{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#d8e0e5}.hero-pills span:not(:last-child):after{content:"·";margin-left:10px;color:var(--gold)}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.btn{display:inline-flex;align-items:center;gap:25px;padding:15px 22px;border-radius:4px;font-weight:800;font-size:14px}.btn-gold{background:var(--gold);color:#071522}.btn-gold:hover{background:var(--gold2)}.play-link{font-size:13px;font-weight:700}.play-link i{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.4);border-radius:50%;font-style:normal;font-size:10px;margin-right:8px}.hero-showcase{position:relative;width:100%;max-width:320px;margin:auto}.video-card{border:2px solid rgba(255,255,255,.9);border-radius:16px;overflow:hidden;box-shadow:0 35px 80px rgba(0,0,0,.35);background:#172b39}.large-card{transform:rotate(.2deg)}.video-media{aspect-ratio:9/16;position:relative}.media-hero{background:linear-gradient(135deg,#9b8a76,#d5c2a6 40%,#53626b 100%)}.media-hero:before{content:"";position:absolute;inset:8% 7% 18%;background:linear-gradient(120deg,#f4eee5,#b7b2aa 45%,#8e9b9f);border-radius:4px;box-shadow:inset 0 0 0 10px rgba(255,255,255,.16)}.fake-play{position:absolute;z-index:10!important;left:50%;top:46%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.9);color:#071522;display:grid;place-items:center;font-size:18px;padding-left:3px;cursor:pointer}.video-gradient{position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.75))}.video-meta{position:absolute;z-index:2;bottom:24px;left:24px;right:24px;display:flex;flex-direction:column;color:#fff}.video-meta strong{font-size:18px}.video-meta span{font-size:11px;opacity:.8}.floating-tag{position:absolute;background:#fff;color:#071522;padding:9px 13px;border-radius:5px;font-size:10px;font-weight:800;box-shadow:var(--shadow)}.tag-one{left:-30px;bottom:70px}.tag-two{right:-20px;top:45px}.section{padding:100px 0}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:end}.intro h2,h2{font-size:clamp(38px,4vw,56px);margin:0}.intro-text{font-size:18px;color:var(--muted);max-width:510px}.services{padding-top:20px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.icon-circle{
  margin:20px 22px 14px;
  width:52px;
  height:52px;
  display:block;
  background:transparent;
}

.icon-circle img{
  width:52px;
  height:52px;
  display:block;
}

.service-card{display:block;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(9,24,36,.04);transition:.3s transform,.3s box-shadow}.service-card{cursor:pointer}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card h3,.service-card p{margin-left:22px;margin-right:22px}.service-card h3{font-family:Manrope;font-size:20px;line-height:1.1;margin-top:0}.service-card p{color:var(--muted);font-size:14px;min-height:68px}.icon-circle{
  margin:20px 22px 14px;
  width:52px;
  height:52px;
  display:block;
  background:transparent;
}

.icon-circle img{display:block;width:52px;height:52px;object-fit:contain}.service-visual{height:150px;margin-top:20px;position:relative;display:grid;place-items:center;overflow:hidden;color:white;font-size:12px;font-weight:800;letter-spacing:1.5px}.service-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#38434a,#b5a287 55%,#e0d8c8)}.service-visual span{position:relative;z-index:1;border:1px solid rgba(255,255,255,.7);padding:8px 11px;background:rgba(7,21,34,.35)}.visual-tour:before{background:linear-gradient(135deg,#b7a68c,#f1e7d5,#6d777b)}.visual-stage:before{background:linear-gradient(135deg,#ddd1bf,#9b856c,#475157)}.visual-reno:before{background:linear-gradient(90deg,#777,#d7c9b5)}.visual-edit:before{background:linear-gradient(135deg,#202a31,#8f9da0,#c6bba6)}.visual-agent:before{background:linear-gradient(135deg,#0a1722,#455967,#b18d52)}.dark-section{background:var(--navy);color:#fff}.transform-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.transform-head h2{font-size:46px}.transform-head p{max-width:350px;color:#9eabb4}.before-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.before-card{background:#0d2433;border:1px solid rgba(255,255,255,.08);border-radius:15px;overflow:hidden;position:relative}.comparison{height:230px;position:relative;overflow:hidden;cursor:ew-resize;touch-action:none;user-select:none}.comparison-base,.comparison-after{position:absolute;inset:0;background-position:center;background-size:cover}.comparison-after{width:50%;right:auto;overflow:hidden;border-right:2px solid rgba(255,255,255,.95);z-index:2}.comparison-after:after{content:"";position:absolute;inset:0;width:200%;background:inherit;background-position:center;background-size:cover;pointer-events:none}.comparison-handle{position:absolute;z-index:4;top:0;bottom:0;left:50%;width:2px;background:#fff;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;pointer-events:none}.comparison-handle span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#071522;box-shadow:0 6px 20px rgba(0,0,0,.28);font-size:18px;font-weight:800}.comparison-label{position:absolute;z-index:5;top:12px;font-size:9px;font-weight:800;letter-spacing:1px;padding:5px 7px;border-radius:3px;background:rgba(7,21,34,.72);color:#fff}.comparison-label.left{left:10px}.comparison-label.right{right:10px}.comparison-note{text-align:center;color:#81909a;font-size:11px;margin:20px 0 0}.demo-before:before,.demo-after:before{content:"";position:absolute;inset:0}.demo-room{background:linear-gradient(135deg,#6c6258,#c0b19a 46%,#5a6466)}.demo-room-after{background:linear-gradient(135deg,#efe6d8,#c9b596 45%,#748185)}.demo-empty{background:linear-gradient(135deg,#c6c3bd,#ece9e1 55%,#9b9a96)}.demo-staged{background:linear-gradient(135deg,#e7ddcf,#c8ae90 48%,#687473)}.demo-old-kitchen{background:linear-gradient(135deg,#77736c,#aaa59b 55%,#5d6261)}.demo-new-kitchen{background:linear-gradient(135deg,#f0e7d9,#c9b69d 50%,#566365)}.demo-clutter{background:linear-gradient(135deg,#4b5557,#9b8e7b 52%,#6e7370)}.demo-clean{background:linear-gradient(135deg,#d8c9b5,#eee6d8 45%,#748186)}.comparison-card>b{display:block;padding:12px 14px;font-size:12px;color:#dce5ea;line-height:1.35}
.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.section-head h2{font-size:44px}.outline-btn{border:1px solid #c7ccce;padding:12px 18px;font-size:12px;font-weight:700;border-radius:4px}.outline-btn span{margin-left:20px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.portfolio-card{display:block}.portfolio-thumb{aspect-ratio:9/11;border-radius:14px;overflow:hidden;position:relative;background:linear-gradient(135deg,#6d665d,#e0d2bd,#7d8a8c);box-shadow:0 10px 35px rgba(0,0,0,.08)}.portfolio-thumb:after{content:"";position:absolute;inset:0}.fake-play.small{width:42px;height:42px;font-size:12px}.portfolio-thumb .fake-play{z-index:2}.portfolio-thumb small{position:absolute;z-index:2;right:12px;bottom:12px;color:#fff;font-weight:700}.p2{background:linear-gradient(135deg,#88956f,#e1d6bd,#7a634f)}.p3{background:linear-gradient(135deg,#d1b38e,#7d8d78,#eee2cf)}.p4{background:linear-gradient(135deg,#86a6ad,#e8ddd1,#d6c2a3)}.p5{background:linear-gradient(135deg,#676f6f,#c5b9a5,#ece7df)}.p6{background:linear-gradient(135deg,#232c31,#8c7c68,#e1d7c8)}.portfolio-card b{display:block;padding-top:12px;font-size:14px}.why{background:#fff}.section-head.compact{margin-bottom:40px}.why-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:25px}.why-grid>div{border-top:1px solid var(--line);padding-top:24px}.why-icon{font-size:26px;color:#b28539}.why-grid h3{font-family:Manrope;font-size:16px}.why-grid p{font-size:13px;color:var(--muted)}.valencia{background:#f0eee8}.valencia-inner{display:grid;grid-template-columns:1fr 280px;align-items:center;gap:70px}.valencia-inner p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:17px}.valencia-mark{height:280px;border:1px solid #d6d1c7;border-radius:50%;display:grid;place-items:center;position:relative;color:#a77930}.valencia-mark span{font-family:Manrope;font-size:62px;font-weight:800;letter-spacing:-.08em}.valencia-mark strong{position:absolute;bottom:45px;font-size:12px;letter-spacing:4px}.contact-cta{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:90px 0}.contact-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(202,153,66,.15),transparent 30%),linear-gradient(120deg,#071522,#122c3b)}.contact-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}.contact-cta h2{font-size:55px;margin:0 0 20px}.contact-cta p:not(.eyebrow){color:#bdc8cf;max-width:600px}.contact-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 25px}.contact-box div{padding:22px 0;border-bottom:1px solid rgba(255,255,255,.1)}.contact-box div:last-child{border-bottom:0}.contact-box b,.contact-box span{display:block}.contact-box b{font-size:14px}.contact-box span{font-size:12px;color:#9eabb4;margin-top:5px}.site-footer{background:#06131e;color:#aeb9c0}.footer-top{padding:35px 0;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:30px}.footer-top nav{display:flex;justify-content:center;gap:25px;font-size:12px}.social{display:flex;justify-content:end;gap:18px;font-size:12px}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;display:flex;justify-content:space-between;font-size:10px}.footer-bottom div{display:flex;gap:18px}.modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:30px}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.8);backdrop-filter:blur(8px)}.modal-content{position:relative;z-index:2;width:min(430px,90vw);background:#0b1d2b;border-radius:16px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.5)}.modal-close{position:absolute;z-index:3;right:10px;top:8px;border:0;background:rgba(0,0,0,.5);color:#fff;width:35px;height:35px;border-radius:50%;font-size:25px}.modal-placeholder{aspect-ratio:9/16;display:grid;place-items:center;text-align:center;padding:30px;background:linear-gradient(135deg,#243e4c,#9c7a48);color:#fff}.modal-placeholder span{font-family:Manrope;font-size:22px}.modal-placeholder small{display:block;max-width:250px;color:#d8e0e5}.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
/* =========================================================
   MENÚ DESPLEGABLE — SERVICIOS
   ========================================================= */

.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}

.nav-dropdown-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:#eaf0f3;
  font:inherit;
  font-size:14px;
  line-height:1;
  padding:8px 0;
  margin:0;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px;
  opacity:.9;
}

.nav-dropdown-toggle:hover,
.nav-dropdown-toggle:focus-visible{
  color:var(--gold2);
  outline:none;
}

/* El foco producido por una interacción con ratón no debe quedarse
   visualmente activo al pasar a otro elemento del menú. */
.nav-dropdown-toggle:focus:not(:focus-visible){
  color:#eaf0f3;
}

.nav-chevron{
  color:currentColor;
  font-size:13px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .2s ease;
}

.nav-dropdown.open .nav-chevron{
  transform:rotate(180deg) translateY(1px);
}

.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 5px);
  left:50%;
  min-width:235px;
  padding:8px;
  transform:translateX(-50%) translateY(-5px);
  background:#071522;
  border:1px solid rgba(255,255,255,.1);
  border-radius:9px;
  box-shadow:0 18px 45px rgba(0,0,0,.28);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  z-index:50;
}

/* Zona invisible de seguridad entre "Servicios" y el desplegable */
.nav-dropdown:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:10px;
}

.nav-dropdown-menu:before{
  content:"";
  position:absolute;
  top:-7px;
  left:50%;
  width:13px;
  height:13px;
  background:#071522;
  border-left:1px solid rgba(255,255,255,.1);
  border-top:1px solid rgba(255,255,255,.1);
  transform:translateX(-50%) rotate(45deg);
}

.nav-dropdown-menu a{
  display:block;
  padding:11px 13px;
  border-radius:6px;
  color:#eaf0f3;
  opacity:1;
  font-size:13px;
  white-space:nowrap;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible,
.nav-dropdown-menu a.is-current{
  background:rgba(217,170,84,.12);
  color:var(--gold2);
  outline:none;
}

/*
 * Si estamos sobre otro elemento del desplegable, el elemento
 * correspondiente a la página actual deja de verse seleccionado.
 * Así nunca quedan dos opciones resaltadas al mismo tiempo.
 */
.nav-dropdown-menu:has(a:hover) a.is-current:not(:hover),
.nav-dropdown-menu:has(a:focus-visible) a.is-current:not(:focus-visible){
  background:transparent;
  color:#eaf0f3;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

@media(max-width:760px){
  .nav-dropdown{
    width:100%;
    display:block;
  }

  .nav-dropdown-toggle{
    width:100%;
    justify-content:space-between;
    padding:11px 0;
    font-size:14px;
    text-align:left;
  }

  .nav-dropdown-menu{
    position:static;
    min-width:0;
    width:100%;
    padding:4px 0 4px 14px;
    transform:none;
    background:transparent;
    border:0;
    border-left:1px solid rgba(255,255,255,.12);
    border-radius:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    display:none;
  }

  .nav-dropdown-menu:before{
    display:none;
  }

  .nav-dropdown.open .nav-dropdown-menu{
    display:block;
    transform:none;
  }

  .nav-dropdown-menu a{
    padding:10px 12px;
    font-size:13px;
  }

  .nav-dropdown-menu a:hover,
  .nav-dropdown-menu a:focus-visible,
  .nav-dropdown-menu a.is-current{
    background:rgba(217,170,84,.08);
  }

  .nav-dropdown-menu:has(a:hover) a.is-current:not(:hover),
  .nav-dropdown-menu:has(a:focus-visible) a.is-current:not(:focus-visible){
    background:transparent;
    color:#eaf0f3;
  }
}
@media(max-width:980px){.main-nav{gap:18px}.hero-grid{gap:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.before-grid{grid-template-columns:repeat(2,1fr)}.why-grid{grid-template-columns:repeat(3,1fr)}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.container{width:min(100% - 32px,620px)}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle span{width:24px;height:2px;background:#fff}.main-nav{display:none;position:absolute;top:76px;left:0;right:0;background:#071522;padding:20px 24px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.nav-cta{text-align:center}.hero,.hero-grid{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:130px 0 70px}.hero h1{font-size:46px}.hero-showcase{max-width:270px;margin:auto}.intro-grid,.contact-grid,.valencia-inner{grid-template-columns:1fr;gap:30px}.section{padding:75px 0}.service-grid,.before-grid,.portfolio-grid{grid-template-columns:1fr}.why-grid{grid-template-columns:1fr 1fr}.transform-head,.section-head{display:block}.transform-head p{margin-top:20px}.outline-btn{display:inline-block;margin-top:20px}.footer-top{grid-template-columns:1fr;gap:22px}.footer-top nav,.social{justify-content:flex-start;flex-wrap:wrap}.footer-bottom{display:block}.footer-bottom div{margin-top:12px;flex-wrap:wrap}.valencia-mark{width:280px;height:280px;margin:auto}.contact-cta h2{font-size:43px}.floating-tag{display:none}}@media(max-width:450px){.hero h1{font-size:40px}.hero-actions{align-items:flex-start;flex-direction:column}.why-grid{grid-template-columns:1fr}.hero-pills span:not(:last-child):after{display:none}.hero-pills{gap:8px 14px}}
.video-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;border-radius:inherit}.video-media.playing .fake-play,.video-media.playing .video-gradient,.video-media.playing .video-meta{opacity:0;pointer-events:none}.video-gradient,.video-meta,.fake-play{transition:opacity .3s ease;z-index:2}.video-media.playing video{cursor:pointer}

/* =========================================================
   IMÁGENES DE LOS BLOQUES DE SERVICIOS
   ========================================================= */

/* La zona de imagen siempre está visible */
.service-visual {
    position: relative;
    overflow: hidden;
    padding: 0 !important;
    background: none !important;
}

/* La imagen permanece siempre visible */
.service-visual img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: cover !important;
    object-position: center center;
    z-index: 1;
    transition: transform 0.5s ease;
}

/* Eliminamos posibles pseudo-elementos que estén tapando la imagen */
.service-visual::before,
.service-visual::after {
    display: none !important;
    content: none !important;
}

/* El texto antiguo REEL / TOUR IA / STAGING, etc. ya no se utiliza */
.service-visual span {
    display: none !important;
}

/* Pequeño zoom al pasar el ratón */
.service-card:hover .service-visual img {
    transform: scale(1.03);
}


/* =========================================================
   ENCUADRE DE CADA IMAGEN
   ========================================================= */

.visual-reel img {
    object-position: center center;
}

.visual-tour img {
    object-position: center center;
}

.visual-stage img {
    object-position: center center;
}

.visual-reno img {
    object-position: center center;
}

.visual-edit img {
    object-position: center center;
}

.visual-agent img {
    object-position: center center;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 760px) {

    .service-visual {
        position: relative !important;
        overflow: hidden !important;
        padding: 0 !important;
        background: none !important;
    }

    .service-visual img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        object-fit: cover !important;
    }

}

/* =========================================================
   BEFORE / AFTER — VERSIÓN CORRECTA
   ========================================================= */

.comparison {
    position: relative;
    height: 230px;
    overflow: hidden;
    cursor: ew-resize;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}

/* Las dos imágenes tienen EXACTAMENTE el mismo tamaño */
.comparison-base,
.comparison-after {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.comparison-base img,
.comparison-after img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* La imagen DESPUÉS se recorta.
   NO se escala. */
.comparison-after {
    width: 35%;
    right: auto;
    overflow: hidden;
    z-index: 2;
    border-right: 2px solid rgba(255,255,255,.95);
}

/* IMPORTANTE:
   La imagen interior conserva el 100% del tamaño
   de la tarjeta */
.comparison-after img {
    width: 100%;
    height: 100%;
}

/* Divisor */
.comparison-handle {
    position: absolute;
    z-index: 4;
    top: 0;
    bottom: 0;
    left: 35%;
    width: 2px;
    background: #fff;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

/* Botón circular */
.comparison-handle span {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    color: #071522;
    box-shadow: 0 6px 20px rgba(0,0,0,.28);
    font-size: 18px;
    font-weight: 800;
}

/* Etiquetas */
.comparison-label {
    position: absolute;
    z-index: 5;
    top: 12px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
    padding: 5px 7px;
    border-radius: 3px;
    background: rgba(7,21,34,.72);
    color: #fff;
    pointer-events: none;
}

.comparison-label.left {
    left: 10px;
}

.comparison-label.right {
    right: 10px;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width:760px) {

    .comparison {
        height: 240px;
    }

}

/* =========================================================
   PORTFOLIO — REPRODUCTORES DE REELS
   ========================================================= */

.portfolio-thumb {
    position: relative;
    overflow: hidden;
    background: transparent;
    aspect-ratio: 9 / 16;
    border-radius: 16px;
}


/* =========================================================
   VÍDEO
   ========================================================= */

.portfolio-video {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    background: transparent;
}


/* =========================================================
   BOTÓN PLAY / PAUSE
   ========================================================= */

.portfolio-play {
    position: absolute;

    z-index: 5;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    width: 52px;
    height: 52px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, .94);
    color: #071522;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 17px;
    line-height: 1;

    cursor: pointer;

    box-shadow: 0 8px 25px rgba(0, 0, 0, .22);

    transition:
        transform .25s ease,
        background .25s ease,
        opacity .25s ease;
}


/* Hover del botón */

.portfolio-play:hover {
    transform: translate(-50%, -50%) scale(1.07);
    background: #fff;
}


/* =========================================================
   ICONOS PLAY / PAUSE
   ========================================================= */

/* Por defecto mostramos PLAY */

.portfolio-play .play-icon {
    display: inline;
}

.portfolio-play .pause-icon {
    display: none;
}


/* Cuando el vídeo está reproduciéndose mostramos PAUSE */

.portfolio-thumb.is-playing .portfolio-play .play-icon {
    display: none;
}

.portfolio-thumb.is-playing .portfolio-play .pause-icon {
    display: inline;
}


/* =========================================================
   BOTÓN MIENTRAS SE REPRODUCE
   ========================================================= */

/*
   En escritorio:
   ocultamos ligeramente el botón mientras el ratón
   está fuera de la tarjeta.
*/

.portfolio-thumb.is-playing .portfolio-play {
    opacity: 0;
    pointer-events: none;
}


/*
   Cuando el usuario pasa el ratón por encima,
   aparece el botón de PAUSA.
*/

.portfolio-thumb.is-playing:hover .portfolio-play {
    opacity: 1;
    pointer-events: auto;
}


/* =========================================================
   DURACIÓN
   ========================================================= */

.portfolio-thumb > small {
    position: absolute;

    z-index: 4;

    right: 12px;
    bottom: 12px;

    color: #fff;

    font-size: 11px;
    font-weight: 700;

    text-shadow: 0 1px 4px rgba(0, 0, 0, .6);

    pointer-events: none;
}


/*
   Ocultamos la duración durante la reproducción.
*/

.portfolio-thumb.is-playing > small {
    display: none;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 760px) {

    .portfolio-thumb {
        aspect-ratio: 9 / 16;
    }

    .portfolio-play {
        width: 48px;
        height: 48px;

        font-size: 15px;

        /*
         * En móvil no existe hover.
         * Por eso el botón permanece disponible
         * durante la reproducción.
         */
    }

    .portfolio-thumb.is-playing .portfolio-play {
        opacity: 1;
        pointer-events: auto;
    }

}

/* Ajuste del icono "Especialista en Valencia" */
.reason-item:nth-child(4) .reason-icon {
    font-size: 30px;
    font-weight: 500;
}

.phone {
    color: #e0ad4f;
    font-weight: 600;
    text-decoration: none;
    text-shadow: 0 0 9px rgba(224, 173, 79, 0.22);
    transition: all .25s ease;
}

.phone:hover {
    color: #f2c46d;
    text-shadow:
        0 0 8px rgba(224, 173, 79, 0.45),
        0 0 18px rgba(224, 173, 79, 0.25);
}


/* =========================================================
   BUSTO — SECCIÓN "POR QUÉ TRABAJAR CONMIGO"
   ========================================================= */

.why {
    position: relative;
}

.why .container {
    position: relative;
}


/* =========================================================
   BUSTO — SOLO ESCRITORIO
   ========================================================= */

.why {
    position: relative;
}

.why .container {
    position: relative;
}

.why-bust {
    position: absolute;

    z-index: 5;

    right: 2%;
    bottom: 220px;

    width: 400px;
    height: auto;

    display: block;

    pointer-events: none;
    user-select: none;
}


/* =========================================================
   TABLET Y MÓVIL — OCULTAR BUSTO
   ========================================================= */

@media (max-width: 1000px) {

    .why-bust {
        display: none;
    }

}

/* =========================================================
   SOBRE MÍ — PRESENTACIÓN + FOTOGRAFÍA
   ========================================================= */

.about-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 70px;
    align-items: center;
    margin-bottom: 70px;
}

/* Columna de texto */
.about-intro-content {
    min-width: 0;
}

/* Texto de presentación */
.about-lead {
    max-width: 900px;
    margin: 0 0 22px;
    color: #60758a;
    font-size: 18px;
    line-height: 1.7;
}

.about-lead:last-child {
    margin-bottom: 0;
}

/* Fotografía */
.about-photo {
    width: 100%;
    max-width: 360px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center top;
    display: block;
    border-radius: 22px;
    box-shadow: 0 18px 45px rgba(7, 21, 34, 0.12);
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .about-intro {
        grid-template-columns: minmax(0, 1fr) 290px;
        gap: 45px;
        margin-bottom: 55px;
    }

    .about-lead {
        font-size: 17px;
        line-height: 1.65;
    }

    .about-photo {
        max-width: 290px;
        border-radius: 20px;
    }
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 760px) {

    .about-intro {
        grid-template-columns: 1fr;
        gap: 30px;
        margin-bottom: 45px;
    }

    .about-lead {
        font-size: 16px;
        line-height: 1.65;
    }

    .about-photo {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 4 / 3;
        border-radius: 18px;
    }
}

.about-photo-wrap {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

/* =========================================================
   FORMULARIO DE CONTACTO — FORMSPREE
   ========================================================= */
.contact-grid{grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.contact-form-wrap,.tour-contact-form-wrap{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:30px;box-shadow:0 20px 55px rgba(0,0,0,.16);backdrop-filter:blur(8px)}
.contact-form{display:flex;flex-direction:column;gap:18px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-field{display:flex;flex-direction:column;min-width:0}
.form-field label{margin:0 0 7px;color:#f2f5f6;font-size:12px;font-weight:700}
.form-field label small{color:#8fa0aa;font-size:10px;font-weight:500;margin-left:4px}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:rgba(255,255,255,.065);color:#fff;font:inherit;font-size:13px;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.form-field input,.form-field select{height:46px;padding:0 13px}
.form-field textarea{min-height:120px;padding:12px 13px;resize:vertical;line-height:1.5}
.form-field input::placeholder,.form-field textarea::placeholder{color:#84949e}
.form-field select{color:#dfe7eb}
.form-field select option{color:#071522;background:#fff}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold);background:rgba(255,255,255,.085);box-shadow:0 0 0 3px rgba(217,170,84,.12)}
.form-field input[aria-invalid="true"],.form-field select[aria-invalid="true"],.form-field textarea[aria-invalid="true"]{border-color:#e07b72}
.form-field-error{display:block;min-height:0;margin-top:5px;color:#f0aaa4;font-size:11px}
.form-consent{display:flex;align-items:flex-start;gap:10px;color:#aebbc2;font-size:11px;line-height:1.5;cursor:pointer}
.form-consent input{flex:0 0 auto;width:15px;height:15px;margin:1px 0 0;accent-color:var(--gold)}
.form-consent a{color:var(--gold2);text-decoration:underline;text-underline-offset:2px}
.form-actions{display:flex;align-items:center;gap:18px;margin-top:2px}
.form-actions .btn{border:0;cursor:pointer;white-space:nowrap}
.form-actions .btn:disabled{opacity:.55;cursor:wait}
.form-note{color:#8fa0aa;font-size:11px}
.form-success{display:none;padding:13px 15px;border:1px solid rgba(217,170,84,.35);border-radius:8px;background:rgba(217,170,84,.09);color:#f3d99f;font-size:13px;line-height:1.5}
.form-success:not(:empty){display:block}
.form-error{display:none;padding:13px 15px;border:1px solid rgba(224,123,114,.35);border-radius:8px;background:rgba(224,123,114,.08);color:#f0aaa4;font-size:13px;line-height:1.5}
.form-error:not(:empty){display:block}
.tour-contact-grid{grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
@media(max-width:760px){
  .contact-grid,.tour-contact-grid{grid-template-columns:1fr;gap:35px}
  .contact-form-row{grid-template-columns:1fr;gap:18px}
  .contact-form-wrap,.tour-contact-form-wrap{padding:22px;border-radius:15px}
  .form-actions{align-items:flex-start;flex-direction:column;gap:12px}
  .form-actions .btn{width:100%;justify-content:center}
}
