/* Kabuku 2.0 */
:root{--kb-primary:#F26241;--kb-dark:#00332F;--kb-cream:#F2E1C2;--kb-white:#FFFFFF;--kb-text:#152522;--kb-muted:#54635F;--kb-surface:#FFF9EF;--kb-border:#CDBFA8;--kb-heading-on-dark:#FFFFFF;--kb-text-on-dark:#F2E1C2;--kb-success:#1F7A55;--kb-error:#B42318;--kb-font-heading:"Acme",sans-serif;--kb-font-body:"Plus Jakarta Sans",sans-serif;--kb-radius:22px;--kb-shadow:0 24px 70px rgba(0,51,47,.12);--kb-container:min(1320px,calc(100% - 64px))}
*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--kb-surface);color:var(--kb-text);font-family:var(--kb-font-body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}body.kb-menu-open{overflow:hidden}img{max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{margin:0 0 .55em;color:var(--kb-dark);font-family:var(--kb-font-heading);font-weight:400;line-height:.98;letter-spacing:-.025em}h1{font-size:clamp(3.6rem,7.3vw,8.3rem)}h2{font-size:clamp(2.5rem,4.6vw,5rem)}h3{font-size:clamp(1.55rem,2vw,2.2rem)}p{margin:0 0 1.25em}.screen-reader-text,.kb-honeypot{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}.kb-skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:var(--kb-dark);color:#fff;padding:12px 18px}.kb-skip-link:focus{top:16px}.kb-container{width:var(--kb-container);margin-inline:auto}.kb-narrow{max-width:880px}.kb-section{padding:clamp(80px,9vw,150px) 0}.kb-bg-dark{background:var(--kb-dark);color:var(--kb-text-on-dark)}.kb-bg-dark h1,.kb-bg-dark h2,.kb-bg-dark h3,.kb-bg-dark h4,.kb-bg-dark h5,.kb-bg-dark h6{color:var(--kb-heading-on-dark)!important}.kb-bg-primary{background:var(--kb-primary);color:var(--kb-dark)}.kb-bg-primary h1,.kb-bg-primary h2,.kb-bg-primary h3,.kb-bg-primary h4,.kb-bg-primary h5,.kb-bg-primary h6{color:var(--kb-white)!important}.kb-bg-cream{background:var(--kb-cream)}.kb-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 22px;color:var(--kb-primary);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.kb-eyebrow:before{content:"";width:30px;height:2px;background:currentColor}.kb-bg-dark .kb-eyebrow{color:var(--kb-primary)}.kb-bg-primary .kb-eyebrow{color:var(--kb-dark)}.kb-lead{max-width:760px;font-size:clamp(1.12rem,1.5vw,1.42rem);line-height:1.55}.kb-microcopy{max-width:570px;margin-top:14px;font-size:.82rem;color:var(--kb-muted)}.kb-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:14px 23px;border:2px solid transparent;border-radius:999px;text-decoration:none;font-size:.91rem;font-weight:800;line-height:1.15;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s,color .2s}.kb-button:hover{transform:translateY(-3px)}.kb-button--primary{background:var(--kb-primary);color:var(--kb-dark);box-shadow:0 8px 0 rgba(0,51,47,.12)}.kb-button--primary:hover{box-shadow:0 12px 0 rgba(0,51,47,.18)}.kb-button--dark{background:var(--kb-dark);color:var(--kb-white)}.kb-button--outline{border-color:var(--kb-dark);color:var(--kb-dark);background:transparent}.kb-bg-dark .kb-button--outline{border-color:var(--kb-white);color:var(--kb-white)}.kb-button--small{min-height:44px;padding:11px 18px}.kb-button--full{width:100%}.kb-text-link{display:inline-flex;gap:9px;align-items:center;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}.kb-site-header{position:sticky;top:0;z-index:1000;background:rgba(242,225,194,.94);border-bottom:1px solid transparent;backdrop-filter:blur(16px);transition:.25s}.kb-site-header.is-scrolled{border-color:rgba(0,51,47,.17);box-shadow:0 8px 25px rgba(0,51,47,.06)}.kb-header-inner{display:flex;align-items:center;gap:28px;min-height:92px}.kb-logo{display:flex;flex:0 0 auto;width:158px}.kb-logo img{display:block;width:100%;height:auto}.kb-primary-nav{margin-left:auto}.kb-menu{display:flex;align-items:center;gap:5px;margin:0;padding:0;list-style:none}.kb-menu>li{position:relative}.kb-menu a{display:block;padding:14px 12px;color:var(--kb-dark);font-size:.87rem;font-weight:700;text-decoration:none}.kb-menu>li.menu-item-has-children>a{display:flex;align-items:center;gap:8px}.kb-menu>li.menu-item-has-children>a:after{content:"";display:inline-block;flex:0 0 7px;width:7px;height:7px;margin-top:-4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:.72;transform:rotate(45deg);transform-origin:center;transition:transform .2s ease,opacity .2s ease}.kb-menu>li.menu-item-has-children:hover>a:after,.kb-menu>li.menu-item-has-children:focus-within>a:after{opacity:1;transform:translateY(4px) rotate(225deg)}.kb-menu .sub-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:280px;margin:0;padding:12px;background:var(--kb-white);border:1px solid var(--kb-border);border-radius:18px;box-shadow:var(--kb-shadow);list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.kb-menu li:hover>.sub-menu,.kb-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.kb-menu .sub-menu a{padding:10px 12px;border-radius:10px}.kb-menu .sub-menu a:hover{background:var(--kb-cream)}.kb-menu-toggle{display:none;width:46px;height:46px;padding:11px;border:0;border-radius:50%;background:var(--kb-dark)}.kb-menu-toggle>span:not(.screen-reader-text){display:block;height:2px;margin:4px 0;background:#fff}.kb-home-hero{position:relative;overflow:hidden;padding:clamp(70px,9vw,140px) 0 100px}.kb-home-hero__grid,.kb-page-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.72fr);gap:clamp(45px,7vw,110px);align-items:center}.kb-home-hero__copy h1{max-width:1000px}.kb-home-hero__actions{display:flex;flex-wrap:wrap;gap:23px;align-items:center;margin-top:36px}.kb-trust-line{display:flex;flex-wrap:wrap;gap:14px 24px;margin-top:42px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.kb-trust-line span:before{content:"●";color:var(--kb-primary);margin-right:8px}.kb-hero-word{position:absolute;right:-2vw;bottom:-.22em;color:rgba(242,98,65,.14);font-family:var(--kb-font-heading);font-size:clamp(13rem,35vw,40rem);line-height:.7;pointer-events:none}.kb-page-hero{padding:35px 0 clamp(80px,9vw,140px);overflow:hidden}.kb-page-hero .kb-breadcrumbs{margin-bottom:70px}.kb-page-hero__copy h1{font-size:clamp(3.2rem,6vw,7rem)}.kb-page-hero__copy .kb-button{margin-top:22px}.kb-check-list{display:grid;gap:11px;margin:30px 0;padding:0;list-style:none}.kb-check-list li{position:relative;padding-left:28px}.kb-check-list li:before{content:"↗";position:absolute;left:0;color:var(--kb-primary);font-weight:800}.kb-hero-art{position:relative;min-height:470px}.kb-hero-art span{position:absolute;display:block;border:2px solid var(--kb-dark);border-radius:50%}.kb-hero-art span:nth-child(1){inset:5% 20%;background:var(--kb-primary)}.kb-hero-art span:nth-child(2){width:55%;aspect-ratio:1;right:0;bottom:0;background:var(--kb-dark)}.kb-hero-art span:nth-child(3){width:25%;aspect-ratio:1;left:5%;bottom:5%;background:var(--kb-white)}.kb-breadcrumbs{display:flex;gap:9px;align-items:center;font-size:.78rem;font-weight:700}.kb-breadcrumbs a{text-decoration:none}.kb-hero-form{position:relative;padding:28px;background:var(--kb-white);border:1px solid rgba(0,51,47,.16);border-radius:var(--kb-radius);box-shadow:var(--kb-shadow)}.kb-form-head h2{font-size:2.1rem}.kb-form-head p{font-size:.9rem;color:var(--kb-muted)}.kb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kb-lead-form label{display:block;margin-bottom:13px;color:var(--kb-dark);font-size:.78rem;font-weight:800}.kb-lead-form label span{color:var(--kb-primary)}.kb-lead-form label small{font-weight:500}.kb-lead-form input,.kb-lead-form select,.kb-lead-form textarea{width:100%;margin-top:6px;padding:12px 13px;border:1px solid var(--kb-border);border-radius:10px;background:var(--kb-surface);color:var(--kb-text);font-size:.9rem;outline:none}.kb-lead-form input:focus,.kb-lead-form select:focus,.kb-lead-form textarea:focus{border-color:var(--kb-primary);box-shadow:0 0 0 3px rgba(242,98,65,.18)}.kb-consent{display:flex!important;gap:10px;align-items:flex-start}.kb-consent input{width:18px!important;margin:4px 0 0!important}.kb-form-privacy{margin:10px 0 0;text-align:center;font-size:.7rem;color:var(--kb-muted)}.kb-form-message{margin-bottom:18px;padding:12px;border-radius:10px;font-size:.86rem;font-weight:700}.kb-form-message--success{background:#e7f6ee;color:var(--kb-success)}.kb-form-message--error{background:#feeceb;color:var(--kb-error)}.kb-marquee{overflow:hidden;padding:21px 0;background:var(--kb-primary);color:var(--kb-dark);border-block:2px solid var(--kb-dark)}.kb-marquee__track{display:flex;width:max-content;align-items:center;gap:30px;padding-left:20px;animation:kb-marquee 35s linear infinite;font-family:var(--kb-font-heading);font-size:clamp(1.5rem,2.6vw,2.6rem);white-space:nowrap}@keyframes kb-marquee{to{transform:translateX(-25%)}}.kb-section-heading{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:60px;align-items:end;margin-bottom:65px}.kb-section-heading>p{margin:0;font-size:1.04rem}.kb-card-grid{display:grid;gap:20px}.kb-card-grid--3{grid-template-columns:repeat(3,1fr)}.kb-goal-card{position:relative;min-height:310px;padding:30px;border:1px solid var(--kb-border);border-radius:var(--kb-radius);background:var(--kb-white);text-decoration:none;transition:.25s}.kb-goal-card:hover{transform:translateY(-8px);background:var(--kb-cream);box-shadow:var(--kb-shadow)}.kb-goal-card>span{font-weight:800;color:var(--kb-primary)}.kb-goal-card h3{margin-top:68px}.kb-goal-card p{color:var(--kb-muted)}.kb-goal-card b{position:absolute;right:28px;bottom:24px;font-size:1.4rem}.kb-system .kb-section-heading{border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:55px}.kb-system-grid{display:grid;grid-template-columns:repeat(4,1fr)}.kb-system-grid article{min-height:280px;padding:28px;border-left:1px solid rgba(255,255,255,.2)}.kb-system-grid article:first-child{border-left:0}.kb-system-grid span{color:var(--kb-primary);font-weight:800}.kb-system-grid h3{margin-top:75px}.kb-system-grid p{font-size:.9rem}.kb-service-rows{border-top:1px solid var(--kb-border)}.kb-service-rows>a{display:grid;grid-template-columns:70px 1fr 1fr 45px;gap:25px;align-items:center;padding:35px 10px;border-bottom:1px solid var(--kb-border);text-decoration:none;transition:.2s}.kb-service-rows>a:hover{padding-inline:25px;background:var(--kb-cream)}.kb-service-rows h3{margin:0}.kb-service-rows p{margin:0;color:var(--kb-muted)}.kb-service-rows span{color:var(--kb-primary);font-weight:800}.kb-creative__grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.kb-creative__grid>div:first-child p{max-width:620px}.kb-ad-stack{position:relative;min-height:600px}.kb-ad-card{position:absolute;width:54%;aspect-ratio:9/13;padding:24px;border:2px solid var(--kb-dark);border-radius:26px;background:var(--kb-cream);box-shadow:12px 14px 0 var(--kb-dark);display:flex;flex-direction:column;justify-content:space-between}.kb-ad-card small,.kb-ad-card span{font-weight:800}.kb-ad-card strong{font-family:var(--kb-font-heading);font-size:2.3rem;line-height:1}.kb-ad-card--one{left:0;top:6%;transform:rotate(-7deg)}.kb-ad-card--two{right:0;top:0;background:var(--kb-white);transform:rotate(7deg)}.kb-ad-card--three{left:25%;bottom:0;background:var(--kb-dark);color:var(--kb-white);transform:rotate(-1deg)}.kb-longform{background:var(--kb-surface)}.kb-longform__grid{display:grid;grid-template-columns:250px minmax(0,850px);justify-content:center;gap:clamp(45px,7vw,110px);align-items:start}.kb-content-rail{position:sticky;top:130px;padding-top:12px;color:var(--kb-muted);font-size:.86rem}.kb-content-rail .kb-button{margin-top:20px}.kb-toc{display:grid;gap:8px;margin:20px 0}.kb-toc a{color:var(--kb-muted);font-size:.78rem;text-decoration:none}.kb-entry-content{min-width:0}.kb-copy-section{padding:52px 0;border-bottom:1px solid var(--kb-border)}.kb-copy-section:first-child{padding-top:0}.kb-copy-section h2{font-size:clamp(2.2rem,3.4vw,3.7rem)}.kb-copy-section h3{margin-top:35px;font-size:1.65rem;line-height:1.1}.kb-copy-section ul,.kb-copy-section ol{padding-left:1.3em}.kb-copy-section li{margin:.45em 0}.kb-copy-section blockquote{margin:35px 0;padding:25px 30px;border-left:5px solid var(--kb-primary);background:var(--kb-cream)}.kb-answer-box{margin:0 0 35px;padding:38px;border:1px solid var(--kb-border);border-radius:var(--kb-radius)}.kb-answer-box h2{font-size:2.5rem}.kb-brand-section{margin:50px -50px;padding:55px 50px;border-radius:var(--kb-radius)}.kb-steps-section ol{counter-reset:kb-step;padding:0;list-style:none}.kb-steps-section ol li{counter-increment:kb-step;display:grid;grid-template-columns:55px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--kb-border)}.kb-steps-section ol li:before{content:counter(kb-step,decimal-leading-zero);color:var(--kb-primary);font-weight:800}.kb-faq{border-top:1px solid var(--kb-border)}.kb-faq:last-child{border-bottom:1px solid var(--kb-border)}.kb-faq summary{position:relative;padding:22px 50px 22px 0;color:var(--kb-dark);font-family:var(--kb-font-heading);font-size:1.45rem;line-height:1.15;cursor:pointer;list-style:none}.kb-faq summary:after{content:"+";position:absolute;right:4px;top:17px;font-family:var(--kb-font-body);font-size:1.5rem}.kb-faq[open] summary:after{content:"−"}.kb-faq__answer{padding:0 40px 18px 0;color:var(--kb-muted)}.kb-proof-strip{background:var(--kb-dark);color:var(--kb-cream)}.kb-proof-strip .kb-container{display:flex;justify-content:space-between;gap:20px;padding-block:20px;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.kb-proof-strip span:before{content:"✦";color:var(--kb-primary);margin-right:8px}.kb-related{background:var(--kb-cream)}.kb-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kb-related-card{display:flex;justify-content:space-between;gap:20px;padding:28px;border:1px solid var(--kb-dark);border-radius:18px;text-decoration:none;font-family:var(--kb-font-heading);font-size:1.55rem;line-height:1.1;transition:.2s}.kb-related-card:hover{background:var(--kb-primary);transform:translateY(-5px)}.kb-final-form__grid{display:grid;grid-template-columns:1fr minmax(380px,.72fr);gap:80px;align-items:start}.kb-final-form .kb-hero-form,.kb-final-form .kb-lead-form{background:var(--kb-white);color:var(--kb-text);border-radius:var(--kb-radius)}.kb-final-form .kb-lead-form{padding:28px}.kb-partner-band__grid{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.kb-partner-band h2{max-width:850px}.kb-partner-band p{max-width:700px}.kb-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.kb-post-card{padding:28px;border:1px solid var(--kb-border);border-radius:var(--kb-radius);background:#fff}.kb-post-card h2{font-size:2rem}.kb-post-card h2 a{text-decoration:none}.kb-article-hero{padding:100px 0}.kb-404{min-height:70vh;padding:120px 0}.kb-404 h1{font-size:clamp(4rem,8vw,8rem)}.kb-footer{padding-top:90px}.kb-footer__top{display:grid;grid-template-columns:1.25fr .65fr .85fr 1fr;gap:55px;padding-bottom:75px}.kb-footer__brand .kb-logo{width:210px;margin-bottom:30px}.kb-footer__brand p{max-width:370px}.kb-footer__brand>a,.kb-footer__col>a{display:block;margin:9px 0;text-decoration:none}.kb-footer h2{font-family:var(--kb-font-body);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.kb-footer__offices{display:grid;gap:25px}.kb-footer__offices p{font-size:.88rem}.kb-footer__legal{padding:24px 0;border-top:1px solid rgba(255,255,255,.18);background:#002824}.kb-footer__legal .kb-container{display:flex;justify-content:space-between;align-items:center;gap:25px}.kb-footer__links{display:flex;flex-wrap:wrap;gap:14px 24px;font-size:.72rem}.kb-vyro-credit{color:var(--kb-primary);font-size:.76rem;font-weight:800;text-decoration:none}.kb-mobile-cta{display:none}.kb-admin-wrap{max-width:1100px}.kb-admin-hero{padding:35px;border-radius:20px;background:#F2E1C2}.kb-admin-hero img{width:210px}.kb-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.kb-admin-card{padding:25px;border:1px solid #c3c4c7;background:#fff;border-radius:12px}
@media(max-width:1100px){:root{--kb-container:min(100% - 40px,1100px)}.kb-header-cta{display:none}.kb-menu-toggle{display:block;margin-left:auto}.kb-primary-nav{position:fixed;inset:92px 0 auto;background:var(--kb-cream);border-bottom:1px solid var(--kb-dark);max-height:calc(100vh - 92px);overflow:auto;opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s}.kb-primary-nav.is-open{opacity:1;visibility:visible;transform:none}.kb-menu{display:block;padding:25px}.kb-menu a{font-size:1.1rem}.kb-menu .sub-menu{position:static;display:block;min-width:0;padding:0 0 8px 20px;background:transparent;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}.kb-home-hero__grid,.kb-page-hero__grid,.kb-final-form__grid{grid-template-columns:1fr}.kb-home-hero__copy{max-width:900px}.kb-hero-form{max-width:760px}.kb-card-grid--3{grid-template-columns:repeat(2,1fr)}.kb-system-grid{grid-template-columns:repeat(2,1fr)}.kb-system-grid article:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.2)}.kb-system-grid article:nth-child(4){border-top:1px solid rgba(255,255,255,.2)}.kb-creative__grid{gap:40px}.kb-longform__grid{grid-template-columns:1fr;max-width:900px}.kb-content-rail{position:static;display:none}.kb-footer__top{grid-template-columns:1.2fr 1fr 1fr}.kb-footer__offices{grid-column:1/-1;grid-template-columns:1fr 1fr}}
@media(max-width:760px){:root{--kb-container:calc(100% - 32px)}body{font-size:16px}h1{font-size:clamp(3.1rem,17vw,5.5rem)}h2{font-size:clamp(2.3rem,11vw,3.5rem)}.kb-section{padding:75px 0}.kb-header-inner{min-height:76px}.kb-primary-nav{inset:76px 0 auto}.kb-logo{width:125px}.kb-home-hero{padding:60px 0 70px}.kb-page-hero{padding-top:25px}.kb-page-hero .kb-breadcrumbs{margin-bottom:40px}.kb-home-hero__grid,.kb-page-hero__grid{gap:45px}.kb-hero-form{padding:19px;margin-inline:-4px}.kb-form-grid{grid-template-columns:1fr}.kb-section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.kb-card-grid--3{grid-template-columns:1fr}.kb-goal-card{min-height:245px}.kb-goal-card h3{margin-top:45px}.kb-system-grid{grid-template-columns:1fr}.kb-system-grid article{min-height:220px;border-left:0!important;border-top:1px solid rgba(255,255,255,.2)}.kb-system-grid article:first-child{border-top:0}.kb-service-rows>a{grid-template-columns:45px 1fr 30px}.kb-service-rows p{grid-column:2/-1}.kb-creative__grid{grid-template-columns:1fr}.kb-ad-stack{min-height:460px}.kb-ad-card{width:62%;padding:18px}.kb-ad-card strong{font-size:1.65rem}.kb-copy-section{padding:40px 0}.kb-answer-box{padding:25px}.kb-brand-section{margin:35px -16px;padding:38px 20px;border-radius:0}.kb-proof-strip .kb-container{overflow-x:auto;justify-content:flex-start;white-space:nowrap}.kb-related__grid,.kb-post-grid{grid-template-columns:1fr}.kb-partner-band__grid{grid-template-columns:1fr}.kb-footer__top{grid-template-columns:1fr 1fr}.kb-footer__brand,.kb-footer__offices{grid-column:1/-1}.kb-footer__offices{grid-template-columns:1fr}.kb-footer__legal .kb-container{align-items:flex-start;flex-direction:column}.kb-mobile-cta{position:fixed;z-index:999;right:12px;bottom:12px;left:12px;display:block;padding:14px;border-radius:999px;background:var(--kb-primary);color:var(--kb-dark);box-shadow:0 12px 30px rgba(0,0,0,.25);text-align:center;font-weight:800;text-decoration:none}.kb-footer{padding-bottom:75px}.kb-admin-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Kabuku 2.1.0 — cabecera, bloques AEO y Contact Form 7 */
.kb-site-header{
    background:rgba(0,51,47,.97);
    border-bottom-color:rgba(255,255,255,.10);
}
.kb-site-header.is-scrolled{
    border-color:rgba(255,255,255,.16);
    box-shadow:0 10px 30px rgba(0,28,25,.18);
}
.kb-header-inner{min-width:0}
.kb-site-header .kb-logo,
.kb-site-header .custom-logo-link{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    width:var(--kb-header-logo-width,168px);
    max-width:var(--kb-header-logo-width,168px);
    min-width:0;
}
.kb-site-header .kb-logo img,
.kb-site-header .custom-logo-link img,
.kb-site-header img.custom-logo{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    max-height:48px;
    object-fit:contain;
    object-position:left center;
}
.kb-primary-nav{min-width:0}
.kb-menu a{color:var(--kb-white)}
.kb-menu .sub-menu a{color:var(--kb-dark)}
.kb-header-cta{background:var(--kb-primary);color:var(--kb-dark)}
.kb-menu-toggle{background:var(--kb-primary)}
.kb-menu-toggle>span:not(.screen-reader-text){background:var(--kb-dark)}

/* El bloque de respuesta directa usa el mismo ancho visual que Por qué Kabuku. */
.kb-answer-box{
    margin:0 -50px 35px;
    padding:55px 50px;
    border-radius:var(--kb-radius);
}
.kb-answer-box h2{
    max-width:900px;
    font-size:clamp(2.2rem,3.4vw,3.7rem);
}

/* Contact Form 7 hereda el sistema visual de Kabuku. */
.kb-cf7-form .wpcf7,
.kb-cf7-form .wpcf7-form{width:100%}
.kb-cf7-form .wpcf7-form{margin:0}
.kb-cf7-form p{margin:0 0 14px}
.kb-cf7-form br{display:none}
.kb-cf7-form label{
    display:block;
    margin:0;
    color:var(--kb-dark);
    font-size:.78rem;
    font-weight:800;
}
.kb-cf7-form .wpcf7-form-control-wrap{display:block;width:100%}
.kb-cf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.kb-cf7-form select,
.kb-cf7-form textarea{
    width:100%;
    margin-top:6px;
    padding:12px 13px;
    border:1px solid var(--kb-border);
    border-radius:10px;
    background:var(--kb-surface);
    color:var(--kb-text);
    font-family:var(--kb-font-body);
    font-size:.9rem;
    line-height:1.45;
    outline:none;
    transition:border-color .2s,box-shadow .2s,background .2s;
}
.kb-cf7-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
.kb-cf7-form select:focus,
.kb-cf7-form textarea:focus{
    border-color:var(--kb-primary);
    background:var(--kb-white);
    box-shadow:0 0 0 3px rgba(242,98,65,.18);
}
.kb-cf7-form textarea{min-height:130px;resize:vertical}
.kb-cf7-form .kb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kb-cf7-form .kb-form-grid>p{margin:0}
.kb-cf7-form .wpcf7-list-item{margin:0}
.kb-cf7-form .wpcf7-acceptance label,
.kb-cf7-form .kb-consent{
    display:flex;
    gap:10px;
    align-items:flex-start;
    font-weight:500;
    line-height:1.45;
}
.kb-cf7-form input[type="checkbox"],
.kb-cf7-form input[type="radio"]{
    flex:0 0 auto;
    width:18px;
    height:18px;
    margin:3px 0 0;
    accent-color:var(--kb-primary);
}
.kb-cf7-form input[type="submit"],
.kb-cf7-form button[type="submit"]{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:100%;
    min-height:52px;
    padding:14px 23px;
    border:2px solid transparent;
    border-radius:999px;
    background:var(--kb-primary);
    color:var(--kb-dark);
    font-family:var(--kb-font-body);
    font-size:.91rem;
    font-weight:800;
    line-height:1.15;
    cursor:pointer;
    box-shadow:0 8px 0 rgba(0,51,47,.12);
    transition:transform .2s,box-shadow .2s,background .2s;
}
.kb-cf7-form input[type="submit"]:hover,
.kb-cf7-form button[type="submit"]:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 0 rgba(0,51,47,.18);
}
.kb-cf7-form .wpcf7-spinner{display:block;margin:12px auto 0}
.kb-cf7-form .wpcf7-not-valid-tip{
    margin-top:5px;
    color:var(--kb-error);
    font-size:.72rem;
    font-weight:700;
}
.kb-cf7-form .wpcf7-response-output{
    margin:16px 0 0!important;
    padding:12px 14px!important;
    border:0!important;
    border-radius:10px;
    background:#e7f6ee;
    color:var(--kb-success);
    font-size:.84rem;
    font-weight:700;
}
.kb-cf7-form form.invalid .wpcf7-response-output,
.kb-cf7-form form.unaccepted .wpcf7-response-output,
.kb-cf7-form form.failed .wpcf7-response-output{
    background:#feeceb;
    color:var(--kb-error);
}

