/* Acabado común. Cada muestra conserva su paleta, imágenes y personalidad. */
.kb-menu{display:none}
.kb-polished :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--accent,var(--acc,currentColor));outline-offset:4px}
.kb-polished main :is(.fine,.micro,.catalog-note,.chapter-label,.album-hint){font-size:12px;line-height:1.65}
.kb-polished main .eyebrow{font-size:11px;line-height:1.6}
.kb-polished dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.kb-polished dialog :is(input,select,textarea){max-width:100%}
.kb-polished summary{min-height:44px}
.kb-polished textarea{resize:vertical}
[data-brand=lumbre]{--muted:#655448;--orange:#963d27}
[data-brand=brisa]{--muted:#4e6056;--accent:#92432b}
[data-brand=patio] .material-study>p,[data-brand=patio] ol>li>span{color:#555744}
[data-brand=mateo] .skills-grid>article>span{color:#bd9165;opacity:1}
[data-brand=mateo] .project-copy{opacity:1!important}
.kb-polished .chapters button span{color:#c4a487}
.kb-polished .chapters button[aria-current=step] span{color:#f4ccaa}
.kb-polished :is(input,textarea,select):user-invalid{border-color:#c34f3d;outline-color:#c34f3d}
@media(max-width:900px){
  .kb-polished :is(input:not([type=range]):not([type=radio]):not([type=checkbox]),textarea,select){font-size:16px}
  .kb-polished main :is(.eyebrow,.identity,.filter-result){font-size:11px;line-height:1.6}
  .kb-responsive-header{position:relative!important;top:auto!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;justify-content:space-between!important;gap:12px!important;min-height:72px!important;padding-top:12px!important;padding-bottom:12px!important;z-index:30}
  .kb-responsive-header .kb-header-primary{display:flex!important;align-items:center;gap:8px!important;margin-left:0!important;flex-basis:auto!important;order:initial!important;border:0!important;padding:0!important}
  .kb-responsive-header .kb-header-primary:not(:has(button)){display:none!important}
  .kb-responsive-header .kb-header-primary>a{display:none!important}
  .kb-responsive-header>button[data-effects],.kb-polished .demo-bar [data-effects]{display:none!important}
  .kb-responsive-header>.brand,.kb-responsive-header>.logo,.kb-responsive-header>.wordmark,.kb-responsive-header>.mr-mark{margin-right:auto;flex-shrink:0}
  .kb-responsive-header>.wordmark{font-size:34px}
  .kb-responsive-header .wordmark small{font-size:10px;margin-left:8px}
  .kb-responsive-header .brand,.kb-responsive-header .logo{font-size:26px}
  .kb-responsive-header .brand span,.kb-responsive-header .logo span{font-size:8px;letter-spacing:.08em;max-width:130px}
  .kb-responsive-header.site-header{width:calc(100% - 36px);gap:12px!important;margin-inline:auto}
  .kb-responsive-header.site-header>.kb-header-primary{display:none!important}
  .kb-responsive-header .header-contact{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;margin:0!important;padding:9px 12px;font-size:12px;border:1px solid var(--accent,#dcb087);white-space:nowrap}
  .kb-responsive-header .kb-header-primary button{min-height:44px;min-width:60px;padding:8px 10px;font-size:12px;line-height:1.4}
  .kb-menu{position:static;display:block;flex-shrink:0}
  .kb-menu summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;cursor:pointer;list-style:none;font:inherit;font-size:12px;white-space:nowrap;padding:7px 2px;border:0!important;background:transparent}
  .kb-menu summary::-webkit-details-marker{display:none}
  .kb-menu svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
  .kb-menu[open] svg{transform:rotate(90deg)}
  .kb-menu nav{position:absolute!important;top:calc(100% + 6px);left:0;right:0;display:grid!important;gap:0!important;margin:0!important;width:auto;padding:10px;background:var(--panel,var(--paper,var(--bg,#171d18)));color:inherit;border:1px solid currentColor;box-shadow:0 16px 32px #0003;z-index:50;max-height:calc(100svh - 130px);overflow:auto}
  .kb-menu nav a{display:flex!important;align-items:center;min-height:48px;padding:10px 12px!important;font-size:14px!important;line-height:1.5;letter-spacing:0!important;white-space:normal}
  .kb-menu nav [data-effects]{margin:8px 10px 2px!important;min-height:44px;width:calc(100% - 20px);font-size:13px}
  .kb-polished .demo-bar,.kb-polished .demo-notice{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding-top:9px;padding-bottom:9px;min-height:0;font-size:10px;line-height:1.5}
  .kb-polished .demo-bar>span,.kb-polished .demo-notice>span{max-width:100%}
  .kb-polished .demo-bar>a,.kb-polished .demo-notice>a{font-size:11px;min-height:32px;display:inline-flex;align-items:center}
  [data-brand=webs] .page-intro{padding-top:32px;padding-bottom:32px}
  [data-brand=webs] .page-intro h1{font-size:clamp(34px,8.7vw,44px);line-height:1.12;letter-spacing:-.045em;max-width:19ch}
  [data-brand=webs] .intro-bottom{gap:18px;margin-top:24px;padding-top:20px}
  [data-brand=webs] .intro-bottom>p{font-size:15px;line-height:1.65}
  [data-brand=webs] .intro-bottom .mono{font-size:11px;line-height:1.6}
  [data-brand=webs] .catalog-index{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0;scrollbar-width:thin;margin-top:22px}
  [data-brand=webs] .catalog-index a{flex:0 0 auto;min-height:44px;padding:12px;font-size:12px;white-space:nowrap}
  [data-brand=webs] .catalog-note{font-size:12px;line-height:1.65;margin-top:16px}
  [data-brand=webs] .web-exhibit{padding:32px 0;gap:22px}
  [data-brand=webs] .exhibit-copy h2{font-size:32px;margin:12px 0}
  [data-brand=webs] .exhibit-copy>p{font-size:15px;line-height:1.65}
  [data-brand=casas] .hero{padding-top:30px;padding-bottom:34px;gap:28px}
  [data-brand=casas] .hero h1{font-size:clamp(38px,10vw,48px);line-height:1.06;margin-bottom:18px}
  [data-brand=casas] .hero-service{font-size:16px;line-height:1.4;margin-bottom:12px}
  [data-brand=casas] .hero-digital{font-size:15px;line-height:1.65;max-width:42ch}
  [data-brand=casas] .hero-note{display:none}
  [data-brand=casas] .hero .cta{min-height:48px;font-size:14px;margin-top:20px;padding:12px 16px}
  [data-brand=casas] .hero .micro{font-size:11px;margin-top:12px}
  [data-brand=casas] .house-brief h2{font-size:32px}
  [data-brand=casas] .house-brief dt{font-size:16px}
  [data-brand=casas] .house-brief dd{font-size:14px;line-height:1.7}
  [data-brand=regalos] .gift-intro{padding-top:34px;padding-bottom:44px;gap:28px}
  [data-brand=regalos] .gift-intro h1{font-size:clamp(38px,10vw,48px);line-height:1.08;margin-bottom:20px}
  [data-brand=regalos] .gift-intro>div>p{font-size:15px;line-height:1.65}
  [data-brand=regalos] .gift-actions{gap:14px;margin-top:24px}
  [data-brand=regalos] .gift-exhibit h2,[data-brand=regalos] .gift-scope h2,[data-brand=regalos] .gift-process h2{font-size:32px}
  [data-brand=mateo] .mr-hero{padding-top:34px;gap:30px}
  [data-brand=mateo] .mr-hero h1{font-size:clamp(48px,14vw,64px);line-height:1;letter-spacing:-.045em;margin:12px 0 20px}
  [data-brand=mateo] .mr-hero .hello{font-size:16px;margin-top:12px}
  [data-brand=mateo] .hero-description{font-size:24px;line-height:1.15;margin-top:18px}
  [data-brand=mateo] .hero-bio{font-size:14px;line-height:1.65;margin-top:16px}
  [data-brand=mateo] .hero-actions{margin-top:24px;gap:10px}
  [data-brand=mateo] .hero-actions a{min-height:44px;padding:12px 14px;font-size:12px}
  [data-brand=mateo] .portrait-frame{aspect-ratio:4/3;min-height:0}
  [data-brand=mateo] .portrait-frame img{object-fit:cover;object-position:center 25%;height:100%}
  [data-brand=orbita] .hero h1,[data-brand=lumbre] .hero h1,[data-brand=brisa] .hero h1,[data-brand=patio] .hero h1,[data-brand=seguro] .hero h1{font-size:clamp(36px,10vw,48px);line-height:1.08;letter-spacing:-.04em}
  [data-brand=lumbre] .hero{padding-top:32px;padding-bottom:36px;gap:28px}
  [data-brand=lumbre] .hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.65;margin-top:20px}
  [data-brand=lumbre] .hero-copy>.primary{margin-top:24px;min-height:48px}
  [data-brand=lumbre] .hero-footnote{margin-top:18px}
  [data-brand=brisa] .hero{padding-top:32px;padding-bottom:36px}
  [data-brand=brisa] .hero-top{gap:24px}
  [data-brand=brisa] .hero h1{font-size:32px;line-height:1.12}
  [data-brand=brisa] .hero-intro p{font-size:15px;line-height:1.65}
  [data-brand=brisa] .hero-intro .muted{display:none}
  [data-brand=patio] main p:not(.eyebrow):not(.filter-result){font-size:14px;line-height:1.7}
  [data-brand=patio] .hero{padding-top:32px;padding-bottom:36px}
  [data-brand=patio] .hero-heading{gap:20px}
  [data-brand=patio] .filter-result{font-size:12px}
  [data-brand=seguro] .hero-content p:not(.eyebrow){font-size:15px;line-height:1.65}
  [data-brand=seguro] .section h2{font-size:34px}
  .kb-polished .kb-faq details p{font-size:14px}
}
@media(hover:none){.kb-polished :is(.button,.btn,.primary):hover{transform:none}}
@media(prefers-reduced-motion:reduce){.kb-menu svg{transition:none}.kb-polished dialog{scroll-behavior:auto}}
