:root{--dark:#171b20;--ink:#20252b;--muted:#5d6874;--soft:#f5f7f8;--accent:#e0a800;--red:#d71920}*{box-sizing:border-box}html,body{margin:0;width:100%;max-width:100%;overflow-x:hidden}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.7;background:white;font-size:17px}a{color:inherit}img{max-width:100%;height:auto;display:block}.wrap{width:min(1120px,92vw);margin:auto}.narrow{max-width:860px}.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}.topbar{background:#101318;color:#fff;font-size:.94rem}.topbar .wrap{display:flex;justify-content:space-between;gap:12px;padding:8px 0}.topbar a{color:white;font-weight:800;text-decoration:none}header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e5e9ed}.nav{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:78px}.brand img{width:230px;aspect-ratio:420/120}.navlinks{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.navlinks a{text-decoration:none;font-weight:800;font-size:.95rem;color:#252b31}.breadcrumb{font-size:.95rem;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;color:#334}.breadcrumb a{font-weight:700}.home-hero,.page-hero,.listing-hero{background:linear-gradient(90deg,rgba(13,16,20,.90),rgba(13,16,20,.58),rgba(13,16,20,.18)),var(--hero,none) center/cover no-repeat;color:#fff}.home-hero .wrap,.page-hero .wrap,.listing-hero .wrap{padding:70px 0}.listing-hero{background:var(--dark)}h1{font-size:clamp(2.05rem,5vw,4.4rem);line-height:1.05;letter-spacing:0;margin:0 0 18px}h2{font-size:clamp(1.6rem,3vw,2.55rem);line-height:1.15;margin:0 0 14px;letter-spacing:0}h3{margin:0 0 8px}.home-hero p,.page-hero p,.listing-hero p{font-size:1.18rem;max-width:760px}.btn,.ghost{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:7px;padding:11px 17px;text-decoration:none;font-weight:900}.btn{background:var(--red);color:#fff!important;border:0}.ghost{border:1px solid rgba(255,255,255,.72);color:#fff}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}section{padding:64px 0}.split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;align-items:start}.side-card,.service-card,blockquote,.link-grid a,.form{border:1px solid #e0e6eb;border-radius:8px;background:#fff;box-shadow:0 8px 22px rgba(18,24,30,.06)}.side-card{padding:18px;position:sticky;top:100px}.side-card img{border-radius:7px;margin-bottom:16px;aspect-ratio:16/10;object-fit:cover}.band{background:var(--soft)}.kicker{color:#9b7300;text-transform:uppercase;font-weight:900;font-size:.82rem;letter-spacing:.04em}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{overflow:hidden}.service-card img{width:100%;height:210px;object-fit:cover}.service-card div{padding:18px}.link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.link-grid a{padding:16px;text-decoration:none}.link-grid a span{display:block;color:var(--muted);font-size:.93rem;margin-top:4px}.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}blockquote{margin:0;padding:22px;border-left:5px solid var(--accent)}cite{font-weight:800;font-style:normal;color:#111}.contact-band{background:#f0f3f5}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:32px}.form{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label{font-weight:800;font-size:.94rem}.form input,.form textarea{width:100%;margin-top:6px;border:1px solid #cbd5dd;border-radius:6px;padding:12px;font:inherit}.form textarea{min-height:130px}.form .full,.form .check,.form button,.form-status{grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start}.check input{width:auto}.form-status{font-weight:800}.center{text-align:center;margin-top:24px}details{border:1px solid #dde5eb;border-radius:7px;margin:10px 0;padding:13px;background:#fff}summary{font-weight:900;cursor:pointer}footer{background:#171b20;color:#dce2e7;padding:34px 0}footer a{display:block;color:white;margin:4px 0}.footgrid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:22px}.mobile-call{display:none}.inputGrp{min-width:0}.codex-antispam-field,.codex-legal,.codex-submit{grid-column:1/-1}.codex-antispam-help{display:block;color:var(--muted);font-size:.88rem;margin-top:5px}.codex-legal{display:flex;gap:10px;align-items:flex-start;line-height:1.45}.codex-legal input{width:auto;margin-top:5px}.codex-submit{background:var(--red);color:#fff;border:0;border-radius:7px;padding:13px 18px;font-weight:900;cursor:pointer;min-height:48px}.codex-form-message,.form-message{grid-column:1/-1;font-weight:800}@media(max-width:820px){body{font-size:16px;padding-bottom:72px}.topbar .wrap,.nav,.split,.contact,.footgrid{display:block}.nav{padding:10px 0}.brand img{width:205px}.navlinks{display:flex;overflow:auto;white-space:nowrap;gap:14px;padding:10px 0}.home-hero .wrap,.page-hero .wrap,.listing-hero .wrap{padding:38px 0}.breadcrumb{margin-bottom:18px}.services-grid,.reviews,.link-grid,.compact{grid-template-columns:1fr}.side-card{position:static;margin-top:20px}.form{grid-template-columns:1fr}.mobile-call{display:block;position:fixed;left:10px;right:10px;bottom:10px;z-index:80;background:var(--red);color:#fff;text-align:center;text-decoration:none;font-weight:900;padding:14px;border-radius:8px;box-shadow:0 -5px 18px rgba(0,0,0,.2)}section{padding:44px 0}h1{font-size:2.25rem}.home-hero p,.page-hero p,.listing-hero p{font-size:1.05rem}}
/* Codex: visible breadcrumb and image-backed listing headers */
.listing-hero{
  background:linear-gradient(90deg,rgba(13,16,20,.92),rgba(13,16,20,.62),rgba(13,16,20,.24)),var(--hero, url('/assets/img/hero-madrid.webp')) center/cover no-repeat!important;
}
.home-hero .breadcrumb,
.page-hero .breadcrumb,
.listing-hero .breadcrumb{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 2px 8px rgba(0,0,0,.55);
}
.home-hero .breadcrumb a,
.page-hero .breadcrumb a,
.listing-hero .breadcrumb a,
.home-hero .breadcrumb span,
.page-hero .breadcrumb span,
.listing-hero .breadcrumb span{
  color:#fff!important;
  opacity:1!important;
}
.home-hero .breadcrumb a:hover,
.page-hero .breadcrumb a:hover,
.listing-hero .breadcrumb a:hover{
  color:#ffd338!important;
}