@media(max-width:1100px){
    .kb-site-header .kb-logo,.kb-site-header .custom-logo-link{width:min(var(--kb-header-logo-width,168px),145px);max-width:145px}
    .kb-primary-nav{background:var(--kb-dark);border-bottom-color:rgba(255,255,255,.15)}
    .kb-menu .sub-menu a{color:var(--kb-white)}
    .kb-menu .sub-menu a:hover{background:rgba(255,255,255,.08)}
}
@media(max-width:760px){
    .kb-site-header .kb-logo,.kb-site-header .custom-logo-link{width:min(var(--kb-header-logo-width,168px),120px);max-width:120px}
    .kb-site-header .kb-logo img,.kb-site-header .custom-logo-link img,.kb-site-header img.custom-logo{max-height:38px}
    .kb-answer-box{margin:0 -16px 35px;padding:38px 20px;border-radius:0}
    .kb-answer-box h2{font-size:clamp(2.05rem,10vw,3.1rem)}
    .kb-cf7-form .kb-form-grid{grid-template-columns:1fr}
}

/* =========================================================
   Kabuku 2.2.0 — bloques amplios, hero de home y navegación
   ========================================================= */

/*
 * Los bloques Respuesta directa y Por qué Kabuku comparten
 * exactamente el mismo ancho visual en todas las landings.
 */
