
:root{
  --navy:#0D1B2A; --navy-2:#102236; --navy-3:#16293F; --navy-4:#1E3650;
  --gold:#B8924A; --gold-2:#D4AE6A; --gold-soft:rgba(184,146,74,0.12);
  --cream:#F4EFE6; --cream-2:#E6DDCB; --muted:#A8A491; --muted-2:#8A8676;
  --border:rgba(184,146,74,0.20); --border-soft:rgba(255,255,255,0.06);
  --bg:var(--navy); --bg-2:var(--navy-2); --bg-3:var(--navy-3);
  --text:var(--cream); --text-2:var(--muted);
  --tr:0.35s cubic-bezier(0.4,0,0.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;font-weight:300;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
a{color:inherit;text-decoration:none;}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-weight:500;}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold);}
h1,h2,h3{font-family:'Cormorant Garamond',serif;color:var(--text);line-height:1.1;}
h1{font-size:clamp(38px,5.5vw,62px);font-weight:600;letter-spacing:-0.5px;margin-top:18px;}
.sec-h2{font-size:clamp(30px,4vw,46px);font-weight:600;margin-top:16px;letter-spacing:-0.5px;}
h3{font-size:24px;font-weight:600;margin-bottom:10px;}
p{color:var(--text-2);max-width:65ch;}
.lead{font-size:18px;color:var(--cream-2);}

/* header */
header{position:sticky;top:0;z-index:50;background:rgba(13,27,42,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft);}
.hdr-in{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.brand{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;letter-spacing:0.5px;}
.brand span{color:var(--gold);}
.hdr-cta{display:inline-block;padding:10px 22px;border-radius:3px;background:var(--gold);color:var(--navy);font-weight:500;font-size:14px;transition:background var(--tr);}
.hdr-cta:hover{background:var(--gold-2);}

/* hero */
.hero{padding:90px 0 70px;background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);}
.hero p.lead{margin-top:22px;}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.btn{display:inline-block;padding:15px 30px;border-radius:3px;font-weight:500;font-size:15px;transition:all var(--tr);}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:var(--gold-2);transform:translateY(-1px);}
.btn-ghost{border:1px solid var(--border);color:var(--text);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-2);}

/* sections */
section{padding:78px 0;}
.alt{background:var(--bg-2);}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:40px;}
ul.svc{list-style:none;margin-top:22px;}
ul.svc li{position:relative;padding:10px 0 10px 30px;color:var(--text-2);border-bottom:1px solid var(--border-soft);}
ul.svc li::before{content:"—";position:absolute;left:0;color:var(--gold);}
.note{margin-top:26px;padding:20px 24px;background:var(--gold-soft);border-left:2px solid var(--gold);color:var(--cream-2);font-size:15px;max-width:100%;}

/* faq */
.faq{margin-top:44px;border-top:1px solid var(--border-soft);}
.faq details{border-bottom:1px solid var(--border-soft);}
.faq summary{cursor:pointer;padding:22px 0;font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;color:var(--cream);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--gold);font-family:'Inter',sans-serif;font-size:22px;font-weight:300;transition:transform var(--tr);}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .a{padding:0 0 24px;color:var(--text-2);max-width:70ch;}

/* contact */
.contact-box{margin-top:36px;padding:38px;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between;align-items:center;}
.contact-box .who{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;}
.contact-box .meta{color:var(--text-2);font-size:14px;margin-top:8px;line-height:1.8;}

/* footer */
footer{padding:38px 0;border-top:1px solid var(--border-soft);background:var(--navy-2);}
footer .wrap{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;color:var(--muted-2);font-size:13px;}
footer a:hover{color:var(--gold-2);}

/* whatsapp float */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(0,0,0,0.4);transition:transform var(--tr);}
.wa-float:hover{transform:scale(1.07);}
.wa-float svg{width:30px;height:30px;fill:#fff;}

@media(max-width:760px){
  .cols{grid-template-columns:1fr;gap:38px;}
  section{padding:58px 0;}
  .hero{padding:64px 0 54px;}
  .contact-box{padding:26px;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;}
  html{scroll-behavior:auto;}
}
:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px;}


/* ===== Mejoras de marketing ===== */
.urgbar{display:block;background:linear-gradient(90deg,var(--gold),var(--gold-2) 50%,var(--gold));color:var(--navy);text-align:center;font-size:13px;font-weight:500;letter-spacing:0.4px;padding:9px 16px;transition:filter .3s;}
.urgbar:hover{filter:brightness(1.07);}
.urgbar strong{font-weight:600;}
.hero{position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:60vw;height:60vw;max-width:760px;max-height:760px;background:radial-gradient(circle,rgba(212,174,106,0.10) 0%,rgba(212,174,106,0.04) 38%,transparent 68%);pointer-events:none;}
.hero .wrap{position:relative;}
.wa-float{animation:wapulse 2.6s ease-out infinite;}
@keyframes wapulse{0%{box-shadow:0 6px 22px rgba(0,0,0,.4),0 0 0 0 rgba(37,211,102,.45);}60%{box-shadow:0 6px 22px rgba(0,0,0,.4),0 0 0 16px rgba(37,211,102,0);}100%{box-shadow:0 6px 22px rgba(0,0,0,.4),0 0 0 0 rgba(37,211,102,0);}}
.btn-gold{position:relative;overflow:hidden;}
.btn-gold::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,0.35),transparent);transform:skewX(-20deg);transition:left .55s;}
.btn-gold:hover::after{left:130%;}
ul.svc li{transition:padding-left .3s,color .3s;}
ul.svc li:hover{padding-left:36px;color:var(--cream-2);}
@media(prefers-reduced-motion:reduce){.wa-float{animation:none;}.btn-gold::after{display:none;}ul.svc li:hover{padding-left:30px;}}

/* Logo nuevo: L siempre dorada, M del contexto */
.brand .bl{color:var(--gold);}
.brand .bm{color:var(--text);margin-left:-0.30em;}

/* Menú compacto en subpáginas de servicio */
.sub-nav{display:flex;gap:22px;}
.sub-nav a{font-size:12.5px;letter-spacing:1px;text-transform:uppercase;color:var(--text-2);transition:color var(--tr);}
.sub-nav a:hover{color:var(--gold-2);}
@media(max-width:860px){.sub-nav{display:none;}}

/* ===== Justificado documental (contenedores de prosa reales; sin guiones) ===== */
.faq .a, p.lead, .note, .svc p, .svc div:not(.eyebrow), .who + p, .alt p,
.contact-box p, blockquote{
  text-align:justify; overflow-wrap:break-word;
}
