
:root{--dark:#2f2614;--olive:#505833;--gold:#b88b3c;--cream:#f7f1e7;--soft:#fbf8f1;--ink:#191714;--muted:#675f50;--line:#e4d8c5;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}.topbar{background:var(--olive);color:#fff;font-size:14px;padding:8px 0}.topbar .container{display:flex;justify-content:space-between;gap:18px;align-items:center}.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 0}.brand{display:flex;align-items:center;gap:12px}.brand img{width:72px;height:72px;border-radius:50%;object-fit:cover}.brand-text{font-family:Georgia,serif;color:var(--dark);font-weight:900;font-size:30px;letter-spacing:1px;line-height:1}.brand-sub{font-size:13px;color:var(--gold);font-weight:800;text-transform:uppercase}.menu{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:800;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--olive);color:#fff!important;padding:14px 22px;border-radius:6px;font-weight:900;border:0;cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.btn.alt{background:var(--gold)}.btn.light{background:#fff;color:var(--dark)!important;border:1px solid var(--line)}.preloader{position:fixed;inset:0;background:var(--cream);display:flex;align-items:center;justify-content:center;z-index:9999;animation:preloaderFade .35s ease 1s forwards}.preloader img{width:170px;height:170px;border-radius:50%;object-fit:cover;box-shadow:0 15px 38px rgba(0,0,0,.2)}@keyframes preloaderFade{to{opacity:0;visibility:hidden;pointer-events:none}}
.hero{background:linear-gradient(180deg,#fff,var(--soft));padding:56px 0 44px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:38px;align-items:center}.kicker{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:1.3px;margin:0 0 10px}.hero h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,82px);line-height:.94;margin:0 0 22px;color:var(--dark)}.hero p{font-size:20px;max-width:660px}.keyword-line{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}.keyword-line span{background:#efe4d2;border:1px solid #e0cfb4;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800;color:#4d3d22}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:26px}.slider{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 25px 55px rgba(47,38,20,.18);background:#000}.slide{display:none;position:relative;height:510px}.slide.active{display:block}.slide img{width:100%;height:100%;object-fit:cover}.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.66),rgba(0,0,0,0) 55%)}.slide-caption{position:absolute;left:24px;right:24px;bottom:20px;color:#fff;z-index:2}.slide-caption h2{font-family:Georgia,serif;font-size:30px;margin:0 0 6px}.slide-caption p{font-size:15px;margin:0;color:#f7f1e7}.slider-controls{position:absolute;right:18px;top:18px;z-index:3;display:flex;gap:8px}.slider-controls button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.35);color:#fff;font-size:20px;cursor:pointer}.section{padding:62px 0}.altbg{background:var(--cream)}.center{text-align:center}.eyebrow{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:1.4px}.section h2{font-family:Georgia,serif;font-size:38px;margin:8px 0 18px;color:var(--dark)}.lead{font-size:18px;color:#3d382f}.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 10px 24px rgba(0,0,0,.045)}.card h3{margin:0 0 10px;color:var(--dark);font-size:21px}.photo-card{position:relative;border-radius:14px;overflow:hidden;min-height:230px;background:#000;box-shadow:0 12px 25px rgba(0,0,0,.09)}.photo-card img{width:100%;height:260px;object-fit:cover}.photo-card div{position:absolute;inset:auto 0 0;padding:20px;background:linear-gradient(0deg,rgba(0,0,0,.75),transparent);color:#fff}.photo-card h3{margin:0;font-family:Georgia,serif}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:0 18px 40px rgba(0,0,0,.08)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form input,.form select,.form textarea{width:100%;padding:15px;border:1px solid #d3c4ae;border-radius:6px;font-size:15px;background:#fff;color:#222}.form textarea{min-height:145px;grid-column:1/-1}.full{grid-column:1/-1}.big-field{grid-column:1/-1;min-height:54px}.check{display:flex;gap:9px;align-items:flex-start;margin:13px 0;font-size:14px;color:var(--muted)}.check input{width:auto;margin-top:4px}.ok-msg{display:none;margin-top:14px;background:#edf6e8;border:1px solid #c9e6bd;color:#2d5b1e;border-radius:8px;padding:12px;font-weight:700}.ok-msg.show{display:block}.below-form{margin-top:24px}details{border:1px solid var(--line);border-radius:12px;background:#fff;margin:12px 0;overflow:hidden}summary{padding:18px 20px;font-weight:900;cursor:pointer;color:var(--dark)}details div{padding:0 20px 20px;color:var(--muted)}.pill{display:inline-block;background:#efe3cc;color:#5b4722;border-radius:20px;padding:7px 12px;margin:5px;font-weight:800;font-size:13px}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left}th{background:#efe3cc}.hero-small{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.38)),url('/assets/old-houses-spain-5.jpg') center/cover;color:#fff;padding:98px 0}.hero-small h1{font-family:Georgia,serif;font-size:56px;margin:0 0 15px}.footer{background:#211b12;color:#eee;padding:42px 0 20px}.footer a{color:#eee}.footgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.legal{border-top:1px solid rgba(255,255,255,.15);margin-top:25px;padding-top:20px;font-size:13px;color:#ccc}.legal-page h2{font-family:Georgia,serif;margin-top:28px}.legal-page p,.legal-page li{max-width:940px;color:#4d473a}.mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.mini-list div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px;font-weight:700}@media(max-width:960px){.menu{display:none}.hero-grid,.twocol,.footgrid,.cards4,.cards3,.mini-list{grid-template-columns:1fr}.slide{height:380px}.brand-text{font-size:22px}.brand img{width:58px;height:58px}.topbar .container{display:block}.form-grid{grid-template-columns:1fr}.full,.big-field,.form textarea{grid-column:auto}.hero p{font-size:18px}}

/* Responsive image fixes: prevent mobile images from breaking layout */
.slider,.photo-card,.hero-small{max-width:100%;overflow:hidden}.slide img,.photo-card img{display:block;width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center}.hero-small{background-size:cover;background-position:center}.content-img,img[width],img[height]{height:auto;max-width:100%}
@media(max-width:760px){
  body{overflow-x:hidden}.container{width:min(100% - 28px,1180px)}
  .hero{padding:34px 0 30px}.hero h1{font-size:clamp(38px,12vw,56px);line-height:1.02}.hero p{font-size:17px}.keyword-line{margin-top:18px}
  .slider{border-radius:14px;margin-top:8px}.slide{height:clamp(260px,58vw,340px)}.slide img{object-fit:cover;object-position:center center}.slide-caption{left:16px;right:16px;bottom:16px}.slide-caption h2{font-size:23px}.slide-caption p{font-size:14px}.slider-controls{right:12px;top:12px}
  .photo-card{min-height:190px}.photo-card img{height:210px;object-fit:cover;object-position:center}.hero-small{padding:66px 0;background-position:center}.hero-small h1{font-size:40px}
  .brand{min-width:0}.brand img{flex:0 0 54px;width:54px;height:54px}.brand-text{font-size:20px}.brand-sub{font-size:11px}.nav{gap:12px}.btn{width:100%;padding:14px 16px}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.cards4,.cards3{gap:14px}.section{padding:42px 0}.section h2{font-size:31px}.form{padding:18px}.form input,.form select,.form textarea{font-size:16px}.topbar{display:none}
}
@media(max-width:430px){.slide{height:250px}.photo-card img{height:190px}.slide-caption h2{font-size:21px}.hero h1{font-size:36px}.keyword-line span{font-size:12px;padding:6px 9px}}