.kb-entry-content > .kb-answer-box,
.kb-entry-content > .kb-brand-section,
.kb-answer-box,
.kb-brand-section {
    width: calc(100% + 100px) !important;
    max-width: none !important;
    margin-right: -50px !important;
    margin-left: -50px !important;
    padding: 55px 50px !important;
    border-radius: var(--kb-radius) !important;
}
.kb-answer-box {
    margin-top: 0 !important;
    margin-bottom: 50px !important;
}
.kb-brand-section {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}
.kb-answer-box .kb-copy-section__body,
.kb-brand-section .kb-copy-section__body {
    width: 100%;
    max-width: none;
}

/* Hero oscuro por defecto en la home. El formulario conserva fondo blanco. */
.kb-home-hero.kb-bg-dark .kb-home-hero__copy,
.kb-home-hero.kb-bg-dark .kb-lead,
.kb-home-hero.kb-bg-dark .kb-trust-line {
    color: var(--kb-text-on-dark);
}
.kb-home-hero.kb-bg-dark .kb-text-link {
    color: var(--kb-white);
}
.kb-home-hero.kb-bg-dark .kb-hero-word {
    color: rgba(242, 98, 65, .18);
}
.kb-home-hero.kb-bg-dark .kb-hero-form {
    color: var(--kb-text);
}
.kb-home-hero.kb-bg-dark .kb-hero-form h1,
.kb-home-hero.kb-bg-dark .kb-hero-form h2,
.kb-home-hero.kb-bg-dark .kb-hero-form h3,
.kb-home-hero.kb-bg-dark .kb-hero-form h4,
.kb-home-hero.kb-bg-dark .kb-hero-form h5,
.kb-home-hero.kb-bg-dark .kb-hero-form h6 {
    color: var(--kb-dark) !important;
}
.kb-home-hero.kb-bg-dark .kb-hero-form .kb-eyebrow {
    color: var(--kb-muted);
}

