
:root{--bur:#760703;--bur2:#5c0502;--gold:#d9b47c;--gold2:#b8945a;--cream:#fcedce;--bg:#fbf9f6;--ink:#241c1a;--muted:#5f5552;--line:#e6ddd3}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
a{color:var(--bur)}img{max-width:100%;display:block}
p{text-align:justify;hyphens:auto}
.cta p,footer p,.statgrid small,.maplabel,.mapph span,.spain,.legal,.note{text-align:center}
.team p,.hero2 p,.pagehero p{text-align:left}
.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
/* cabecera */
header{background:var(--bur);color:var(--cream);position:sticky;top:0;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.topbar{display:flex;align-items:center;justify-content:space-between;height:96px}
.logo img{height:74px;width:auto}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px}
nav a{color:var(--cream);text-decoration:none;font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent}
nav a:hover,nav a.on{border-bottom-color:var(--gold)}
.btn.small{padding:9px 16px;font-size:13px;border-bottom:0!important;text-transform:uppercase;color:var(--bur2)!important}
nav li.cita{margin-left:6px}
nav li.langs{display:flex;align-items:center;gap:9px;margin-right:10px;padding-right:16px;border-right:1px solid rgba(217,180,124,.4)}
nav li.langs a{padding:0;border-bottom:0;line-height:0;opacity:.75;transition:opacity .15s}
nav li.langs a img{width:23px;height:15px;display:block;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
nav li.langs a.on{opacity:1}
nav li.langs a.on img{box-shadow:0 0 0 2px var(--gold)}
nav li.langs a:hover{opacity:1;border-bottom:0}
@media(max-width:900px){nav li.langs{border-right:0;padding:10px 0 0;margin:0}}
nav li.has-sub{position:relative}
nav li.has-sub>a:after{content:" ▾";font-size:11px}
nav .sub{display:none;position:absolute;top:100%;left:-14px;background:var(--bur2);list-style:none;margin:0;padding:8px 0;min-width:240px;box-shadow:0 8px 20px rgba(0,0,0,.25);border-top:2px solid var(--gold)}
nav li.has-sub:hover .sub,nav li.has-sub:focus-within .sub{display:block}
nav .sub a{display:block;padding:9px 18px;font-size:13.5px;letter-spacing:.05em;border-bottom:0}
nav .sub a:hover{background:rgba(255,255,255,.07)}
@media(max-width:900px){nav li.cita{margin:10px 0 0}}
.hero2 .biglogo{width:min(520px,90%);height:auto;margin:0 0 26px;display:block}
.area .more{display:inline-block;font-size:14px;font-weight:600;color:var(--bur);text-decoration:none;border-bottom:1px solid var(--gold)}
.area .more:hover{color:var(--bur2)}
.stats{background:#fff;border-bottom:1px solid var(--line)}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:26px 0}
.statgrid>div{text-align:center;padding:10px 12px;border-left:1px solid var(--line)}
.statgrid>div:first-child{border-left:0}
.statgrid .num{display:block;font-family:Georgia,"Times New Roman",serif;font-size:34px;color:var(--bur);line-height:1.1;margin-bottom:6px}
.statgrid small{display:block;font-size:13px;color:var(--muted);letter-spacing:.02em}
@media(max-width:900px){.statgrid{grid-template-columns:repeat(2,1fr);gap:8px}.statgrid>div:nth-child(3){border-left:0}.statgrid .num{font-size:28px}}
.contact-home .card{margin-bottom:16px}
.pagehero{position:relative;color:#fff;background:#3a1a16 center/cover no-repeat;border-bottom:4px solid var(--gold)}
.pagehero .wrap{position:relative;z-index:1;padding-top:64px;padding-bottom:56px}
.pagehero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(52,6,3,.88) 0%,rgba(52,6,3,.70) 55%,rgba(52,6,3,.45) 100%)}
.pagehero h1{color:#fff;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:36px;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;margin:0 0 8px}
.pagehero .kicker{color:var(--gold)}
.pagehero .intro{color:var(--cream);font-size:19px;max-width:760px;margin:0}
@media(max-width:900px){.pagehero h1{font-size:24px}}
.mapside{margin-top:16px}
.mapside img{height:auto;width:100%;display:block}
.mapside .maplabel{left:10px;bottom:10px;padding:6px 10px;font-size:12px}
.mapside .maplabel b{font-size:14px}
.credit{font-size:12px;color:#b59a8f;text-align:center;margin-top:6px}
.map{display:block;position:relative;margin-top:34px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#eee;text-decoration:none}
.map img{width:100%;height:auto;display:block}
.maplabel{position:absolute;left:18px;bottom:18px;background:#fff;border-left:4px solid var(--bur);padding:10px 16px;font-size:14px;color:var(--muted);box-shadow:0 2px 10px rgba(0,0,0,.15);border-radius:3px}
.maplabel b{display:block;font-family:Georgia,serif;font-weight:400;color:var(--bur);font-size:17px}
@media(max-width:600px){.map img{height:260px}.maplabel{left:10px;right:10px;bottom:10px}}
.map iframe{display:block;width:100%;height:380px;border:0}
.mapph{height:380px;display:flex;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(45deg,#f1ece6 0,#f1ece6 14px,#e9e2da 14px,#e9e2da 28px);padding:22px}
.mapph b{display:block;font-family:Georgia,serif;font-weight:400;font-size:20px;color:var(--bur);margin-bottom:6px}
.mapph span{display:block;font-size:13.5px;color:var(--muted);max-width:420px;margin:0 auto 16px}
.btn.ghost.dark{color:var(--bur);border-color:var(--bur)}
.btn.bur{background:var(--bur);color:#fff}
.spain{background:var(--bur2);color:var(--cream);text-align:center;padding:26px 22px;font-family:Georgia,serif;font-size:20px;letter-spacing:.04em}
.spain b{color:var(--gold);font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:15px;display:block;margin-bottom:4px}
footer .links{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:center;margin-bottom:12px}
footer .links a{color:var(--cream);text-decoration:none;font-size:13.5px;letter-spacing:.04em}
footer .links a:hover{color:var(--gold)}
footer .lang{text-align:center;margin-top:10px;font-size:13px;color:#e9d7c6}
footer .lang a{color:var(--gold);text-decoration:none;margin:0 6px}
footer .lang a.on{color:#fff;border-bottom:1px solid var(--gold)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.areas .area,.svc div,.why div,.grid3 .card,.steps .step{transition-delay:var(--d,0s)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.burger{display:none;background:none;border:0;color:var(--cream);font-size:28px;cursor:pointer}
#menu{display:none}
@media(max-width:900px){nav ul{display:none;position:absolute;left:0;right:0;top:96px;background:var(--bur2);flex-direction:column;gap:0;padding:10px 22px 18px}
 nav ul li a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
 #menu:checked~ul{display:flex}.burger{display:block}
 nav .sub{display:block;position:static;box-shadow:none;border-top:0;padding:0 0 0 16px;min-width:0;background:transparent}
 nav li.has-sub>a:after{content:""}}
/* portada */
.hero{background:var(--bur);border-bottom:4px solid var(--gold)}
.hero .box{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:56px 22px 48px}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:44px;line-height:1.15;color:#fff;margin:0 0 14px}
.hero p.lead{font-size:20px;color:var(--cream);max-width:560px;margin:0 0 26px}
.hero .photo{border:3px solid var(--gold);border-radius:6px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.35);max-width:320px;justify-self:end}
.hero .photo img{width:100%;height:auto}
.btn{display:inline-block;background:var(--gold);color:var(--bur2);text-decoration:none;font-weight:600;padding:13px 24px;border-radius:4px;letter-spacing:.04em}
.btn.ghost{background:transparent;color:var(--cream);border:1.5px solid var(--gold)}
.btn.bur{background:var(--bur);color:#fff}
.btns{display:flex;gap:14px;flex-wrap:wrap}
@media(max-width:900px){.hero .box{grid-template-columns:1fr;padding-top:36px}.hero .photo{max-width:260px;justify-self:start}.hero h1{font-size:34px}}
/* secciones */
section{padding:56px 0}
h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:27px;letter-spacing:.06em;text-transform:uppercase;color:var(--bur);margin:0 0 8px;line-height:1.25}
@media(max-width:900px){h2{font-size:22px}}
.kicker{color:#8a6a34;letter-spacing:.24em;text-transform:uppercase;font-size:12px;font-weight:600;margin-bottom:6px}
.rule{width:56px;height:2px;background:var(--gold);margin:14px 0 26px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:900px){.grid3,.grid2{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;padding:26px 24px}
.card h3,.card h2.h3{margin:0 0 8px;font-size:19px;letter-spacing:0;text-transform:none;color:var(--bur);font-family:Georgia,serif;font-weight:400}
.card p{margin:0;color:var(--muted);font-size:16px}
.card ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:15.5px}
.card.small{border-top-color:var(--line)}
.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{position:relative;padding:22px 18px 18px;background:#fff;border:1px solid var(--line);border-radius:6px}
.step:before{counter-increment:s;content:counter(s);position:absolute;top:-16px;left:18px;background:var(--bur);color:var(--gold);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}
.step h3{margin:6px 0 6px;font-size:17px}.step p{margin:0;font-size:15px;color:var(--muted)}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
.quote{border-left:3px solid var(--gold);padding:6px 20px;font-family:Georgia,serif;font-size:21px;color:var(--bur2);margin:0}
.price{background:var(--bur);color:var(--cream);border-radius:8px;padding:30px 28px}
.price strong{font-size:38px;color:var(--gold);font-family:Georgia,serif;font-weight:400}
.price p{margin:6px 0 0}
.cta{background:var(--bur);color:var(--cream);text-align:center}
.cta h2{color:#fff}
/* formulario */
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form .full{grid-column:1/-1}
label{font-size:14px;color:var(--muted);display:block;margin-bottom:4px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cfc3b6;border-radius:4px;font:inherit;background:#fff}
textarea{min-height:130px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}.check input{width:auto;margin-top:5px}
@media(max-width:700px){form{grid-template-columns:1fr}}
/* pie */
footer{background:var(--bur2);color:var(--cream);padding:38px 0 26px;font-size:14px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
footer a{color:var(--gold)}
footer .legal{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);color:#e9d7c6;font-size:13px}
@media(max-width:900px){footer .cols{grid-template-columns:1fr}}
.page h1{font-family:Georgia,serif;font-weight:400;font-size:40px;color:var(--bur);margin:0 0 6px}
.page .intro{font-size:19px;color:var(--muted);max-width:760px}
.legalpage p,.legalpage li{color:var(--muted);font-size:15.5px}
.legalpage ul{padding-left:22px;text-align:justify}
.legalpage .intro{max-width:none}
.legalpage li{margin:4px 0}
.legalpage h2{margin-top:30px}
.tag{display:inline-block;background:var(--cream);color:var(--bur2);font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:3px;margin-right:6px}
.hero2{background:linear-gradient(90deg,rgba(52,6,3,.94) 0%,rgba(52,6,3,.86) 32%,rgba(52,6,3,.45) 60%,rgba(52,6,3,.18) 100%),url(img/hero-barcelona.jpg) center 42%/cover no-repeat;border-bottom:4px solid var(--gold);color:var(--cream);position:relative;overflow:hidden}
@media(max-width:900px){.hero2{background:linear-gradient(180deg,rgba(52,6,3,.86) 0%,rgba(52,6,3,.80) 100%),url(img/hero-barcelona.jpg) center/cover no-repeat}}
.hero2{display:flex;align-items:center;min-height:min(68vh,660px)}
.hero2 .box{padding:70px 22px 70px 5vw;margin:0;max-width:1000px;position:relative;z-index:1}
@media(min-width:1500px){.hero2 .box{padding-left:calc((100vw - 1400px)/2 + 40px)}}
.hero2 .kicker{color:var(--gold)}
.hero2 h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:36px;white-space:nowrap;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;color:#fff;margin:0 0 14px}
.hero2 h1.slogan{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;font-size:38px;letter-spacing:.02em;text-transform:none;white-space:normal;color:var(--gold);margin:0 0 14px;line-height:1.25}
.hero2 p.lead{font-size:19px;color:var(--cream);margin:0 0 30px;max-width:820px}
@media(max-width:1100px){.hero2 h1{white-space:normal}}
@media(max-width:900px){.hero2 h1{font-size:24px;letter-spacing:.06em}.hero2 .slogan{font-size:21px}.hero2 .box{padding:52px 22px 48px 22px}}
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.area{background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px 22px 22px;border-top:3px solid var(--gold);display:flex;flex-direction:column}
.area .n{font-family:Georgia,serif;font-size:13px;letter-spacing:.2em;color:#8a6a34;margin-bottom:8px}
.area .more{margin-top:auto;padding-top:14px}
.area h3{margin:0 0 12px;font-family:inherit;font-weight:700;font-size:14.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--bur);line-height:1.35}
.area ul{margin:0;padding:0;list-style:none;color:var(--muted);font-size:14.5px;line-height:1.45}
.area ul li{padding:7px 0 7px 14px;border-bottom:1px solid var(--line);position:relative}
.area ul li:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.area ul li:last-child{border-bottom:0}
.area.sec{border-top-color:var(--line)}
@media(max-width:1000px){.areas{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.areas{grid-template-columns:1fr}}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.why div{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px 18px}
.why b{display:block;color:var(--bur);font-family:Georgia,serif;font-weight:400;font-size:17px;margin-bottom:4px}
.why p{margin:0;font-size:14.5px;color:var(--muted)}
@media(max-width:900px){.why{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.why{grid-template-columns:1fr}}
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.svc div{padding:22px 20px;background:#fff;border:1px solid var(--line);border-radius:6px}
.svc b{display:block;color:var(--bur);font-family:Georgia,serif;font-weight:400;font-size:18px;margin-bottom:6px}
.svc p{margin:0;font-size:15px;color:var(--muted)}
@media(max-width:900px){.svc{grid-template-columns:1fr 1fr}}
.detail h2{font-size:28px}
.detail .list{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;color:var(--ink);font-size:15.5px}
.detail .list li{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:4px;padding:12px 16px 12px 18px;line-height:1.45;transition-delay:var(--d,0s)}
.detail.alt .list li{background:#fff}
@media(max-width:800px){.detail .list{grid-template-columns:1fr}}
.team{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:start}
@media(max-width:900px){.team{grid-template-columns:1fr}}
.note{background:#fff8ec;border:1px dashed var(--gold2);padding:12px 16px;border-radius:6px;font-size:14px;color:#6b4e1f}
