:root{--blue:#006aab;--navy:#12364e;--green:#477f29;--paper:#f5f8f9;--line:#dce7eb;--muted:#466174;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:#fff}
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
a{color:inherit;text-decoration:none}
button,select,input{font:inherit}
button,select{cursor:pointer}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #399ae1;outline-offset:4px}
.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.skip{position:fixed;top:8px;left:12px;background:#fff;padding:12px;z-index:5;transform:translateY(-160%)}
.skip:focus{transform:none}
.header{background:#fff}
.header-inner,.footer-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:block;width:235px;height:auto}
nav{display:flex;gap:clamp(16px,3.2vw,45px);font-size:.91rem;font-weight:700;align-items:center}
nav a{padding:9px 0}
nav a:hover,footer a:hover{color:var(--blue)}
.hero{height:clamp(420px,50vw,650px);position:relative;isolation:isolate;background:#315b76 url("Media/Portada.jpg") center 48%/cover no-repeat;color:#fff}
.scenes,.scene,.shade{position:absolute;inset:0;width:100%;height:100%}
.scenes{z-index:-2}
.scene{object-fit:cover;opacity:0;transition:opacity .55s ease}
.scene.visible{opacity:1}
.shade{z-index:-1;background:linear-gradient(90deg,rgba(6,31,47,.80),rgba(6,31,47,.47) 44%,rgba(6,31,47,.05) 83%),linear-gradient(0deg,#10273853,transparent 38%)}
.hero-inner{height:100%;display:flex;align-items:center;position:relative;padding-bottom:58px}
.eyebrow{color:var(--green);font-size:.77rem;letter-spacing:.15em;text-transform:uppercase;font-weight:700;margin:0 0 13px}
.hero .eyebrow{color:#e0f7cc}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.2rem,7.2vw,6.8rem);line-height:.97;letter-spacing:-.065em;margin-bottom:22px}
.hero-text>p:last-child{font-size:clamp(1rem,2vw,1.23rem);line-height:1.45;margin-bottom:0}
.playback{position:absolute;right:0;bottom:79px;display:flex;align-items:center;gap:8px;background:#0c293dcc;border:1px solid #ffffff55;border-radius:100px;padding:5px 8px;font-size:.8rem;font-variant-numeric:tabular-nums}
.playback button,.detail-photo button{display:grid;place-items:center;border:0;color:white;background:transparent;border-radius:100%;width:34px;height:34px;font-size:1.25rem}
.playback button:hover{background:#ffffff33}
.search-wrap{position:relative;margin-top:-55px}
.search{background:#fff;padding:0 25px 24px;border-radius:12px;box-shadow:0 15px 40px #193a5620;border:1px solid var(--line)}
.modes{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:18px}
.modes button{color:var(--muted);border:0;border-bottom:3px solid transparent;background:none;padding:15px 2px 11px;font-weight:700}
.modes button[aria-pressed="true"]{color:var(--blue);border-color:var(--blue)}
.fields{display:flex;align-items:end;gap:12px}
.fields label{flex:1;min-width:0;display:grid;gap:7px;font-weight:700;font-size:.83rem}
select,input{height:48px;width:100%;color:var(--navy);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:0 11px}
.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 17px;border-radius:6px;font-weight:700;border:1px solid transparent;font-size:.91rem}
.primary{background:var(--blue);color:#fff}
.primary:hover{background:#00578e}
.secondary{background:white;color:var(--blue);border-color:var(--line)}
.secondary:hover{background:var(--paper)}
.catalog{padding-block:70px 83px}
.section-head{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:26px}
h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:0}
#count{color:var(--muted);font-size:.92rem;margin-bottom:4px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.card-image{aspect-ratio:1.53;position:relative;background:var(--paper)}
.card-image img{width:100%;height:100%;object-fit:cover;display:block}
.tag{position:absolute;left:13px;top:13px;background:#fff;color:var(--navy);padding:7px 11px;border-radius:4px;font-size:.75rem;font-weight:700}
.card-body{padding:19px}
.price{font-size:1.35rem;font-weight:700;color:var(--blue);margin-bottom:8px}
.card h3{font-size:1.13rem;margin-bottom:7px}
.location,.facts,.detail-body p,.split p,.contact p{color:var(--muted);line-height:1.55}
.location,.facts{font-size:.86rem;margin-bottom:12px}
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}
.card button{width:100%}
.empty{padding:26px;background:var(--paper);border-radius:8px}
.about{background:var(--paper);border-block:1px solid var(--line)}
.split,.contact{padding-block:60px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.split p:last-child,.contact p:not(.eyebrow){margin:0}
.split .eyebrow{color:var(--green)}
.contact{grid-template-columns:1fr auto}
.contact h2{margin-bottom:13px}
footer{background:var(--paper);border-top:1px solid var(--line);font-size:.85rem}
footer img{width:150px;height:auto}
dialog{width:min(760px,calc(100% - 28px));max-height:90vh;border:0;border-radius:12px;padding:0;color:var(--navy);box-shadow:0 20px 70px #0005}
dialog::backdrop{background:#102737b8}
.detail-bar{display:flex;justify-content:end;padding:10px 16px}
.detail-bar button{min-height:36px}
.detail-photo{position:relative;background:#102737}
.detail-photo img{width:100%;height:min(48vh,430px);object-fit:contain;display:block}
.detail-photo button{position:absolute;top:50%;transform:translateY(-50%);background:#102737df;font-size:1.5rem}
#prev-photo{left:12px}#next-photo{right:12px}
#photo-count{position:absolute;bottom:10px;right:12px;background:#102737df;color:white;padding:6px 10px;border-radius:5px}
.detail-body{padding:24px}
.detail-body h2{margin-bottom:14px}
.detail-body .price{color:var(--blue)}
@media(max-width:900px){.wrap{width:calc(100% - 52px)}.logo{width:192px}.cards{gap:14px}.card-body{padding:13px}.fields{flex-wrap:wrap}.fields .primary{flex:1 0 100%}}
@media(max-width:640px){.wrap{width:calc(100% - 32px)}.header-inner{padding:15px 0 9px;gap:9px;flex-direction:column}.logo{width:177px}nav{width:100%;justify-content:space-between;gap:8px;font-size:.76rem}.hero{height:410px}.hero-inner{align-items:start;padding-top:76px}.hero h1{font-size:clamp(2.7rem,13vw,4.3rem)}.playback{bottom:70px}.search{padding:0 14px 14px}.modes{gap:20px}.fields label{flex:1 0 100%}.cards{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.catalog{padding-block:48px}.split,.contact{grid-template-columns:1fr;padding-block:42px;gap:17px}.contact .primary{justify-self:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene{transition:none}}


/* Portada */
:root{--scene-image:url("Media/Portada.jpg")}
.header{position:absolute;inset:0 0 auto;z-index:2;background:transparent;color:#17374c}
.header-inner{min-height:0;padding-block:23px;align-items:center}
.header-inner>a,.header nav{background:#fffffff5;box-shadow:0 6px 24px #11334d19;border:1px solid #fff9;border-radius:12px}
.header-inner>a{padding:12px 16px}
.header nav{gap:clamp(14px,2.5vw,35px);padding:6px 22px}
.header nav a:hover{color:#006aab}
.hero{height:auto;min-height:clamp(490px,88svh,770px);display:grid;grid-template-rows:1fr auto;padding:100px 0 23px;background:#dce9ed var(--scene-image) center 50%/cover no-repeat}
.hero-inner{height:auto;align-self:start;display:block;padding:clamp(10px,3.5vh,36px) 0 54px;text-align:center}
.shade{background:radial-gradient(ellipse at 50% 31%,#0923333d,transparent 56%),linear-gradient(0deg,#e9f1f5 0%,#e9f1f540 19%,transparent 39%);pointer-events:none}
.scene{transition:none}
.hero-text{margin-inline:auto}
.hero-text h1{font-size:clamp(2rem,4.7vw,4rem);line-height:1.03;letter-spacing:-.045em;margin-bottom:11px;text-shadow:0 2px 14px #0b273cc9}
.hero-text p{margin-bottom:8px;text-shadow:0 2px 9px #071f31}
.hero-text .eyebrow{color:#fff}
.hero-text>p:last-child{font-size:clamp(.86rem,1.4vw,1.08rem);font-weight:600}
.search-wrap{margin-top:0;isolation:isolate}
.search{background:#fffffff5;border-radius:13px;box-shadow:0 10px 28px #173c5221}
.playback{top:auto}
.hero-inner{position:static}
.playback{background:#123347df}
.catalog-backdrop{position:relative;isolation:isolate;background:#f5f8fa;overflow:hidden}
.catalog-backdrop::before{content:"";position:absolute;inset:-20px -20px auto;height:460px;z-index:-2;background:var(--scene-image) center 55%/cover;filter:blur(18px);opacity:.27}
.catalog-backdrop::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#edf4f87a,#f5f8fa 490px);pointer-events:none}
.catalog{padding-top:54px}
.card{border-radius:12px;box-shadow:0 8px 24px #24475d0b}

@media(max-width:640px){
  .header-inner{padding:10px 0;flex-direction:column;align-items:flex-start;gap:6px}
  .header-inner>a{padding:7px 10px}
  .logo{width:143px}
  .header nav{padding:0 9px;gap:4px;width:100%;font-size:.73rem;border-radius:8px}
  .hero{padding-top:106px;padding-bottom:12px;min-height:clamp(520px,90svh,680px);background-position:48% center}
  .hero-inner{padding:11px 0 46px}
  .hero-text .eyebrow{font-size:.66rem}
  .hero-text h1{font-size:clamp(1.84rem,8vw,2.7rem)}
  .hero-text>p:last-child{font-size:.83rem}
  .search{padding:0 11px 11px}
  .modes{margin-bottom:10px}
  .modes button{padding-block:8px 6px;font-size:.86rem}
  .fields{gap:8px}
  .fields label{flex:1 1 calc(50% - 8px);gap:3px;font-size:.75rem}
  .fields label:nth-child(3){flex-basis:100%}
  .fields select,.fields input,.fields .primary{height:40px;min-height:40px}
  .playback{padding:2px 5px}
  .playback button{width:28px;height:28px}
  .catalog{padding-top:34px}
}


.playback{position:relative;inset:auto;justify-self:end;margin:0 0 8px auto;width:max-content}
.hero-inner{padding-bottom:12px}
@media(max-height:570px) and (min-width:641px){
  .hero{min-height:100svh;padding-top:83px;padding-bottom:12px}
  .header-inner{padding-block:12px}
  .hero-inner{padding-top:0}
}


/* Navegación y buscador */
.header-inner>a{background:transparent;border:0;box-shadow:none;padding:0}
.header nav{background:#fffffff5}
.header nav a[aria-current="page"]{color:#006aab;text-decoration:underline;text-underline-offset:5px}
.header nav .access-link{border-left:1px solid #cbd9df;padding-left:14px;color:#006aab}
.search{padding:0 24px 18px;border:1px solid #d8e5ea;border-top:4px solid #006aab;background:#fff;box-shadow:0 14px 40px #12364e38}
.modes{gap:0;margin-bottom:14px}
.modes button{padding:12px 20px 9px}
.modes button[aria-pressed="true"]{background:#eff7fb}
.fields .primary{min-width:202px}
:is(.header nav,.search,.primary,.secondary,.card,.tag,select,input,textarea,dialog,.empty,.playback,.playback button,.detail-photo button,#photo-count){border-radius:0}
.inner-page{min-height:100vh;display:flex;flex-direction:column;background:#f5f8f9}
.inner-page .header{position:relative;background:white;border-bottom:1px solid var(--line)}
.inner-page .header nav{box-shadow:none}
.page-content{flex:1;padding-block:clamp(46px,8vw,110px)}
.page-content h1{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:18px}
.intro{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.5;max-width:44rem;color:var(--muted)}
.page-actions{display:flex;gap:12px;flex-wrap:wrap}
.page-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:740px;background:#fff;border-top:4px solid var(--blue);padding:clamp(15px,4vw,32px);box-shadow:0 12px 32px #12364e17}
.page-form label{display:grid;gap:7px;font-size:.89rem;font-weight:700}
.page-form textarea{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);padding:11px;resize:vertical;width:100%}
.page-form .wide{grid-column:1/-1}
.page-form button{justify-self:start}
.page-form p{margin:0;color:var(--muted)}
.form-note{font-size:.9rem}
#access-form{max-width:480px}
@media(max-width:640px){
  .header nav{font-size:clamp(.58rem,2.35vw,.74rem)}
  .header nav .access-link{padding-left:6px}
  .search{padding:0 11px 11px}
  .modes button{padding:8px 10px 6px}
  .fields .primary{min-width:0}
  .page-form{grid-template-columns:1fr}
}

/* Encabezado fijo y ficha */
.header{position:fixed;inset:0 0 auto;z-index:4;background:rgba(255,255,255,.83);backdrop-filter:blur(15px) saturate(120%);border-bottom:1px solid #ffffff80;box-shadow:0 4px 22px #16364a13}
.header-inner{padding-block:18px}
.header-inner>a{background:radial-gradient(ellipse,#ffffffb0 5%,#ffffff52 60%,transparent 77%);padding:5px 9px;margin:-5px -9px}
.header nav{background:transparent;border:0;box-shadow:none}
.inner-page .header{position:fixed;background:rgba(255,255,255,.9)}
.inner-page{padding-top:85px}
#propiedades{scroll-margin-top:86px}
.card-image{display:block;border:0;padding:0;text-align:left;overflow:hidden}
.card-image img{transition:transform .24s ease}
.card-image:hover img{transform:scale(1.035)}
.card-image:focus-visible{outline-offset:-4px}
#detail{width:min(990px,calc(100% - 48px));max-height:calc(100dvh - 44px);background:#fff}
.detail-bar{padding:15px clamp(16px,4vw,36px) 12px}
.detail-photo{margin-inline:clamp(16px,4vw,36px);background:#eef3f5;padding:12px 48px}
.detail-photo img{height:min(49dvh,515px)}
.detail-body{padding:clamp(20px,4vw,38px)}
.detail-body #detail-description{max-width:72ch}
.letter-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,6vw,88px);align-items:start}
.letter h1{font-size:clamp(2.4rem,5.5vw,4.7rem);line-height:1.03}
.letter>p:not(.eyebrow){max-width:62ch;font-size:1.06rem;line-height:1.75;color:var(--muted)}
.letter .signature{font-weight:700;color:var(--navy)}
.founder{margin:0;background:#e4edf0}
.founder img{display:block;width:100%;height:auto}
@media(max-width:640px){
  .header-inner{padding-block:9px}
  .inner-page{padding-top:90px}
  #propiedades{scroll-margin-top:96px}
  #detail{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}
  .detail-photo{padding:8px 30px}
  .detail-photo img{height:min(38dvh,340px)}
  .detail-photo button{width:28px;height:28px}
  #prev-photo{left:4px}#next-photo{right:4px}
  .letter-layout{grid-template-columns:1fr}
  .founder{grid-row:1;max-width:400px}
}
@media(prefers-reduced-motion:reduce){.card-image img{transition:none}}

/* Encabezado y administración */
.header{background:rgba(255,255,255,.60);backdrop-filter:blur(13px) saturate(118%)}
.header-inner>a{background:radial-gradient(ellipse,#ffffffb8 5%,#ffffff5c 58%,transparent 78%)}
.header nav a{color:#102b3d;text-shadow:0 1px 7px #fff}
.inner-page .header{background:rgba(255,255,255,.70)}
.founder{width:80%;justify-self:end}
#admin{width:min(850px,calc(100% - 24px));max-height:calc(100dvh - 32px)}
.admin-shell{padding:clamp(16px,4vw,34px)}
.admin-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.admin-top h2{font-size:clamp(1.55rem,4vw,2.65rem)}
.admin-tools{display:flex;flex-wrap:wrap;gap:8px}
#admin-list{list-style:none;margin:15px 0 22px;padding:0;border-top:1px solid var(--line)}
#admin-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
#admin-list small{display:block;margin-top:5px;color:var(--muted)}
#admin-list button{min-height:38px}
#editor-title{margin:0}
#property-form{max-width:none;background:var(--paper);box-shadow:none}
#property-form input[type=file]{height:auto;min-height:42px;padding:8px}
#editor-photos{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.87rem}
#editor-photos:empty{display:none}
#editor-photos img{width:110px;aspect-ratio:3/2;object-fit:cover}
@media(max-width:640px){
  .founder{justify-self:start}
  #admin-list li{align-items:start;flex-direction:column}
}

.scene-layer{position:absolute;inset:0;visibility:hidden;background:#dce9ed center/cover no-repeat}
.scene-layer .scene{opacity:1;object-position:center}