/* El chevron del menú se dibuja con CSS, sin caracteres tipográficos. */
.kb-menu > li.menu-item-has-children > a {
    display: flex;
    align-items: center;
    gap: 8px;
}
.kb-menu > li.menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    flex: 0 0 7px;
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    opacity: .72;
    transform: rotate(45deg);
    transform-origin: center;
    transition: transform .2s ease, opacity .2s ease;
}
.kb-menu > li.menu-item-has-children:hover > a::after,
.kb-menu > li.menu-item-has-children:focus-within > a::after {
    opacity: 1;
    transform: translateY(4px) rotate(225deg);
}

@media (max-width: 1100px) {
    /* En el menú móvil los submenús ya están desplegados: no hace falta icono. */
    .kb-menu > li.menu-item-has-children > a::after {
        display: none;
    }
}

@media (max-width: 760px) {
    .kb-entry-content > .kb-answer-box,
    .kb-entry-content > .kb-brand-section,
    .kb-answer-box,
    .kb-brand-section {
        width: calc(100% + 32px) !important;
        margin-right: -16px !important;
        margin-left: -16px !important;
        padding: 38px 20px !important;
        border-radius: 0 !important;
    }
    .kb-answer-box {
        margin-top: 0 !important;
        margin-bottom: 35px !important;
    }
    .kb-brand-section {
        margin-top: 35px !important;
        margin-bottom: 35px !important;
    }
}



/* =========================================================
   Kabuku 2.3.0 — coherencia de landings, navegación y contacto
   ========================================================= */

/* Respuesta directa y Por qué Kabuku: misma caja y misma anchura real. */
.kb-entry-content > section.kb-copy-section.kb-answer-box,
.kb-entry-content > section.kb-copy-section.kb-brand-section {
    display:block !important;
    width:calc(100% + 100px) !important;
    max-width:none !important;
    min-width:0 !important;
    margin:50px -50px !important;
    padding:55px 50px !important;
    border-radius:var(--kb-radius) !important;
    overflow:hidden;
}
.kb-entry-content > section.kb-copy-section.kb-answer-box:first-child {
    margin-top:0 !important;
}
.kb-entry-content > section.kb-copy-section.kb-answer-box .kb-copy-section__body,
.kb-entry-content > section.kb-copy-section.kb-brand-section .kb-copy-section__body {
    width:100% !important;
    max-width:none !important;
}
.kb-entry-content > section.kb-copy-section.kb-answer-box h2,
.kb-entry-content > section.kb-copy-section.kb-brand-section h2 {
    max-width:100% !important;
}

