:root{--ink:#17231f;--forest:#163f35;--deep:#0d3028;--gold:#c8a96b;--cream:#f5f1e8;--paper:#fffdf8;--muted:#66736f;--line:#dcd8ce}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.site-header{height:88px;padding:0 max(5vw,28px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,35,31,.12);background:rgba(255,253,248,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px;letter-spacing:.04em}
.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--gold);color:var(--forest);font-family:Georgia,serif;font-size:17px}
.brand strong{display:block;text-transform:uppercase;font-family:Georgia,serif;font-size:18px;line-height:1.1}
.brand small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.3em;color:var(--muted)}
nav{display:flex;gap:30px;font-size:13px;font-weight:700}
nav a:hover{color:var(--gold)}
.header-call{border-bottom:1px solid var(--gold);font-weight:700;font-size:14px}
.hero{min-height:690px;display:grid;grid-template-columns:1.45fr .65fr;background:linear-gradient(110deg,var(--cream) 0 69%,var(--forest) 69%);padding:110px max(7vw,34px);gap:8vw;align-items:center}
.hero-copy{max-width:780px}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:800;color:var(--forest);margin:0 0 20px}
.eyebrow.light{color:#d8c698}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(55px,6.4vw,94px);font-weight:400;line-height:.98;letter-spacing:-.045em;margin:0 0 30px}
.hero h1 em{color:var(--forest);font-weight:400}
.hero-lead{max-width:650px;font-size:18px;color:#4e5c57}
.hero-actions{display:flex;gap:14px;margin:34px 0}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 24px;border:1px solid transparent;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.09em;cursor:pointer}
.primary{background:var(--forest);color:white}
.primary:hover{background:var(--deep)}
.ghost{border-color:var(--forest);color:var(--forest)}
.trust-row{display:flex;gap:25px;flex-wrap:wrap;margin-top:42px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.trust-row span::before{content:'✓';color:var(--gold);margin-right:8px}
.hero-card{background:#12382f;color:white;padding:46px 38px;border:1px solid rgba(255,255,255,.18);box-shadow:24px 24px 0 rgba(200,169,107,.18)}
.card-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:#d8c698}
.hero-card blockquote{font-family:Georgia,serif;font-size:31px;line-height:1.3;margin:35px 0}
.card-rule{height:1px;background:var(--gold);width:42px}
.hero-card p{text-transform:uppercase;letter-spacing:.17em;font-size:9px;margin-top:25px;color:#d8d9d5}
.section{padding:110px max(7vw,34px)}
.section-heading{display:grid;grid-template-columns:.7fr 1.25fr 1fr;gap:5vw;align-items:start;margin-bottom:60px}
.section-heading h2,.about h2,.contact h2,.masc h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4vw,58px);line-height:1.1;margin:0}
.section-heading>p:last-child{color:var(--muted);margin:8px 0}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service-card{padding:36px 30px 42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:265px;transition:.25s}
.service-card:hover{background:var(--cream);transform:translateY(-3px)}
.service-card>span{font-family:Georgia,serif;color:var(--gold);font-size:13px}
.service-card h3{font-family:Georgia,serif;font-size:24px;line-height:1.2;margin:34px 0 15px}
.service-card p{color:var(--muted);font-size:14px}
.masc{padding:100px max(7vw,34px);background:var(--forest);color:white;display:grid;grid-template-columns:1fr 1fr;gap:10vw}
.masc-copy{color:#d7e0dd}
.masc-copy p{margin:0 0 19px}
.masc-copy a{display:inline-block;margin-top:16px;color:#f1dcae;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:bold}
.masc-copy a span{font-size:20px;margin-left:8px}
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:center}
.about-panel{height:470px;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line)}
.about-monogram{font-family:Georgia,serif;font-size:90px;color:var(--forest);line-height:1}
.about-panel p{text-transform:uppercase;text-align:center;letter-spacing:.25em;font-size:10px;color:var(--muted);line-height:2}
.about-copy>p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:650px}
.about-copy ul{list-style:none;padding:0;margin:28px 0}
.about-copy li{padding:12px 0;border-bottom:1px solid var(--line)}
.about-copy li::before{content:'—';color:var(--gold);margin-right:12px}
.contact{background:#102c26;color:white;padding:100px max(7vw,34px);display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.contact-copy>p:not(.eyebrow){color:#c6d1cd}
.contact address{display:flex;flex-direction:column;gap:10px;margin-top:35px;font-style:normal}
.contact address a{font-family:Georgia,serif;font-size:22px;color:#f0d9a7}
.contact address span{font-size:13px;color:#c6d1cd;margin-top:12px}
.contact-form{background:white;color:var(--ink);padding:42px}
.contact-form label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:bold;margin-bottom:20px}
.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #aeb6b2;background:transparent;padding:10px 0;outline:none}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.consent{display:flex!important;align-items:flex-start;gap:8px;text-transform:none!important;letter-spacing:0!important;font-weight:normal!important;color:var(--muted)}
.consent input{margin-top:5px}
.consent a{text-decoration:underline}
.contact-form small{display:block;color:var(--muted);margin-top:14px;font-size:10px}
.legal-summary{padding:40px max(7vw,34px);background:#ebe7dd;font-size:11px;color:#53605c}
.legal-summary h2{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}
footer{padding:42px max(5vw,28px);display:flex;align-items:center;justify-content:space-between;background:var(--paper);font-size:11px;color:var(--muted)}
footer>div{display:flex;gap:20px}
.footer-brand .brand-mark{width:36px;height:36px}
.footer-brand strong{font-size:14px}
.whatsapp-float{position:fixed;right:24px;bottom:24px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#1e8757;color:white;font-size:11px;font-weight:bold;box-shadow:0 8px 25px rgba(0,0,0,.2);z-index:15}

@media(max-width:900px){
  nav{display:none}
  .hero{grid-template-columns:1fr;background:var(--cream);padding-top:75px}
  .hero-card{max-width:520px}
  .section-heading{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr 1fr}
  .masc,.about,.contact{grid-template-columns:1fr}
  .about-panel{height:320px}
  .field-row{grid-template-columns:1fr}
  .header-call{display:none}
}

@media(max-width:560px){
  .site-header{height:72px}
  .hero{padding:65px 24px}
  .hero h1{font-size:50px}
  .hero-actions{flex-direction:column}
  .button{width:100%}
  .trust-row{display:grid;gap:9px}
  .section,.masc,.about,.contact{padding:75px 24px}
  .service-grid{grid-template-columns:1fr}
  .contact-form{padding:28px 22px}
  footer{align-items:flex-start;gap:28px;flex-direction:column}
  footer>div{flex-wrap:wrap}
  .whatsapp-float{right:16px;bottom:16px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .service-card{transition:none}
}

/* =========================================================
   PÁGINA DE FAMILIA: ESTILOS CONSOLIDADOS
   ========================================================= */

.professional-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:100%;
  background:#102c26;
  color:#fff;
}
.professional-strip span{
  min-width:0;
  padding:18px 24px;
  border-right:1px solid rgba(255,255,255,.14);
  text-align:center;
  font-size:10px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.professional-strip span:last-child{border-right:0}

.service-hero{
  width:100%;
  margin:0;
  padding:95px max(7vw,34px) 80px;
  background:linear-gradient(115deg,var(--cream) 0 72%,var(--forest) 72%);
}
.service-hero .breadcrumb{
  margin:0 0 28px;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.service-hero .breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.service-hero h1{
  max-width:880px;
  margin:0 0 24px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(46px,5.5vw,78px);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.035em;
}
.service-hero .hero-lead{max-width:760px;margin:0;color:var(--muted);font-size:18px}
.service-hero .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:34px 0 0}

.service-content .section-heading,
.faq-section .section-heading,
.related-services .section-heading{margin-bottom:44px}
.service-content h2,
.faq-section h2,
.related-services h2,
.service-highlight h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(34px,3.7vw,50px);
  font-weight:400;
  line-height:1.15;
}
.content-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:32px;
}
.content-grid article{min-width:0;padding:34px;border:1px solid var(--line);background:#fff}
.content-grid h3,.faq-grid h3{margin:0 0 14px;font-family:Georgia,serif;font-size:24px;font-weight:400}
.content-grid ul{margin:24px 0 0;padding:0;list-style:none}
.content-grid li{padding:14px 0;border-bottom:1px solid var(--line)}
.content-grid li:last-child{border-bottom:0}
.content-grid li::before{content:'—';margin-right:12px;color:var(--gold)}

.service-highlight{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  width:100%;
  margin:0;
  padding:64px max(7vw,34px);
  background:var(--forest);
  color:#fff;
}
.service-highlight>div{max-width:760px}
.service-highlight h2{margin:0 0 18px}
.service-highlight p{margin:0;color:#d7e0dd}
.service-highlight .button{flex:0 0 auto;background:var(--gold);color:var(--deep)}

.faq-section{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.faq-grid article{min-width:0;padding:26px 0;border-bottom:1px solid var(--line)}
.faq-grid p{margin:0;color:var(--muted)}

.related-links{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  width:100%;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.related-links>a{
  display:flex;
  align-items:center;
  min-width:0;
  min-height:92px;
  padding:24px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:var(--forest);
  font-family:Georgia,serif;
  font-size:18px;
  line-height:1.35;
  text-decoration:none;
  overflow-wrap:anywhere;
  transition:background-color .2s ease,color .2s ease;
}
.related-links>a:hover,.related-links>a:focus-visible{background:var(--cream);color:var(--deep)}
.related-links>a:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}

@media(max-width:900px){
  .professional-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-hero{background:var(--cream)}
  .content-grid,.faq-grid{grid-template-columns:1fr}
  .related-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-highlight{align-items:flex-start;flex-direction:column}
}

@media(max-width:560px){
  .professional-strip{grid-template-columns:1fr}
  .professional-strip span{padding:13px 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .professional-strip span:last-child{border-bottom:0}
  .service-hero{padding:65px 24px}
  .service-hero .hero-actions{flex-direction:column}
  .service-highlight{padding:54px 24px}
  .related-links{grid-template-columns:1fr}
}