  :root{
    /* --- CINEMATIC WARM DARK PALETTE (near-black continuo, sin cortes) --- */
    --bg:#0f0d0a;          /* near-black cálido cinematográfico */
    --panel:#16130e;       /* paneles que funden con el fondo */
    --panel-2:#0f0d0a;     /* sin bloques: mismo fondo continuo */
    --ivory:#ece3d2;       /* texto claro cálido */
    --ivory-soft:#a99c85;  /* texto secundario cálido */
    --green:#1F3D2E; --green-2:#2c5340;
    --gold:#B08D57; --gold-2:#c9a96a;
    --line:rgba(201,169,106,.16);
    --line-strong:rgba(201,169,106,.32);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--ivory);font-family:'Inter',sans-serif;font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased}
  img{display:block;max-width:100%}
  .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
  .serif{font-family:'Cormorant Garamond',serif}
  .kick{font-family:'Cinzel',serif;letter-spacing:.34em;text-transform:uppercase;font-size:11px;color:var(--gold-2)}
  .btn{display:inline-block;font-family:'Cinzel',serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:14px 26px;border:1px solid var(--gold);color:var(--ivory);background:transparent;cursor:pointer;transition:.25s;text-decoration:none}
  .btn:hover{background:var(--gold);border-color:var(--gold);color:#1a1610}
  .btn-solid{background:var(--gold);color:#1a1610;border-color:var(--gold)}
  .btn-solid:hover{background:var(--gold-2);border-color:var(--gold-2);color:#12100c}

  /* --- LOGO REAL WHP (wordmark) --- */
  .logo{display:inline-block;text-align:center;color:var(--ivory);line-height:1;text-decoration:none}
  .logo .lw{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:30px;letter-spacing:.10em;display:block}
  .logo .lr{height:1px;background:currentColor;opacity:.45;margin:5px auto 5px;width:100%}
  .logo .lt{font-family:'Cinzel',serif;font-weight:400;font-size:8.5px;letter-spacing:.32em;opacity:.9;white-space:nowrap;display:block}
  .logo--lg .lw{font-size:58px}
  .logo--lg .lt{font-size:13px;letter-spacing:.34em}
  .logo--nav .lw{font-size:26px}
  .logo--nav .lt{font-size:7px;letter-spacing:.26em}

  /* LANG GATE (selector al entrar) */
  .gate{position:fixed;inset:0;z-index:100;background:radial-gradient(120% 120% at 50% 30%,#1c1710,#0c0a07);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;transition:opacity .5s}
  .gate.hide{opacity:0;pointer-events:none}
  .gate .mark{width:70px;height:70px;margin-bottom:26px}
  .gate .g-brand{font-family:'Cormorant Garamond',serif;font-size:30px;letter-spacing:.02em;margin-bottom:6px}
  .gate .g-sub{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--ivory-soft);margin-bottom:44px}
  .gate .langs{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
  .gate .langs button{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.16em;text-transform:uppercase;padding:15px 30px;border:1px solid var(--line-strong);background:transparent;color:var(--ivory);cursor:pointer;transition:.25s;border-radius:2px}
  .gate .langs button:hover{background:var(--gold);border-color:var(--gold);color:#12100c}

  /* NAV */
  nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;transition:.3s;color:var(--ivory);background:linear-gradient(180deg,rgba(12,10,7,.55),transparent)}
  nav.solid{background:rgba(12,10,7,.92);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--line)}
  nav .brandlock{display:flex;align-items:center;gap:12px}
  nav .mark{width:34px;height:34px;flex:none}
  nav .brand{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:21px;letter-spacing:.02em;line-height:1}
  nav .brand small{display:block;font-family:'Cinzel',serif;font-size:8px;letter-spacing:.3em;color:var(--gold-2);font-weight:400;margin-top:3px}
  nav .links{display:none;gap:26px;align-items:center}
  nav .links a{color:inherit;text-decoration:none;font-size:13px;letter-spacing:.08em;opacity:.9}
  nav .links a:hover{color:var(--gold-2)}
  .lang{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.12em;border:1px solid var(--line-strong);padding:6px 11px;background:transparent;color:var(--ivory);cursor:pointer;border-radius:2px}
  .lang:hover{border-color:var(--gold)}
  @media(min-width:860px){nav .links{display:flex}}

  /* HERO */
  .hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:flex-end;justify-content:flex-start;text-align:left;color:var(--ivory);overflow:hidden}
  .hero .bg{position:absolute;inset:0;background:radial-gradient(120% 90% at 70% 40%,#1a1610 0%,#0f0d0a 60%,#0a0906 100%)}.hero .ermita{position:absolute;right:clamp(24px,8vw,120px);top:50%;transform:translateY(-54%);width:min(46vw,620px);opacity:.92;pointer-events:none}
  .hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,7,.0),rgba(12,10,7,.0) 60%,rgba(12,10,7,.6))}
  .hero .inner{position:relative;z-index:2;padding:0 clamp(24px,6vw,88px) clamp(98px,15vh,134px);max-width:900px;width:100%}
  .hero h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(44px,8vw,88px);line-height:1;letter-spacing:.01em;text-shadow:0 2px 40px rgba(0,0,0,.55)}
  .hero h1 em{font-style:italic;color:var(--gold-2)}
  .hero .tag{margin:22px 0 24px;font-size:17px;max-width:520px;font-weight:300;letter-spacing:.02em;color:#e7ddca}
  /* buscador cuéntanos qué buscas */
  .seek{max-width:460px;margin:0;background:rgba(14,12,9,.42);border:1px solid var(--line-strong);backdrop-filter:blur(6px);padding:6px;display:flex;gap:8px;align-items:center;border-radius:3px}
  .seek input{flex:1;background:transparent;border:0;color:var(--ivory);font-family:'Inter',sans-serif;font-size:15px;padding:12px 14px;outline:none}
  .seek input::placeholder{color:#b7ac95}
  .seek button{white-space:nowrap;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:13px 20px;border:0;background:var(--gold);color:#12100c;cursor:pointer;transition:.2s}
  .seek button:hover{background:var(--gold-2)}
  .seek-note{margin-top:10px;font-size:12px;color:#c8bda4;letter-spacing:.02em;max-width:440px}
  .hero-seek{position:absolute;z-index:2;left:clamp(24px,6vw,88px);bottom:clamp(18px,3.5vh,30px);max-width:440px;text-align:left}
  @media(max-width:640px){.hero-seek{right:24px;max-width:none} .hero .inner{padding-bottom:150px}}
  .scrollcue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:2;font-family:'Cinzel',serif;font-size:10px;letter-spacing:.3em;color:var(--ivory);opacity:.75}

  /* SECTION shells */
  section{padding:92px 0;border-top:1px solid var(--line)}
  .center{text-align:center}
  .eyebrow{margin-bottom:16px}
  h2.title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,5vw,48px);line-height:1.08;margin-bottom:14px;color:var(--ivory)}
  .lead{color:var(--ivory-soft);max-width:640px;margin:0 auto;font-size:16.5px}

  /* VERTICALS */
  .verticals{display:grid;grid-template-columns:1fr;gap:22px;margin-top:52px}
  @media(min-width:760px){.verticals{grid-template-columns:repeat(2,1fr);max-width:820px;margin-left:auto;margin-right:auto}}
  .vcard{border:1px solid var(--line);padding:36px 30px;background:var(--panel);transition:.25s;text-align:left}
  .vcard:hover{border-color:var(--gold);transform:translateY(-4px);background:var(--panel-2)}
  .vcard .n{font-family:'Cinzel',serif;color:var(--gold-2);font-size:13px;letter-spacing:.2em;margin-bottom:14px}
  .vcard h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:26px;margin-bottom:10px;color:var(--ivory)}
  .vcard p{color:var(--ivory-soft);font-size:14.5px}

  /* FINCAS GRID */
  .filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:38px 0 40px}
  .chip{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--line-strong);background:transparent;color:var(--ivory-soft);cursor:pointer;transition:.2s}
  .chip.active,.chip:hover{background:var(--gold);color:#12100c;border-color:var(--gold)}
  .grid{display:grid;grid-template-columns:1fr;gap:22px}
  @media(min-width:620px){.grid{grid-template-columns:1fr 1fr}}
  @media(min-width:980px){.grid{grid-template-columns:repeat(3,1fr)}}
  .finca{position:relative;overflow:hidden;background:#000;border:1px solid var(--line);aspect-ratio:4/3;cursor:pointer}
  .finca img{width:100%;height:100%;object-fit:cover;transition:.5s;filter:saturate(.96)}
  .finca:hover img{transform:scale(1.06)}
  .finca .meta{position:absolute;inset:auto 0 0 0;padding:22px 18px 16px;background:linear-gradient(0deg,rgba(9,7,4,.9),transparent);color:var(--ivory)}
  .finca .meta .cat{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.2em;color:var(--gold-2);text-transform:uppercase}
  .finca .meta h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:22px;line-height:1.1;margin:3px 0}
  .finca .meta .p{font-size:12.5px;opacity:.85}
  /* private / NDA card — sin fotos, con gancho de vídeo */
  .finca.nda img{filter:blur(15px) brightness(.55) saturate(.8);transform:scale(1.1)}
  .finca.nda .lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ivory);padding:26px}
  .finca.nda .lock .ico{width:34px;height:34px;margin-bottom:14px;opacity:.95}
  .finca.nda .lock .t{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;line-height:1.3}
  .finca.nda .lock .d{font-size:12px;color:#d6cbb2;margin-top:8px;max-width:220px}
  .finca.nda .lock .s{font-size:11px;color:var(--gold-2);letter-spacing:.14em;margin-top:14px;font-family:'Cinzel',serif;border:1px solid var(--line-strong);padding:8px 14px}
  .finca.nda:hover .lock .s{background:var(--gold);color:#12100c;border-color:var(--gold)}

  /* CAZA band (vertical-hero SEO) */
  .band{position:relative;color:var(--ivory);padding:0}
  .band .row{display:grid;grid-template-columns:1fr}
  @media(min-width:900px){.band .row{grid-template-columns:1.1fr 1fr}}
  .band .pic{min-height:440px;background:url('https://missio-artifacts-whp.web.app/2026-08-04-whp-web-catalogo-19-fincas-reales-desde-drive-v13-v1/hero.png') center 60%/cover}
  .band .txt{background:var(--green);padding:74px 44px;display:flex;flex-direction:column;justify-content:center}
  .band .txt .kick{color:var(--gold-2)}
  .band .txt h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,4.4vw,44px);margin:14px 0 16px;line-height:1.08}
  .band .txt p{color:#e2e8dd;font-size:15.5px;max-width:470px}
  .band .txt .en{font-style:italic;color:var(--gold-2);margin-top:14px;font-family:'Cormorant Garamond',serif;font-size:18px}

  /* CONFIANZA / FOUNDER */
  .founder{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
  @media(min-width:900px){.founder{grid-template-columns:1fr 1.12fr;gap:70px}}
  .founder .pic{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;display:block}
  .founder .body{padding:0}
  .founder h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(28px,4vw,42px);line-height:1.08;margin-bottom:8px;color:var(--ivory)}
  .founder .sig{font-family:'Petit Formal Script',cursive;font-size:32px;color:var(--gold-2);margin:6px 0 20px}
  .founder p{color:var(--ivory-soft);font-size:15.5px;margin-bottom:14px;max-width:530px}
  .founder .promise{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--ivory);border-left:2px solid var(--gold);padding-left:18px;margin-top:22px}

  /* CONTACT */
  .contact{background:linear-gradient(180deg,#161a15,#12100c);color:var(--ivory);text-align:center}
  .contact h2{color:var(--ivory)}
  .contact .lead{color:#cdd6cc}
  .form{max-width:560px;margin:34px auto 0;display:grid;gap:14px;text-align:left}
  .form input,.form select,.form textarea{width:100%;padding:14px 16px;background:rgba(255,255,255,.05);border:1px solid var(--line-strong);color:var(--ivory);font-family:'Inter',sans-serif;font-size:14px}
  .form input::placeholder,.form textarea::placeholder{color:#9aa596}
  .form select option{color:#ece3d2;background-color:#16130e}
  .form .btn-solid{justify-self:center;margin-top:6px}

  footer{background:#0c0a07;color:#8a806c;text-align:center;padding:52px 24px}
  footer .brand{font-family:'Cormorant Garamond',serif;color:var(--ivory);font-size:24px;margin-bottom:8px}
  footer .small{font-size:12px;letter-spacing:.05em}
  .ribbon{background:#0c0a07;color:var(--gold-2);text-align:center;font-family:'Cinzel',serif;font-size:10px;letter-spacing:.26em;padding:10px;text-transform:uppercase;border-bottom:1px solid var(--line)}

  /* --- MODAL FICHA DE FINCA --- */
  .modal{position:fixed;inset:0;z-index:120;display:none;align-items:flex-start;justify-content:center;padding:40px 18px;overflow:auto}
  .modal.open{display:flex}
  .modal-bg{position:fixed;inset:0;background:rgba(8,8,9,.82);backdrop-filter:blur(4px)}
  .modal-card{position:relative;z-index:2;max-width:900px;width:100%;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 30px 80px rgba(0,0,0,.6)}
  .modal-x{position:absolute;top:12px;right:14px;z-index:3;width:40px;height:40px;border:1px solid var(--line-strong);background:rgba(20,18,15,.6);color:var(--ivory);font-size:22px;line-height:1;cursor:pointer;border-radius:2px}
  .modal-x:hover{background:var(--gold);color:#12100c;border-color:var(--gold)}
  .modal-hero{height:46vh;min-height:300px;background:#000;overflow:hidden}
  .modal-hero img{width:100%;height:100%;object-fit:cover}
  .modal.private .modal-hero img{filter:blur(16px) brightness(.5) saturate(.8);transform:scale(1.1)}
  .modal-body{padding:38px 40px 46px}
  .m-cat{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
  .m-name{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(30px,4.5vw,44px);line-height:1.05;margin:8px 0 18px;color:var(--ivory)}
  .m-stats{display:flex;gap:44px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:24px}
  .m-stats .s-lab{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-soft)}
  .m-stats .s-val{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--ivory);margin-top:4px}
  .m-desc{color:var(--ivory-soft);font-size:16px;line-height:1.7;max-width:640px;margin-bottom:28px}
  .m-video{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#161615,#232320);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;text-align:center;margin-bottom:28px;overflow:hidden;cursor:pointer}
  .m-video::after{content:"";position:absolute;inset:0;background:url('https://missio-artifacts-whp.web.app/2026-08-04-whp-web-catalogo-19-fincas-reales-desde-drive-v13-v1/hero.png') center/cover;opacity:.14}
  .m-video-inner{position:relative;z-index:2}
  .m-play{width:64px;height:64px;border:1px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--gold-2);font-size:20px;padding-left:4px;transition:.25s}
  .m-video:hover .m-play{background:var(--gold);color:#12100c}
  .m-video-t{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory)}
  .m-video-s{font-size:12.5px;color:var(--ivory-soft);margin-top:6px;letter-spacing:.02em}
  .m-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:30px}
  .m-gallery img{aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);cursor:pointer;transition:.2s;width:100%}
  .m-gallery img:hover{border-color:var(--gold);opacity:.9}
  @media(max-width:620px){.modal-body{padding:28px 22px 36px}.m-stats{gap:26px}.m-gallery{grid-template-columns:repeat(3,1fr)}}

  /* --- CATÁLOGO COMPLETO --- */
  .catalog{position:fixed;inset:0;z-index:95;display:none;background:var(--bg);overflow:auto}
  .catalog.open{display:block}
  .catalog-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(20px,5vw,44px);background:rgba(15,13,10,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .catalog-top .cat-title{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,3vw,26px);color:var(--ivory)}
  .cat-body{display:grid;grid-template-columns:1fr;max-width:1320px;margin:0 auto}
  @media(min-width:900px){.cat-body{grid-template-columns:292px 1fr}}
  .cat-side{padding:24px clamp(20px,4vw,30px)}
  @media(min-width:900px){.cat-side{position:sticky;top:69px;align-self:start;height:calc(100vh - 69px);overflow:auto;border-right:1px solid var(--line)}}
  .cat-side #catSearch{width:100%;background:var(--panel);border:1px solid var(--line-strong);color:var(--ivory);padding:12px 14px;font-family:'Inter',sans-serif;font-size:14px;outline:none;border-radius:2px}
  .cat-side #catSearch::placeholder{color:var(--ivory-soft)}
  .fgroup{padding:20px 0;border-top:1px solid var(--line)}
  .fgroup h5{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:20px;color:var(--gold-2);margin-bottom:13px}
  .opt{display:flex;align-items:center;gap:11px;padding:5px 0;cursor:pointer;font-size:13.5px;color:var(--ivory-soft);transition:.15s;user-select:none}
  .opt:hover{color:var(--ivory)}
  .opt input{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--line-strong);background:transparent;cursor:pointer;flex:0 0 auto;position:relative;transition:.15s;margin:0}
  .opt input[type=radio]{border-radius:50%}
  .opt input[type=checkbox]{border-radius:3px}
  .opt input:checked{border-color:var(--gold)}
  .opt input[type=radio]:checked::after{content:'';position:absolute;inset:3px;border-radius:50%;background:var(--gold)}
  .opt input[type=checkbox]:checked::after{content:'';position:absolute;inset:3px;background:var(--gold);border-radius:1px}
  .opt input:checked ~ span{color:var(--ivory)}
  .rng .val{font-size:13px;color:var(--ivory);margin-bottom:14px;letter-spacing:.01em}
  .rng .slider{position:relative;height:26px}
  .rng .track{position:absolute;top:11px;left:0;right:0;height:3px;background:var(--line-strong);border-radius:3px}
  .rng .fill{position:absolute;top:11px;height:3px;background:var(--gold);border-radius:3px}
  .rng input[type=range]{position:absolute;top:0;left:0;width:100%;height:26px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
  .rng input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:17px;height:17px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.5)}
  .rng input[type=range]::-moz-range-thumb{pointer-events:auto;width:17px;height:17px;border-radius:50%;background:var(--ivory);border:1px solid var(--gold);cursor:pointer}
  .cat-sort{width:100%;background:var(--panel);border:1px solid var(--line-strong);color:var(--ivory);padding:11px 12px;font-family:'Inter',sans-serif;font-size:13px;cursor:pointer;outline:none;border-radius:2px}
  .cat-sort option{color:#ece3d2;background-color:#16130e}
  .cat-clear{width:100%;margin-top:20px;background:transparent;border:1px solid var(--line-strong);color:var(--ivory-soft);padding:11px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:.2s;border-radius:2px}
  .cat-clear:hover{border-color:var(--gold);color:var(--ivory)}
  .cat-main{padding:24px clamp(20px,4vw,30px) 100px;min-width:0}
  .cat-count{color:var(--gold-2);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;margin-bottom:20px}
  .catalog .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:20px;max-width:none;margin:0;padding:0}

[hidden]{display:none!important}
:focus-visible{outline:2px solid #e7c68a!important;outline-offset:5px}
:root{--ivory-soft:#c0b299}
.review-banner{position:fixed;top:0;left:0;right:0;z-index:150;background:#ece3d2;color:#272219;padding:7px 16px;font:12px/1.4 Inter,sans-serif;text-align:center}
.modal{padding-top:0}.review-note{font:12px/1.6 Inter,sans-serif;color:var(--gold-2);margin:0 0 18px}
.seek input{min-width:0}.hero{min-height:740px}.hero .inner{padding-bottom:190px}
.hero h1{font-size:clamp(44px,6.6vw,76px)}section{scroll-margin-top:108px}
.m-video{display:none!important}
@media(min-width:860px){#langM{display:none}}
@media(max-width:640px){.review-banner{font-size:10px}.hero{min-height:790px}.hero .inner{padding-bottom:240px}.hero h1{font-size:49px}.hero-seek{bottom:36px}.band .txt{padding:45px 24px}.catalog .grid{grid-template-columns:minmax(0,1fr)}.catalog-top .logo{display:none}.catalog-top{padding-right:65px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v17 review refinements; v14–v16 sources remain immutable. */
.mobile-controls{display:flex;align-items:center;gap:12px}
#mobileMenu summary{cursor:pointer;font-size:13px;padding:12px;min-height:44px}
.mobile-links{position:absolute;right:24px;top:100%;background:var(--panel);border:1px solid var(--line-strong);padding:12px;min-width:220px}
.mobile-links a{display:block;padding:12px;color:var(--ivory);text-decoration:none}
@media(min-width:860px){.mobile-controls{display:none}}
.lang,.opt,.modal-x{min-height:44px}.modal-x{min-width:44px}
.form{gap:8px}.form label{font-size:13px;color:var(--ivory);margin-top:12px}
#formStatus{font-size:13px;color:var(--gold-2);border-bottom:1px solid var(--line);padding-bottom:18px}
.m-gallery button{padding:0;border:2px solid transparent;background:var(--panel);cursor:pointer}
.m-gallery button[aria-pressed=true]{border-color:var(--gold-2)}
.m-gallery button img{border:0}.m-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.m-stats .s-val{font-size:clamp(19px,2.5vw,26px);overflow-wrap:anywhere}
.finca{background:var(--panel)}.finca img{background:var(--panel)}
#catFilters{padding-top:16px}#catFilters>summary{padding:12px 0;color:var(--gold-2);cursor:pointer;font-size:14px}
#catFilters .cat-clear{margin-bottom:20px}
.review-banner{min-height:32px;display:flex;justify-content:center;align-items:center}
@media(max-width:640px){.hero{height:auto;min-height:max(740px,100svh)}.hero h1{font-size:clamp(38px,11vw,49px)}.hero .inner{padding-top:160px;padding-bottom:210px}.hero .tag{font-size:16px}.hero-seek{bottom:28px}.hero-seek .seek button{padding-inline:12px}.kick{letter-spacing:.22em}.m-stats{gap:18px}.modal{padding-inline:10px}.catalog-top{min-height:98px}.cat-main{padding-top:0}.cat-side{padding-bottom:8px}}

/* v16 */
.finca .meta h4{font-size:24px}
.finca .meta .p{font-size:12px;letter-spacing:.02em;opacity:.9}
.review-note.is-published{color:#9fd3a6}
.founder .pic{aspect-ratio:4/5;object-fit:cover;object-position:center;height:auto}
@media(max-width:640px){.founder .pic{aspect-ratio:4/3}.hero .inner{padding-top:150px}.hero .kick{margin-bottom:22px!important}}
.finca .meta .cat{line-height:1.5;margin-bottom:4px;max-width:100%}
.finca .meta{padding-top:34px}

/* v17 */
.logo--img img{height:34px;width:auto;display:block}.catalog-top .logo--img img{height:28px}
.gate-logo{width:min(46vw,260px);height:auto;margin-bottom:26px}
.hero .inner{max-width:640px}
.hero .ermita{top:56%!important;width:min(40vw,560px)!important}
@media(max-width:900px){.hero .ermita{right:50%;top:26%;transform:translate(50%,-40%);width:min(62vw,340px);opacity:.28}}
.map-wrap{position:relative;max-width:760px;margin:44px auto 10px}
#spainMap{width:100%;height:auto;display:block}
#spainMap .land{fill:#16130e;stroke:rgba(201,169,106,.45);stroke-width:1.2}
#spainMap .dot{fill:var(--gold);stroke:#0f0d0a;stroke-width:2;cursor:pointer;transition:.2s}
#spainMap .dot:hover,#spainMap .dot.active{fill:#fff;r:8}
#spainMap .halo{fill:none;stroke:var(--gold);stroke-opacity:.35;stroke-width:1}
#spainMap .plabel{font:11px Inter,sans-serif;fill:var(--ivory-soft);letter-spacing:.04em;pointer-events:none}
.map-tip{position:absolute;z-index:5;width:250px;background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 20px 50px rgba(0,0,0,.55);pointer-events:auto;cursor:pointer;text-align:left}
.map-tip img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.map-tip .t{padding:12px 14px 14px}.map-tip .t .cat{font-family:Cinzel,serif;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2)}
.map-tip .t h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:20px;line-height:1.1;margin:3px 0 4px;color:var(--ivory)}
.map-tip .t .p{font-size:12px;color:var(--ivory-soft)}.map-tip .t .more{font-size:11px;color:var(--gold-2);margin-top:8px;letter-spacing:.06em}
.map-note{text-align:center;color:var(--ivory-soft);font-size:12px;margin:14px 0 0}
.team{display:grid;grid-template-columns:1fr;gap:26px;max-width:960px;margin:44px auto 0}
@media(min-width:760px){.team{grid-template-columns:1fr 1fr}}
.member{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;border:1px solid var(--line);background:var(--panel);padding:22px}
.member img{width:120px;height:150px;object-fit:cover;object-position:top;filter:saturate(.9)}
.member h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:22px;line-height:1.1;margin:0 0 4px;color:var(--ivory)}
.member .role{font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:10px}
.member p{color:var(--ivory-soft);font-size:14px;line-height:1.55;margin:0}
.promise.center{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;color:var(--ivory);margin-top:34px;border:0;padding:0}
.m-desc{white-space:pre-line}
@media(max-width:640px){.member{grid-template-columns:90px 1fr;padding:16px}.member img{width:90px;height:112px}.map-tip{width:210px}}

/* ---- v18: sitio real ---- */
/* acabado boutique: menos caja, más aire, líneas finas, tipografía más pequeña y espaciada */
.kick{font-size:10px;letter-spacing:.38em;color:var(--gold-2);opacity:.9}
.btn{font-size:10.5px;letter-spacing:.24em;padding:13px 28px;border-width:1px;border-color:rgba(201,169,106,.55)}
.btn-solid{background:transparent;color:var(--gold-2);border-color:var(--gold)}.btn-solid:hover{background:var(--gold);color:#1a1610}
.btn-fill{background:var(--gold);color:#1a1610;border-color:var(--gold)}.btn-fill:hover{background:#c9a96a;border-color:#c9a96a;color:#1a1610}
section{padding:120px 0;border-top:1px solid rgba(201,169,106,.10)}
h2.title{font-weight:400;letter-spacing:-.005em}
.lead{font-size:15.5px;line-height:1.75;font-weight:300}
.hero .bg{background:radial-gradient(110% 80% at 72% 42%,#171410 0%,#0f0d0a 58%,#0a0906 100%)}
.hero .ermita{height:auto!important;width:min(26vw,380px)!important;opacity:.85!important;right:auto!important;left:70%!important;top:50%!important;transform:translate(-50%,-50%)!important;filter:sepia(1) saturate(1.6) hue-rotate(-8deg) brightness(1.05)}
.hero .ermita-rule{position:absolute;left:70%;transform:translateX(-50%);top:calc(50% + min(12vw,175px) + 20px);width:min(26vw,380px);height:1px;background:linear-gradient(90deg,transparent,rgba(201,169,106,.55),transparent);pointer-events:none}
@media(max-width:900px){.hero .ermita-rule{display:none}}
.hero .tag{font-size:15.5px;max-width:520px}
/* variante: foto de finca fundida con el negro */
.hero--photo .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;opacity:0;filter:saturate(.75) contrast(1.06);transition:opacity 2.8s ease-in-out;transform:scale(1.04);will-change:opacity}
.hero--photo .hero-photo.on{opacity:.72;animation:whpkb 14s ease-in-out forwards}
@keyframes whpkb{from{transform:scale(1.04)}to{transform:scale(1.10)}}
@media(max-width:640px){.hero--photo .hero-photo{opacity:0!important;animation:none}.hero--photo .hero-photo.on{opacity:.38!important}}
@media(prefers-reduced-motion:reduce){.hero--photo .hero-photo.on{animation:none}}
.hero--photo .veil{background:linear-gradient(90deg,rgba(10,9,6,.97) 0%,rgba(10,9,6,.9) 34%,rgba(10,9,6,.45) 62%,rgba(10,9,6,.62) 100%),linear-gradient(0deg,rgba(10,9,6,1) 0%,rgba(10,9,6,.2) 42%,rgba(10,9,6,.35) 100%)}
.hero--photo .ermita{opacity:1!important;filter:brightness(1.15) drop-shadow(0 0 40px rgba(10,9,6,.95))!important}
.hero .inner{max-width:760px!important}.hero h1{font-size:clamp(40px,5.2vw,64px)!important;line-height:1.02}
/* el logo siempre por encima de la veladura, en blanco pleno en las portadas con foto */
.hero .ermita,.hero .ermita-rule,.hero--b .hero-center{z-index:3}
.hero--b .hero-center .ermita,.hero--c .ermita,.hero--photo .ermita{opacity:1!important;filter:brightness(1.25) contrast(1.05) drop-shadow(0 0 28px rgba(10,9,6,.9))!important}
/* opción B — foto fija a sangre, composición centrada */
.hero--b{align-items:center;justify-content:center;text-align:center}
.hero--b .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;opacity:.55;filter:saturate(.7) contrast(1.08)}
.hero--b .veil{background:radial-gradient(70% 60% at 50% 45%,rgba(10,9,6,.15) 0%,rgba(10,9,6,.75) 70%,rgba(10,9,6,.98) 100%),linear-gradient(0deg,rgba(10,9,6,1) 0%,rgba(10,9,6,0) 35%)}
.hero--b .hero-center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;margin-bottom:26px}
.hero--b .hero-center .ermita{position:static!important;transform:none!important;width:min(22vw,230px)!important;opacity:1!important;filter:brightness(1.15) drop-shadow(0 0 30px rgba(10,9,6,.9))!important}
.hero--b .hero-center .ermita-rule{position:static;transform:none;width:min(22vw,230px);margin-top:16px}
.hero--b .inner{max-width:820px!important;padding:0 24px;margin:0 auto}.hero--b .inner{position:relative;z-index:2}
.hero--b .inner .tag{margin:18px auto 0}.hero--b .kick{margin-bottom:12px}
.hero--b{display:flex;flex-direction:column;padding-top:120px;padding-bottom:140px}
.hero--b .hero-seek{left:50%;transform:translateX(-50%);text-align:center;bottom:clamp(22px,4vh,40px)}
@media(max-width:640px){.hero--b .hero-photo{opacity:.35}.hero--b .hero-center .ermita{width:44vw!important}}
/* opción C — negro dominante, foto en columna derecha fundida */
.hero--c .hero-col{position:absolute;top:0;right:0;bottom:0;width:52%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%,#000 100%);}
.hero--c .hero-col .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;opacity:.8;filter:saturate(.7) contrast(1.06)}
.hero--c .veil{background:linear-gradient(0deg,rgba(10,9,6,1) 0%,rgba(10,9,6,0) 40%),linear-gradient(90deg,rgba(10,9,6,0) 55%,rgba(10,9,6,.35) 100%)}
.hero--c .ermita{left:auto!important;right:clamp(40px,7vw,110px)!important;top:auto!important;bottom:150px!important;transform:none!important;width:min(15vw,170px)!important;opacity:1!important;filter:brightness(1.15) drop-shadow(0 0 30px rgba(10,9,6,.9))!important}
.hero--c .ermita-rule{display:none}
@media(max-width:900px){.hero--c .hero-col{width:100%;opacity:.5;-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 45%);mask-image:linear-gradient(0deg,transparent 0%,#000 45%)}.hero--c .ermita{display:none}}
.seek{background:transparent;border:0;border-bottom:1px solid rgba(201,169,106,.45);padding:0;border-radius:0;backdrop-filter:none}
.seek input{padding:12px 0;font-size:14px}.seek button{font-family:Cinzel,serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;background:transparent;border:0;color:var(--gold-2);padding:12px 4px;cursor:pointer}
.seek-note{font-size:11px;opacity:.6;margin-top:10px}
/* territorio: texto + península */
.terr{display:grid;grid-template-columns:1fr;gap:54px;align-items:center}
@media(min-width:960px){.terr{grid-template-columns:1fr 1.15fr;gap:70px}}
.terr-txt .lead{margin:0 0 42px}
.terr-txt h2.title,.terr-txt .lead{text-align:left}
.verticals,.verticals{list-style:none;display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0!important;padding:0;border-top:1px solid rgba(201,169,106,.18);max-width:none}
.vcard{border:0;background:transparent;padding:0;text-align:left;transform:none}.vcard:hover{transform:none;background:transparent;border:0}
.vcard .vbtn{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(201,169,106,.18);display:grid;grid-template-columns:34px 1fr;gap:12px;padding:18px 0;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:.25s}
.vcard .vbtn:hover{padding-left:6px}.vcard .vbtn:hover h3,.vcard.on h3{color:var(--gold-2)}
.vcard.on .vbtn{border-bottom-color:rgba(201,169,106,.6)}
.vcard .vc{font-family:Cinzel,serif;font-size:10px;letter-spacing:.14em;color:var(--gold-2);opacity:.75;margin-left:8px;vertical-align:middle}
.vcard .vlink{display:none;margin-top:8px;font-family:Cinzel,serif;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);text-decoration:none}
.vcard.on .vlink{display:inline-block}.vcard .vlink:hover{color:var(--ivory)}
.vcard .n{font-size:11px;margin:0;padding-top:6px;opacity:.8}
.vcard h3{font-size:22px;font-weight:500;margin:0 0 3px;transition:.25s}.vcard p{font-size:13.5px;line-height:1.55;margin:0;max-width:480px}
.map-wrap{max-width:640px;margin:0 auto}
#spainMap .land{fill:none;stroke:rgba(201,169,106,.6);stroke-width:.7;stroke-linejoin:round}
#spainMap .dot{fill:var(--gold);fill-opacity:.85;stroke:none;r:3.2;transition:.2s}
#spainMap .dot:hover,#spainMap .dot.active{fill:#fff;fill-opacity:1;r:4.5}
#spainMap .ring{fill:none;stroke:var(--gold);stroke-opacity:.28;stroke-width:.5;transform-box:fill-box;transform-origin:center;transition:opacity .4s}
#spainMap .ring.open{animation:whpring 1.6s ease-out 1}
@keyframes whpring{0%{transform:scale(1);stroke-opacity:.5}100%{transform:scale(2.6);stroke-opacity:0}}
#spainMap .dot,#spainMap .ring,#spainMap .plabel{transition:opacity .5s ease}
#spainMap.filtered .dot:not(.in),#spainMap.filtered .ring:not(.in){opacity:.12}#spainMap.filtered .plabel{opacity:.35}
#spainMap .plabel{font:9.5px Inter,sans-serif;fill:var(--ivory-soft);fill-opacity:.75;letter-spacing:.08em;text-transform:uppercase}
.map-note{font-size:11px;opacity:.55;margin-top:16px;text-align:center}
.map-tip{width:230px;border-color:rgba(201,169,106,.35);box-shadow:0 24px 60px rgba(0,0,0,.6)}
/* tarjetas de finca */
.finca{border:1px solid rgba(201,169,106,.14);background:#0c0a08}
.finca img{filter:none}.finca:hover img{transform:scale(1.03)}
.ficha-hero img,.ficha .m-gallery img,.map-tip img{filter:brightness(.92) saturate(.85) contrast(1.03)}
.finca .meta{padding:60px 20px 18px;background:linear-gradient(0deg,rgba(9,7,4,.92) 0%,rgba(9,7,4,.55) 55%,transparent 100%)}
.finca .meta .cat{font-size:9px;letter-spacing:.24em;opacity:.95}
.finca .meta h4{font-size:21px;font-weight:400;margin:4px 0 2px;line-height:1.12;overflow-wrap:anywhere}
.finca{transition:border-color .3s}.finca:hover{border-color:rgba(201,169,106,.45)}
.finca .meta .p{font-size:11.5px;letter-spacing:.03em;opacity:.8}
.grid{gap:22px}
/* equipo: fotos grandes, integradas */
.team{max-width:1040px;gap:34px;margin-top:56px}
.member{grid-template-columns:200px 1fr;gap:26px;border:0;background:transparent;padding:0;align-items:center}
.member img{width:200px;height:250px;object-fit:cover;object-position:top;filter:saturate(.72) contrast(1.04) brightness(.96);border:1px solid rgba(201,169,106,.25);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.member h3{font-size:26px;font-weight:500}.member .role{font-size:9.5px;letter-spacing:.26em;margin-bottom:12px}
.member p{font-size:14px;line-height:1.7}
@media(max-width:640px){.member{grid-template-columns:120px 1fr;gap:16px}.member img{width:120px;height:150px}}
.promise.center{font-size:24px;margin-top:56px;opacity:.9}
/* formulario: solo línea inferior */
.form input,.form select,.form textarea{background:transparent;border:0;border-bottom:1px solid rgba(201,169,106,.35);padding:12px 0;font-size:14px;border-radius:0}
.form input:focus,.form select:focus,.form textarea:focus{border-bottom-color:var(--gold);outline:none}
.form label{font-family:Cinzel,serif;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin-top:22px}
.form select option{background:#16130e;color:#ece3d2}
.contact{background:#0c0a07}
/* catálogo */
.page-head h1{font-weight:400}
.cat-side #catSearch{background:transparent;border:0;border-bottom:1px solid rgba(201,169,106,.4);border-radius:0;padding:12px 0;font-size:14px}
#catFilters>summary{font-family:Cinzel,serif;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase}
.fgroup{padding:22px 0;border-bottom:1px solid rgba(201,169,106,.12)}
.fgroup h5{font-family:Cinzel,serif;font-style:normal;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-2);margin-bottom:12px}
.opt{font-size:13px;padding:4px 0;gap:10px}.opt input{width:13px;height:13px;border-width:1px}
.opt input[type=radio]:checked::after{inset:3px}
.rng .track,.rng .fill{height:1px;top:12px}.rng .val{font-family:'Cormorant Garamond',serif;font-size:16px}
.cat-sort{font-size:13px;background:transparent;border:0;border-bottom:1px solid rgba(201,169,106,.4);color:var(--ivory);padding:10px 0;width:100%;border-radius:0}
.cat-clear{font-family:Cinzel,serif;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;background:transparent;border:0;color:var(--gold-2);padding:14px 0;cursor:pointer}
.cat-count{font-size:17px;opacity:.85}
/* ficha */
.ficha-side .m-cat{font-size:9.5px;letter-spacing:.26em}.ficha-side h1{font-weight:400}
.m-stats .s-lab{font-size:9px;letter-spacing:.24em}.m-stats .s-val{font-weight:400}
.ficha .m-gallery{gap:6px}.ficha .m-gallery button{border-width:1px}.ficha .m-gallery button[aria-pressed=true]{border-color:rgba(201,169,106,.8)}
.ficha-hero img{border-color:rgba(201,169,106,.18)}
.crumbs{font-size:10px;letter-spacing:.24em;opacity:.8}
.qs{list-style:none;margin:26px auto 22px;padding:0;max-width:430px;text-align:left}
.qs li{display:flex;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);font:400 21px/1.3 'Cormorant Garamond',Georgia,serif;color:var(--ivory)}
.qs li:last-child{border-bottom:0}
.qs li span{font:400 11px/1 Cinzel,serif;letter-spacing:.14em;color:var(--gold-2);min-width:18px}
@media(max-width:640px){.qs{max-width:100%}.qs li{font-size:18px;padding:11px 0}}
.guide{background:#0c0a07;padding:96px 0}.guide .title{font-style:italic;font-weight:400;font-size:clamp(28px,3.6vw,42px);max-width:820px;margin:0 auto 14px}
.guide .lead{max-width:560px;font-family:'Cormorant Garamond',serif;font-size:19px;line-height:1.6;color:var(--ivory)}
.guide .btn{border:0;padding:0;margin-top:22px!important;color:var(--gold-2);letter-spacing:.24em}.guide .btn:hover{background:transparent;color:var(--ivory)}
.guide::before,.guide::after{content:"";display:block;width:36px;height:1px;background:rgba(201,169,106,.45);margin:0 auto}.guide::before{margin-bottom:34px}.guide::after{margin-top:34px}
#fincas{padding-bottom:110px}#metodo{padding-top:130px}
.m-stats--dossier{margin-top:0;padding-top:24px;border-top:1px solid rgba(201,169,106,.14)}
.ficha-side .m-stats{padding-bottom:6px}.ficha-side .m-desc{margin-top:8px;font-size:14.5px;line-height:1.75;color:var(--ivory-soft)}.s-val--sm{font-size:clamp(16px,2vw,19px)!important}
.from-dossier{font-size:11px;color:var(--ivory-soft);opacity:.65;margin:-14px 0 22px}
.priv-note{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--gold-2);margin:0 0 22px}
.docs{margin-top:26px;padding-top:18px;border-top:1px solid rgba(201,169,106,.14)}.docs .s-lab{margin-bottom:8px}
.docs .doc{display:block;color:var(--ivory);text-decoration:none;font-size:13.5px;padding:7px 0;border-bottom:1px solid rgba(201,169,106,.1)}.docs .doc:hover{color:var(--gold-2)}
.cat-head .lead{max-width:760px;margin:0}.cat-head{margin-bottom:26px}
/* catálogo compacto: todos los filtros visibles sin bajar */
.cat-page .page-head{margin-bottom:22px}.cat-page .page-head h1{font-size:clamp(34px,4vw,48px)}
.cat-page .fgroup{padding:13px 0;border-bottom:1px solid rgba(201,169,106,.10)}.cat-page .fgroup h5{margin-bottom:6px}
.cat-page .opt{display:inline-flex;margin:0 16px 0 0;padding:3px 0;font-size:12.5px}
.cat-page .rng .val{margin-bottom:6px;font-size:15px}.cat-page .rng .slider{height:20px}.cat-page .rng .track,.cat-page .rng .fill{top:9px}
.cat-page .cat-sort{padding:8px 0;font-size:12.5px}.cat-page .cat-clear{padding:10px 0}
@media(min-width:900px){.cat-page #catFilters>summary{display:none}.cat-page .cat-side{top:110px;padding-top:6px}}
.page.page--cat{padding-top:120px}
.cat-others{margin-top:54px;padding-top:22px;border-top:1px solid rgba(201,169,106,.14);display:flex;flex-wrap:wrap;gap:8px 26px;align-items:center}
.cat-others .s-lab{margin-right:8px}.cat-others a{color:var(--gold-2);text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:19px}
.logo--img img{height:30px!important}
nav .links a{font-family:Cinzel,serif;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;transition:color .25s}nav .links a:hover{color:var(--gold-2)}
.lang{font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;border:1px solid rgba(201,169,106,.4);padding:8px 10px;color:var(--gold-2);text-decoration:none;transition:.25s}.lang:hover{border-color:var(--gold);color:var(--ivory)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--gold-2)!important;outline-offset:4px}
#ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:560px;margin:0 auto;background:rgba(15,13,10,.96);border:1px solid rgba(201,169,106,.35);padding:18px 20px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
#ck p{margin:0 0 12px;font-size:12.5px;line-height:1.55;color:var(--ivory-soft)}#ck a{color:var(--gold-2)}#ck div{display:flex;gap:10px;flex-wrap:wrap}
#ck button{font-family:Cinzel,serif;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:10px 16px;border:1px solid var(--gold);background:var(--gold);color:#1a1610;cursor:pointer}#ck button.ghost{background:transparent;color:var(--gold-2)}
footer{padding:70px 24px 60px;border-top:1px solid rgba(201,169,106,.12)}
footer .brand{font-weight:400;letter-spacing:.02em}

.review-banner{display:none}
nav{top:0}
.page{padding:150px 0 60px}.page .wrap{max-width:1180px}
.page-head{margin-bottom:36px}.page-head h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(38px,5vw,60px);line-height:1.05;margin:0 0 12px;color:var(--ivory)}
.cat-page{display:grid;grid-template-columns:1fr;gap:34px}@media(min-width:900px){.cat-page{grid-template-columns:292px 1fr}}
@media(min-width:900px){.cat-page .cat-side{position:sticky;top:110px;align-self:start;height:auto;max-height:calc(100vh - 130px);overflow:auto;border-right:0;padding:0 24px 0 0}}
.cat-page .cat-side{padding:0}
.cat-page #catFilters{padding-top:0}
.finca a.cover{position:absolute;inset:0;z-index:2}.finca{position:relative}
.ficha{display:grid;grid-template-columns:1fr;gap:40px}@media(min-width:960px){.ficha{grid-template-columns:1.35fr 1fr}}
.ficha-hero img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border:1px solid var(--line)}
.ficha .m-gallery{grid-template-columns:repeat(5,1fr);margin-top:10px}.ficha .m-gallery button{width:100%}
.ficha .m-gallery img{aspect-ratio:1;object-fit:cover;width:100%}
.ficha-side .m-cat{margin-top:0}.ficha-side h1{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:clamp(34px,4vw,50px);line-height:1.05;margin:6px 0 22px}
.ficha-side .m-stats{margin:0 0 26px}.ficha-side .m-desc{white-space:pre-line}
.ficha-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.ficha-cta .btn{margin:0}
.crumbs{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2);margin-bottom:22px}.crumbs a{color:inherit;text-decoration:none}
.back{display:inline-block;margin-top:40px;color:var(--gold-2);text-decoration:none;font-family:'Cormorant Garamond',serif;font-size:19px}
.otras{margin-top:70px}.otras h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:30px;margin-bottom:20px}
.form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:620px){.form .row2{grid-template-columns:1fr}}
.form .hp{position:absolute;left:-9999px;opacity:0;height:0}
.privacy{font-size:12px;color:var(--gold-2);opacity:.8;margin-top:6px}
.gate .langs button.sel{border-color:var(--gold)}
.hero .kick{margin-bottom:16px}
.hero-seek{width:min(520px,calc(100vw - 48px));max-width:none}.seek{max-width:none}
footer .legal{margin-top:16px;font-size:11px;opacity:.55}footer .legal a{color:inherit;text-decoration:none}footer .legal a:hover{color:var(--gold-2)}
.static{max-width:760px}.static h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(34px,4.4vw,52px);line-height:1.05;margin:0 0 28px}
.static h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:26px;margin:36px 0 10px}.static h3,.static h4{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:21px;margin:26px 0 8px}
.static p,.static li{font-size:15px;line-height:1.8;color:var(--ivory-soft);margin:0 0 14px}.static ul,.static ol{padding-left:22px}.static a{color:var(--gold-2)}.static strong{color:var(--ivory);font-weight:500}
.revista{list-style:none;padding:0;margin:0;max-width:760px}.revista li{border-top:1px solid rgba(201,169,106,.18)}.revista li:last-child{border-bottom:1px solid rgba(201,169,106,.18)}
.revista a{display:block;padding:26px 0;text-decoration:none;color:inherit}.revista h2{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:26px;margin:0 0 6px;transition:.25s}.revista a:hover h2{color:var(--gold-2)}.revista p{margin:0;font-size:14px;color:var(--ivory-soft)}
/* Windows/Linux: el desplegable nativo del <select> y los controles sin color propio
   pintaban texto marfil sobre el fondo blanco del sistema -> opciones invisibles.
   macOS e iOS usan el widget nativo del sistema y no reproducian el fallo. */
:root{color-scheme:dark}
.form select option,.cat-sort option,select option,select optgroup{background-color:#16130e;color:#ece3d2}
.cat-side #catSearch{color:var(--ivory)}
.cat-side #catSearch::placeholder{color:#8d8371}

/* B · Dos voces: se lee todo en Cormorant; Cinzel se queda solo en las
   versalitas, pero mas grande y con menos separacion entre letras. */
body,.lead,p,li,input,select,textarea{font-family:'Cormorant Garamond',Georgia,serif}
.lead{font-size:20.5px;font-weight:400;line-height:1.68;color:#d9cfb9}
.static p,.static li{font-size:19.5px;line-height:1.7;color:#d5cab4}
.kick,.kick.eyebrow,.s-lab{font-size:13px!important;letter-spacing:.20em!important}
nav .links a{font-size:12.5px!important;letter-spacing:.14em!important}
.btn,.seek button,.cat-clear,#ck button,.vbtn{font-size:13px!important;letter-spacing:.17em!important}
.lang{font-size:12px!important;letter-spacing:.14em!important}
.fgroup h5,#catFilters>summary{font-size:11.5px!important;letter-spacing:.17em!important}
.cat-sort,.form input,.form select,.form textarea,#catSearch,.seek input{font-size:17.5px}
.vcard p,.vcard .vt p{font-size:18.5px;line-height:1.55}
.qs li{font-size:24px}
/* el boton .vbtn envuelve el contenido de la tarjeta: no debe contagiar el tracking */
.vbtn .vt,.vbtn .vt h3,.vbtn .vt p,.vcard p,.vcard h3{letter-spacing:normal!important}

/* Cormorant tiene la letra minuscula mas baja que Inter: al mismo tamano en
   pixeles se ve mas pequena. Todo lo que se lee necesita subir de verdad. */
.hero .tag{font-size:23px!important;line-height:1.45;color:#e7ddca;max-width:900px!important}
.lead,.cat-head .lead,.terr-txt .lead{font-size:24px!important;line-height:1.6}
/* el parrafo que Alejandra dijo que le gustaba: misma letra, mas cuerpo */
.guide .lead{font-size:25px!important;line-height:1.52;max-width:700px}
.static p,.static li{font-size:22px!important;line-height:1.68}
.finca p,.finca .meta,.vcard p{font-size:20.5px!important}
.ficha p,.ficha li{font-size:21.5px!important;line-height:1.66}
.note,.privacy,.mapNote,.seekNote{font-size:16px!important}
footer,footer p,footer a{font-size:16px!important}

/* Detalles de la miniatura de finca: la clase es .p, no el elemento p, por eso
   la regla de arriba no la alcanzaba y se quedo a 11,5 px en Cormorant, que se
   ve aun mas pequena que Inter al mismo tamano. */
.finca .meta .p{font-size:16px!important;letter-spacing:.01em;opacity:.95}
.finca .meta h4{font-size:24px!important}
.finca .meta .cat{font-size:10.5px!important;letter-spacing:.18em!important;opacity:1}
.finca .meta{padding-top:68px}
.finca.nda .lock .d{font-size:16px!important}
.finca.nda .lock .s{font-size:12px!important}

/* Aire entre el texto y lo que viene debajo: los margenes estaban calculados
   para 15,5 px y con 24 px se quedan cortos. */
#fincas .lead{margin-bottom:40px!important}
.terr-txt .lead{margin-bottom:34px!important}
.cat-head .lead{margin-bottom:32px!important}
.guide .lead{margin-bottom:26px!important}

/* Barrido final: todo lo que cambio de familia sin crecer se veia mas pequeno,
   porque Cormorant tiene la minuscula mas baja que Inter. Un texto no puede
   quedar por debajo de 17 px en esta letra si esta pensado para leerse. */
.seek-note,.map-note{font-size:16px!important;line-height:1.5}
.small{font-size:16.5px!important}
.crumbs{font-size:15.5px!important}
.doc{font-size:18px!important}
.privacy{font-size:17px!important;line-height:1.55}
.ficha .side p,.ficha .side li,.ficha .col p{font-size:19px!important}
.m-desc{line-height:1.66}
.stat .v,.ficha .stats .v{font-size:21px!important}
.ficha .stats .l,.stat .l{font-size:11px!important}
footer .legal,footer .legal a{font-size:15px!important}
/* ultimos tres: la biografia del equipo es texto de lectura, el numero del
   filtro es un dato que hay que leer, y «Documentacion» es una etiqueta y le
   corresponde Cinzel, no la letra de leer. */
.member p,.team p{font-size:19px!important;line-height:1.6}
.rng .val,.rng .val span{font-size:17.5px!important}
.s-lab{font-family:Cinzel,serif!important;font-size:11px!important;letter-spacing:.2em!important}
footer .legal a{font-size:16px!important}
.crumbs{font-size:16px!important}

/* Al pasar el raton, .vbtn ganaba 6 px de padding izquierdo: eso estrecha la
   caja, la linea se reparte distinto y salta una palabra. Se sustituye por un
   desplazamiento visual, que no recalcula el texto. */
.vcard .vbtn{transition:transform .22s ease}
.vcard .vbtn:hover{padding-left:0!important;transform:translateX(6px)}

/* Legibilidad · reunión con Alejandra del 6-oct-2026.
   «Lo veo muy pequeño y un poco borroso; va dirigido a un público mayor».
   Referencia que dio por buena: «Fincas en venta» (48 px) y su subtítulo (24 px).
   Dos causas: tamaños de 10,5-13 px en lo que hay que leer y el peso 300 de
   Cormorant y Cinzel, que sobre fondo oscuro se ve fino y desvaído.
   Regla: nada que se lea por debajo de 13 px en versalitas ni de 18 px en Cormorant,
   y peso 400 como mínimo. */
body{font-weight:400}
p,li,.p,.small,.lead,.cat-count,footer,footer a{font-weight:400}

/* cabecera */
nav .links a{font-size:14.5px!important;font-weight:400!important;letter-spacing:.12em!important}
.lang{font-size:14px!important;font-weight:400!important}
.kick,.kick.eyebrow,.s-lab{font-size:14px!important;font-weight:400!important}

/* filtros del catálogo */
.fgroup h5,#catFilters>summary{font-size:14px!important;font-weight:500!important;letter-spacing:.14em!important}
.cat-sort,.fgroup select,#catSearch,.cat-side select,.cat-side input{font-size:19px!important;font-weight:400!important;font-family:'Cormorant Garamond',Georgia,serif!important}
.cat-side span,.fgroup span{font-size:20px!important;font-weight:400!important}
.cat-count{font-size:20px!important}
.cat-clear,.btn,.seek button,#ck button,.vbtn{font-size:14px!important;font-weight:400!important}

/* tarjetas de finca */
.finca .meta .cat{font-size:12.5px!important;font-weight:500!important;letter-spacing:.13em!important;text-shadow:0 1px 3px rgba(0,0,0,.85)}
.finca .meta h4{font-size:27px!important;font-weight:500!important}
.finca .meta .p{font-size:19.5px!important;font-weight:400!important;text-shadow:0 1px 3px rgba(0,0,0,.85)}

/* fichas y pie */
.ficha .stats .l,.stat .l{font-size:13px!important;font-weight:400!important}
.note,.privacy,.mapNote,.seekNote,.seek-note,.map-note{font-size:17.5px!important}
footer,footer p,footer a,.small{font-size:17.5px!important}
footer .legal,footer .legal a{font-size:16px!important}
#ck p{font-size:15.5px!important}
.crumbs{font-size:17px!important}

/* «Sobra espacio por los laterales»: el catálogo pasa de 1180 a 1360 px y las
   tarjetas de 234 a ~306 px, para que el texto más grande quepa sin cortarse. */
.page--cat .wrap{max-width:1360px}
.finca .meta{padding:48px 20px 18px!important}
#catSearch{font-size:17.5px!important}
/* en móvil, las versalitas largas de las fichas (.kick) desbordaban 2 px a 14 px: vuelven a 13 px y pueden partirse */
@media(max-width:600px){.lang{font-size:12.5px!important}.kick,.kick.eyebrow,.s-lab{font-size:13px!important;letter-spacing:.14em!important;overflow-wrap:anywhere}}

/* Barrido de lo que quedaba por debajo de 12 px en toda la web (medido en las 75 páginas):
   versalita de la ficha, etiquetas del formulario, cargos del equipo, números de la portada. */
.m-cat{font-size:13px!important;font-weight:400!important}
.form label,form label{font-size:12.5px!important;font-weight:400!important}
.role{font-size:12.5px!important}
.g-sub{font-size:13px!important}
.n,.vc{font-size:13px!important}