/* Hero de home oscuro con profundidad, manteniendo el formulario blanco. */
.kb-home-hero.kb-bg-dark {
    background:
        radial-gradient(circle at 78% 18%, rgba(242,98,65,.23) 0, rgba(242,98,65,0) 27%),
        radial-gradient(circle at 7% 88%, rgba(242,225,194,.08) 0, rgba(242,225,194,0) 25%),
        var(--kb-dark);
}
.kb-home-hero.kb-bg-dark .kb-home-hero__copy h1 {
    color:var(--kb-heading-on-dark) !important;
}
.kb-home-hero.kb-bg-dark .kb-hero-form {
    border-color:rgba(255,255,255,.25);
    box-shadow:0 28px 80px rgba(0,20,18,.34);
}

/* Indicador de submenu inequívoco: un + circular, no una flecha tipográfica. */
.kb-menu > li.menu-item-has-children > a::after {
    content:"+" !important;
    display:inline-grid !important;
    place-items:center;
    flex:0 0 17px !important;
    width:17px !important;
    height:17px !important;
    margin:0 !important;
    border:1px solid rgba(255,255,255,.52) !important;
    border-radius:50%;
    color:currentColor;
    font-family:var(--kb-font-body);
    font-size:13px;
    font-weight:600;
    line-height:1;
    opacity:.86;
    transform:none !important;
    transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease !important;
}
.kb-menu > li.menu-item-has-children:hover > a::after,
.kb-menu > li.menu-item-has-children:focus-within > a::after {
    border-color:var(--kb-primary) !important;
    background:var(--kb-primary);
    color:var(--kb-dark);
    opacity:1;
    transform:rotate(45deg) !important;
}

/* CF7: soporte nativo de los campos .kabuku-* entregados para empresas y agencias. */
.kb-cf7-form .kabuku-form-grid,
.kb-cf7-form .kabuku-form-grid *,
.kb-cf7-form .kabuku-form-grid *::before,
.kb-cf7-form .kabuku-form-grid *::after { box-sizing:border-box; }
.kb-cf7-form .kabuku-form-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 16px;
    width:100%;
}
.kb-cf7-form .kabuku-field {
    display:flex;
    flex-direction:column;
    min-width:0;
    margin:0;
}
.kb-cf7-form .kabuku-field--full { grid-column:1/-1; }
.kb-cf7-form .kabuku-field:not(.kabuku-field--full):not(.kabuku-acceptance):not(.kabuku-submit) > label {
    display:flex;
    align-items:flex-end;
    min-height:42px;
    margin:0 0 9px;
}
.kb-cf7-form .kabuku-field--full:not(.kabuku-acceptance):not(.kabuku-submit) > label {
    margin:0 0 9px;
}
.kb-cf7-form .kabuku-field > label {
    color:var(--kb-dark);
    font-size:.78rem;
    font-weight:800;
    line-height:1.35;
}
.kb-cf7-form .kabuku-field > label span,
.kb-cf7-form .kabuku-acceptance span { color:var(--kb-primary); }
.kb-cf7-form .kabuku-form-grid .wpcf7-form-control-wrap { display:block;width:100%;min-width:0;margin:0; }
.kb-cf7-form .kabuku-form-grid input[type="text"],
.kb-cf7-form .kabuku-form-grid input[type="email"],
.kb-cf7-form .kabuku-form-grid input[type="tel"],
.kb-cf7-form .kabuku-form-grid input[type="url"],
.kb-cf7-form .kabuku-form-grid input[type="number"],
.kb-cf7-form .kabuku-form-grid select {
    width:100%;
    height:54px;
    min-height:54px;
    margin:0;
}
.kb-cf7-form .kabuku-form-grid textarea { width:100%;min-height:150px;margin:0;resize:vertical; }
.kb-cf7-form .kabuku-acceptance .wpcf7-list-item { margin:0; }
.kb-cf7-form .kabuku-acceptance label { display:flex;align-items:flex-start;gap:10px;margin:0; }
.kb-cf7-form .kabuku-submit { text-align:center; }
.kb-cf7-form .kabuku-form-privacy { margin:12px 0 0; }

