/* Tipografías: las rutas quedan listas para los archivos originales. */
@font-face{font-family:hurme_geometric_sans_3;src:url('./fonts/Open-sans.woff2') format('woff2');font-display:swap;font-weight:400}
@font-face{font-family:hurme_geometric_sans_3bold;src:url('./fonts/Helvetia-Bond.woff2') format('woff2');font-display:swap;font-weight:700}
@font-face{font-family:hurme_geometric_sans_3semibold;src:url('./fonts/Helvetia-Bond.woff2') format('woff2');font-display:swap;font-weight:600}
:root{--font-body:'hurme_geometric_sans_3',sans-serif;--font-strong:'hurme_geometric_sans_3bold',sans-serif;--font-headers:'hurme_geometric_sans_3semibold',sans-serif;--color-dark:#1D1E22;--gold:#c7b24e;--edge:6.2vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;background:#000;color:white;font-family:var(--font-body);overflow-x:hidden}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:7px}.skip{position:fixed;top:-80px;z-index:100;background:black;padding:16px}.skip:focus{top:0}.frame{width:100vw;height:100vh;position:relative;isolation:isolate;overflow:hidden;background:#080909}.media,.shade{position:absolute;inset:0;z-index:-2}.media{background-position:center;background-size:cover}.vineyard{background-image:none}.villa{background-image:none}.horse{background-image:none;background-position:center 40%}.shade{z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.12) 35%,rgba(0,0,0,.78))}.copy{position:absolute;bottom:15%;left:var(--edge);right:var(--edge);transition:opacity .65s,transform .65s}.eyebrow{display:block;font-size:12px;letter-spacing:.2em;margin-bottom:24px;color:#e6dbb2}h1,h2{font-family:var(--font-headers);font-weight:600;font-size:28px;line-height:1.28;letter-spacing:-.025em;margin:0 0 14px}p{font-size:16px;line-height:1.6;margin:0;color:#fff}.hero .copy{bottom:23%}.hero-photo{filter:saturate(.65)}header{position:absolute;top:0;left:0;width:100%;padding-top:34px}.header-top{padding:0 var(--edge) 27px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffffb3}.logo{font-size:27px;letter-spacing:.22em;font-weight:500}.logo span{display:block;font-size:10px;letter-spacing:.48em;margin-top:7px}.location{font-size:11px;letter-spacing:.2em}nav{display:flex;justify-content:flex-end;gap:42px;padding:21px var(--edge);font-size:14px}nav a{padding-bottom:5px;border-bottom:1px solid transparent}nav a:hover{border-color:white}.hero-label{position:absolute;top:43%;left:var(--edge);font-size:12px;letter-spacing:.25em}.scroll-cue{position:absolute;bottom:7%;left:var(--edge);display:flex;align-items:center;gap:34px;font-size:13px}.scroll-cue span{font-size:25px}.hero-coordinate{position:absolute;right:var(--edge);bottom:8%;font-size:10px;letter-spacing:.1em}.frame-counter{position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:12px;mix-blend-mode:difference}.counter-line{height:65px;width:1px;background:#ffffff70}#current-frame{font-weight:bold}
/* EFECTO 2: desplazamiento moderado del fondo, sin afectar al documento. */
.parallax .media{inset:-15% 0;transform:translateY(var(--parallax,0px));will-change:transform}.ambient{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 20%,#c7b24e40,transparent 65%);transform:translateY(var(--ambient,0px))}
/* FIN EFECTO 2 / EFECTO 3: 3 alturas de recorrido y un escenario sticky. */
.sticky-story{height:300vh;position:relative}.sticky-stage{height:100vh;position:sticky;top:0;overflow:hidden}.story-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s,visibility .7s}.story-slide.current{opacity:1;visibility:visible}.story-slide .copy{transform:translateY(35px)}.story-slide.current .copy{transform:translateY(0)}.detail{background-position:70% center;transform:scale(1.12)}.story-progress{position:absolute;bottom:8%;left:var(--edge);display:flex;gap:8px}.story-progress i{height:2px;width:50px;background:#ffffff50}.story-progress i.selected{background:var(--gold)}
/* FIN EFECTO 3 / EFECTO 4: cada tarjeta cubre la anterior. */
.card{position:sticky;top:0;box-shadow:0 -20px 70px #0004}.gold-frame{background:radial-gradient(ellipse at 85% 30%,#c7b24e70,transparent 60%),linear-gradient(140deg,#171710,#030403)}.dark-frame{background:radial-gradient(ellipse at 15% 0%,#c7b24e22,transparent 65%),#1d1e22}.giant{position:absolute;top:24%;left:var(--edge);font-size:clamp(40px,10vw,160px);font-family:var(--font-strong);letter-spacing:-.05em;color:#ffffff12;white-space:nowrap}.back{display:inline-block;margin-top:35px;font-size:14px;padding-bottom:8px;border-bottom:1px solid #c7b24e}.last footer{position:absolute;left:var(--edge);bottom:5%;right:var(--edge);padding-top:22px;border-top:1px solid #ffffff40;letter-spacing:.18em;font-size:16px}.last footer span{float:right;font-size:11px;letter-spacing:.2em}
/* FIN EFECTO 4 / Adaptación móvil y accesibilidad. */
@media(max-width:640px){:root{--edge:7vw}.location,.hero-coordinate{display:none}header{padding-top:25px}.logo{font-size:23px}.header-top{padding-bottom:22px}nav{justify-content:space-between;gap:12px;font-size:12px;padding-top:20px}.frame-counter{right:10px;font-size:10px}.copy{right:35px;bottom:18%}.hero .copy{bottom:25%}.hero-label{top:42%;font-size:10px}h1,h2{font-size:28px}.eyebrow{font-size:10px}.last footer span{display:block;float:none;margin-top:10px}.media{background-position:center}.giant{top:30%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.parallax .media,.ambient{transform:none!important}.sticky-story{height:auto}.sticky-stage{height:auto;position:relative}.story-slide{position:relative;opacity:1;visibility:visible}.story-slide .copy{transform:none}.story-progress{display:none}.card{position:relative}}
/* Frames originales: se conserva todo el contenido gráfico y el texto integrado. */
.original-frame,.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.preserve{background:#000}.preserve .original-frame{object-fit:contain}.preserve .ambient{opacity:.2}.logo img{width:260px;max-width:65vw;height:auto;display:block}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.video-toggle{position:absolute;bottom:7%;right:var(--edge);font:inherit;font-size:12px;color:white;background:#0005;border:1px solid #ffffff60;padding:10px 15px;cursor:pointer}.hero-coordinate{bottom:14%}.parallax .original-frame{transform:translateY(var(--parallax,0px));will-change:transform}@media(prefers-reduced-motion:reduce){.parallax .original-frame{transform:none}}
/* Actualización: tipografía, mapa de navegación y páginas de contenido. */
h1,h2{font-size:46px;line-height:1.15}.copy p{font-size:21px;line-height:1.5}.logo img{width:257px;height:30px;object-fit:contain}header{z-index:10}nav{justify-content:space-between;gap:24px;font-size:14px}nav>div{display:flex;gap:24px;flex-wrap:wrap}.highlight{background:radial-gradient(ellipse at 90% 20%,#c7b24e30,transparent 65%),#080909}.highlight .copy{bottom:30%;max-width:900px}.highlight h2{max-width:700px}.detail-link{display:inline-block;font-size:16px;margin-top:28px;border-bottom:1px solid var(--gold);padding-bottom:10px}.frame-link{position:absolute;bottom:5%;right:var(--edge);font-size:16px;border-bottom:1px solid #c7b24e;padding:10px}.site-footer{position:relative;z-index:5;background:#080909;padding:65px var(--edge);border-top:1px solid #ffffff40}.site-footer nav{padding:32px 0;display:flex;flex-wrap:wrap;justify-content:flex-start}.footer-brand{font-size:24px;letter-spacing:.15em}.content-page header{position:relative;padding-bottom:25px}.page-heading{padding:70px var(--edge) 45px}.page-heading>a{display:block;color:#c7b24e;margin-bottom:28px;font-size:14px}.page-heading h1{max-width:1000px}.page-image{display:block;width:calc(100% - 12.4vw);max-height:65vh;object-fit:cover;margin:0 auto 64px}.content-page article{max-width:980px;margin:0 auto;padding:0 6vw 90px}.content-page article p{font-size:18px;line-height:1.85;margin-bottom:24px;color:#e1e1e1}.content-page article h2{font-size:30px;line-height:1.3;margin:45px 0 22px}.content-page article a{color:#dfcd80;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid label{display:flex;flex-direction:column;gap:10px;font-size:16px}.wide{grid-column:1/-1}input,textarea{width:100%;background:#181818;color:white;border:1px solid #777;padding:13px;font:inherit;border-radius:0}input:focus,textarea:focus,button:focus-visible{outline:2px solid #c7b24e;outline-offset:4px}.consent{display:block;margin:28px 0;line-height:1.6}.consent input{width:auto;margin-right:10px}form button{background:#c7b24e;border:0;color:#000;padding:16px 24px;font:inherit;cursor:pointer}.content-page article .form-hint{font-size:16px}.content-page .site-footer{z-index:auto}
@media(max-width:850px){nav>div{gap:14px}nav{gap:18px;flex-wrap:wrap}.hero-label{display:none}.hero .copy{bottom:25%}.hero h1 br{display:none}.hero h1{max-width:650px}.copy{right:8vw}.frame-counter{right:8px}.page-heading{padding-top:40px}}
@media(max-width:640px){h1,h2{font-size:46px}.copy p{font-size:21px}.header-top{padding-bottom:22px}nav{font-size:14px;padding-top:18px}.hero .copy{bottom:21%}.hero h1{font-size:46px;line-height:1.08}.hero .eyebrow{margin-bottom:18px}.copy{bottom:16%}.highlight .copy{bottom:24%}.hero-coordinate{display:none}.page-heading h1{font-size:38px;overflow-wrap:break-word}.form-grid{grid-template-columns:1fr}.content-page article{padding-left:7vw;padding-right:7vw}.site-footer nav{flex-direction:column;align-items:flex-start}.preserve .original-frame{object-fit:contain}.frame-link{left:7vw;right:auto}.hero-video{object-position:center}.content-page article h2{font-size:28px}}
@media(max-height:600px){.hero .copy{bottom:17%}.hero .eyebrow,.hero-label{display:none}.hero h1{font-size:38px}.hero-coordinate{display:none}header{padding-top:18px}.header-top{padding-bottom:16px}.hero nav{padding-top:12px;padding-bottom:12px}}
/* Cabecera de dos niveles: logo y enlaces derechos sobre la línea. */
.two-level-header .header-top{display:flex;align-items:center;gap:32px;padding:0 var(--edge) 26px;border-bottom:1px solid white}.two-level-header .logo{flex-shrink:0}.two-level-header .logo img{width:360px;max-width:44vw;height:auto}.two-level-header .nav-upper{margin-left:auto;padding:0;justify-content:flex-end;gap:28px;align-items:center}.two-level-header .nav-lower{justify-content:flex-start;gap:36px;padding:22px var(--edge)}.page-image{width:100%;max-height:none;height:auto;margin:0 0 64px;object-fit:contain}
/* Frame 2: retrato a la izquierda, texto nativo a la derecha. */
.architect-frame{background:#080808}.architect-portrait{position:absolute;left:0;top:0;width:43%;height:100%;background-image:url('assets/frame-2.webp');background-repeat:no-repeat;background-position:left center;background-size:auto 100%;transform:translateY(var(--parallax,0px)) scale(1.06)}.architect-copy{position:absolute;left:49%;right:7%;top:50%;transform:translateY(-50%)}.architect-copy h2{font-size:46px;line-height:1.15;margin-bottom:30px}.architect-copy p{font-size:21px;line-height:1.65}.village-margin{position:absolute;left:var(--edge);bottom:8%;font-size:18px;letter-spacing:.13em;padding:16px 20px;background:#000c;border-bottom:1px solid #c7b24e}.village-margin span{margin-left:22px}
/* Sección fija: la escena permanece mientras el texto cambia de posición. */
.pin-track{position:relative;height:180vh;background:#080909}.pinned-frame{position:sticky;top:0}.pinned-frame .copy{transform:translateY(calc((.5 - var(--pin-progress,0)) * 70px));transition:none}.pinned-frame .original-frame{transform:scale(calc(1 + var(--pin-progress,0) * .06))}.pin-line{position:absolute;left:var(--edge);bottom:8%;height:2px;width:calc(100% - 2 * var(--edge));background:#ffffff40}.pin-line:after{content:'';display:block;width:100%;height:100%;background:#c7b24e;transform-origin:left;transform:scaleX(var(--pin-progress,0))}
.parallax:not(.architect-frame) .original-frame{transform:translateY(var(--parallax,0px)) scale(1.12)}
@media(max-width:850px){.two-level-header .header-top{gap:20px}.two-level-header .nav-upper{flex-direction:column;align-items:flex-end;gap:14px;text-align:right}.two-level-header .nav-lower{gap:22px}.architect-copy{left:45%;right:6%}.architect-copy h2{font-size:36px}.architect-copy p{font-size:19px;line-height:1.5}}
@media(max-width:640px){.two-level-header .header-top{align-items:center;gap:18px}.two-level-header .logo img{width:290px;max-width:46vw}.two-level-header .nav-upper{font-size:14px;gap:12px}.two-level-header .nav-lower{font-size:14px;gap:12px 20px;padding-top:18px}.architect-portrait{width:100%;opacity:.23;background-size:auto 100%}.architect-copy{left:7%;right:9%;top:45%}.architect-copy h2{font-size:38px;margin-bottom:22px}.architect-copy p{font-size:21px;line-height:1.5}.architect-copy .eyebrow{font-size:12px}.village-margin{bottom:5%;font-size:15px}.page-image{margin-bottom:40px}}
@media(max-height:650px){.architect-copy h2{font-size:32px;margin-bottom:16px}.architect-copy p{font-size:18px;line-height:1.4}.architect-copy .eyebrow{margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.pin-track{height:auto}.pinned-frame{position:relative}.pinned-frame .copy,.pinned-frame .original-frame,.architect-portrait,.parallax:not(.architect-frame) .original-frame{transform:none!important}.pin-line{display:none}}
/* Imágenes completas: proporción original y texto fuera de la fotografía. */
.content-page .page-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;transform:none}.content-page article{width:100%;max-width:1100px;padding-left:clamp(24px,6vw,100px);padding-right:clamp(24px,6vw,100px)}.content-page article p{overflow-wrap:break-word}.content-page h1,.content-page h2{overflow-wrap:break-word}
.frame:has(>.original-frame){display:flex;flex-direction:column;background:#080909}.frame>.original-frame{position:relative;inset:auto;display:block;width:100%;height:0;min-height:0;flex:1;object-fit:contain;z-index:0;transform:none!important}.frame:has(>.original-frame)>.shade{display:none}.frame:has(>.original-frame)>.copy{position:relative;inset:auto;flex-shrink:0;padding:24px var(--edge) 64px;background:#080909;transform:none;z-index:1}.frame:has(>.original-frame) .eyebrow{margin-bottom:12px}.frame:has(>.original-frame) h2{margin-bottom:10px}.frame:has(>.original-frame) .pin-line{bottom:24px}.parallax:has(>.original-frame)>.copy{transform:translateY(clamp(-8px,var(--parallax,0px),8px))}
.architect-frame{height:auto;min-height:100vh;display:flex;flex-direction:column}.architect-original{width:100%;height:auto;display:block;object-fit:contain}.architect-copy{position:relative;inset:auto;transform:none;padding:44px var(--edge);max-width:1200px;margin:0 auto;width:100%}.architect-copy p{font-size:21px;line-height:1.65}.village-margin{position:relative;inset:auto;order:3;align-self:flex-start;margin:0 0 42px var(--edge)}
@media(max-width:640px){.frame:has(>.original-frame)>.copy{padding:22px 7vw 45px}.frame:has(>.original-frame) h2{font-size:clamp(32px,8vw,46px)}.frame:has(>.original-frame) p{font-size:21px}.architect-copy{padding:28px 7vw}.architect-copy h2{font-size:36px}.architect-copy p{font-size:21px}.content-page article{padding-left:7vw;padding-right:7vw}}
@media(max-height:600px){.frame:has(>.original-frame)>.copy{padding-top:12px;padding-bottom:28px}.frame:has(>.original-frame) h2{font-size:32px}.frame:has(>.original-frame) .eyebrow{display:none}}
/* Footer amplio en todas las páginas. */
.site-footer{width:100%;max-width:none;min-height:360px;padding:80px 3vw 65px}.site-footer nav{width:100%;justify-content:space-between;gap:28px;padding:45px 0;font-size:16px}.footer-brand{font-size:32px}.site-footer>a:last-child{font-size:18px}@media(max-width:640px){.site-footer{padding:55px 7vw;min-height:400px}.site-footer nav{gap:24px;padding:32px 0}.footer-brand{font-size:28px}}
/* Home inmersiva: fotografía de borde a borde y texto superpuesto. */
.home-page #principal,.home-page .frame,.home-page .pin-track{width:100%;max-width:none;margin-left:0;margin-right:0}.home-page .frame:has(>.original-frame){display:block;height:100vh;height:100svh}.home-page .frame>.original-frame{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:-2;flex:none}.home-page .frame:has(>.original-frame)>.shade{display:block;z-index:-1}.home-page .frame:has(>.original-frame)>.copy{position:absolute;left:var(--edge);right:var(--edge);bottom:15%;padding:0;background:transparent;transform:none;z-index:1}.home-page .frame:has(>.original-frame) h2{font-size:46px}.home-page .frame:has(>.original-frame) p{font-size:21px}.home-page .architect-original{width:100%;max-width:none;height:auto}.home-page .pinned-frame{height:100vh!important}.home-page .parallax>.original-frame{transform:translateY(var(--parallax,0px)) scale(1.12)!important}.home-page .pinned-frame>.original-frame{transform:scale(calc(1 + var(--pin-progress,0) * .06))!important}
@media(prefers-reduced-motion:reduce){.home-page .parallax>.original-frame,.home-page .pinned-frame>.original-frame{transform:none!important}}
/* Frame 2: retrato y cita dentro de una única pantalla. */
.home-page .architect-frame{display:block;height:100vh;height:100svh;min-height:0;position:relative;overflow:hidden;background:#080808}.home-page .architect-original{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center}.home-page .architect-copy{position:absolute;left:49%;right:0;top:0;bottom:0;width:auto;max-width:none;margin:0;padding:7vh 6vw 7vh 4vw;display:flex;flex-direction:column;justify-content:center;background:#080808;transform:none}.home-page .architect-copy h2{font-size:46px;margin-bottom:26px}.home-page .architect-copy p{font-size:21px;line-height:1.6}.home-page .village-margin{position:absolute;left:var(--edge);bottom:7%;margin:0;z-index:2;order:initial}.home-page .architect-copy .eyebrow{font-size:12px}
@media(max-width:850px){.home-page .architect-copy{left:42%;padding:5vh 5vw}.home-page .architect-copy h2{font-size:36px}.home-page .architect-copy p{font-size:20px;line-height:1.45}}
@media(max-width:640px){.home-page .architect-original{opacity:.28}.home-page .architect-copy{left:0;right:0;bottom:14%;padding:6vh 7vw 2vh;background:#08080880}.home-page .architect-copy h2{font-size:36px;margin-bottom:18px}.home-page .architect-copy p{font-size:21px;line-height:1.45}.home-page .village-margin{bottom:4%;font-size:14px}}
@media(max-height:620px){.home-page .architect-copy{padding-top:3vh;padding-bottom:3vh}.home-page .architect-copy h2{font-size:30px;margin-bottom:14px}.home-page .architect-copy p{font-size:18px;line-height:1.35}.home-page .architect-copy .eyebrow{margin-bottom:12px}}
/* Dos grupos verticales, alineados a los extremos del footer. */
.site-footer .footer-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px;width:100%;padding:40px 0}.site-footer .footer-navigation>div{display:flex;flex-direction:column;gap:20px;min-width:0}.site-footer .footer-main-links{align-items:flex-start;text-align:left}.site-footer .footer-legal-links{align-items:flex-end;text-align:right}.site-footer .footer-navigation a{line-height:1.5;overflow-wrap:break-word;max-width:100%}@media(max-width:640px){.site-footer .footer-navigation{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;font-size:14px}.site-footer .footer-navigation>div{gap:18px}}
/* Accesos destacado con el dorado corporativo. */
.two-level-header .nav-upper .agents-menu{display:flex;align-items:center;flex-wrap:nowrap;gap:14px}.two-level-header .nav-upper .access-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 19px;background:#c7b24e;color:#080808;border:1px solid #c7b24e;font-weight:600;white-space:nowrap;transition:background .2s,border-color .2s}.two-level-header .nav-upper .access-button:hover{background:#deca6a;border-color:#deca6a}.two-level-header .nav-upper .access-button:focus-visible{outline:2px solid white;outline-offset:4px}@media(max-width:640px){.two-level-header .nav-upper .agents-menu{flex-wrap:wrap;justify-content:flex-end;gap:8px}.two-level-header .nav-upper .access-button{padding:8px 14px}}
/* Área de acceso: formulario independiente de la solicitud de agentes. */
.access-main{min-height:70vh;display:grid;place-items:center;padding:65px 24px 90px;background:radial-gradient(ellipse at 50% 20%,#c7b24e15,transparent 65%),#080808}.access-panel{width:100%;max-width:520px;padding:46px;background:#111;border:1px solid #c7b24e70;border-top:3px solid #c7b24e;box-shadow:0 24px 70px #0007}.access-panel .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em;margin-bottom:20px}.access-panel h1{font-size:40px;margin:0 0 12px}.access-intro{font-size:17px;color:#c9c9c9;margin-bottom:32px}.login-form{display:flex;flex-direction:column;gap:12px}.login-form label{font-size:16px}.login-form input{min-height:52px;margin-bottom:14px;border:1px solid #666;background:#080808;padding:14px;font-size:16px}.login-form input::placeholder{color:#999}.login-form button{margin-top:8px;min-height:52px;background:#c7b24e;color:#080808;font-weight:600}.login-form button:disabled{cursor:not-allowed;opacity:.7}.login-form #access-status{font-size:14px;line-height:1.5;color:#c9c9c9;margin-top:6px;text-align:center}@media(max-width:640px){.access-main{padding:35px 20px 60px}.access-panel{padding:30px 24px}.access-panel h1{font-size:34px}}
/* Parámetros de Cartuja Village, datos y pictogramas. */
#frame-highlight-b .copy{left:var(--edge);right:var(--edge);max-width:none;bottom:auto;top:50%;transform:translateY(-50%)}.village-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:44px 0 12px;gap:0;border-top:1px solid #c7b24e60;border-bottom:1px solid #c7b24e60}.village-stat{padding:30px 24px 28px 0;position:relative}.village-stat+.village-stat{border-left:1px solid #c7b24e30;padding-left:28px}.village-stat svg{width:36px;height:38px;color:#c7b24e;margin-bottom:18px}.village-stat dt{font-size:16px;color:#ddd}.village-stat dd{font-size:clamp(28px,3vw,46px);line-height:1.2;letter-spacing:-.035em;margin:12px 0;color:white;white-space:nowrap}.village-stat p{font-size:14px!important;color:#aaa;line-height:1.5!important}#frame-highlight-b .detail-link{margin-top:24px}@media(max-width:700px){.village-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}.village-stat{padding:18px 12px 18px 0}.village-stat+.village-stat{padding-left:16px}.village-stat:nth-child(3){border-left:0;padding-left:0}.village-stat:nth-child(n+3){border-top:1px solid #c7b24e30}.village-stat svg{width:28px;height:30px;margin-bottom:10px}.village-stat dd{font-size:30px}.village-stat dt{font-size:15px}#frame-highlight-b h2{font-size:36px}}@media(max-height:650px){.village-stats{margin-top:18px}.village-stat{padding-top:12px;padding-bottom:12px}.village-stat svg{height:25px;margin-bottom:5px}.village-stat dd{margin:8px 0;font-size:28px}#frame-highlight-b h2{font-size:32px}#frame-highlight-b .eyebrow{margin-bottom:14px}}
/* Efectos intercambiables: funcionan también en frames tipográficos. */
.home-page .architect-frame.card{position:sticky;top:0}.home-page .architect-frame.pinned-frame{position:sticky;top:0}.home-page .architect-frame.parallax .architect-original{transform:translateY(var(--parallax,0px)) scale(1.1)}.home-page .pinned-frame .copy{translate:0 calc((.5 - var(--pin-progress,0)) * 55px)}.home-page .parallax.highlight{background-position:center calc(50% + var(--parallax,0px))}.home-page .parallax.highlight:not(:has(>.original-frame)) .copy{translate:0 var(--parallax,0px)}
@media(prefers-reduced-motion:reduce){.home-page .architect-frame.card,.home-page .architect-frame.pinned-frame{position:relative}.home-page .pinned-frame .copy,.home-page .parallax.highlight .copy{translate:none!important}.home-page .architect-frame.parallax .architect-original{transform:none}}
.two-level-header .nav-upper .access-button{border-radius:999px}
/* Cierre ecuestre: negro y oro difuminado. */
.home-page .equestrian-gold>.original-frame{filter:saturate(.55) sepia(.22)}.home-page .equestrian-gold>.shade{background:radial-gradient(ellipse at 82% 24%,#c7b24e55,transparent 60%),linear-gradient(180deg,#08080822 30%,#080808e8 100%)}.equestrian-gold .gold-border{position:absolute;inset:28px;border:1px solid #c7b24e80;pointer-events:none}.home-page .equestrian-gold .copy{bottom:12%}.equestrian-gold .eyebrow{color:#e4d28a;letter-spacing:.22em}.equestrian-gold .detail-link{color:#e4d28a;border-color:#c7b24e}.equestrian-gold h2{max-width:760px}@media(max-width:640px){.equestrian-gold .gold-border{inset:14px}}
/* Footer inspirado en la referencia, adaptado a negro y oro Tiethunder. */
.site-footer.reference-footer{padding:65px 3vw 28px;background:#0a0a0a;min-height:320px;border-top:1px solid #c7b24e40}.footer-top-grid{display:grid;grid-template-columns:1.4fr 1.25fr 1fr 1.15fr 1.1fr;gap:36px;padding-bottom:60px;align-items:start}.footer-logo img{display:block;width:100%;max-width:300px;height:auto}.reference-footer .footer-column{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px;padding:0;margin:0;width:auto;font-size:16px}.reference-footer .footer-column h2{font-size:16px;line-height:1.4;letter-spacing:.045em;margin:0 0 8px;color:#c7b24e}.reference-footer .footer-column a{line-height:1.5;padding:0;border:0;color:#e3e3e3;overflow-wrap:anywhere}.reference-footer a:hover{color:#c7b24e}.footer-bottom{border-top:1px solid #ffffff45;padding-top:25px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 24px;font-size:14px;color:#ccc}.footer-bottom a{line-height:1.5}@media(max-width:1100px){.footer-top-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}.footer-logo{grid-column:1/-1}.footer-logo img{max-width:280px}}@media(max-width:640px){.site-footer.reference-footer{padding:44px 7vw 26px}.footer-top-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;padding-bottom:36px}.reference-footer .footer-column{font-size:14px}.reference-footer .footer-column h2{font-size:14px}.footer-bottom{justify-content:flex-start;font-size:13px}.footer-bottom span{flex-basis:100%}}
/* Referencia final: superficie dorada difuminada y tipografía oscura. */
.site-footer.reference-footer{background:radial-gradient(ellipse at 18% 10%,#f0e7bf 0%,transparent 60%),radial-gradient(ellipse at 85% 80%,#c7b24e77 0%,transparent 65%),linear-gradient(115deg,#ded09a,#c7b24e 58%,#e3d8ac);color:#1d1e22;border-top:1px solid #aa9348;padding:64px 2.4vw 28px}.reference-footer .footer-logo img{filter:brightness(0)}.reference-footer .footer-column h2{color:#574512;font-weight:700}.reference-footer .footer-column a{color:#1d1e22}.reference-footer .footer-bottom{border-top:1px solid #1d1e2260;color:#1d1e22}.reference-footer a:hover{color:#574512;text-decoration:underline;text-underline-offset:4px}.reference-footer a:focus-visible{outline-color:#1d1e22}.reference-footer .footer-top-grid{padding-bottom:60px}@media(max-width:640px){.site-footer.reference-footer{padding:44px 7vw 26px}}
/* Capas explícitas para que las fotografías permanezcan visibles. */
.home-page .frame>.original-frame,.home-page .hero-video{z-index:0}.home-page .frame>.shade{z-index:1}.home-page .frame>.copy,.home-page .hero-label,.home-page .scroll-cue,.home-page .hero-coordinate,.home-page .video-toggle{z-index:2}.home-page .gold-border{z-index:2}.home-page .pin-line{z-index:3}
/* Frame de superficies: fondo oro y gráfico proporcional. */
#frame-highlight-b{background:radial-gradient(ellipse at 15% 10%,#f2e8bb,transparent 65%),linear-gradient(125deg,#c7b24e,#ded09b 65%,#b39b3f);color:#171710}#frame-highlight-b .eyebrow,#frame-highlight-b .village-stat svg,#frame-highlight-b .village-stat dt,#frame-highlight-b .village-stat dd,#frame-highlight-b .village-stat p{color:#30290f}#frame-highlight-b .detail-link{border-color:#51421a}#frame-highlight-b .village-stats{border-color:#51421a55;margin-top:26px}#frame-highlight-b .village-stat{border-color:#51421a40;padding-top:20px;padding-bottom:18px}.surface-chart{max-width:1000px;margin:30px 0 0;display:grid;gap:16px}.surface-row{display:grid;grid-template-columns:120px minmax(0,1fr) 90px;gap:18px;align-items:center;font-size:16px}.surface-track{height:16px;background:#fff5}.surface-track i{display:block;height:100%;background:#51421a}.surface-row strong{text-align:right;font-weight:600}@media(max-width:700px){.surface-chart{margin-top:22px;gap:12px}.surface-row{grid-template-columns:90px minmax(0,1fr) 70px;gap:10px;font-size:14px}.surface-track{height:12px}#frame-highlight-b .village-stats{margin-top:22px}#frame-highlight-b .village-stat{padding-top:12px;padding-bottom:12px}#frame-highlight-b .village-stat svg{height:24px;margin-bottom:5px}#frame-highlight-b h2{font-size:32px}}@media(max-height:650px){#frame-highlight-b .village-stats{margin-top:14px}#frame-highlight-b .village-stat{padding-top:8px;padding-bottom:8px}.surface-chart{margin-top:16px}#frame-highlight-b .detail-link{margin-top:12px}}
/* Scroll sobre el viewport: ningún ancestro interfiere con sticky. */
html{overflow-x:clip}.home-page{overflow-x:clip;overflow-y:visible}.home-page #principal{overflow:visible}.home-page .pin-track{height:200vh;position:relative}.home-page .pinned-frame,.home-page .architect-frame.pinned-frame{position:sticky;top:0}.home-page .card{position:sticky;top:0;box-shadow:0 -24px 70px #0007}.home-page .card>.original-frame{transform:scale(calc(1 + var(--stack-progress,0) * .05))!important;filter:brightness(calc(1 - var(--stack-progress,0) * .25))}.home-page .parallax>.original-frame{transform:translateY(var(--parallax,0px)) scale(1.28)!important}.home-page .pinned-frame>.original-frame{transform:scale(calc(1 + var(--pin-progress,0) * .12))!important}.home-page .site-footer{position:relative;z-index:30}.home-page .equestrian-gold.card>.original-frame{filter:saturate(.55) sepia(.22) brightness(calc(1 - var(--stack-progress,0) * .25))}
@media(prefers-reduced-motion:reduce){.home-page .pin-track{height:auto}.home-page .card,.home-page .pinned-frame,.home-page .architect-frame.pinned-frame{position:relative}.home-page .card>.original-frame,.home-page .parallax>.original-frame,.home-page .pinned-frame>.original-frame{transform:none!important}.home-page .card>.original-frame{filter:none}}
/* Interior residencial arriba, parámetros preservados en la franja inferior. */
.home-page #frame-highlight-b{display:flex;flex-direction:column;height:100vh;height:100svh;background:#d8c780}.village-interior{position:relative;flex:1;min-height:0;width:100%;overflow:hidden}.village-interior img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}.village-interior:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}.village-interior h2{position:absolute;left:var(--edge);right:var(--edge);bottom:28px;z-index:1;color:white;font-size:46px!important;margin:0}.village-bottom{flex-shrink:0;width:100%;padding:0 var(--edge);background:radial-gradient(ellipse at 15% 0%,#eee3b8,transparent 65%),linear-gradient(110deg,#d8c780,#c7b24e)}#frame-highlight-b .village-bottom .village-stats{margin:0;border:0}#frame-highlight-b .village-bottom .village-stat{padding-top:22px;padding-bottom:20px}#frame-highlight-b .village-bottom .village-stat svg{height:30px;margin-bottom:8px}#frame-highlight-b .village-bottom .village-stat dd{margin:8px 0;font-size:36px}.home-page #frame-highlight-b.parallax .village-interior img{transform:translateY(var(--parallax,0px)) scale(1.28)}.home-page #frame-highlight-b.pinned-frame .village-interior img{transform:scale(calc(1 + var(--pin-progress,0) * .1))}@media(max-width:700px){.village-interior h2{font-size:32px!important;bottom:20px}#frame-highlight-b .village-bottom .village-stat{padding-top:12px;padding-bottom:10px}#frame-highlight-b .village-bottom .village-stat dd{font-size:27px}#frame-highlight-b .village-bottom .village-stat svg{height:24px;margin-bottom:4px}}@media(prefers-reduced-motion:reduce){.home-page #frame-highlight-b .village-interior img{transform:none!important}}

/* Ajustes editoriales de la actualización 2026. */
:root{--frame-copy-width:min(92vw,1260px)}
.frame .copy,.architect-copy{max-width:var(--frame-copy-width)}
.frame .copy{right:auto;width:var(--frame-copy-width)}
.frame .copy h2{max-width:1050px;overflow-wrap:anywhere}
.frame .copy p{max-width:960px;overflow-wrap:anywhere}
.brand-tagline{width:257px;text-align:center;text-transform:uppercase;letter-spacing:.18em!important;font-weight:600;line-height:1.2}
.cv-brand{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;vertical-align:middle}
.cv-brand img{width:1.8em;height:1.35em;object-fit:contain;vertical-align:middle}
.architect-credentials{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 20px;font-size:14px;letter-spacing:.12em;text-transform:uppercase}
.architect-credentials a{color:#e4d28a;border-bottom:1px solid #e4d28a}
.architect-logo{display:block;position:absolute;left:var(--edge);bottom:5%;width:min(170px,28vw);z-index:3;filter:drop-shadow(0 2px 16px #0008)}
.architect-logo img{display:block;width:100%;height:auto}
.architect-frame .architect-original{image-rendering:auto;filter:contrast(1.07) saturate(.94) brightness(1.08);transform:scale(1.015);transform-origin:center}
.contact-address{font-size:18px;line-height:1.75;color:#e1e1e1;margin-top:6px}
.interest-visuals{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 56px}
.interest-visuals figure{margin:0;position:relative;min-height:300px;overflow:hidden;background:#191919}
.interest-visuals img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover}
.interest-visuals figcaption{position:absolute;inset:auto 0 0;padding:22px 24px;background:linear-gradient(transparent,#000d);font-size:18px;color:#fff}
.agent-callout{border:1px solid #c7b24e;padding:28px 30px;margin:0 0 42px;background:#111}
.agent-callout p{margin:7px 0!important;color:#fff!important;font-size:20px!important;line-height:1.45!important}
.home-page #inicio .copy p{font-size:16pt!important}
.home-page .architect-logo{left:49%;right:auto;bottom:30px;transform:translateX(-50%);margin:0;width:min(190px,22vw)}
.village-interior h2{bottom:62px!important}.village-subtitle{position:absolute;left:var(--edge);right:var(--edge);bottom:28px;z-index:1;color:#fff!important;font-size:21px!important;margin:0!important}
@media(max-width:700px){.brand-tagline{width:min(60vw,257px);text-align:left}.frame .copy{width:86vw}.architect-logo{position:relative;left:auto;bottom:auto;margin:20px var(--edge) 0}.interest-visuals{grid-template-columns:1fr}.interest-visuals figure,.interest-visuals img{min-height:240px}}
/* Dorado uniforme, sin difusión, en footer y parámetros de Cartuja Village. */
.site-footer.reference-footer,.home-page #frame-highlight-b,.home-page #frame-highlight-b .village-bottom{background:#c7b24e}
/* Vídeo de apertura completo, sin recorte de los laterales. */
.home-page .hero{width:100%;max-width:none;background:#000}.home-page .hero-video{width:100%;height:100%;object-fit:cover;object-position:center;transform:none;max-width:none}
/* Footer: logo y menú blancos, cabeceras negras. */
.reference-footer .footer-logo img{filter:brightness(0) invert(1)}.reference-footer .footer-column a,.reference-footer .footer-bottom a,.reference-footer a:hover{color:#fff}.reference-footer .footer-column h2{color:#000}
/* Páginas corporativas: lectura editorial y fotografías completas. */
.editorial-page .editorial-content{max-width:1280px;padding-top:8px}.editorial-page .editorial-lead{font-size:clamp(26px,3vw,38px);line-height:1.35;color:#e0ce83;max-width:850px;margin:0 0 50px}.editorial-row{display:grid;grid-template-columns:40px minmax(180px,.8fr) minmax(0,1.5fr);gap:26px;padding:32px 0;border-top:1px solid #c7b24e40}.editorial-number{color:#c7b24e;font-size:14px;padding-top:6px}.editorial-page article .editorial-row h2{font-size:25px;line-height:1.3;margin:0}.editorial-page article .editorial-row p{font-size:18px;line-height:1.8;margin:0}.editorial-page .page-image{width:100%;height:auto;max-height:none;object-fit:contain}@media(max-width:700px){.editorial-row{grid-template-columns:28px minmax(0,1fr);gap:14px;padding:26px 0}.editorial-row p{grid-column:2}.editorial-page article .editorial-row h2{font-size:24px}.editorial-page .editorial-lead{margin-bottom:32px}}
/* Cartuja Village: horizontal photographic header and editorial sections. */
.cartuja-page .cv-carousel{width:100%;background:#151614}.cv-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#c7b24e #222;overscroll-behavior-x:contain}.cv-slide{flex:0 0 auto;width:auto;margin:0;scroll-snap-align:start;position:relative;background:#191a17}.cv-slide img{display:block;width:auto;height:clamp(250px,48vw,620px);max-width:none;object-fit:contain}.cv-slide figcaption{padding:20px 26px;color:#fff;font-size:21px;display:flex;align-items:center;gap:24px}.cv-slide figcaption span{font-size:12px;letter-spacing:.16em;color:#c7b24e}.cv-controls{padding:20px 5vw;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#c7b24e}.cv-controls button,.cv-dialog button{border:1px solid #c7b24e;color:#fff;background:transparent;border-radius:50%;width:48px;height:48px;font:inherit;cursor:pointer}.cv-controls button:disabled{opacity:.3;cursor:default}.cv-controls button:hover:not(:disabled){background:#c7b24e;color:#111}.cv-index{display:flex;gap:28px;flex-wrap:wrap;padding:28px 5vw;border-bottom:1px solid #c7b24e55}.cv-index a{color:#c7b24e;text-decoration:none}.cartuja-page article.cv-editorial{width:90%;max-width:1440px;margin:0 auto;padding:0}.cv-section{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.7fr);gap:7vw;padding:75px 0;border-bottom:1px solid #ffffff24;scroll-margin-top:30px}.cv-number{color:#c7b24e;font-size:13px;letter-spacing:.2em}.cartuja-page .cv-section h2{font-size:clamp(30px,3.2vw,46px);line-height:1.15;margin:18px 0}.cv-prose p{font-size:19px;line-height:1.8;margin:0 0 24px}.cv-prose h3{font-size:24px;color:#c7b24e;margin:38px 0 18px}.cv-facts{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin:0 0 35px}.cv-facts div{border-top:1px solid #c7b24e;padding-top:16px}.cv-facts dt{font-size:14px;color:#c7b24e}.cv-facts dd{font-size:32px;margin:8px 0}.cv-plan{display:block;color:#c7b24e;text-decoration:none;border:1px solid #c7b24e55;padding:10px}.cv-plan img{display:block;width:100%;height:auto}.cv-plan span{display:block;padding:16px}.cv-distances{border-block:1px solid #c7b24e55;padding:20px 0}.cv-distances summary{cursor:pointer;color:#c7b24e;font-size:21px}.cv-distances table{width:100%;border-collapse:collapse;margin-top:20px}.cv-distances caption{text-align:left;font-size:13px;padding-bottom:12px;color:#bbb}.cv-distances th,.cv-distances td{text-align:left;padding:12px 0;border-bottom:1px solid #ffffff22;font-weight:400}.cv-distances td{text-align:right}.cv-dialog{width:96vw;max-width:1800px;max-height:94dvh;padding:0;background:#151614;color:white;border:1px solid #c7b24e;margin:auto}.cv-dialog::backdrop{background:#000d}.cv-dialog-bar{display:flex;align-items:center;gap:20px;padding:18px 24px;flex-wrap:wrap}.cv-dialog-bar h2{font-size:21px;margin:0;flex:1}.cv-dialog-bar a{color:#c7b24e}.cv-dialog button{border-radius:24px;width:auto;padding:0 18px}.cv-plan-view{overflow:auto;max-height:78dvh}.cv-plan-view img{display:block;width:100%;height:auto}.cv-track:focus-visible,.cv-index a:focus-visible,.cv-plan:focus-visible,.cv-controls button:focus-visible{outline:2px solid #c7b24e;outline-offset:4px}@media(max-width:700px){.cv-section{grid-template-columns:1fr;gap:12px;padding:45px 0}.cv-prose p{font-size:17px}.cv-index{gap:18px;font-size:14px}.cv-controls{font-size:14px}.cv-slide figcaption{font-size:18px}.cv-dialog-bar{gap:12px;padding:14px}.cv-dialog-bar h2{flex-basis:100%}.cv-dialog-bar a{font-size:14px}}

.cv-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.cv-plans .cv-plan img{height:280px;object-fit:contain;background:#171815}.cv-plans .cv-plan span{font-size:16px;line-height:1.5}@media(max-width:900px){.cv-plans{grid-template-columns:1fr}.cv-plans .cv-plan img{height:auto}}

/* Interior imagery begins at the top, beneath the navigation. */
.overlay-header-page>header.two-level-header{position:absolute;top:0;left:0;width:100%;z-index:10;padding-bottom:20px;background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.4) 70%,transparent)}
.interior-hero{width:100%;min-height:320px;background:#111;position:relative}
.content-page .interior-hero .page-image{display:block;width:100%;height:auto;margin:0}
.overlay-header-page .page-heading{padding-top:48px}
.overlay-header-page.cartuja-page .cv-slide img{height:clamp(360px,48vw,620px)}
@media(max-width:640px){.interior-hero{min-height:350px}.overlay-header-page>header.two-level-header{padding-top:20px}.overlay-header-page .page-heading{padding-top:32px}}

/* Frame 8 source: distances, rendered as readable native text. */
.home-page .connections-frame{background:#fff;color:#1d1e22;height:auto;min-height:100vh;min-height:100svh;padding:clamp(36px,5vw,80px) max(24px,7vw);display:flex;align-items:center;position:relative;overflow:visible;transform:none}
.connections-inner{width:100%;max-width:1440px;margin:auto}.connections-kicker{font-size:14px;letter-spacing:.16em;color:#746322}.connections-frame h2{font-size:clamp(30px,3.6vw,46px);line-height:1.15;margin:16px 0 30px}.connections-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;margin:0}.connections-grid>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;border-top:1px solid #d8cfaa}.connections-grid dt{font-size:clamp(16px,1.5vw,21px);line-height:1.3}.connections-grid dd{font-size:clamp(32px,3.4vw,48px);line-height:1;margin:0;color:#806e25;white-space:nowrap}.connections-grid dd span{font-size:16px;color:#555}.connections-airports{border-top:2px solid #c7b24e;margin-top:28px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.connections-airports h3{font-size:24px;margin:0}.connections-airports p{font-size:21px;margin:0}.connections-source{font-size:13px;color:#666;margin:20px 0 0}
@media(max-width:760px){.connections-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.connections-grid>div{padding:18px 0;align-items:flex-start;flex-direction:column;gap:10px}.connections-airports{align-items:flex-start;flex-direction:column}.connections-airports p{font-size:18px;line-height:1.6}}

.connections-inner>header{position:static;padding:0;width:auto}.connections-airports p{color:#1d1e22}

/* Compact brand and header signature across all routes. */
.two-level-header .logo img{width:300px;max-width:40vw;height:auto}.two-level-header .logo .brand-tagline{display:block;color:#fff;font-size:14px;font-weight:400;line-height:1.3;letter-spacing:.12em;margin-top:9px;text-align:center}.reference-footer .footer-logo img{width:85%;max-width:250px;height:auto}@media(max-width:640px){.two-level-header .logo img{width:245px;max-width:40vw}.two-level-header .logo .brand-tagline{font-size:12px;letter-spacing:.07em;margin-top:7px}.reference-footer .footer-logo img{max-width:235px}}

.two-level-header .logo .brand-tagline{text-align:left;letter-spacing:.02em;margin-top:3px}

/* Logo de Cartuja dentro de la fotografía de Joaquín Torres. */
.home-page .architect-logo{left:calc(49% - 26px);right:auto;bottom:30px;transform:translateX(-100%);width:min(180px,20vw)}
@media(max-width:640px){.home-page .architect-logo{left:auto;right:7vw;bottom:24px;transform:none;width:min(150px,42vw);margin:0}}

/* Home más inmersiva y cabecera simplificada. */
.home-page .frame{height:115vh!important;height:115svh!important;min-height:115vh!important;min-height:115svh!important}
.home-page .pin-track{height:230vh!important;height:230svh!important}
.two-level-header .logo{display:block;width:min(300px,40vw)}
.two-level-header .logo img{display:block;width:100%;max-width:none}
.two-level-header .logo .brand-tagline{display:block;width:100%;text-align:justify;text-align-last:justify;letter-spacing:0!important;white-space:nowrap}
.footer-address{display:block;margin:12px 0 0;color:#fff;font-size:14px;font-style:normal;line-height:1.55;max-width:230px}
@media(max-width:640px){.home-page .frame{height:115svh!important;min-height:115svh!important}.two-level-header .logo{width:min(245px,40vw)}}

/* Ajustes de cabecera, footer y ficha de Cartuja Village. */
.two-level-header .logo .brand-tagline{padding-left:.32em;text-align:center!important;text-align-last:auto!important;letter-spacing:.32em!important;font-size:12px}
.reference-footer .footer-top-grid{align-items:start}.instagram-brand{display:inline-flex;align-items:center;gap:9px;margin-top:20px;color:#fff;font-size:14px}.instagram-brand svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.footer-address{font-size:10pt!important;line-height:1.45}
#frame-highlight-b .village-bottom .village-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.equipment-stat dd{font-size:clamp(18px,1.7vw,25px)!important;white-space:normal!important}.equipment-stat p{font-size:12px!important;max-width:145px}@media(max-width:700px){#frame-highlight-b .village-bottom .village-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-stat dd{font-size:19px!important}}

/* Ritmo de las secciones especiales y orden final del footer. */
.home-page .connections-frame{height:86.4vh!important;height:86.4svh!important;min-height:86.4vh!important;min-height:86.4svh!important}
.home-page #frame-highlight-b{height:130vh!important;height:130svh!important;min-height:130vh!important;min-height:130svh!important}
.reference-footer .footer-logo{display:block}.reference-footer .footer-logo .instagram-brand{display:inline-flex;margin-top:20px}.reference-footer .footer-column:has(.footer-address){grid-column:5}
@media(max-width:1100px){.reference-footer .footer-column:has(.footer-address){grid-column:auto}}@media(max-width:700px){.home-page .connections-frame{height:auto!important;min-height:79.2svh!important}.home-page #frame-highlight-b{height:122svh!important;min-height:122svh!important}}

/* Visibilidad del frame de equipamientos y mensaje sobre la fotografía de agentes. */
.home-page #frame-highlight-b{position:relative!important;top:auto!important;z-index:auto!important;box-shadow:none!important}
.overlay-header-page .interior-hero .agent-callout{position:absolute;left:clamp(24px,7vw,110px);right:auto;bottom:clamp(24px,5vw,70px);z-index:2;max-width:min(680px,80vw);margin:0;padding:22px 26px;background:#000b;border:1px solid #c7b24e;color:#fff}
.overlay-header-page .interior-hero .agent-callout p{font-size:clamp(18px,2vw,28px)!important;line-height:1.32!important;margin:0!important;color:#fff!important}.overlay-header-page .interior-hero .agent-callout p+p{margin-top:5px!important}
@media(max-width:640px){.overlay-header-page .interior-hero .agent-callout{left:7vw;right:7vw;bottom:22px;max-width:none;padding:16px 18px}.overlay-header-page .interior-hero .agent-callout p{font-size:18px!important}}

/* Ficha de superficies: bloque dorado continuo, sin extensión negra. */
.home-page #frame-highlight-b{display:block!important;height:auto!important;min-height:0!important;background:#c7b24e!important;color:#30290f!important;overflow:visible!important}
.home-page #frame-highlight-b .village-interior{display:none!important}
.home-page #frame-highlight-b .village-bottom{padding:34px var(--edge)!important;background:#c7b24e!important}
.home-page #frame-highlight-b .village-bottom .village-stats{grid-template-columns:repeat(4,minmax(0,1fr));border:0!important}
.home-page #frame-highlight-b .village-stat{min-height:142px;padding:18px 22px!important;border-color:#51421a40!important}.home-page #frame-highlight-b .village-stat dd{text-decoration:none!important;border:0!important;font-size:clamp(23px,2.5vw,38px)!important}.home-page #frame-highlight-b .village-stat p{color:#30290f!important}.home-page #frame-highlight-b .surface-stat dt{font-size:14px}.home-page #frame-highlight-b .surface-stat dd{font-size:clamp(20px,2vw,31px)!important;white-space:normal!important}@media(max-width:760px){.home-page #frame-highlight-b .village-bottom .village-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page #frame-highlight-b .village-stat{min-height:0}}

/* Frame Cartuja Village completo: imagen y faldón urbanístico, sin pista sticky. */
.home-page #frame-highlight-b{
  display:flex!important;
  flex-direction:column!important;
  position:relative!important;
  top:auto!important;
  z-index:50!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#c7b24e!important;
}
.home-page #frame-highlight-b .village-interior{
  display:block!important;
  flex:none!important;
  height:72vh!important;
  height:72svh!important;
  min-height:560px!important;
}
.home-page #frame-highlight-b .village-interior img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 55%!important;
  transform:none!important;
}
.home-page #frame-highlight-b .village-interior h2{
  bottom:76px!important;
  max-width:900px!important;
  font-size:clamp(38px,4.2vw,68px)!important;
  line-height:1.02!important;
}
.home-page #frame-highlight-b .village-subtitle{
  bottom:36px!important;
  font-size:16pt!important;
  line-height:1.25!important;
}
.home-page #frame-highlight-b .village-bottom{
  flex:none!important;
  padding:24px var(--edge) 30px!important;
  background:#c7b24e!important;
}
.home-page #frame-highlight-b .village-bottom .village-stats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  margin:0!important;
}
.home-page #frame-highlight-b .village-stat{
  min-height:154px!important;
  padding:18px 22px!important;
}
@media(max-width:760px){
  .home-page #frame-highlight-b .village-interior{
    height:66svh!important;
    min-height:460px!important;
  }
  .home-page #frame-highlight-b .village-interior h2{
    bottom:88px!important;
    font-size:36px!important;
  }
  .home-page #frame-highlight-b .village-subtitle{
    bottom:34px!important;
    font-size:16pt!important;
  }
  .home-page #frame-highlight-b .village-bottom .village-stats{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Texto de Agentes integrado en la fotografía, con la jerarquía visual de la home. */
.overlay-header-page .interior-hero .agent-callout{
  position:absolute!important;
  left:var(--edge)!important;
  right:var(--edge)!important;
  bottom:12%!important;
  z-index:2!important;
  max-width:900px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#fff!important;
  text-shadow:0 3px 18px #000b!important;
}
.overlay-header-page .interior-hero .agent-callout h2{
  margin:0 0 10px!important;
  font-family:var(--font-strong)!important;
  font-size:clamp(36px,4.1vw,64px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  color:#fff!important;
}
.overlay-header-page .interior-hero .agent-callout p{
  margin:0!important;
  font-size:clamp(18px,1.8vw,24px)!important;
  line-height:1.3!important;
  color:#fff!important;
}
@media(max-width:640px){
  .overlay-header-page .interior-hero .agent-callout{
    left:7vw!important;
    right:7vw!important;
    bottom:9%!important;
  }
  .overlay-header-page .interior-hero .agent-callout h2{
    font-size:34px!important;
  }
  .overlay-header-page .interior-hero .agent-callout p{
    font-size:18px!important;
  }
}

/* Contacto del footer y panel lateral de información. */
.reference-footer .footer-info-button{
  margin-top:10px;
  padding:11px 16px;
  border:1px solid #050505;
  border-radius:0;
  background:#050505;
  color:#fff;
  font:inherit;
  font-size:13px;
  letter-spacing:.04em;
  cursor:pointer;
}
.reference-footer .footer-info-button:hover,
.reference-footer .footer-info-button:focus-visible{
  background:#fff;
  color:#050505;
}
.reference-footer .footer-social-column{
  grid-column:5;
  gap:11px;
}
.footer-social-icons{
  display:flex;
  align-items:center;
  gap:15px;
  margin:0 0 7px;
  color:#17171a;
}
.footer-social-icons span{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
}
.footer-social-icons svg{
  display:block;
  width:27px;
  height:27px;
  fill:currentColor;
  stroke:none;
}
.footer-social-icons svg rect,
.footer-social-icons svg circle{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
.footer-social-icons svg .social-dot{
  fill:currentColor;
  stroke:none;
}
.reference-footer .footer-social-column .footer-address{
  margin-top:1px;
  color:#fff;
}
@media(max-width:1100px){
  .reference-footer .footer-social-column{grid-column:auto;}
}
.info-panel-backdrop{
  position:fixed;
  inset:0;
  z-index:90;
  background:#0009;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
.info-panel{
  position:fixed;
  top:0;
  right:0;
  z-index:91;
  width:min(560px,94vw);
  height:100vh;
  height:100dvh;
  padding:32px;
  overflow-y:auto;
  background:#111;
  color:#fff;
  transform:translateX(100%);
  transition:transform .35s ease;
  box-shadow:-25px 0 70px #0008;
}
.info-panel-visible{overflow:hidden;}
.info-panel-visible .info-panel-backdrop{opacity:1;visibility:visible;}
.info-panel-visible .info-panel{transform:translateX(0);}
.info-panel-head{display:flex;align-items:flex-start;gap:22px;margin-bottom:28px;}
.info-panel-head h2{flex:1;margin:0;font-size:32px;line-height:1.12;}
.info-panel-close{padding:8px 0;border:0;background:transparent;color:#c7b24e;font:inherit;cursor:pointer;}
.info-panel form{display:grid;gap:18px;}
.info-panel label{display:grid;gap:8px;font-size:14px;color:#e7e7e7;}
.info-panel input,.info-panel textarea{border:1px solid #777;background:#1b1b1b;color:#fff;padding:12px;font:inherit;resize:vertical;}
.info-panel-submit{margin-top:6px;padding:14px 18px;border:1px solid #c7b24e;background:#c7b24e;color:#111;font:inherit;cursor:pointer;}
.info-panel-submit:hover,.info-panel-submit:focus-visible{background:#fff;border-color:#fff;}
@media(max-width:640px){
  .info-panel{width:100%;padding:24px 7vw;}
  .info-panel-head h2{font-size:28px;}
}
