/* CONTUHIJO CORE · layout/tokens only. Brand CSS belongs in /brands. */
:root{--cth-brand:#2563eb;--cth-brand-start:#22c7f2;--cth-brand-end:#5b52f4;--cth-deep:#0b1736;--cth-surface:#fff;--cth-paper:#f6f8fb;--cth-ink:#0b1736;--cth-container:1240px;--cth-radius:22px;--cth-gradient:linear-gradient(135deg,var(--cth-brand-start),var(--cth-brand),var(--cth-brand-end));--cth-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--cth-display:var(--cth-font)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.cth-theme{margin:0;background:var(--cth-surface);color:var(--cth-ink);font-family:var(--cth-font);text-rendering:optimizeLegibility}body.cth-theme img{max-width:100%;height:auto}.cth-shell{width:min(calc(100% - 36px),var(--cth-container));margin-inline:auto}.cth-section{padding:clamp(54px,7vw,96px) 0}.cth-kicker{margin:0 0 14px;color:var(--cth-brand);font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cth-hero{padding:clamp(58px,8vw,112px) 0;background:linear-gradient(135deg,var(--cth-paper),#fff)}.cth-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(34px,7vw,92px);align-items:center}.cth-hero h1{max-width:12ch;margin:0;font-size:clamp(3rem,7vw,6.8rem);line-height:.9;letter-spacing:-.065em}.cth-hero__lead{max-width:640px;margin:24px 0 0;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.55}.cth-hero__media{margin:0}.cth-hero__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--cth-radius);box-shadow:18px 18px 0 rgba(var(--cth-brand-start-rgb,34,199,242),.16)}.cth-prose{max-width:820px;margin:auto;font-size:1.08rem;line-height:1.78}.cth-prose h2,.cth-prose h3{font-family:var(--cth-display);letter-spacing:-.035em;line-height:1.05}.cth-prose h2{margin:2.2em 0 .6em;font-size:clamp(2rem,4vw,3.5rem)}.cth-prose h3{margin:1.8em 0 .5em;font-size:clamp(1.5rem,2.7vw,2.2rem)}.cth-prose a{color:var(--cth-brand);font-weight:750}.cth-functional{padding:clamp(32px,5vw,72px) 0}.cth-functional__surface{position:relative;z-index:0}.cth-functional-island{position:relative;isolation:isolate}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{position:fixed!important;z-index:100000;left:16px;top:16px;width:auto;height:auto;margin:0;padding:12px 16px;clip:auto;background:#fff;color:#111;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.18)}
/* Hard boundary: the editorial system never rewrites functional islands. */
.cth-functional-island :where(svg,img){max-width:100%}.cth-route--marga .cth-hero,.cth-route--marga-embedded .cth-hero{display:none}
@media(max-width:820px){.cth-shell{width:min(calc(100% - 24px),var(--cth-container))}.cth-hero__grid{grid-template-columns:1fr}.cth-hero h1{max-width:14ch}.cth-hero__media img{aspect-ratio:16/10}}
.cth-site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,23,54,.08)}.cth-site-header__row{min-height:76px;display:flex;align-items:center;gap:30px}.cth-site-brand{font-weight:950;font-size:1.2rem;text-decoration:none}.cth-site-brand .custom-logo{max-height:54px;width:auto}.cth-site-nav{margin-left:auto}.cth-site-nav ul{display:flex;align-items:center;gap:20px;margin:0;padding:0;list-style:none}.cth-site-nav a{text-decoration:none;font-weight:800}.cth-site-nav li{position:relative}.cth-site-nav .sub-menu{position:absolute;left:0;top:100%;min-width:220px;display:none;padding:12px;background:#fff;border:1px solid rgba(11,23,54,.08);border-radius:14px;box-shadow:0 24px 60px rgba(11,23,54,.14)}.cth-site-nav li:hover>.sub-menu,.cth-site-nav li:focus-within>.sub-menu{display:grid}.cth-site-footer{padding:64px 0 28px;background:var(--cth-deep);color:#fff}.cth-site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.cth-site-footer__brand{font-size:1.35rem}.cth-site-footer ul{list-style:none;margin:0;padding:0}.cth-site-footer a{color:inherit}.cth-site-footer__contact{display:grid;align-content:start;gap:8px}.cth-site-footer__bottom{display:flex;justify-content:space-between;gap:24px;margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}.cth-button{display:inline-flex;padding:12px 19px;border-radius:999px;background:var(--cth-gradient);color:#fff;text-decoration:none;font-weight:900}.cth-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.cth-card{overflow:hidden;border:1px solid rgba(11,23,54,.09);border-radius:var(--cth-radius);background:#fff;box-shadow:0 14px 40px rgba(11,23,54,.06)}.cth-card>div,.cth-card:not(:has(>div)){padding:24px}.cth-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.cth-card h2{margin:.25em 0 .5em;line-height:1.05;letter-spacing:-.035em}.cth-card h2 a{text-decoration:none}
@media(max-width:900px){.cth-site-header__row{flex-wrap:wrap;padding:14px 0}.cth-site-nav{width:100%;margin-left:0}.cth-site-nav ul{flex-wrap:wrap}.cth-card-grid{grid-template-columns:1fr 1fr}.cth-site-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cth-card-grid,.cth-site-footer__grid{grid-template-columns:1fr}.cth-site-footer__bottom{flex-direction:column}.cth-site-nav ul{gap:12px}}
.cth-pattern{margin-block:clamp(44px,7vw,92px)}.cth-pattern--hero{padding:clamp(48px,7vw,92px) max(18px,calc((100vw - var(--cth-container))/2));background:var(--cth-paper)}.cth-pattern--hero h1,.cth-pattern--claim h2,.cth-pattern--cta h2{font-family:var(--cth-display);line-height:.95;letter-spacing:-.055em}.cth-pattern--hero h1{font-size:clamp(3rem,6vw,6rem)}.cth-pattern--claim{padding:clamp(32px,5vw,60px);border-left:5px solid var(--cth-brand);background:linear-gradient(135deg,var(--cth-paper),#fff);border-radius:var(--cth-radius)}.cth-pattern--claim h2{max-width:14ch;font-size:clamp(2.5rem,5vw,5rem)}.cth-pattern--split img{border-radius:var(--cth-radius)}.cth-pattern--features>.wp-block-columns>.wp-block-column{padding:26px;border:1px solid rgba(11,23,54,.09);border-radius:var(--cth-radius);background:#fff}.cth-pattern--features h3{color:var(--cth-brand)}.cth-pattern--cta{padding:clamp(34px,5vw,64px);border-radius:var(--cth-radius);background:var(--cth-deep);color:#fff}.cth-pattern--cta .wp-block-button__link{background:var(--cth-gradient);font-weight:900}

/* RC3 · one footer everywhere. The historic Colibri/VMON footer can still be
   injected from old snippets on virtual Mundo Durundo routes. Hide only those
   known wrappers; never target generic footer elements or plugin widgets. */
body.vmon2026 footer.vmf,
body.vmon2026 footer.page-footer,
body.vmon2026 .vmf:not(.vmon-footer),
body.vmon2026 .page-footer:not(.vmon-footer){display:none!important}


/* LAP2.9 layout primitives: modules own the canvas; their content decides
   reading width. These utilities are brand-neutral and intentionally do not
   style Marga internals. */
:root{
  --cth-reading:1080px;
  --cth-space-copy:18px;
  --cth-space-heading:26px;
  --cth-space-content:36px;
  --cth-space-group:52px;
  --cth-space-section:80px;
}
.cth-canvas{width:min(calc(100% - 36px),var(--cth-container,1240px));margin-inline:auto;min-width:0}
.cth-module{width:100%;max-width:100%;min-width:0}
.cth-reading{width:min(100%,var(--cth-reading));margin-inline:auto;min-width:0}
.cth-image--editorial{display:block;width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain}
.cth-image--card{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.cth-image--portrait{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.cth-image--graphic{display:block;max-width:100%;width:auto;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain}
@media(max-width:1024px){:root{--cth-space-section:60px;--cth-space-group:48px}}
@media(max-width:767px){:root{--cth-space-section:44px;--cth-space-group:40px;--cth-space-content:30px;--cth-space-heading:22px}}