/* Página de contacto dedicada. */
.kb-contact-hero {
    position:relative;
    overflow:hidden;
    padding:36px 0 clamp(90px,10vw,155px);
    background:
        radial-gradient(circle at 82% 22%, rgba(242,98,65,.28), transparent 28%),
        var(--kb-dark);
}
.kb-contact-hero .kb-breadcrumbs { margin-bottom:clamp(55px,7vw,95px);color:var(--kb-text-on-dark); }
.kb-contact-hero__grid {
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
    gap:clamp(55px,9vw,140px);
    align-items:center;
}
.kb-contact-hero__copy h1 {
    max-width:900px;
    color:var(--kb-heading-on-dark) !important;
    font-size:clamp(4rem,8vw,9rem);
}
.kb-contact-hero__copy .kb-lead { color:var(--kb-text-on-dark); }
.kb-contact-hero__actions { display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:34px; }
.kb-contact-hero__actions .kb-text-link { color:var(--kb-white); }
.kb-contact-hero__visual { position:relative;min-height:430px; }
.kb-contact-hero__visual strong {
    position:absolute;
    inset:50% auto auto 50%;
    z-index:2;
    color:var(--kb-primary);
    font-family:var(--kb-font-heading);
    font-size:clamp(5rem,10vw,11rem);
    line-height:.8;
    transform:translate(-50%,-50%) rotate(-7deg);
}
.kb-contact-orbit { position:absolute;display:block;border:2px solid var(--kb-primary);border-radius:50%; }
.kb-contact-orbit--one { inset:4% 13% 12% 4%; }
.kb-contact-orbit--two { inset:24% 0 0 27%;border-color:var(--kb-cream); }
.kb-contact-section { background:var(--kb-surface); }
.kb-contact-section__grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(400px,.78fr);
    gap:clamp(55px,8vw,120px);
    align-items:start;
}
.kb-contact-details { position:sticky;top:130px; }
.kb-contact-details > p:not(.kb-eyebrow) { max-width:700px;font-size:1.06rem; }
.kb-contact-points { margin-top:42px;border-top:1px solid var(--kb-border); }
.kb-contact-points article {
    display:grid;
    grid-template-columns:48px 1fr;
    gap:20px;
    padding:25px 0;
    border-bottom:1px solid var(--kb-border);
}
.kb-contact-points article > span { color:var(--kb-primary);font-weight:800; }
.kb-contact-points h3 { margin:0 0 7px;font-size:1.55rem; }
.kb-contact-points p { margin:0;color:var(--kb-muted);font-size:.9rem; }
.kb-contact-form-card {
    padding:clamp(25px,4vw,42px);
    border:1px solid rgba(0,51,47,.16);
    border-radius:var(--kb-radius);
    background:var(--kb-white);
    box-shadow:var(--kb-shadow);
}
.kb-contact-form-card .kb-form-head h2 { font-size:clamp(2.2rem,3.4vw,3.35rem); }
.kb-contact-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.kb-contact-card {
    position:relative;
    min-height:235px;
    padding:30px;
    border:1px solid var(--kb-dark);
    border-radius:var(--kb-radius);
    background:var(--kb-surface);
    text-decoration:none;
    transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
a.kb-contact-card:hover { transform:translateY(-6px);box-shadow:var(--kb-shadow);background:var(--kb-white); }
.kb-contact-card--primary { background:var(--kb-primary); }
.kb-contact-card > span { color:var(--kb-primary);font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
.kb-contact-card--primary > span { color:var(--kb-dark); }
.kb-contact-card h3 { max-width:470px;margin-top:55px;font-size:clamp(1.5rem,2.2vw,2.35rem);overflow-wrap:anywhere; }
.kb-contact-card b { position:absolute;right:25px;bottom:22px;font-size:1.4rem; }

@media(max-width:1100px) {
    .kb-menu > li.menu-item-has-children > a::after { display:none !important; }
    .kb-contact-hero__grid,
    .kb-contact-section__grid { grid-template-columns:1fr; }
    .kb-contact-hero__visual { min-height:300px;max-width:580px; }
    .kb-contact-details { position:static; }
    .kb-contact-form-card { max-width:760px; }
}
@media(max-width:760px) {
    .kb-entry-content > section.kb-copy-section.kb-answer-box,
    .kb-entry-content > section.kb-copy-section.kb-brand-section {
        width:calc(100% + 32px) !important;
        margin:35px -16px !important;
        padding:38px 20px !important;
        border-radius:0 !important;
    }
    .kb-entry-content > section.kb-copy-section.kb-answer-box:first-child { margin-top:0 !important; }
    .kb-cf7-form .kabuku-form-grid { grid-template-columns:1fr;gap:20px; }
    .kb-cf7-form .kabuku-field--full { grid-column:auto; }
    .kb-cf7-form .kabuku-field:not(.kabuku-field--full):not(.kabuku-acceptance):not(.kabuku-submit) > label { min-height:auto;display:block; }
    .kb-contact-hero { padding-top:25px; }
    .kb-contact-hero__copy h1 { font-size:clamp(3.7rem,17vw,6rem); }
    .kb-contact-hero__visual { min-height:230px; }
    .kb-contact-section__grid { gap:45px; }
    .kb-contact-form-card { padding:24px 18px;margin-inline:-4px; }
    .kb-contact-cards { grid-template-columns:1fr; }
    .kb-contact-card { min-height:200px; }
}

/* =========================================================
   KABUKU 2.4 · BLOG, ARCHIVOS Y ARTÍCULO INDIVIDUAL
   ========================================================= */

/* Página principal del blog */
.kb-blog-hero {
    position:relative;
    overflow:hidden;
    padding:36px 0 clamp(85px,9vw,145px);
    background:
        radial-gradient(circle at 83% 18%,rgba(242,98,65,.28),transparent 27%),
        radial-gradient(circle at 12% 92%,rgba(242,225,194,.08),transparent 26%),
        var(--kb-dark);
}
.kb-blog-hero::after {
    content:"K";
    position:absolute;
    right:-.02em;
    bottom:-.34em;
    color:rgba(242,225,194,.045);
    font-family:var(--kb-font-heading);
    font-size:clamp(18rem,40vw,45rem);
    line-height:1;
    pointer-events:none;
}
.kb-blog-hero .kb-breadcrumbs { position:relative;z-index:2;margin-bottom:clamp(55px,7vw,95px);color:var(--kb-text-on-dark); }
.kb-blog-hero__grid {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);
    gap:clamp(45px,8vw,130px);
    align-items:end;
}
.kb-blog-hero h1 {
    max-width:1050px;
    margin:0;
    color:var(--kb-heading-on-dark)!important;
    font-size:clamp(4rem,7.5vw,8.5rem);
}
.kb-blog-hero__intro { padding-bottom:12px;color:var(--kb-text-on-dark);font-size:1.08rem; }
.kb-blog-hero__intro p { max-width:520px; }
.kb-blog-hero__intro .kb-text-link { color:var(--kb-white); }

.kb-blog-featured-section { padding-bottom:clamp(50px,6vw,90px); }
.kb-featured-post {
    display:grid;
    grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
    min-height:560px;
    overflow:hidden;
    border:1px solid var(--kb-dark);
    border-radius:var(--kb-radius);
    background:var(--kb-cream);
    box-shadow:16px 18px 0 rgba(0,51,47,.12);
}
.kb-featured-post__media { min-height:500px;color:inherit;text-decoration:none; }
.kb-featured-post__media .kb-post-media { height:100%; }
.kb-featured-post__content { display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,74px); }
.kb-featured-post__content h2 { margin-top:22px;font-size:clamp(2.7rem,4vw,4.8rem); }
.kb-featured-post__content h2 a { text-decoration:none; }
.kb-featured-post__content > p:not(.kb-eyebrow) { color:var(--kb-muted);font-size:1.02rem; }
.kb-featured-post__content .kb-button { align-self:flex-start;margin-top:16px; }

.kb-blog-listing { padding-top:clamp(55px,7vw,105px); }
.kb-blog-listing__head {
    display:grid;
    grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
    gap:45px;
    align-items:end;
    margin-bottom:55px;
}
.kb-blog-listing__head h2 { margin:0; }
.kb-topic-nav { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px; }
.kb-topic-nav a {
    padding:9px 14px;
    border:1px solid var(--kb-border);
    border-radius:999px;
    background:var(--kb-white);
    color:var(--kb-dark);
    font-size:.75rem;
    font-weight:800;
    text-decoration:none;
    transition:.2s ease;
}
.kb-topic-nav a:hover,.kb-topic-nav a.is-active { border-color:var(--kb-dark);background:var(--kb-dark);color:var(--kb-white); }

