/* Client-supplied rhythm, anchor, fields, photography and reveal rules. */
section{padding-block:clamp(74px,9vw,130px)}
.alt{background:#EAF0F5}
section + section{border-top:1px solid rgba(20,45,78,.08)}
.anchor{background:#142D4E;color:#EAF0F5}
.anchor .label,.anchor .num,.anchor .eyebrow{color:#147D83}
input,select,textarea{background:#fff;border:1px solid rgba(20,45,78,.22);border-radius:3px;padding:12px 14px;color:#303844;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid #147D83;outline-offset:1px;border-color:#147D83}
label{color:#5B6577;display:block;margin-bottom:6px}
img.media{filter:saturate(.9) contrast(1.02);border:1px solid rgba(20,125,131,.25)}
.reveal{opacity:1;transform:none}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Match the existing theme's specificity so the supplied rules actually win. */
body.light-theme.light-theme main > section[class] {padding-block:clamp(74px,9vw,130px)!important;background:#F7F8FA!important;position:relative;isolation:isolate;clear:both;margin-block:0!important;}
body.light-theme.light-theme main > section.alt {background:#EAF0F5!important;}
body.light-theme.light-theme main > section + section {border-top:1px solid rgba(20,45,78,.08)!important;}
body.light-theme.light-theme main > section.anchor {background:#142D4E!important;color:#EAF0F5!important;}
body.light-theme main .anchor :is(h2,h3,p,strong,span) {color:#EAF0F5!important;}
body.light-theme main .anchor :is(.label,.num,.eyebrow,.stat>span) {color:#147D83!important;}
body.light-theme main .anchor .stat strong {font-family:var(--mono);font-size:clamp(24px,3.1vw,44px);}
body.light-theme #contact {position:relative;top:auto;transform:none;z-index:auto;}
body.light-theme #contact :is(.form-wrap,.form-panel) {position:relative;top:auto;transform:none;margin-top:0;}
body.light-theme #contact .form-wrap {align-items:start;}
body.light-theme #contact .form-panel {background:#EAF0F5!important;border:1px solid rgba(20,45,78,.22)!important;padding:clamp(22px,4vw,38px);box-shadow:none;}
body.light-theme #contact :is(input,select,textarea) {background:#fff!important;border:1px solid rgba(20,45,78,.22)!important;border-radius:3px;padding:12px 14px;color:#303844!important;width:100%;}
body.light-theme #contact :is(input,select,textarea):focus {outline:2px solid #147D83!important;outline-offset:1px;border-color:#147D83!important;}
body.light-theme #contact :is(label,label span) {color:#5B6577!important;display:block;margin-bottom:6px;}
body.light-theme :is([data-img],.perspective-featured) {background:transparent!important;mix-blend-mode:normal;}
body.light-theme [data-img]::after,body.light-theme [data-img]::before {display:none!important;}
body.light-theme img.media {filter:saturate(.9) contrast(1.02)!important;border:1px solid rgba(20,125,131,.25)!important;mix-blend-mode:normal!important;opacity:1!important;}
body.light-theme .reveal {opacity:1;transform:none;}
body.light-theme .reveal.in {opacity:1;transform:none;}
body.light-theme.multival .hero .seal[data-parallax] {top:50%;translate:0 -50%;transform:translateY(0);animation:none!important;}
body.light-theme .hero .seal svg {animation:none!important;}
body.light-theme.francisco .portrait-slot[data-parallax] {animation:none!important;}
@media (prefers-reduced-motion:reduce) {
 body.light-theme .reveal {opacity:1!important;transform:none!important;transition:none!important;}
 body.light-theme [data-parallax] {transform:none!important;}
}

/* Approved geometry refinement; brand tokens and content remain unchanged. */
:root {--section-space:clamp(56px,7vw,104px);--layout-gap:clamp(24px,3vw,40px);}
body.home.light-theme.light-theme main > section[class] {padding-block:var(--section-space)!important;}
body.home.light-theme .section-head {margin-bottom:clamp(28px,4vw,48px);}
body.home.light-theme :is(.card,.question-card,.post-body) p {font-size:16px!important;line-height:1.7;}
body.home.light-theme :is(.cards,.post-grid,.journey-grid) {gap:24px;}
body.light-theme .nav a {display:inline-flex;align-items:center;min-height:44px;font-size:13px;}
body.light-theme .lang-toggle a {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;}
body.light-theme :is(.service-toggle,.more,.privacy-link) {display:inline-flex;align-items:center;min-height:44px;}
body.light-theme .credential-name {font-size:17px;line-height:1.4;}
body.light-theme .credential {padding-block:28px;}
body.light-theme main .anchor :is(.label,.eyebrow) {color:var(--teal-on-navy)!important;}
body.light-theme :is(.card,.post-card,.question-card):hover {transform:none;box-shadow:none;border-color:var(--line)!important;}
body.light-theme :is(.card,.post-card,.question-card) {transition:none;}
body.light-theme #contact .form-wrap {gap:var(--layout-gap);}
body.light-theme #contact .form-panel {min-width:0;}
body.light-theme #contact :is(input,textarea,select) {font-size:16px;}
body.light-theme .footer {padding-block:32px;}
body.light-theme.multival.home .hero {min-height:0;}
body.light-theme.multival.home .hero .hero-copy {padding-block:24px;}
body.light-theme.multival.home .hero .hero-sub {margin-block:24px 32px;line-height:1.6;}
body.light-theme.francisco.home .hero .container {gap:var(--layout-gap);align-items:center;}
body.light-theme #figures .stats {align-items:start;}
body.light-theme #figures .stat strong {display:block;line-height:1.2;margin-bottom:12px;}
body.light-theme .reveal {opacity:1;transform:none;transition:none!important;}
@keyframes brand-enter {from {opacity:.65;transform:translateY(12px);}to {opacity:1;transform:none;}}
body.light-theme .reveal.in {animation:brand-enter .5s ease both!important;animation-delay:var(--reveal-delay,0ms)!important;}
@media(max-width:900px) {
 body.light-theme #contact .form-wrap {grid-template-columns:minmax(0,1fr)!important;}
 body.light-theme #contact .form-panel {width:100%;max-width:none;}
 body.home.light-theme.light-theme main > section[class] {padding-block:clamp(56px,8vw,72px)!important;}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 body.light-theme :is(.button,.service-toggle) {transition:transform .2s ease;}
 body.light-theme :is(.button,.service-toggle):hover {transform:translateY(-2px);}
}
@media(prefers-reduced-motion:reduce) {
 body.light-theme .reveal.in {animation:none!important;}
 body.light-theme :is(.button,.service-toggle):hover {transform:none;}
}

/* Digievolucion 2.2: component refinement, using the approved brand palette. */
:root {
 --brand-navy:var(--navy);--brand-teal:var(--teal);--brand-light:var(--paper2);
 --brand-paper:var(--paper);--brand-text:var(--ink);
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
 --space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-22:88px;
 --component-shadow:0 4px 16px color-mix(in srgb,var(--navy) 4%,transparent);
}
body.home.light-theme.light-theme main > section[class] {padding-block:clamp(72px,6.2vw,96px)!important;}
body.home.light-theme .container {width:min(1180px,calc(100% - 48px));max-width:none;padding-inline:0;}
body.home.light-theme.francisco .container {width:min(1140px,calc(100% - 48px));}
body.home.light-theme :is(h1,h2,h3) {text-wrap:balance;}
body.home.light-theme :is(.section-head p,.narrative,.bio-lead) {max-width:65ch;line-height:1.65;}
body.home.light-theme .section-head {margin-bottom:var(--space-8);}
body.home.light-theme :is(.card,.question-card,.bio-item) {padding:var(--space-8);min-height:0;box-shadow:var(--component-shadow);border-radius:8px;}
body.home.light-theme.francisco :is(.card,.question-card,.bio-item,.post-card) {border-radius:6px;}
body.home.light-theme :is(.card,.question-card) h3 {line-height:1.25;margin-block:var(--space-6) var(--space-3);}
body.home.light-theme :is(.card,.question-card,.bio-item) p {line-height:1.65;}
body.home.light-theme :is(.card,.question-card) .service-kicker {font-variant-numeric:tabular-nums;}
body.home.light-theme .button {border-radius:5px;padding-inline:24px;}
body.home.light-theme #contact .form-panel {border-radius:8px;padding:clamp(24px,3vw,40px);box-shadow:var(--component-shadow);}
body.home.light-theme #contact :is(input,select,textarea) {border-radius:5px;}
body.home.light-theme #contact .form-wrap {grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;}
body.home.light-theme .footer .container {row-gap:16px;}
body.home.light-theme .reveal.in {animation-fill-mode:backwards!important;}
body.home.light-theme .service-detail:not([hidden]) {animation:brand-panel-enter .22s ease;}
@keyframes brand-panel-enter {from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}
/* MULTIVAL: the existing wordmark and seal remain the only hero graphics. */
body.home.light-theme.multival .hero h1.multival-wordmark {font-size:clamp(2.7rem,6.4vw,6.2rem);line-height:1.02;letter-spacing:-.045em;}
body.home.light-theme.multival .hero .hero-copy {max-width:720px;padding-block:16px;}
body.home.light-theme.multival .hero .hero-sub {max-width:40ch;margin-block:24px 32px;}
body.home.light-theme.multival .hero .seal {width:clamp(330px,43vw,620px);right:-7%;opacity:.35;}
body.home.light-theme.multival #about .narrative {max-width:62ch;}
body.home.light-theme.multival .journey-grid {gap:24px;border-top:0;align-items:start;}
body.home.light-theme.multival .journey-grid li {position:relative;padding:24px 0 0;border:0;}
body.home.light-theme.multival .journey-grid li::before {content:'';display:block;position:absolute;top:0;left:0;right:-24px;height:2px;background:var(--line-strong);transform-origin:left;}
body.home.light-theme.multival .journey-grid li:last-child::before {right:0;}
body.home.light-theme.multival .journey-number {display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line-strong);border-radius:50%;background:var(--paper);font:500 14px/1 var(--mono);}
body.home.light-theme.multival .journey-grid h2 {font-size:clamp(21px,2vw,25px);line-height:1.2;margin-block:20px 12px;}
body.home.light-theme.multival .journey-grid p {font-size:16px;line-height:1.65;}
body.home.light-theme.multival .journey-grid.is-seen li::before {animation:brand-progress .65s ease backwards;animation-delay:var(--process-delay,0ms);}
@keyframes brand-progress {from{transform:scaleX(.1);opacity:.35}to{transform:scaleX(1);opacity:1}}
body.home.light-theme.multival #services .service-grid {align-items:start;gap:24px;}
body.home.light-theme.multival #services .card {padding:28px;display:grid;grid-template-rows:auto auto minmax(2.5em,auto) auto auto auto;}
body.home.light-theme.multival #services .card h3 {margin-block:20px 12px;}
body.home.light-theme.multival #services .service-toggle {justify-self:start;margin-top:16px;}
body.home.light-theme.multival #services .service-detail {border-radius:5px;padding:20px;margin-top:16px;}
body.home.light-theme.multival #francisco [data-img] {border-radius:8px;aspect-ratio:1.16;min-height:0;}
body.home.light-theme.multival #francisco .ceo-formal-image {object-position:50% 32%;}
body.home.light-theme.multival #process .steps {gap:20px;}
body.home.light-theme.multival #process .step {border-top:3px solid var(--teal)!important;padding:24px;box-shadow:none;}
body.home.light-theme.multival #process .step-number {width:44px;height:40px;font-size:20px;margin-bottom:16px;border-radius:4px;}
body.home.light-theme.multival #process .step h3 {margin-top:0;font-size:20px;}
body.home.light-theme.multival #figures .stat + .stat {border-left:1px solid var(--line-strong);padding-left:24px;}
body.home.light-theme.multival #figures strong {font-variant-numeric:tabular-nums;white-space:nowrap;}
/* Francisco: editorial proportions and the four existing services. */
body.home.light-theme.francisco .hero .container {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;}
body.home.light-theme.francisco .hero h1 {font-size:clamp(2.35rem,4.2vw,4rem);max-width:20ch;line-height:1.06;}
body.home.light-theme.francisco .portrait-slot {height:auto;aspect-ratio:4/5;max-width:400px;justify-self:end;border-radius:6px;}
body.home.light-theme.francisco .credentials .container {padding-block:40px;}
body.home.light-theme.francisco .credentials-grid {background:var(--paper2);border-bottom:1px solid var(--line);border-radius:6px;}
body.home.light-theme.francisco .credential {padding:28px 16px;justify-content:flex-start;}
body.home.light-theme.francisco .credential-name {font-size:16px!important;line-height:1.45!important;}
body.home.light-theme.francisco .question-grid {gap:24px;align-items:start;}
body.home.light-theme.francisco .question-answer {min-height:0;line-height:1.6;}
body.home.light-theme.francisco #what .cards {grid-template-columns:repeat(2,minmax(0,1fr));}
body.home.light-theme.francisco #what .card h3 {font-size:clamp(23px,2vw,28px);max-width:25ch;}
body.home.light-theme.francisco .bio-item {border-top:2px solid var(--line-strong)!important;}
body.home.light-theme.francisco .bio-item h3 {font-size:24px;}
body.home.light-theme.francisco .post-card {overflow:hidden;box-shadow:var(--component-shadow);}
body.home.light-theme.francisco .post-card > img.brand-post-image {aspect-ratio:16/10;height:auto;object-fit:cover;}
body.home.light-theme.francisco .post-body {padding:24px;}
body.home.light-theme.francisco .post-body h3 {line-height:1.2;}
body.home.light-theme.francisco #social h2,body.home.light-theme.francisco #multival h2 {font-size:clamp(28px,3vw,36px);}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 body.home.light-theme :is(.post-card,.card:has(.service-toggle)) {transition:transform .2s ease;}
 body.home.light-theme :is(.post-card,.card:has(.service-toggle)):hover {transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-strong)!important;}
}
@media(max-width:1000px) {
 body.home.light-theme.multival #process .steps {grid-template-columns:repeat(2,minmax(0,1fr));}
 body.home.light-theme.multival .journey-grid {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px;}
 body.home.light-theme.multival .journey-grid li:nth-child(2)::before {right:0;}
 body.home.light-theme.francisco .hero .container {gap:32px;}
}
@media(max-width:900px) {
 body.home.light-theme #contact .form-wrap {grid-template-columns:1fr!important;gap:32px;}
 body.home.light-theme.multival #figures .stat + .stat {padding-left:0;border-left:0;}
}
@media(max-width:859px) {
 body.home.light-theme.francisco .hero .container {grid-template-columns:1fr;}
 body.home.light-theme.francisco .hero h1 {max-width:22ch;}
 body.home.light-theme.francisco .portrait-slot {width:100%;max-width:320px;height:auto;aspect-ratio:4/5;justify-self:center;}
}
@media(max-width:600px) {
 body.home.light-theme.light-theme main > section[class] {padding-block:clamp(48px,14vw,64px)!important;}
 body.home.light-theme .container,body.home.light-theme.francisco .container {width:calc(100% - 36px);}
 body.home.light-theme :is(.card,.question-card,.bio-item) {padding:24px;}
 body.home.light-theme.multival #services .card {padding:24px;}
 body.home.light-theme.multival .hero .hero-copy {padding-inline:0;}
 body.home.light-theme.multival .hero .seal {opacity:.15;right:-50%;}
 body.home.light-theme.multival .journey-grid,body.home.light-theme.multival #process .steps,body.home.light-theme.francisco #what .cards {grid-template-columns:1fr;}
 body.home.light-theme.multival .journey-grid li {padding:0 0 24px 24px;}
 body.home.light-theme.multival .journey-grid li::before {top:0;bottom:-32px;left:0;right:auto!important;width:2px;height:auto;transform-origin:top;}
 body.home.light-theme.multival .journey-grid li:last-child::before {bottom:0;}
 body.home.light-theme.multival .journey-grid.is-seen li::before {animation-name:brand-progress-vertical;}
 body.home.light-theme.francisco .portrait-slot {max-width:260px;}
 body.home.light-theme.francisco .credentials .container {padding-block:32px;}
 body.home.light-theme.francisco .credential {padding:24px 12px;}
 body.home.light-theme.francisco .post-body {padding:24px;}
 body.home.light-theme #contact .form-wrap {gap:24px;}
}
@keyframes brand-progress-vertical {from{transform:scaleY(.1);opacity:.35}to{transform:scaleY(1);opacity:1}}
@media(prefers-reduced-motion:reduce) {
 body.home.light-theme :is(.reveal.in,.service-detail,.journey-grid.is-seen li::before) {animation:none!important;transition:none!important;}
 body.home.light-theme :is(.post-card,.card):hover {transform:none;}
}
@media print {
 body.light-theme :is(.reveal,.reveal.in) {opacity:1!important;transform:none!important;animation:none!important;}
 body.light-theme * {animation:none!important;transition:none!important;}
}

body.home.light-theme.multival main #figures .stat:last-child strong {font-size:clamp(22px,2vw,30px);}
