:root{
  --navy:#16233d; --navy2:#0f1a2e; --gold:#c9a227; --gold2:#b18f1e;
  --paper:#f7f5ef; --card:#ffffff; --ink:#1f2838; --muted:#6b7380; --line:#e6e1d6; --soft:#f1eddf;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:17px}
a{color:inherit;text-decoration:none}
h1,h2,h3,.serif{font-family:'Playfair Display','Georgia',serif;font-weight:700;line-height:1.12}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.gold{color:var(--gold)}
.rule{width:70px;height:2px;background:var(--gold);margin:20px 0}
.rule.ctr{margin:20px auto}
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:#1a1405;font-weight:700;
  padding:14px 30px;font-size:1rem;letter-spacing:.3px;transition:.2s;border:0;cursor:pointer}
.btn:hover{background:var(--gold2)}
.btn.line{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
.btn.line:hover{background:#fff;color:var(--navy)}
.btn.navy{background:var(--navy);color:#fff}
.btn.navy:hover{background:var(--navy2)}

/* header */
header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
header .top{background:var(--navy);color:#cdd4e0;font-size:.82rem}
header .top .in{max-width:1120px;margin:0 auto;padding:7px 24px;display:flex;justify-content:space-between;gap:10px}
header .top a{color:var(--gold);font-weight:600}
.nav{display:flex;align-items:center;justify-content:space-between;max-width:1120px;margin:0 auto;padding:14px 24px}
.brand{display:flex;align-items:center;gap:13px}
.brand img{height:52px;width:auto}
.brand b{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--navy);line-height:1}
.brand small{display:block;font-size:.6rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-top:3px}
.menu{display:flex;gap:28px}
.menu a{color:var(--navy);font-weight:600;font-size:.92rem}
.menu a:hover{color:var(--gold)}
.hcall{background:var(--navy);color:#fff;font-weight:700;padding:10px 20px;font-size:.9rem}
.hcall:hover{background:var(--navy2)}

/* hero */
.hero{background:var(--navy);color:#fff;padding:82px 0}
.hero .in{max-width:1120px;margin:0 auto;padding:0 24px}
.hero .eye{color:var(--gold);font-weight:700;letter-spacing:2.5px;text-transform:uppercase;font-size:.78rem}
.hero h1{font-size:3.7rem;max-width:760px;margin-top:18px}
.hero h1 span{color:var(--gold);font-style:italic}
.hero p{font-size:1.18rem;color:#c3cad6;max-width:540px;margin:26px 0 32px}
.hero .acts{display:flex;gap:14px;flex-wrap:wrap}
.hero .seal{display:inline-flex;align-items:center;gap:20px;margin-top:40px;color:#aeb7c6;font-size:.9rem}
.hero .seal b{font-family:'Playfair Display',serif;color:var(--gold);font-size:1.6rem;display:block}

/* franja */
.strip{background:var(--gold);color:#1a1405}
.strip .in{max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;gap:30px;flex-wrap:wrap;justify-content:center;font-weight:700;letter-spacing:.3px;font-size:.95rem}
.strip span{display:flex;align-items:center;gap:8px}

section{padding:74px 0}
.head{max-width:640px;margin-bottom:48px}
.head.ctr{margin-left:auto;margin-right:auto;text-align:center}
.head .eye{color:var(--gold);font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:.76rem}
.head h2{font-size:2.7rem;color:var(--navy);margin:12px 0}
.head p{color:var(--muted)}

/* servicios */
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.scard{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);padding:30px 26px;transition:.2s}
.scard:hover{box-shadow:0 16px 36px rgba(22,35,61,.1);transform:translateY(-3px)}
.scard h3{font-size:1.4rem;color:var(--navy);margin-bottom:8px}
.scard p{color:var(--muted);font-size:.96rem}

/* zonas */
.zonas{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.zgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.zcard{background:var(--card);border:1px solid var(--line);padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:10px;transition:.2s}
.zcard:hover{border-color:var(--gold);transform:translateX(4px)}
.zcard b{font-family:'Playfair Display',serif;font-size:1.25rem;color:var(--navy)}
.zcard .go{color:var(--gold);font-size:1.3rem}

/* garantias */
.gar{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;text-align:center}
.gar .g h3{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--gold)}
.gar .g p{color:var(--muted);margin-top:8px;font-size:.96rem}

/* faq */
.faq{max-width:800px;margin:0 auto}
.qa{border-top:1px solid var(--line);padding:24px 0}
.qa h3{font-size:1.4rem;color:var(--navy);margin-bottom:8px}
.qa p{color:#4a5260}

/* contacto */
.contact .cbox{max-width:600px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);padding:34px}
.contact .r{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.contact .r:last-of-type{border:0}
.contact .r b{font-size:.72rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}
.contact .r span,.contact .r a{text-align:right}
.contact .r a{color:var(--gold);font-weight:700}
.contact .cta{text-align:center;margin-top:24px}

/* page hero zona */
.phero{background:var(--navy);color:#fff;padding:60px 0 54px}
.phero .in{max-width:1120px;margin:0 auto;padding:0 24px}
.crumbs{color:#aeb7c6;font-size:.85rem;margin-bottom:14px}
.crumbs a{color:var(--gold)}
.phero h1{font-size:3rem;max-width:760px}
.phero h1 span{color:var(--gold);font-style:italic}
.phero p{color:#c3cad6;max-width:600px;margin:18px 0 26px;font-size:1.1rem}
.prose{max-width:760px}
.prose p{color:#414a58;margin-bottom:16px}

/* footer */
footer{background:var(--navy2);color:#9aa4b5;padding:52px 0 26px}
.fg{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.fg img{height:56px;margin-bottom:12px}
.fg .fb b{color:#fff;font-family:'Playfair Display',serif;font-size:1.15rem}
.fg .fb{max-width:330px}
.fg .fb a{color:var(--gold)}
.fcol h4{color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}
.fcol a{display:block;color:#9aa4b5;font-size:.9rem;padding:3px 0}
.fcol a:hover{color:#fff}
.flinks{text-align:right}
.fbot{border-top:1px solid #24324b;margin-top:30px;padding-top:18px;font-size:.8rem;color:#6a7488;text-align:center}

.fab{display:none}
@media(max-width:900px){
  .sgrid,.zgrid,.gar{grid-template-columns:1fr 1fr}
  .hero h1{font-size:2.9rem}
}
@media(max-width:600px){
  .menu,header .top{display:none}
  .hero h1{font-size:2.3rem}.phero h1{font-size:2rem}.head h2{font-size:2.1rem}
  .sgrid,.zgrid,.gar{grid-template-columns:1fr}
  .fg{flex-direction:column}.flinks{text-align:left}
  .fab{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--gold);color:#1a1405;font-weight:700;
    justify-content:center;gap:10px;padding:15px}
  body{padding-bottom:56px}
}