.kb-blog-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px; }
.kb-blog-card {
    display:flex;
    min-width:0;
    flex-direction:column;
    overflow:hidden;
    border:1px solid var(--kb-border);
    border-radius:var(--kb-radius);
    background:var(--kb-white);
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.kb-blog-card:hover { transform:translateY(-7px);border-color:var(--kb-dark);box-shadow:var(--kb-shadow); }
.kb-blog-card__media { display:block;overflow:hidden;aspect-ratio:1.45/1;background:var(--kb-cream);text-decoration:none; }
.kb-post-media { position:relative;width:100%;height:100%;overflow:hidden; }
.kb-post-media img { display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease; }
.kb-blog-card:hover .kb-post-media img,.kb-featured-post:hover .kb-post-media img { transform:scale(1.035); }
.kb-post-media--placeholder {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    padding:25px;
    background:
        radial-gradient(circle at 82% 20%,rgba(242,98,65,.75),transparent 23%),
        linear-gradient(145deg,var(--kb-cream),#fff8e9);
}
.kb-post-media--placeholder::before,.kb-post-media--placeholder::after { content:"";position:absolute;border:2px solid var(--kb-dark);border-radius:50%; }
.kb-post-media--placeholder::before { width:45%;aspect-ratio:1;top:12%;left:10%; }
.kb-post-media--placeholder::after { width:34%;aspect-ratio:1;right:10%;bottom:12%;background:var(--kb-dark); }
.kb-post-media--placeholder span { position:relative;z-index:2;color:var(--kb-primary);font-family:var(--kb-font-heading);font-size:5rem;line-height:.8; }
.kb-post-media--placeholder b { position:relative;z-index:2;color:var(--kb-white);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase; }
.kb-blog-card__body { display:flex;flex:1;flex-direction:column;padding:26px; }
.kb-blog-card__meta { display:flex;flex-wrap:wrap;gap:8px 15px;align-items:center;color:var(--kb-muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.045em; }
.kb-blog-card__meta a { color:var(--kb-primary);font-weight:800;text-decoration:none; }
.kb-blog-card__meta span:not(:first-child)::before { content:"·";margin-right:12px;color:var(--kb-border); }
.kb-blog-card h2 { margin:22px 0 14px;font-size:clamp(1.75rem,2.2vw,2.45rem);line-height:1.02; }
.kb-blog-card h2 a { text-decoration:none; }
.kb-blog-card p { color:var(--kb-muted);font-size:.92rem; }
.kb-blog-card .kb-text-link { align-self:flex-start;margin-top:auto;font-size:.82rem; }

.kb-pagination { display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:65px; }
.kb-pagination .page-numbers {
    display:inline-flex;
    min-width:44px;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:8px 14px;
    border:1px solid var(--kb-border);
    border-radius:999px;
    background:var(--kb-white);
    color:var(--kb-dark);
    font-size:.8rem;
    font-weight:800;
    text-decoration:none;
}
.kb-pagination .page-numbers:hover,.kb-pagination .page-numbers.current { border-color:var(--kb-dark);background:var(--kb-dark);color:var(--kb-white); }
.kb-blog-cta { padding:clamp(70px,8vw,125px) 0; }
.kb-blog-cta__grid { display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(45px,8vw,120px);align-items:end; }
.kb-blog-cta h2 { max-width:900px;color:var(--kb-white)!important; }
.kb-blog-cta__grid > div:last-child p { max-width:600px; }

/* Archivo, categoría y búsqueda */
.kb-blog-archive-hero { padding:36px 0 clamp(75px,8vw,125px); }
.kb-blog-archive-hero .kb-breadcrumbs { margin-bottom:clamp(55px,7vw,90px); }
.kb-blog-archive-hero__grid,.kb-search-hero__grid {
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
    gap:clamp(45px,8vw,120px);
    align-items:end;
}
.kb-blog-archive-hero h1 { max-width:1000px;font-size:clamp(3.6rem,6.8vw,7.5rem); }
.kb-blog-archive-hero__description { max-width:600px;color:var(--kb-muted);font-size:1.08rem; }
.kb-blog-archive-hero__description p:last-child { margin-bottom:0; }
.kb-search-form { display:grid;grid-template-columns:1fr auto;gap:10px;padding:10px;border:1px solid var(--kb-border);border-radius:999px;background:var(--kb-white); }
.kb-search-form input { min-width:0;padding:10px 15px;border:0;background:transparent;color:var(--kb-dark);outline:0; }
.kb-search-form .kb-button { min-height:46px;padding:11px 20px; }
.kb-empty-state { grid-column:1/-1;padding:70px;border:1px solid var(--kb-border);border-radius:var(--kb-radius);background:var(--kb-cream);text-align:center; }
.kb-empty-state h2 { font-size:clamp(2.5rem,4vw,4rem); }
.kb-empty-state .kb-button { margin-top:15px; }

/* Artículo individual */
.kb-single-hero {
    position:relative;
    overflow:hidden;
    padding:36px 0 clamp(90px,10vw,165px);
    background:
        radial-gradient(circle at 84% 20%,rgba(242,98,65,.26),transparent 28%),
        var(--kb-dark);
}
.kb-single-hero::after { content:"";position:absolute;right:-8vw;bottom:-17vw;width:38vw;aspect-ratio:1;border:2px solid rgba(242,225,194,.13);border-radius:50%; }
.kb-single-hero .kb-breadcrumbs { position:relative;z-index:2;margin-bottom:clamp(55px,7vw,95px);color:var(--kb-text-on-dark); }
.kb-single-hero__content { position:relative;z-index:2;max-width:1120px; }
.kb-article-category {
    display:inline-flex;
    margin-bottom:28px;
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    color:var(--kb-white);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.07em;
    text-decoration:none;
    text-transform:uppercase;
}
.kb-article-category:hover { border-color:var(--kb-primary);background:var(--kb-primary);color:var(--kb-dark); }
.kb-single-hero h1 { max-width:1100px;color:var(--kb-heading-on-dark)!important;font-size:clamp(3.7rem,7vw,8.2rem); }
.kb-single-hero__excerpt { max-width:860px;margin-top:30px;color:var(--kb-text-on-dark);font-size:clamp(1.1rem,1.6vw,1.38rem);line-height:1.55; }
.kb-article-meta { display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:38px;color:var(--kb-text-on-dark);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em; }
.kb-article-meta span:not(:first-child)::before { content:"✦";margin-right:22px;color:var(--kb-primary); }
.kb-single-media-wrap { position:relative;z-index:3;margin-top:clamp(-65px,-5vw,-90px); }
.kb-single-media { margin-bottom:0; }
.kb-single-media img { display:block;width:100%;max-height:760px;object-fit:cover;border:1px solid var(--kb-dark);border-radius:var(--kb-radius);box-shadow:18px 20px 0 rgba(0,51,47,.12); }
.kb-single-media figcaption { margin-top:13px;color:var(--kb-muted);font-size:.74rem;text-align:center; }

.kb-article-body-section { padding-top:clamp(80px,9vw,145px); }
.kb-article-layout {
    display:grid;
    grid-template-columns:150px minmax(0,820px) minmax(250px,310px);
    gap:clamp(35px,5vw,75px);
    justify-content:center;
    align-items:start;
}
.kb-article-rail__inner,.kb-article-aside__card { position:sticky;top:125px; }
.kb-article-rail { color:var(--kb-muted);font-size:.76rem; }
.kb-article-rail__label { margin:0 0 12px;color:var(--kb-dark);font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
.kb-share-links { display:grid;gap:8px; }
.kb-share-links a { display:inline-flex;color:var(--kb-muted);font-weight:700;text-decoration:none; }
.kb-share-links a:hover { color:var(--kb-primary); }
.kb-article-rail__rule { height:1px;margin:24px 0;background:var(--kb-border); }
.kb-article-rail .kb-text-link { margin-top:15px;font-size:.72rem; }
.kb-article-aside__card { padding:26px;border:1px solid var(--kb-dark);border-radius:var(--kb-radius);background:var(--kb-cream); }
.kb-article-aside__card h2 { font-size:2.25rem; }
.kb-article-aside__card p:not(.kb-eyebrow) { color:var(--kb-muted);font-size:.88rem; }

.kb-article-content { max-width:820px;font-size:clamp(1.02rem,1.15vw,1.15rem);line-height:1.83; }
.kb-article-content > *:first-child { margin-top:0; }
.kb-article-content p { margin:0 0 1.55em; }
.kb-article-content h2 { margin:1.7em 0 .55em;font-size:clamp(2.5rem,4vw,4.3rem);line-height:1; }
.kb-article-content h3 { margin:1.7em 0 .55em;font-size:clamp(1.8rem,2.6vw,2.7rem);line-height:1.05; }
.kb-article-content h4 { margin:1.6em 0 .5em;font-size:1.45rem;line-height:1.15; }
.kb-article-content a { color:var(--kb-primary);font-weight:700; }
.kb-article-content ul,.kb-article-content ol { margin:0 0 1.7em;padding-left:1.35em; }
.kb-article-content li { margin:.55em 0; }
.kb-article-content blockquote {
    margin:2.1em 0;
    padding:32px 36px;
    border:0;
    border-left:7px solid var(--kb-primary);
    border-radius:0 var(--kb-radius) var(--kb-radius) 0;
    background:var(--kb-cream);
    color:var(--kb-dark);
    font-family:var(--kb-font-heading);
    font-size:clamp(1.8rem,2.7vw,2.8rem);
    line-height:1.12;
}
.kb-article-content blockquote p:last-child { margin-bottom:0; }
.kb-article-content figure { margin:2.3em 0; }
.kb-article-content img { border-radius:18px; }
.kb-article-content figcaption { margin-top:9px;color:var(--kb-muted);font-size:.76rem;text-align:center; }
.kb-article-content table { width:100%;margin:2em 0;border-collapse:collapse;font-size:.9rem; }
.kb-article-content th,.kb-article-content td { padding:14px 15px;border:1px solid var(--kb-border);text-align:left;vertical-align:top; }
.kb-article-content th { background:var(--kb-dark);color:var(--kb-white); }
.kb-article-content tbody tr:nth-child(even) { background:var(--kb-cream); }
.kb-article-content pre { overflow:auto;margin:2em 0;padding:24px;border-radius:16px;background:var(--kb-dark);color:var(--kb-cream);font-size:.86rem; }
.kb-article-content code { padding:.15em .35em;border-radius:5px;background:var(--kb-cream);font-size:.9em; }
.kb-article-content pre code { padding:0;background:transparent; }
.kb-page-links { margin-top:40px;font-weight:800; }

.kb-article-footer { padding:0 0 clamp(85px,9vw,140px); }
.kb-article-footer__inner { max-width:1000px; }
.kb-author-box { display:grid;grid-template-columns:96px 1fr;gap:28px;padding:34px;border:1px solid var(--kb-border);border-radius:var(--kb-radius);background:var(--kb-white); }
.kb-author-box__avatar { width:96px;height:96px;border-radius:50%;object-fit:cover; }
.kb-author-box h2 { margin-bottom:10px;font-size:2.2rem; }
.kb-author-box p:last-child { margin-bottom:0;color:var(--kb-muted); }
.kb-related-posts .kb-blog-card { background:var(--kb-white); }

@media(max-width:1200px) {
    .kb-blog-hero__grid,.kb-featured-post,.kb-blog-archive-hero__grid,.kb-search-hero__grid { grid-template-columns:1fr; }
    .kb-blog-hero__intro { max-width:700px; }
    .kb-featured-post { min-height:0; }
    .kb-featured-post__media { min-height:430px; }
    .kb-blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .kb-article-layout { grid-template-columns:120px minmax(0,800px); }
    .kb-article-aside { grid-column:2; }
    .kb-article-aside__card { position:static;display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;margin-top:25px; }
    .kb-article-aside__card .kb-eyebrow,.kb-article-aside__card h2,.kb-article-aside__card p { grid-column:1; }
    .kb-article-aside__card .kb-button { grid-column:2;grid-row:1/4;align-self:center; }
}

@media(max-width:900px) {
    .kb-blog-listing__head,.kb-blog-cta__grid { grid-template-columns:1fr; }
    .kb-topic-nav { justify-content:flex-start; }
    .kb-article-layout { grid-template-columns:1fr; }
    .kb-article-rail { order:2; }
    .kb-article-rail__inner { position:static;display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;padding-top:25px;border-top:1px solid var(--kb-border); }
    .kb-article-rail__label,.kb-article-rail__rule { display:none; }
    .kb-share-links { display:flex;gap:14px; }
    .kb-article-aside { grid-column:auto; }
}

@media(max-width:760px) {
    .kb-blog-hero { padding-top:25px; }
    .kb-blog-hero__grid { gap:30px; }
    .kb-blog-hero h1 { font-size:clamp(3.7rem,16vw,6.1rem); }
    .kb-blog-featured-section { padding-top:55px; }
    .kb-featured-post { display:block;border-radius:20px;box-shadow:9px 10px 0 rgba(0,51,47,.11); }
    .kb-featured-post__media { min-height:260px;aspect-ratio:1.35/1; }
    .kb-featured-post__content { padding:28px 22px 32px; }
    .kb-featured-post__content h2 { font-size:2.7rem; }
    .kb-blog-grid { grid-template-columns:1fr; }
    .kb-blog-listing__head { margin-bottom:35px; }
    .kb-topic-nav { flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px; }
    .kb-topic-nav a { flex:0 0 auto; }
    .kb-blog-card__media { aspect-ratio:1.55/1; }
    .kb-blog-card__body { padding:23px 20px; }
    .kb-blog-card h2 { font-size:2.15rem; }
    .kb-blog-archive-hero { padding-top:25px; }
    .kb-blog-archive-hero h1 { font-size:clamp(3.4rem,15vw,5.7rem); }
    .kb-search-form { grid-template-columns:1fr;border-radius:20px; }
    .kb-search-form .kb-button { width:100%; }
    .kb-empty-state { padding:45px 22px; }
    .kb-single-hero { padding-top:25px;padding-bottom:105px; }
    .kb-single-hero h1 { font-size:clamp(3.5rem,15vw,5.9rem); }
    .kb-article-meta span:not(:first-child)::before { margin-right:10px; }
    .kb-single-media-wrap { margin-top:-55px; }
    .kb-single-media img { border-radius:18px;box-shadow:9px 10px 0 rgba(0,51,47,.11); }
    .kb-article-content { font-size:1rem; }
    .kb-article-content h2 { font-size:2.65rem; }
    .kb-article-content h3 { font-size:2rem; }
    .kb-article-content blockquote { margin-inline:-16px;padding:27px 22px;border-radius:0; }
    .kb-article-content table { display:block;overflow-x:auto;white-space:nowrap; }
    .kb-article-aside__card { display:block;padding:24px; }
    .kb-article-aside__card .kb-button { margin-top:10px; }
    .kb-author-box { grid-template-columns:1fr;padding:26px 22px; }
    .kb-author-box__avatar { width:76px;height:76px; }
}

/* =========================================================
   KABUKU 2.5 · FORMULARIOS DE AGENCIAS Y STICKY INTELIGENTE
   ========================================================= */

/*
 * El sticky se activa por JavaScript únicamente cuando la columna del
 * formulario es más alta que la columna de texto. De este modo el mensaje
 * permanece visible mientras se recorre el formulario, pero deja de estar
 * fijo al llegar al final de su propia sección.
 */
:root {
    --kb-sticky-top: 124px;
}

.kb-page-hero--with-form,
.kb-home-hero--with-form {
    /* overflow:hidden impide position:sticky en navegadores modernos. */
    overflow: visible;
    overflow: clip;
}

.kb-sticky-pair {
    align-items: start !important;
}

.kb-sticky-pair__copy,
.kb-sticky-pair__form,
.kb-sticky-pair > :first-child,
.kb-sticky-pair > :last-child {
    min-width: 0;
    align-self: start;
}

@media (min-width: 1101px) {
    .kb-sticky-pair.kb-sticky-pair--active > :first-child,
    .kb-sticky-pair.kb-sticky-pair--active > .kb-sticky-pair__copy {
        position: sticky;
        top: var(--kb-sticky-top);
        z-index: 2;
    }

    /* La tarjeta del formulario nunca es sticky: es la referencia de altura. */
    .kb-sticky-pair.kb-sticky-pair--active > :last-child,
    .kb-sticky-pair.kb-sticky-pair--active > .kb-sticky-pair__form {
        position: relative;
        top: auto;
        z-index: 1;
    }
}

/*
 * Las páginas para agencias utilizan un formulario sensiblemente más largo.
 * Se reserva una columna más ancha para que etiquetas, selects y campos no
 * queden comprimidos en escritorio.
 */
@media (min-width: 1101px) {
    .kb-page-hero--partner .kb-page-hero__grid {
        grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
        gap: clamp(42px, 5vw, 82px);
    }

    .kb-page-hero--partner .kb-page-hero__copy h1 {
        font-size: clamp(3.1rem, 5vw, 6.25rem);
    }

    .kb-hero-form--partner {
        padding: clamp(28px, 3vw, 38px);
    }
}

/* El ancho real del contenedor decide si el formulario admite dos columnas. */
.kb-hero-form,
.kb-final-form__grid > :last-child,
.kb-contact-form-card {
    container-type: inline-size;
}

/* Ajustes específicos del CF7 para agencias. */
.kb-lead-form--partner .kabuku-form-grid,
.kb-lead-form--partner .kb-form-grid {
    align-items: start;
}

.kb-lead-form--partner .kabuku-field,
.kb-lead-form--partner .kb-form-grid > label {
    min-width: 0;
}

.kb-lead-form--partner select,
.kb-lead-form--partner input,
.kb-lead-form--partner textarea {
    max-width: 100%;
}

/* En el formulario final la columna es más estrecha: una sola columna resulta
   más legible y evita selects recortados. */
.kb-final-form .kb-lead-form--partner .kabuku-form-grid,
.kb-final-form .kb-lead-form--partner .kb-form-grid {
    grid-template-columns: 1fr !important;
}

.kb-final-form .kb-lead-form--partner .kabuku-field--full {
    grid-column: auto !important;
}

.kb-final-form .kb-lead-form--partner .kabuku-field:not(.kabuku-acceptance):not(.kabuku-submit) > label {
    display: block !important;
    min-height: auto !important;
}

/* Si la tarjeta del hero no alcanza el ancho necesario, el formulario de
   agencias pasa automáticamente a una columna aunque la pantalla sea grande. */
@container (max-width: 540px) {
    .kb-lead-form--partner .kabuku-form-grid,
    .kb-lead-form--partner .kb-form-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .kb-lead-form--partner .kabuku-field--full {
        grid-column: auto !important;
    }

    .kb-lead-form--partner .kabuku-field:not(.kabuku-acceptance):not(.kabuku-submit) > label {
        display: block !important;
        min-height: auto !important;
        margin-bottom: 9px !important;
    }
}

@media (max-width: 1100px) {
    .kb-sticky-pair.kb-sticky-pair--active > :first-child,
    .kb-sticky-pair.kb-sticky-pair--active > .kb-sticky-pair__copy {
        position: static;
    }

    .kb-page-hero--partner .kb-page-hero__grid {
        grid-template-columns: 1fr;
    }

    .kb-page-hero--partner .kb-hero-form--partner {
        width: 100%;
        max-width: 760px;
    }
}
