/* Composición institucional. Los tokens y componentes originales viven en assets/brand. */
body{background:var(--kc-bg-surface)}
[hidden]{display:none!important}
section,article,details{scroll-margin-top:calc(var(--kc-header-height) + var(--kc-space-6))}
.skip-link{position:fixed;left:var(--kc-space-4);top:var(--kc-space-4);z-index:var(--kc-z-modal);padding:var(--kc-space-3);background:var(--kc-bg-surface);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:var(--kc-z-sticky);background:var(--kc-bg-surface);border-bottom:1px solid var(--kc-border-subtle)}
.header-inner{min-height:var(--kc-header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--kc-space-6)}
.brand{display:flex;align-items:center;gap:var(--kc-space-5);text-decoration:none;flex-shrink:0}
.brand img{width:184px;height:auto}
.brand span{font-size:var(--kc-fs-xs);color:var(--kc-text-secondary);border-left:1px solid var(--kc-border-default);padding-left:var(--kc-space-5)}
nav{display:flex;align-items:center;gap:var(--kc-space-6)}
nav>a{font-size:var(--kc-fs-xs);font-weight:var(--kc-fw-medium);text-decoration:none}
.menu-toggle{display:none}
.corporate-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--kc-bg-dark);color:var(--kc-text-inverse)}
.hero-photo{position:absolute;inset:0 0 0 49%;z-index:-2}
.hero-photo img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:56% center}
.photo-note{position:absolute;bottom:var(--kc-space-3);right:var(--kc-space-4);padding:var(--kc-space-1) var(--kc-space-2);color:var(--kc-white);background:var(--kc-bg-overlay);border-radius:var(--kc-radius-xs);font-size:var(--kc-fs-2xs)}
.hero-panel{position:absolute;inset:0;z-index:-1;background:var(--kc-gradient-dark);clip-path:polygon(0 0,58% 0,50% 100%,0 100%)}
.hero-content{min-height:476px;display:flex;align-items:center;padding-block:var(--kc-space-16)}
.hero-text{width:49%;padding-right:var(--kc-space-8)}
.hero-text .kc-overline{color:var(--kc-text-accent-on-dark);font-size:var(--kc-fs-2xs)}
.hero-text h1{font-size:clamp(2rem,3.2vw,2.9rem);line-height:var(--kc-line-heading);font-weight:var(--kc-fw-semibold);margin-bottom:var(--kc-space-5)}
.hero-text h1 span{color:var(--kc-menta-200)}
.hero-copy{font-size:var(--kc-fs-md);color:var(--kc-text-inverse-muted);line-height:var(--kc-line-body);max-width:46ch;margin-bottom:var(--kc-space-6)}
.hero-actions{display:flex;gap:var(--kc-space-3);flex-wrap:wrap}
.hero-actions .kc-btn{font-size:var(--kc-fs-xs);padding-inline:var(--kc-space-4)}
.kc-btn-outline-light{--btn-color:var(--kc-white);--btn-border:var(--kc-text-inverse-subtle)}
.kc-btn-outline-light:hover{--btn-bg:var(--kc-bg-inverse-hover);color:var(--kc-white)}
.solutions{padding-block:var(--kc-space-16)}
.section-heading{text-align:center;max-width:800px;margin:0 auto var(--kc-space-8)}
.section-heading h2{font-size:clamp(1.8rem,2.6vw,var(--kc-fs-4xl));margin-bottom:var(--kc-space-3)}
.section-heading>p:last-child{color:var(--kc-text-secondary);margin:0;font-size:var(--kc-fs-sm)}
.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--kc-space-6);align-items:start}
.business-card{position:relative;overflow:hidden;padding:var(--kc-space-6);box-shadow:var(--kc-shadow-xs)}
.business-card::before{content:'';position:absolute;inset:0 auto auto 0;width:4px;height:80px;border-radius:var(--kc-radius-xs);background:var(--kc-color-primary)}
.business-heading{display:flex;align-items:center;gap:var(--kc-space-4);margin-bottom:var(--kc-space-5)}
.business-heading .kc-feature-icon{margin:0;flex:none;width:52px;height:52px}
.business-heading h3{font-size:var(--kc-fs-2xl);margin:0 0 var(--kc-space-1)}
.business-heading p{margin:0;font-size:var(--kc-fs-sm);color:var(--kc-text-secondary)}
svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.service{border:1px solid var(--kc-border-subtle);border-radius:var(--kc-radius-md);background:var(--kc-bg-surface);margin-top:var(--kc-space-3);overflow:hidden}
.service summary{list-style:none;display:flex;align-items:center;gap:var(--kc-space-4);padding:var(--kc-space-4);cursor:pointer;min-height:96px}
.service summary::-webkit-details-marker{display:none}
.service summary:hover{background:var(--kc-bg-subtle)}
.service summary:focus-visible{outline:2px solid var(--kc-border-focus);outline-offset:-3px}
.service-icon{flex:none;color:var(--kc-color-primary);padding-inline:var(--kc-space-1)}
.service strong{display:block;font-size:var(--kc-fs-sm);font-weight:var(--kc-fw-semibold);margin-bottom:var(--kc-space-1)}
.service summary>span:nth-child(2)>span{display:block;font-size:var(--kc-fs-sm);line-height:var(--kc-line-ui);color:var(--kc-text-secondary)}
.chevron{margin-left:auto;color:var(--kc-color-primary);font-size:var(--kc-fs-xl)}
.service[open] .chevron{transform:rotate(45deg)}
.service-detail{padding:0 var(--kc-space-5) var(--kc-space-5);font-size:var(--kc-fs-sm);color:var(--kc-text-secondary)}
.service-detail p{padding-top:var(--kc-space-4);border-top:1px solid var(--kc-border-subtle)}
.service-detail a{font-weight:var(--kc-fw-semibold);display:block;margin-top:var(--kc-space-3)}
.approach{background:var(--kc-bg-subtle);border-block:1px solid var(--kc-border-subtle);padding-block:var(--kc-space-8)}
.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--kc-space-8)}
.approach-grid>div{position:relative;padding-left:var(--kc-space-12)}
.approach-grid>div+div{border-left:1px solid var(--kc-border-default);padding-left:var(--kc-space-20)}
.principle-number{position:absolute;left:0;top:0;font-size:var(--kc-fs-xl);font-family:var(--kc-font-display);color:var(--kc-color-secondary)}
.approach-grid>div+div .principle-number{left:var(--kc-space-8)}
.approach h3{font-size:var(--kc-fs-md);margin-bottom:var(--kc-space-2)}
.approach p{font-size:var(--kc-fs-sm);color:var(--kc-text-secondary);margin:0}
.contact-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--kc-space-16);padding-block:var(--kc-space-20);align-items:start}
.contact-intro{position:relative;background:var(--kc-gradient-dark);color:var(--kc-white);padding:var(--kc-space-10);border-radius:var(--kc-radius-lg);overflow:hidden;min-height:390px}
.contact-intro .kc-overline{color:var(--kc-text-accent-on-dark)}
.contact-intro h2{font-size:var(--kc-fs-5xl)}
.contact-intro>p:not(.kc-overline){color:var(--kc-text-inverse-muted);max-width:34ch;font-size:var(--kc-fs-sm);position:relative;z-index:1}
.contact-decoration{position:absolute;right:var(--kc-space-5);bottom:-45px;line-height:1;font-size:240px;color:var(--kc-text-inverse-subtle);opacity:.22}
.contact-form{padding:var(--kc-space-8);display:grid;gap:var(--kc-space-4)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--kc-space-4)}
.kc-field{min-width:0}
.kc-input,.kc-select,.kc-textarea{width:100%}
.contact-explanation{font-size:var(--kc-fs-xs);color:var(--kc-text-muted);margin:0}
.contact-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
#send-status{margin:0;padding:var(--kc-space-4);border:1px solid var(--kc-border-default);border-radius:var(--kc-radius-sm);font-size:var(--kc-fs-sm);overflow-wrap:anywhere}
#send-status[data-state="success"]{background:var(--kc-success-soft);color:var(--kc-success-text);border-color:var(--kc-success-border)}
#send-status[data-state="error"]{background:var(--kc-danger-soft);color:var(--kc-danger-text);border-color:var(--kc-danger-border)}
.contact-form>.kc-btn{justify-self:start}
.draft-result{border-top:1px solid var(--kc-border-default);padding-top:var(--kc-space-5)}
.draft-actions{display:flex;gap:var(--kc-space-3);flex-wrap:wrap;margin-top:var(--kc-space-4)}
#copy-status{font-size:var(--kc-fs-sm);margin:var(--kc-space-3) 0 0}
.site-footer{padding-block:var(--kc-space-8) var(--kc-space-5);background:var(--kc-bg-subtle);border-top:1px solid var(--kc-border-subtle)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--kc-space-6)}
.footer-inner img{width:160px;height:auto}
.footer-inner p,.footer-inner>a:last-child{font-size:var(--kc-fs-xs);color:var(--kc-text-secondary);margin:0}
.footer-bottom{display:flex;justify-content:space-between;gap:var(--kc-space-4);font-size:var(--kc-fs-2xs);color:var(--kc-text-muted);margin-top:var(--kc-space-6);padding-top:var(--kc-space-4);border-top:1px solid var(--kc-border-default)}
.business-heading>div,.service summary>span:nth-child(2),.hero-text,.contact-form,.contact-intro{min-width:0}
.service summary>span:nth-child(2){flex:1}
.chevron{flex:none}
.service-detail,.draft-result{overflow-wrap:anywhere}
.kc-btn{max-width:100%}
@media(max-width:1199px){.brand span{display:none}nav{gap:var(--kc-space-4)}.hero-text{width:52%}.hero-panel{clip-path:polygon(0 0,62% 0,54% 100%,0 100%)}.hero-photo{left:51%}.contact-section{gap:var(--kc-space-8)}}
@media(max-width:900px){.menu-toggle{display:inline-flex}.header-inner{position:relative}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:var(--kc-space-5);flex-direction:column;align-items:stretch;background:var(--kc-bg-surface);border:1px solid var(--kc-border-subtle);border-radius:0 0 var(--kc-radius-lg) var(--kc-radius-lg);box-shadow:var(--kc-shadow-md)}nav.is-open{display:flex}nav>a{font-size:var(--kc-fs-sm);padding-block:var(--kc-space-2)}.business-grid{grid-template-columns:1fr}.hero-text{width:57%}.hero-panel{clip-path:polygon(0 0,66% 0,57% 100%,0 100%)}.hero-content{min-height:490px}.hero-photo{left:53%}.contact-section{grid-template-columns:1fr 1.2fr;gap:var(--kc-space-6)}.contact-intro{padding:var(--kc-space-6)}.contact-intro h2{font-size:var(--kc-fs-4xl)}.contact-form{padding:var(--kc-space-5)}.field-row{grid-template-columns:1fr}}
@media(max-width:600px){.brand img{width:155px}.hero-photo{position:relative;inset:auto;height:260px;z-index:0}.hero-photo img{object-position:center 42%}.hero-panel{display:none}.corporate-hero{display:flex;flex-direction:column;background:var(--kc-gradient-dark)}.hero-content{order:-1;min-height:0;padding-block:var(--kc-space-10)}.hero-text{width:100%;padding:0}.hero-text h1{font-size:2.35rem;max-width:18ch}.hero-copy{font-size:var(--kc-fs-sm)}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .kc-btn{white-space:normal;min-height:48px}.solutions{padding-block:var(--kc-space-10)}.section-heading{text-align:left}.business-card{padding:var(--kc-space-5)}.business-heading{gap:var(--kc-space-3)}.business-heading h3{font-size:var(--kc-fs-xl)}.business-heading p{font-size:var(--kc-fs-xs)}.service summary{padding:var(--kc-space-3);gap:var(--kc-space-3)}.service summary>span:nth-child(2)>span{font-size:var(--kc-fs-xs)}.approach-grid{grid-template-columns:1fr;gap:var(--kc-space-6)}.approach-grid>div+div{border:0;padding-left:var(--kc-space-12)}.approach-grid>div+div .principle-number{left:0}.contact-section{grid-template-columns:1fr;padding-block:var(--kc-space-10)}.contact-intro{min-height:0;padding:var(--kc-space-8)}.contact-intro h2{font-size:var(--kc-fs-4xl)}.contact-intro h2 br{display:none}.contact-intro p{max-width:38ch}.footer-inner{flex-wrap:wrap;align-items:flex-start}.footer-inner>a:last-child{width:100%}.footer-bottom{flex-direction:column}.draft-actions .kc-btn{width:100%}}

