
/* Maestra003: scoped additions, preserves original design tokens */
.m3-section{padding:clamp(3rem,7vw,6rem) 0;border-top:1px solid #223047;scroll-margin-top:100px}
.m3-section:nth-of-type(even){background:#080f1e}.m3-heading{max-width:850px;margin-bottom:2rem}
.m3-eyebrow{font:600 .76rem var(--font-sans,system-ui);letter-spacing:.2em;color:#65d9f2;margin-bottom:.8rem}
.m3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.m3-card{background:#101b2d;border:1px solid #2c3c55;border-radius:12px;padding:1.5rem;min-width:0}
.m3-card h3,.m3-timeline h3{font-size:1.15rem;color:#f8fafc;margin:.7rem 0}
.m3-card p,.m3-timeline p,.m3-method p{color:#cbd5e1;line-height:1.75;margin-top:.6rem}
.m3-subheading{font-size:1.5rem;margin:2.2rem 0 1rem;color:#f8fafc}
.m3-method{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;list-style:none;padding:0;counter-reset:method}
.m3-method li{counter-increment:method;border-top:2px solid #d4af37;padding-top:1rem}
.m3-method li:before{content:"0" counter(method);font-size:1.8rem;color:#65d9f2}
.m3-method h4{color:#f8fafc;margin:.5rem 0}.m3-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.m3-filters button,.m3-button,.global-lang button,.faq-choices button{font:inherit;min-height:44px;border:1px solid #526780;border-radius:8px;padding:.6rem 1rem;background:#101b2d;color:#f8fafc;cursor:pointer}
.m3-filters button[aria-pressed=true],.global-lang button[aria-pressed=true]{background:#65d9f2;color:#07101f;border-color:#65d9f2}
.m3-button:hover,.faq-choices button:hover{border-color:#65d9f2;background:#192a40}
.m3-timeline{list-style:none;padding:0 0 0 1.4rem;border-left:1px solid #46617b;margin-top:1.2rem}
.m3-timeline li{position:relative;padding:0 0 2rem 1.1rem;max-width:900px}
.m3-timeline li:before{content:"";position:absolute;left:-1.8rem;top:.4rem;width:10px;height:10px;background:#d4af37;border-radius:50%}
.m3-badge{display:inline-block;color:#70e1ef;border:1px solid #456077;border-radius:4px;padding:.2rem .55rem;font-size:.78rem}
.m3-date{font-size:.85rem;color:#d4af37!important}
[hidden]{display:none!important}
.m3-section :focus-visible,.global-lang :focus-visible,.faq-panel :focus-visible{outline:3px solid #f3d880;outline-offset:4px}
@media(max-width:1000px){.m3-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.m3-method{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.m3-grid,.m3-method{grid-template-columns:1fr}.m3-card{padding:1.2rem}.m3-section{scroll-margin-top:95px}}

.lab-block{border:0;background:none;padding:0;width:100%;max-width:none}.lab-wrap{width:100%}.lab-grid{width:100%}
.about-lang-control,.research-lang-control,.lab-lang{display:none!important}
.global-lang{display:flex;gap:.25rem;margin-left:auto}.global-lang button{padding:.4rem .6rem}
.nav-list{gap:clamp(.25rem,.5vw,.6rem)}.nav-link{font-size:.8rem;padding:8px 7px}
.nav-wrapper{gap:1rem}.brand-link{flex-shrink:0}.brand-subtitle-mini{font-size:.6rem}
.m3-textlink{display:inline-block;margin-top:1rem;color:#70e1ef;text-decoration:underline;min-height:44px;padding:.5rem 0}
.m3-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.m3-contact-grid p,.m3-contact-grid li{color:#cbd5e1;line-height:1.75}.m3-contact-grid ul{padding-left:1.2rem}
#contact-draft{padding:1.5rem;background:#101b2d;border:1px solid #2c3c55;border-radius:12px}
#contact-draft label,.org-editor label{display:block;margin:1rem 0 .5rem;color:#f8fafc}
#contact-draft textarea,#contact-draft select,.org-editor input,.org-editor select{width:100%;padding:.8rem;border:1px solid #59718c;background:#070c18;color:#f8fafc;border-radius:6px;font:inherit;min-height:44px}
#contact-draft textarea{resize:vertical}#contact-draft button{margin:.75rem .3rem .3rem 0}#contact-status{min-height:1.5rem}
@media(min-width:769px) and (max-width:1200px){.brand-subtitle-mini{display:none}.brand-emblem{width:34px;height:34px}.nav-wrapper{gap:.5rem}.nav-list{gap:.45rem}.nav-link{font-size:.7rem}.global-lang button{padding:.3rem}}
@media(max-width:768px){.m3-contact-grid{grid-template-columns:1fr}.global-lang{margin-left:auto}.nav-list{gap:.5rem}.nav-link{font-size:1rem}.primary-nav.is-open{overflow-y:auto;max-height:calc(100dvh - 76px)}}

.m3-founder{display:grid;grid-template-columns:220px 1fr;gap:2rem;padding:2rem;border:1px solid #2c3c55;background:#101b2d;border-radius:14px}
.m3-founder h3{font-size:2rem;margin:.5rem 0}.m3-founder p{color:#cbd5e1;line-height:1.75}
.m3-founder-role{color:#70e1ef!important}.m3-photo{min-height:220px;border:1px dashed #63809d;background:#080f1e;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;text-align:center;border-radius:10px}
.m3-photo>span{font-size:3rem;color:#d4af37}.m3-photo p{font-size:.85rem}
.org-root,.org-children{list-style:none;padding:0;margin:1rem 0}
.org-root>.org-node{text-align:center}.org-children{display:flex;flex-wrap:wrap;gap:1rem;padding:1.5rem 0 0 1rem;border-left:1px solid #65758d}
.org-children>li{flex:1 1 210px;min-width:0}.org-node{border:1px solid #486079;border-radius:8px;background:#101b2d;padding:1rem}
.org-node p{color:#cbd5e1;margin-top:.4rem;font-size:.85rem}.org-editor{border:1px solid #486079;padding:1rem;margin-top:1rem;border-radius:8px}
.org-editor summary{cursor:pointer;min-height:44px;color:#70e1ef}.org-editor input[type=checkbox]{width:auto;min-height:0}
.org-editor button{margin:1rem .3rem 0 0}
.faq-toggle{position:fixed;bottom:1rem;right:1rem;z-index:1000;min-height:48px;padding:.7rem 1.1rem;background:#65d9f2;color:#07101f;border:2px solid #a7ecff;border-radius:30px;font:600 .9rem system-ui;cursor:pointer;box-shadow:0 6px 24px #0008}
.faq-panel{position:fixed;right:1rem;bottom:5rem;z-index:1000;width:min(420px,calc(100vw - 2rem));max-height:calc(100dvh - 7rem);overflow:auto;background:#0b1527;border:1px solid #5f809f;border-radius:14px;padding:1rem;box-shadow:0 12px 50px #000a;color:#f8fafc}
.faq-panel header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.faq-panel h2{font-size:1.15rem}
.faq-notice{font-size:.8rem;color:#cbd5e1;margin:.8rem 0;line-height:1.5}
.faq-choices{display:flex;flex-wrap:wrap;gap:.4rem}.faq-choices button{font-size:.78rem;padding:.5rem}
#faq-log{max-height:230px;overflow:auto;margin:.7rem 0}.faq-message{padding:.7rem;border:1px solid #344d65;border-radius:8px;margin:.5rem 0;line-height:1.6;font-size:.9rem;overflow-wrap:anywhere}.faq-message.question{background:#193249}.faq-message.answer{background:#101b2d}
#faq-form label{display:block;font-size:.85rem;margin:.6rem 0}
#faq-input{width:100%;min-height:44px;background:#070c18;border:1px solid #59718c;border-radius:6px;color:#fff;padding:.6rem;font:inherit}
#faq-form button{margin:.6rem .3rem 0 0}footer{padding-bottom:5rem!important}
@media(max-width:600px){.m3-founder{grid-template-columns:1fr;padding:1.2rem}.m3-photo{min-height:150px}.org-children{flex-direction:column}.org-children>li{flex:auto}}

.hero-grid{grid-template-columns:1fr 1.05fr;gap:clamp(1.5rem,4vw,3rem)}
.visual-canvas-card{overflow:hidden}.visual-canvas-card>img{display:block;width:100%;height:clamp(220px,26vw,400px);object-fit:cover}
.m3-visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.m3-visual-grid figure{border:1px solid #344d65;border-radius:12px;overflow:hidden;background:#070c18;margin:0}
.m3-visual-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.m3-visual-grid figcaption{padding:1rem;color:#cbd5e1;line-height:1.6;font-size:.85rem}
.m3-llm-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.m3-llm-flow .m3-card{border-top:2px solid #d4af37}.m3-science-note{margin:1.5rem 0;color:#cbd5e1;line-height:1.75}
#recursos details{margin-top:1rem}#recursos summary{min-height:44px;color:#70e1ef;cursor:pointer}
@media(max-width:768px){.hero-grid,.m3-visual-grid{grid-template-columns:1fr}}
@media(max-width:600px){.m3-llm-flow{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:600px){.brand-subtitle-mini{display:none}.brand-link{gap:8px}.nav-wrapper{gap:.5rem}.brand-title{font-size:1.15rem}.brand-emblem{width:34px;height:34px}.global-lang button{padding:.4rem .6rem}}
.lab-block button{min-height:44px}
