:root{--ink:#173b50;--slate:#365563;--cream:#f7f4ed;--white:#fff;--gold:#c9963b;--mist:#edf2f1;--line:#d9e1df;--footer:#113343;--body:#273c45;--shadow:0 18px 48px rgba(23,59,80,.09)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:8rem}body{margin:0;background:var(--cream);color:var(--body);font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-size:1rem;line-height:1.67}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #bb701c;outline-offset:4px}p,h1,h2,h3{margin-top:0}h1,h2,h3{color:var(--ink)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.04em}h1{font-size:clamp(3.05rem,5.3vw,5.55rem);line-height:1.04;max-width:700px;margin:1.4rem 0 1.7rem}h1 em{font-weight:400;font-style:normal;color:#446e77}h2{font-size:clamp(2.4rem,3.5vw,3.75rem);line-height:1.13;margin:1rem 0 2rem}h3{font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.35;font-weight:600}.shell{width:min(1140px,calc(100% - 3rem));margin-inline:auto}.skip-link{position:absolute;left:1rem;top:-6rem;background:#fff;color:#111;padding:1rem;z-index:30}.skip-link:focus{top:1rem}.private-banner{background:#034a5d;color:#fff;font-size:.85rem;text-align:center;padding:.45rem 1rem;letter-spacing:.015em}.site-header{background:var(--cream);border-bottom:1px solid var(--line);position:relative;z-index:2}.topbar{display:flex;align-items:center;gap:2rem;min-height:100px}.brand{display:flex;align-items:center;gap:.82rem;text-decoration:none;flex-shrink:0}.brand-monogram{width:43px;height:47px;display:grid;place-items:center;border-left:2px solid var(--slate);font:700 1.2rem Georgia,serif;color:var(--ink)}.brand-text{display:flex;flex-direction:column;line-height:1.35;letter-spacing:.1em;font-size:.7rem;color:var(--ink)}.brand-text strong{font-size:.85rem}.main-nav{margin-left:auto;display:flex;flex-wrap:wrap;justify-content:end;gap:clamp(.8rem,1.6vw,1.8rem);font-size:.9rem}.main-nav a{text-decoration:none;white-space:nowrap}.main-nav a:hover,.text-link:hover,.phone-fallback a:hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.25rem;padding:.93rem 1.5rem;min-height:50px;border-radius:4px;text-decoration:none;font-weight:680;font-size:.94rem;text-align:center;transition:background-color .15s,transform .15s}.button:hover{transform:translateY(-1px)}.button-primary,.button-header{background:#075c73;color:#fff}.button-primary:hover,.button-header:hover{background:#03485c}.button-header{margin-left:.2rem;white-space:nowrap}.button-outline{border:1px solid var(--ink);color:var(--ink);background:transparent}.button-outline:hover{background:#e7eeec}.hero{padding:clamp(3.2rem,6vw,7rem) 0 clamp(4rem,7vw,7rem)}.hero-layout{display:grid;grid-template-columns:1.14fr .86fr;gap:clamp(2rem,4vw,5rem);align-items:center}.eyebrow{font-size:.75rem;letter-spacing:.17em;color:#28556a;font-weight:800;display:flex;align-items:center;gap:.8rem}.dot{background:var(--gold);display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.hero-description{font-size:clamp(1.08rem,1.6vw,1.25rem);max-width:570px;line-height:1.85;color:#395158}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-top:2rem}.text-link{text-decoration:none;font-weight:670;color:#24566a}.hero-meta{color:#5b6b71;font-size:.88rem;margin:2.3rem 0 0;max-width:430px}.visual-panel{background:#d8e3e0;min-height:490px;position:relative;overflow:hidden;border-radius:190px 190px 6px 6px;box-shadow:var(--shadow)}.artwork{position:absolute;inset:0;background:linear-gradient(147deg,#edf0e7 4%,#b2c9c4 52%,#718f93 100%)}.shape-one{position:absolute;width:83%;height:67%;left:-11%;bottom:-20%;background:#85a7a2;border-radius:49% 51% 17% 0;transform:rotate(-18deg)}.shape-two{position:absolute;width:65%;height:64%;right:-6%;top:6%;background:#d5c7a6;clip-path:ellipse(45% 50% at 50% 50%);transform:rotate(22deg)}.shape-three{position:absolute;width:40%;height:37%;right:20%;bottom:4%;background:#315f65;border-radius:50% 45% 45% 40%;opacity:.72}.visual-label{position:absolute;bottom:1rem;left:1rem;right:1rem;font-size:.7rem;background:rgba(255,255,255,.95);padding:.6rem .75rem;margin:0;border-radius:3px;color:#314d59}.section{padding:clamp(4rem,7vw,7rem) 0}.situations{background:#fff}.section-intro{max-width:650px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.service-card{background:var(--cream);padding:clamp(1.65rem,3.6vw,3rem);border-top:3px solid #caa557;min-height:290px}.card-number{color:#566f76;font-weight:750;letter-spacing:.16em;font-size:.73rem;display:block;margin-bottom:2rem}.service-card p{max-width:435px;color:#455b63}.section-actions{margin-top:2rem}.followup{background:var(--ink);color:#edf3f1}.followup-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.followup h2{color:#fff;margin-bottom:0}.eyebrow-light{color:#b4d0d6}.followup-grid>div:nth-child(2)>p:first-child{font-size:1.2rem;line-height:1.85}.small-note{font-size:.82rem;color:#c8d7da}.contact{background:var(--cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.contact-copy>p:not(.eyebrow){max-width:480px}.phone-fallback{font-size:.89rem;margin-top:1.25rem;color:#435a63}.phone-fallback a{font-weight:700}.capture-panel{background:#fff;border:1px solid var(--line);padding:clamp(1.45rem,3vw,2.5rem);box-shadow:var(--shadow)}.private-tag{display:inline-block;font-size:.7rem;letter-spacing:.09em;font-weight:700;background:#e3eff1;color:#17445c;padding:.35rem .6rem;margin-bottom:1rem}.capture-panel h3{font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.capture-panel>p{font-size:.91rem;color:#49616b}.form-choice{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding:1.2rem 0}.form-choice strong,.form-choice span{display:block}.form-choice strong{font-size:.95rem;color:var(--ink)}.form-choice span{font-size:.79rem;color:#596b71}.form-choice button{border:none;background:#e6e9e8;color:#526368;padding:.5rem .8rem;border-radius:4px;font-size:.8rem;cursor:not-allowed;white-space:nowrap}.capture-panel .lock-note{font-size:.77rem;color:#49616b;background:#edf2f1;padding:.8rem;margin:1rem 0 0}.site-footer{background:var(--footer);color:#e0edef;padding:2.4rem 0}.footer-flex{display:flex;justify-content:space-between;align-items:end;gap:3rem}.footer-flex p{margin:0;font-size:.77rem}.footer-flex p:first-child{display:flex;flex-direction:column;letter-spacing:.1em}.footer-flex p:nth-child(2){max-width:470px;text-align:right;color:#c7d9df}::selection{background:#e8d09e;color:#10394c}@media(max-width:1050px){.topbar{flex-wrap:wrap;padding-block:1rem;gap:1rem}.main-nav{order:3;width:100%;margin:auto;justify-content:space-between}.button-header{margin-left:auto}.hero-layout{grid-template-columns:1.2fr .8fr}.visual-panel{min-height:410px}}@media(max-width:750px){html{scroll-padding-top:2rem}.shell{width:min(100% - 2rem,560px)}.topbar{align-items:center}.main-nav{gap:.8rem;justify-content:flex-start}.main-nav a{font-size:.83rem}.button-header{font-size:.82rem;padding:.68rem .9rem}.brand-text strong{font-size:.74rem}.brand-text{font-size:.6rem}.hero-layout,.cards,.followup-grid,.contact-grid{grid-template-columns:1fr}.hero{padding:3.5rem 0 4.5rem}.hero-layout{gap:2.2rem}.visual-panel{min-height:290px;border-radius:140px 140px 6px 6px}.hero-description{line-height:1.7}.cards{gap:1rem}.service-card{min-height:unset}.followup-grid{gap:2rem}.footer-flex{flex-direction:column;align-items:start;gap:1rem}.footer-flex p:nth-child(2){text-align:left}.section{padding:4rem 0}}@media(max-width:400px){.button-header{width:100%}.main-nav{gap:.65rem}.main-nav a{font-size:.78rem}.brand{width:100%}.form-choice{flex-wrap:wrap}.hero-actions .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* F3-P1: foto historica verificada por hash; derechos por confirmar. */
.hero-photo{margin:0;position:relative}.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* F3-P3: aviso semantico de nueva pestana, oculto solo visualmente. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* M7-P6: estilos legales extraidos de privacidad (sin cambios de reglas) */
.legal-document {max-width:860px; margin-inline:auto;}
    .legal-document h1 {font-size:clamp(2rem,4.7vw,3.2rem);line-height:1.15;max-width:20ch;}
    .legal-section {padding-block:1.5rem;border-top:1px solid rgba(18,73,91,.17);overflow-wrap:anywhere;}
    .legal-section h2 {font-size:clamp(1.13rem,2.4vw,1.55rem);margin-bottom:.7rem;line-height:1.35;}
    .legal-section p {font-size:1rem;line-height:1.75;max-width:76ch;}
    .legal-meta {font-size:.92rem;line-height:1.7;}
    .legal-warning {background:#fff8e9;border-left:4px solid #b78b36;padding:1rem 1.1rem;margin-block:1.5rem;}
    .legal-back {display:inline-block;margin-top:1.25rem;}
    @media(max-width:390px) {.legal-section{padding-block:1.1rem}.legal-section p{font-size:.98rem}}

/* M7-P6: pieza visual original, sin fotografia de terceros */
.jw-abstract-visual {
  width: 100%; min-height: 240px; aspect-ratio: 4 / 3;
  display: grid; place-items: center; overflow: hidden;
  border-radius: 16px;
  background: radial-gradient(circle at 78% 24%, rgba(255,255,255,.62), transparent 35%),
    linear-gradient(138deg, #d7ebed 0%, #7eafb9 48%, #173b50 100%);
  color: #fff;
}
.jw-abstract-visual span { font-size: clamp(3.5rem, 12vw, 7rem); font-weight: 750; letter-spacing: -.07em; }
/* Hero B: encuadre 4:3 completo, sin recorte de rostros. */
.hero-photo-b{min-height:0;aspect-ratio:4/3;border-radius:6px}

/* B-Premium: ajustes exclusivos del hero y encabezado de inicio. */
.premium-hero .main-nav a{display:inline-flex;align-items:center;min-height:44px;padding-inline:.25rem}
.premium-hero .hero-layout{grid-template-columns:1.05fr .95fr}
.premium-hero .hero h1{font-size:clamp(3.05rem,4.8vw,4.7rem)}
.premium-hero .hero-photo-b{align-self:start;margin-top:2.65rem}
@media(max-width:1050px){
  .premium-hero .topbar{gap:.75rem;padding-block:.75rem}
  .premium-hero .hero-layout{grid-template-columns:1.2fr .8fr}
}
@media(max-width:750px){
  .premium-hero .topbar{gap:.5rem;padding-block:.5rem}
  .premium-hero .brand{width:auto;gap:.375rem}
  .premium-hero .brand-monogram{width:30px;height:43px}
  .premium-hero .button-header{width:auto;min-height:44px;font-size:.78rem;gap:.4rem;padding:.625rem .55rem;margin-left:auto}
  .premium-hero .main-nav{gap:.25rem .5rem}
  .premium-hero .main-nav a{padding-inline:0}
  .premium-hero .hero{padding:2rem 0 3rem}
  .premium-hero .hero-layout{grid-template-columns:1fr;gap:1.25rem}
  .premium-hero .hero h1{font-size:clamp(2.65rem,11.5vw,3.05rem);margin:1rem 0 1.1rem}
  .premium-hero .hero-actions{margin-top:1.25rem;gap:.5rem 1rem}
  .premium-hero .hero-actions .text-link{display:inline-flex;align-items:center;min-height:44px}
  .premium-hero .hero-meta{margin-top:1rem}
  .premium-hero .hero-photo-b{margin-top:0}
}

/* Existing contact controls: allow two accessible external links to wrap. */
.form-choice{flex-wrap:wrap}.form-choice>.button{max-width:100%;white-space:normal;min-height:50px;font-size:.88rem;gap:.4rem;padding:.75rem 1rem}