/* La composición cambia según el espacio disponible, también en tabletas. */
@media(max-width:1100px){
  .menu-toggle{display:inline-flex;min-height:44px}
  .header-inner{position:relative}
  nav{display:none;position:absolute;top:100%;left:0;right:0;padding:var(--kc-space-4);flex-direction:column;align-items:stretch;gap:var(--kc-space-2);background:var(--kc-bg-surface);border:1px solid var(--kc-border-subtle);border-radius:0 0 var(--kc-radius-lg) var(--kc-radius-lg);box-shadow:var(--kc-shadow-md);max-height:calc(100dvh - var(--kc-header-height));overflow-y:auto}
  nav.is-open{display:flex}
  nav>a{display:flex;align-items:center;min-height:44px;font-size:var(--kc-fs-sm);padding:var(--kc-space-3)}
}
@media(max-width:1023px){
  .corporate-hero{display:flex;flex-direction:column;background:var(--kc-gradient-dark)}
  .hero-panel{display:none}
  .hero-content{order:-1;min-height:0;padding-block:var(--kc-space-10)}
  .hero-text{width:100%;padding:0}
  .hero-text h1{font-size:clamp(1.75rem,4.6vw,2.75rem);max-width:25ch}
  .hero-copy{max-width:62ch}
  .hero-photo{position:relative;inset:auto;height:auto;aspect-ratio:2.2;z-index:0}
  .hero-photo img{object-position:center 45%}
  .business-grid{grid-template-columns:1fr}
  .business-card{padding:var(--kc-space-6)}
  .contact-section{grid-template-columns:1fr;gap:var(--kc-space-6)}
  .contact-intro{min-height:0;padding:var(--kc-space-8)}
  .contact-intro h2 br{display:none}
  .contact-intro>p:not(.kc-overline){max-width:60ch}
  .contact-form{padding:var(--kc-space-6)}
  .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
  .approach-grid{grid-template-columns:1fr;gap:var(--kc-space-6)}
  .approach-grid>div+div{border:0;padding-left:var(--kc-space-12)}
  .approach-grid>div+div .principle-number{left:0}
  .hero-actions .kc-btn{min-height:48px;white-space:normal;line-height:var(--kc-line-ui);padding-block:var(--kc-space-3)}
  .kc-input,.kc-select,.kc-textarea{font-size:var(--kc-fs-md)}
  .footer-inner{flex-wrap:wrap;align-items:flex-start}
}
@media(max-width:600px){
  .hero-content{padding-block:var(--kc-space-8)}
  .hero-text h1{font-size:clamp(1.75rem,7.4vw,2.35rem);max-width:none}
  .hero-photo{aspect-ratio:1.55}
  .hero-actions .kc-btn{width:100%;font-size:var(--kc-fs-sm)}
  .business-card{padding:var(--kc-space-4)}
  .business-heading .kc-feature-icon{width:44px;height:44px}
  .business-heading h3{font-size:clamp(1.125rem,4.6vw,1.4rem);line-height:1.25}
  .service summary{gap:var(--kc-space-2);min-height:100px}
  .service summary>span:nth-child(2)>span{font-size:var(--kc-fs-sm);line-height:1.5}
  .service-icon{padding:0}
  .service-icon svg{width:22px;height:22px}
  .contact-intro{padding:var(--kc-space-6)}
  .contact-intro h2{font-size:clamp(1.75rem,7.4vw,2.25rem)}
  .contact-form{padding:var(--kc-space-4)}
  .field-row{grid-template-columns:1fr}
  .contact-form>.kc-btn{width:100%;min-height:48px}
  .draft-actions .kc-btn{min-height:48px;white-space:normal}
  .footer-inner>a:last-child{width:100%}
}
@media(max-width:359px){
  .brand img{width:135px}
  .header-inner{gap:var(--kc-space-2)}
  .menu-toggle{padding-inline:var(--kc-space-3)}
  .hero-text .kc-overline{font-size:var(--kc-fs-2xs);letter-spacing:var(--kc-letter-wide)}
  .section-heading h2{font-size:var(--kc-fs-2xl)}
}
