.ca-ernesto { --ink:#101923; --steel:#485870; --blue:#183b68; --mist:#90b0b8; --paper:#f5f8fb; color:var(--ink); background:#fff; font-family:'Sora',sans-serif; font-size:17px; line-height:1.75; }
.ca-ernesto * { box-sizing:border-box; }
body.page-id-391 #masthead { display:none; }
body.page-id-391 #content>.ast-container { max-width:none; padding:0; }
body.page-id-391 #content #primary { margin:0 !important; padding:0; width:100%; }
body.page-id-391 .ast-article-single { padding:0; }
body.page-id-391 #content .entry-content>.wp-block-group.ca-ernesto { margin:0 !important; padding:0 !important; width:100%; max-width:none; }
.ca-ernesto > * { margin-block:0 !important; }
.ca-ernesto .ca-e-site-nav { padding:20px 0; background:white; }
.ca-ernesto .ca-e-site-nav .ca-e-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ca-ernesto .ca-e-site-nav a { font-size:14px; text-decoration:none; }
.ca-ernesto .ca-e-site-nav .ca-e-brand { font-size:17px; font-weight:600; }
.ca-ernesto .ca-e-site-links { display:flex; gap:24px; flex-wrap:wrap; }
.ca-ernesto h1,.ca-ernesto h2,.ca-ernesto h3 { font-family:'Sora',sans-serif; font-weight:600; line-height:1.15; letter-spacing:-.035em; text-wrap:balance; }
.ca-ernesto h1 { font-size:clamp(36px,3vw,50px); margin:16px 0 20px; max-width:20ch; }
.ca-ernesto h2 { font-size:clamp(30px,3.2vw,46px); margin:0 0 24px; }
.ca-ernesto h3 { font-size:24px; }
.ca-ernesto p { max-width:65ch; margin:0 0 22px; }
.ca-ernesto a { color:var(--blue); text-underline-offset:5px; overflow-wrap:anywhere; }
.ca-ernesto a:focus-visible,.ca-ernesto button:focus-visible,.ca-ernesto summary:focus-visible { outline:3px solid #187452; outline-offset:5px; }
.ca-ernesto .ca-e-wrap { max-width:1240px; margin:auto; padding:0 40px; }
.ca-ernesto .ca-e-section { padding:72px 0; scroll-margin-top:145px; }
.ca-ernesto .ca-e-eyebrow { font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.14em; color:var(--steel); }
.ca-ernesto .ca-e-button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; gap:10px; padding:14px 24px; border-radius:100px; background:var(--blue); color:white; text-decoration:none; font-weight:600; line-height:1.4; border:0; cursor:pointer; }
.ca-ernesto .ca-e-button--wa { background:#146b4c; }
.ca-ernesto .ca-e-hero { position:relative; border-radius:0 0 40px 40px; padding:48px 0; background:radial-gradient(ellipse at 95% 0,#dce8ed,transparent 60%),linear-gradient(120deg,#f8fafb,#edf3f5); }
.ca-ernesto .ca-e-hero-grid { display:grid; grid-template-columns:.94fr 1.06fr; gap:40px; align-items:center; }
.ca-ernesto .ca-e-hero-copy { min-width:0; }
.ca-ernesto .ca-e-hero-copy .ca-e-lead { font-size:21px; line-height:1.55; color:var(--steel); max-width:28ch; }
.ca-ernesto .ca-e-hero-copy>p:not(.ca-e-eyebrow):not(.ca-e-lead) { font-size:16px; }
.ca-ernesto .ca-e-media { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:32px; background:#dce8ed; box-shadow:0 24px 60px #183b6817; }
.ca-ernesto .ca-e-contact-note { font-size:13px; color:var(--steel); margin:14px 0 0; }
.ca-ernesto .ca-e-media picture { display:block; position:absolute; inset:0; opacity:0; animation:caErnestoScene 24s ease-in-out infinite; }
.ca-ernesto .ca-e-media picture:nth-child(2) { animation-delay:8s; }
.ca-ernesto .ca-e-media picture:nth-child(3) { animation-delay:16s; }
.ca-ernesto .ca-e-media img,.ca-ernesto .ca-e-media video { width:100%; height:100%; object-fit:contain; display:block; }
.ca-ernesto .ca-e-media[data-paused=true] picture { animation-play-state:paused; }
@keyframes caErnestoScene { 0%,29% {opacity:1;transform:scale(1)} 35%,95% {opacity:0;transform:scale(1.018)} 100% {opacity:1;transform:scale(1)} }
.ca-ernesto .ca-e-motion-control { position:absolute; bottom:14px; right:14px; z-index:4; min-height:44px; padding:9px 16px; border-radius:100px; color:var(--ink); background:#fff; border:1px solid #d6e0e5; font:inherit; font-size:13px; cursor:pointer; }
.ca-ernesto .ca-e-nav { display:flex; flex-wrap:wrap; gap:12px 24px; padding:28px 0; border-bottom:1px solid #d6e0e5; }
.ca-ernesto .ca-e-nav a { font-size:15px; font-weight:600; }
.ca-ernesto .ca-e-section-intro { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; margin-bottom:32px; }
.ca-ernesto .ca-e-section-intro>p { color:var(--steel); margin-top:4px; }
.ca-ernesto .ca-e-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ca-ernesto .ca-e-path { padding:30px; border-radius:28px; background:var(--paper); border:1px solid #e2eaee; min-width:0; display:flex; flex-direction:column; }
.ca-ernesto .ca-e-path h3 { font-size:22px; margin:0 0 16px; }
.ca-ernesto .ca-e-path p { font-size:16px; color:var(--steel); }
.ca-ernesto .ca-e-path a { font-size:14px; font-weight:600; margin-top:auto; padding-top:6px; }
.ca-ernesto .ca-e-split { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.ca-ernesto .ca-e-approach { background:var(--blue); color:white; border-radius:40px; margin:0 24px; }
.ca-ernesto .ca-e-approach h2 { color:white; }
.ca-ernesto .ca-e-approach p { color:#e1eaf1; }
.ca-ernesto .ca-e-approach ul { list-style:none; padding:0; margin:0; }
.ca-ernesto .ca-e-approach li { padding:20px 0; border-bottom:1px solid #ffffff30; }
.ca-ernesto .ca-e-case { border-radius:30px; background:var(--paper); padding:24px; max-width:1020px; margin-inline:auto; }
.ca-ernesto .ca-e-case-note { font-size:16px; margin-top:24px; }
.ca-ernesto .ca-e-faq-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:72px; }
.ca-ernesto .ca-e-faq-heading { position:sticky; top:130px; }
.ca-ernesto .ca-e-faq-heading h2 { max-width:14ch; }
.ca-ernesto details { border-bottom:1px solid #d6e0e5; }
.ca-ernesto summary { position:relative; cursor:pointer; font-weight:500; font-size:18px; padding:22px 40px 22px 0; line-height:1.6; list-style:none; }
.ca-ernesto summary::-webkit-details-marker { display:none; }
.ca-ernesto summary::after { content:'+'; position:absolute; right:0; top:20px; font-size:24px; color:var(--blue); font-weight:400; }
.ca-ernesto details[open] summary::after { content:'-'; }
.ca-ernesto details[open] summary { color:var(--blue); }
.ca-ernesto details p { font-size:16px; color:var(--steel); margin:0 32px 24px 0; }
.ca-ernesto .ca-e-visit { border-radius:40px; background:linear-gradient(120deg,#f5f8fb,#e3ecf0); margin:0 24px; }
.ca-ernesto .ca-e-address { padding:20px 0 0; border-top:1px solid #cad8df; font-size:15px; color:var(--steel); }
.ca-ernesto .ca-e-link-list { display:flex; flex-direction:column; align-items:stretch; gap:0; }
.ca-ernesto .ca-e-link-list a { display:block; padding:18px 0; border-bottom:1px solid #cad8df; font-size:16px; text-decoration:none; }
.ca-ernesto .ca-e-link-list a:hover { text-decoration:underline; }
.ca-ernesto .ca-e-reference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.ca-ernesto .ca-e-reference-card { border:1px solid #d6e0e5; border-radius:24px; padding:24px; min-height:138px; display:flex; flex-direction:column; justify-content:space-between; gap:14px; text-decoration:none; font-size:16px; font-weight:500; }
.ca-ernesto .ca-e-reference-card small { color:var(--steel); font-size:12px; font-weight:400; }
.ca-ernesto .ca-e-reference-card:hover { background:var(--paper); }
.ca-ernesto .ca-e-concierge { padding-bottom:100px; }
.ca-ernesto .ca-e-concierge-slot { margin-top:32px; }
.ca-ernesto .ca-e-concierge-preview { padding:32px; background:var(--blue); color:white; border-radius:30px; }
.ca-ernesto .ca-e-concierge-preview a { color:white; }
.ca-ernesto .ca-e-intents { display:flex; flex-wrap:wrap; gap:14px; margin:24px 0; }
.ca-ernesto .ca-e-intents a { border:1px solid #ffffff80; border-radius:100px; padding:12px 20px; text-decoration:none; font-size:16px; }
.ca-ernesto .ca-e-footer { padding:30px 24px; background:var(--paper); font-size:14px; text-align:center; }
@media(max-width:1000px) { .ca-ernesto .ca-e-hero-grid {grid-template-columns:1fr;gap:30px} .ca-ernesto .ca-e-hero-copy {max-width:680px} .ca-ernesto h1 {max-width:20ch} .ca-ernesto .ca-e-media {max-width:800px} .ca-ernesto .ca-e-split,.ca-ernesto .ca-e-section-intro,.ca-ernesto .ca-e-faq-grid {gap:36px} .ca-ernesto .ca-e-path {padding:24px} .ca-ernesto .ca-e-reference-grid {grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:700px) { .ca-ernesto {font-size:16px} .ca-ernesto .ca-e-wrap {padding:0 22px} .ca-ernesto .ca-e-hero {padding:36px 0 28px;border-radius:0 0 28px 28px} .ca-ernesto .ca-e-media {border-radius:24px} .ca-ernesto .ca-e-hero-copy .ca-e-lead {font-size:20px} .ca-ernesto .ca-e-paths,.ca-ernesto .ca-e-split,.ca-ernesto .ca-e-section-intro,.ca-ernesto .ca-e-faq-grid,.ca-ernesto .ca-e-reference-grid {grid-template-columns:1fr;gap:22px} .ca-ernesto .ca-e-section {padding:52px 0} .ca-ernesto .ca-e-section-intro {gap:0;margin-bottom:24px} .ca-ernesto .ca-e-case {padding:14px} .ca-ernesto .ca-e-approach,.ca-ernesto .ca-e-visit {border-radius:28px;margin:0 12px} .ca-ernesto .ca-e-faq-heading {position:static} .ca-ernesto .ca-e-faq-heading h2 {max-width:22ch} .ca-ernesto summary {font-size:17px} .ca-ernesto .ca-e-nav {gap:14px 24px} .ca-ernesto .ca-e-button {width:100%;font-size:15px} .ca-ernesto .ca-e-reference-card {min-height:110px} }
@media(prefers-reduced-motion:reduce) { .ca-ernesto .ca-e-media picture {animation:none;opacity:0;transform:none} .ca-ernesto .ca-e-media picture:first-child {opacity:1} .ca-ernesto .ca-e-motion-control {display:none} }
@media(max-width:700px) { .ca-ernesto .ca-e-site-nav {padding-top:18px} .ca-ernesto .ca-e-site-nav .ca-e-wrap {align-items:flex-start;flex-direction:column;gap:14px} .ca-ernesto .ca-e-site-links {gap:20px} }

/* Keep the source-bound WMB legible while preserving its full frame on small screens. */
.ca-ernesto .ca-e-media { isolation:isolate; }
.ca-ernesto .ca-e-media::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,transparent 62%,rgba(16,25,35,.18)); }
.ca-ernesto .ca-e-media picture { will-change:opacity,transform; pointer-events:none; }
.ca-ernesto .ca-e-media img { position:relative; z-index:0; }

/* The page uses the native comparison plugin, not a decorative side-by-side image. */
.ca-ernesto .ca-e-case .ca-bac[data-ca-bac-mode="slider"] { margin-inline:auto; }
.ca-ernesto .ca-e-case .ca-bac[data-ca-bac-mode="slider"] .ca-bac__stage { min-height:0; }
.ca-ernesto .ca-e-case .ca-bac[data-ca-bac-mode="slider"] .ca-bac__swipe-controls { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:14px; }
.ca-ernesto .ca-e-case .ca-bac[data-ca-bac-mode="slider"] .ca-bac__swipe-controls button { min-height:42px; border:1px solid #c9d8e0; border-radius:999px; padding:9px 18px; background:#fff; color:var(--blue); font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.ca-ernesto .ca-e-case .ca-bac[data-ca-bac-mode="slider"] .ca-bac__swipe-controls button:hover { border-color:var(--blue); background:#f5f9fb; }
@media(max-width:700px) {
  .ca-ernesto .ca-e-case .ca-bac[data-ca-bac-mode="slider"] .ca-bac__stage { min-height:0; }
  .ca-ernesto .ca-e-case .ca-bac[data-ca-bac-mode="slider"] .ca-bac__reveal-rail { width:52px; }
}

/* 2026-10-03 visual repair: stronger hierarchy without changing approved media. */
.ca-ernesto { --green:#126f52; --line:#d8e4ea; background:linear-gradient(180deg,#fff 0,#f7fbfc 48%,#fff 100%); }
.ca-ernesto .ca-e-site-nav { box-shadow:0 1px 0 #e7eef2; }
.ca-ernesto .ca-e-hero { overflow:hidden; border-radius:0 0 34px 34px; background:radial-gradient(circle at 78% 24%,#dcebef 0 24%,transparent 42%),linear-gradient(135deg,#f8fbfc 0,#e8f1f4 58%,#fdfefe 100%); }
.ca-ernesto .ca-e-hero-copy { position:relative; }
.ca-ernesto .ca-e-button--wa { background:linear-gradient(135deg,#137452,#0f5f45); box-shadow:0 14px 28px #126f5230; }
.ca-ernesto .ca-e-button--wa:hover { transform:translateY(-1px); box-shadow:0 18px 34px #126f5238; }
.ca-ernesto .ca-e-media { border:1px solid #ffffffc9; box-shadow:0 22px 54px #183b6824; }
.ca-ernesto .ca-e-nav { justify-content:center; }
.ca-ernesto .ca-e-nav a { padding:8px 0; text-decoration:none; border-bottom:2px solid transparent; }
.ca-ernesto .ca-e-nav a:hover { border-color:var(--green); color:var(--green); }
.ca-ernesto .ca-e-path { border-radius:20px; background:#fff; box-shadow:0 18px 45px #183b680d; }
.ca-ernesto .ca-e-path:hover { transform:translateY(-2px); border-color:#c9dde4; }
.ca-ernesto .ca-e-approach { box-shadow:0 26px 70px #183b6824; }
.ca-ernesto .ca-e-case { background:linear-gradient(180deg,#f7fbfd,#eef5f8); border:1px solid var(--line); box-shadow:0 22px 60px #183b6812; }
.ca-ernesto .ca-e-case .ca-bac { max-width:960px; margin:auto; }
.ca-ernesto .ca-e-case .ca-bac__stage { border-radius:22px; overflow:hidden; background:#fff; }
.ca-ernesto .ca-e-case-note { max-width:54ch; color:var(--steel); }
.ca-ernesto .ca-e-reference-card { background:#fff; border-radius:18px; box-shadow:0 16px 38px #183b680a; }
.ca-ernesto .ca-e-reference-card:hover { transform:translateY(-2px); border-color:#bfd6df; background:#f9fcfd; }
.ca-ernesto .ca-e-concierge { background:linear-gradient(180deg,#fff,#f3f8fa); }
@media(max-width:700px) {
  .ca-ernesto .ca-e-site-nav { padding-top:18px; }
  .ca-ernesto h1 { font-size:clamp(34px,10vw,42px); }
  .ca-ernesto h2 { font-size:clamp(28px,8vw,36px); }
  .ca-ernesto .ca-e-case { padding:12px; border-radius:22px; }
  .ca-ernesto .ca-e-case .ca-bac__stage { border-radius:18px; }
}
.ca-ernesto .ca-e-nav button { padding:8px 0; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--blue); font:inherit; font-size:15px; font-weight:600; cursor:pointer; }
.ca-ernesto .ca-e-nav button:hover { border-color:var(--green); color:var(--green); }
.ca-ernesto .ca-e-nav button:focus-visible { outline:3px solid var(--green); outline-offset:5px; }
@media(prefers-reduced-motion:reduce) { .ca-ernesto .ca-e-path:hover,.ca-ernesto .ca-e-reference-card:hover,.ca-ernesto .ca-e-button--wa:hover { transform:none; } }
