@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/golden-font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/golden-font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/golden-font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/golden-font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/golden-font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/golden-font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/golden-font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/golden-font-7.ttf) format('truetype');
}

:root{--navy:#132b3d;--gold:#c9a569;--paper:#f5f3ee;--muted:#68747c;--line:#dedfdc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--navy);font:15px 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #b1813e;outline-offset:4px}header{padding:24px 5%;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;font-family:Georgia,serif;font-size:26px;letter-spacing:3px}.brand small{display:block;font:9px Arial;letter-spacing:4px;margin-top:3px}.brand-icon{border:1px solid var(--gold);color:#aa8048;width:41px;height:45px;display:grid;place-items:center;font-size:34px;letter-spacing:0}nav{display:flex;gap:31px;font-size:14px}nav a:hover{color:#9a713d}.header-cta{border:1px solid var(--line);padding:12px 18px;font-size:13px}.header-cta span{margin-left:15px;color:#a27d45}.intro{display:grid;grid-template-columns:1.55fr 1fr;max-width:1440px;margin:auto;padding:40px 5% 36px;gap:40px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;margin:0 0 17px}.search-side h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(38px,4vw,58px);line-height:1.12;font-weight:400;margin:0}.search-side h1 em{color:#aa814b;font-weight:400}.lead{color:var(--muted);margin:18px 0 24px}.search-box{background:white;border:1px solid var(--line)}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 20px;gap:24px}.tabs button{border:0;background:none;padding:14px 4px;color:var(--muted);border-bottom:2px solid transparent}.tabs .active{color:var(--navy);border-color:var(--gold);font-weight:700}form{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;padding:18px;gap:12px}label{font-size:11px;font-weight:600;display:block}select{display:block;background:transparent;color:var(--navy);border:0;border-bottom:1px solid var(--line);padding:9px 20px 9px 0;width:100%;font-size:13px}.gold{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:var(--gold);color:var(--navy);border:0;padding:16px 20px;font-size:13px;font-weight:600}.gold:hover{background:#d8b783}.sell-side{background:var(--navy);color:#fff;padding:29px 32px;position:relative;overflow:hidden}.sell-side:after{content:'G';font:300px Georgia;position:absolute;right:-30px;top:10px;opacity:.035;pointer-events:none}.sell-side .eyebrow{color:#d6b47c}.sell-side h2{font:400 34px/1.15 'Playfair Display',Georgia,serif;margin:17px 0}.sell-side em{color:#d7b77f}.sell-side p{font-size:13px;line-height:1.65;color:#d3dce2;margin:0 0 22px}.sell-side small{display:block;font-size:10px;color:#b8c5ce;margin-top:15px}.listings{max-width:1440px;margin:auto;padding:8px 5% 52px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2{font:400 29px 'Playfair Display',Georgia,serif;margin:0}.filter-toggle,#reset,#clear-empty{background:transparent;border:1px solid #c9cecd;padding:12px 16px;font-size:12px}.filter-toggle span{margin-left:20px}.results-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;margin:20px 0 16px}.results-meta label{display:flex;align-items:center;gap:10px;font-weight:400}.results-meta select{font-size:11px;width:auto;border:0;padding:5px}#filters:not([hidden]){display:flex;gap:24px;margin-top:20px;padding:18px;background:#ebe9e2;align-items:end}#filters label{min-width:180px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.card{background:white;border:1px solid #e2e3df;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-4px)}.card button{width:100%;text-align:left;border:0;padding:0;background:white;color:inherit}.photo{position:relative;height:215px;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card:hover img{transform:scale(1.04)}.tag{position:absolute;left:15px;top:15px;background:#fff;padding:6px 10px;font-size:10px;letter-spacing:.7px}.card-body{padding:19px 20px}.card-body .city{font-size:10px;color:var(--muted);letter-spacing:1.6px;text-transform:uppercase}.card h3{font:400 22px 'Playfair Display',Georgia,serif;margin:8px 0 11px}.features{font-size:12px;color:var(--muted);display:flex;gap:12px;padding-bottom:17px;border-bottom:1px solid #eceee9}.card-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:15px}.price{font-size:21px;font-weight:600}.arrow{width:30px;height:30px;border:1px solid var(--line);display:grid;place-items:center;color:#a27d45}.snapshot{font-size:10px;color:var(--muted);margin-top:22px}#empty{text-align:center;padding:45px 20px;background:#fff}#empty h3{font:28px Georgia}#empty p{color:var(--muted);line-height:1.7}#clear-empty{margin-left:12px}.about{padding:45px 5%;background:#eae7df;text-align:center}.about h2{font:400 34px/1.2 'Playfair Display',Georgia,serif;margin:12px 0 20px}.about p:not(.eyebrow){max-width:550px;margin:0 auto 22px;line-height:1.8;color:var(--muted)}.about a{font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:5px}footer{background:var(--navy);color:#e8edf0;padding:38px 5% 20px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}.brand-text{font:27px Georgia;letter-spacing:3px;margin:0 0 14px}.brand-text span{display:block;font:9px Arial;letter-spacing:3px;margin-top:8px}.footer-top p:not(.brand-text){font-size:12px;line-height:1.8;color:#aabac5}.footer-top h3{font-size:13px;font-weight:500;margin:0 0 14px}.footer-top a{display:block;font-size:13px;margin-bottom:12px}.whatsapp{display:flex!important;align-items:center;gap:8px}.whatsapp svg{width:20px;height:20px;fill:#d3b27a}.footer-bottom{border-top:1px solid #344958;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#aabac5}dialog{width:min(760px,94vw);border:0;padding:0;max-height:90vh;background:var(--paper);color:var(--navy)}dialog::backdrop{background:#0a1b2ac9}dialog>img{width:100%;height:310px;object-fit:cover}.close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;background:white;border-radius:50%;font-size:28px}.detail-body{padding:25px}.detail-body h2{font:32px Georgia;margin:10px 0}.detail-body p{line-height:1.7}.detail-body #detail-price{font-size:24px;font-weight:600}.detail-body #detail-features{color:var(--muted)}.original{display:block;margin-top:20px;font-size:13px;text-decoration:underline}
@media(min-width:1500px){header,footer{padding-left:calc((100vw - 1296px)/2);padding-right:calc((100vw - 1296px)/2)}}@media(max-width:950px){header{flex-wrap:wrap;gap:20px}.header-cta{display:none}.intro{gap:22px;grid-template-columns:1.2fr 1fr}.sell-side{padding:25px}.sell-side h2{font-size:30px}form{grid-template-columns:1fr 1fr}.search-submit{grid-column:1/-1;padding:12px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{padding:18px 6%;justify-content:center}.brand{font-size:24px}nav{width:100%;justify-content:space-between;gap:16px}.intro{padding:29px 6%;grid-template-columns:1fr;gap:24px}.search-side h1{font-size:40px}.sell-side{padding:26px}.sell-side h2{font-size:30px}.sell-side h2 br{display:none}.sell-side p{font-size:13px}.sell-side .gold{width:100%}.listings{padding:6px 6% 30px}.section-heading h2{font-size:24px}.filter-toggle{padding:10px}.filter-toggle span{margin-left:8px}.grid{grid-template-columns:1fr;gap:20px}.photo{height:235px}.results-meta{align-items:start;gap:10px}.results-meta label{display:block;max-width:150px}.results-meta select{padding:5px 0;width:100%}#filters:not([hidden]){flex-direction:column;align-items:stretch;gap:12px}.footer-top{grid-template-columns:1fr;gap:23px}.footer-bottom{flex-direction:column}.about{padding:32px 6%}.about h2{font-size:28px}dialog>img{height:220px}.detail-body .gold{width:100%;gap:8px}#clear-empty{display:block;margin:16px auto 0}}
/* Portada mediterránea: imagen de fondo y controles de búsqueda sólidos. */
.intro{max-width:none;padding:44px max(5%,calc((100vw - 1296px)/2)) 40px;gap:48px;background-color:#284659;background-image:linear-gradient(90deg,rgba(9,28,43,.76) 0%,rgba(9,28,43,.53) 53%,rgba(9,28,43,.28) 100%),url('assets/sea-terrace.jpg');background-size:cover;background-position:center 58%;align-items:center;min-height:420px}.search-side{max-width:720px}.search-side>.eyebrow{color:#e1cfaa}.search-side h1{color:#fff;text-shadow:0 2px 20px #10263545}.search-side h1 em{color:#e1c28b}.search-box{margin-top:28px;box-shadow:0 12px 32px #081b2c26;border:none}.tabs button{font-size:14px}form label{font-size:14px;font-weight:500}form select{font-size:14px}.sell-side{background:rgba(19,43,61,.94);padding:27px 30px;border:1px solid #ffffff20;max-width:440px;justify-self:end;width:100%}.sell-side h2{font-size:32px}.sell-side .eyebrow{font-size:12px;letter-spacing:1.5px}.sell-side p{font-size:14px}.sell-side small{font-size:12px}.gold{font-size:14px}.listings{padding-top:32px}.results-meta{justify-content:flex-end;margin:12px 0 18px}.results-meta label,.results-meta select,.filter-toggle{font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-body .city,.features,.snapshot{font-size:12px}.about p:not(.eyebrow){font-size:16px}.header-cta,nav{font-size:14px}
@media(max-width:950px){.intro{gap:24px;padding:32px 5%;min-height:430px}.sell-side{padding:24px}.sell-side h2{font-size:29px}}
@media(max-width:600px){.intro{padding:32px 6% 26px;gap:24px;background-position:60% center;background-image:linear-gradient(180deg,rgba(9,28,43,.58),rgba(9,28,43,.8)),url('assets/sea-terrace.jpg');min-height:0}.search-side h1{font-size:39px}.search-box{margin-top:24px}.sell-side{max-width:none;padding:24px}.sell-side h2{font-size:28px}.listings{padding-top:28px}.results-meta{margin-top:16px}.section-heading{gap:12px}.section-heading h2{font-size:25px}.filter-toggle{font-size:12px}.results-meta label{max-width:none}.results-meta select{width:auto}}
.intro{background-position:center 62%}@media(max-width:600px){.intro{background-position:center 58%}}
.property-page{max-width:1440px;margin:auto;padding:26px 5% 60px}.back-link{font-size:14px;text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-bottom:30px}.property-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.property-heading h1{font:400 40px/1.15 'Playfair Display',Georgia,serif;margin:0}.property-heading .eyebrow{font-size:12px;margin-bottom:12px}.property-heading>div:last-child{text-align:right;flex-shrink:0}#property-price{font-size:29px;font-weight:600;margin:0 0 6px}.sale-label{font-size:13px;color:var(--muted)}.gallery-stage{position:relative;height:clamp(300px,42vw,540px);background:#e7e4dc}.gallery-stage #zoom-photo{border:0;padding:0;width:100%;height:100%;background:none;cursor:zoom-in}.gallery-stage img{height:100%;width:100%;object-fit:contain}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:48px;background:#fff;border:1px solid #e1e1de;font-size:32px;line-height:1;color:var(--navy);z-index:2}.previous{left:16px}.next{right:16px}#photo-counter{position:absolute;bottom:15px;right:16px;background:var(--navy);color:white;padding:8px 13px;font-size:13px;pointer-events:none}.thumbnails{display:flex;overflow-x:auto;gap:10px;padding:12px 0 18px;scrollbar-width:thin}.thumbnail{width:98px;height:70px;flex-shrink:0;padding:2px;border:2px solid transparent;background:none}.thumbnail.selected{border-color:var(--gold)}.thumbnail img{height:100%;width:100%;object-fit:cover}.property-columns{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;margin-top:16px}.key-features{display:flex;gap:25px;list-style:none;padding:22px 0;margin:0 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px}.description h2,.characteristics h2{font:400 29px/1.3 'Playfair Display',Georgia,serif;margin:0 0 23px}.description p{font-size:16px;line-height:1.8;margin:0 0 20px}.characteristics{margin-top:35px}.characteristics dl{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.characteristics dl>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px}.characteristics dt{color:var(--muted)}.characteristics dd{margin:0;text-align:right}.visit-card{align-self:start;position:sticky;top:25px;background:var(--navy);color:#fff;padding:28px}.visit-card .eyebrow{color:#d7b77f;font-size:12px;letter-spacing:1.4px}.visit-card h2{font:400 29px 'Playfair Display',Georgia,serif;margin:0 0 14px}.visit-card p:not(.eyebrow){font-size:15px;line-height:1.6;color:#d6dfe5}.visit-card .gold{width:100%;gap:10px}.visit-card .gold svg{width:21px;height:21px;fill:currentColor}.call-property{font-size:14px;display:block;text-align:center;margin-top:20px}.visit-card .reference{border-top:1px solid #ffffff30;padding-top:18px;margin-top:25px;font-size:13px!important}.visit-card small{font-size:12px;color:#b7c7d0;line-height:1.6;display:block}#photo-viewer{max-width:none;max-height:none;width:100vw;height:100dvh;padding:40px 60px;background:#0a1620;margin:0;border:none;overflow:hidden}#photo-viewer>img{width:100%;height:100%;object-fit:contain}#close-photo{position:absolute;right:20px;top:15px;width:40px;height:40px;border:0;border-radius:50%;background:white;font-size:28px;z-index:3}#full-counter{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);color:white;font-size:14px}
@media(max-width:950px){.property-columns{grid-template-columns:minmax(0,1fr) 280px;gap:28px}.property-heading h1{font-size:33px}.key-features{gap:18px;font-size:14px}.characteristics dl{grid-template-columns:1fr}.visit-card{padding:24px}}
@media(max-width:650px){.property-page{padding:24px 6% 35px}.property-heading{display:block;margin-bottom:20px}.property-heading h1{font-size:31px}.property-heading>div:last-child{text-align:left;margin-top:17px}#property-price{font-size:26px}.property-columns{grid-template-columns:1fr;gap:28px}.key-features{gap:12px;flex-wrap:wrap;margin-bottom:26px}.gallery-stage{height:310px}.gallery-nav{width:34px;height:42px}.previous{left:8px}.next{right:8px}.thumbnail{width:84px;height:62px}.description h2,.characteristics h2{font-size:26px}.visit-card{position:static}.characteristics dl{grid-template-columns:1fr}#photo-viewer{padding:60px 0}.back-link{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card,.photo img{transition:none}}
/* Isotipo en dorado luminoso. */
.brand-icon{color:#c99f37;border-color:#d8b557;background:linear-gradient(135deg,#b58b25 8%,#e1c36a 38%,#c59a30 68%,#e4c775 95%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.card>a{display:block}.no-photo{display:grid;height:100%;place-items:center;background:#e5e8e8;color:var(--muted);font-size:14px}.key-features{flex-wrap:wrap}.price{font-size:20px}.photo{background:#e5e8e8}
.legal-page{max-width:900px;margin:auto;padding:35px 5% 65px}.legal-page h1{font:400 42px/1.2 'Playfair Display',Georgia,serif;margin:0 0 15px}.legal-page h2{font:400 27px/1.3 'Playfair Display',Georgia,serif;margin:0 0 16px}.legal-page section{margin-top:32px}.legal-page p{font-size:16px;line-height:1.8}.legal-page a:not(.back-link){text-decoration:underline;text-underline-offset:3px}.legal-date{color:var(--muted);font-size:14px!important}.legal-review{border-left:3px solid var(--gold);background:#eae6dc;padding:18px;font-size:14px;line-height:1.7;margin-top:24px}.legal-links{display:flex;gap:18px;font-size:12px;flex-wrap:wrap}.legal-table{overflow:auto}.legal-table table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.legal-table th,.legal-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}.legal-table th{background:#eae7df}.legal-table td:first-child{white-space:nowrap}@media(max-width:600px){.legal-page{padding:28px 6% 40px}.legal-page h1{font-size:34px}.legal-page h2{font-size:25px}.legal-links{justify-content:flex-start}}
