:root {
  --indigo-900:#0A0244; --indigo-800:#12046B; --azul-600:#2A3BF0; --azul-400:#3D9BFF;
  --acido:#E8FF4D; --niebla:#F2F3F7; --blanco:#fff;
  --txt-1:#12046B; --txt-2:#5A5F80; --txt-3:#5A5F80; --on-dark:#B9C0F5;
  --linea:rgba(18,4,107,.16); --linea-fuerte:rgba(18,4,107,.35);
  --font-base:'Archivo',sans-serif; --font-mono:'Fragment Mono',monospace;
}
*,*::before,*::after {box-sizing:border-box}
[hidden] {display:none!important}
html {scroll-behavior:smooth;scroll-padding-top:28px;scrollbar-color:var(--azul-600) var(--niebla)}
body {margin:0;color:var(--indigo-800);background:white;font:400 17px/1.65 var(--font-base);-webkit-font-smoothing:antialiased}
button,input,textarea,select {font:inherit}
a,button,select,input,textarea {-webkit-tap-highlight-color:transparent}
a {color:inherit;text-decoration:none;text-underline-offset:5px}
a,button {touch-action:manipulation}
button,select,summary {cursor:pointer}
button {color:inherit;background:none;border:0}
button:disabled {cursor:wait;opacity:.55}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible {outline:2px solid var(--azul-600);outline-offset:5px}
h1,h2,h3,p,figure {margin:0}
h1,h2,h3 {font-weight:600;letter-spacing:-.035em;line-height:1.1;text-wrap:balance}
h1 {font-size:clamp(56px,5.2vw,76px);letter-spacing:-.04em;line-height:1.04}
h2 {font-size:clamp(36px,3.7vw,52px);white-space:pre-line}
h3 {font-size:32px;line-height:1.16}
p {text-wrap:pretty}
svg {display:block;fill:none;stroke:currentColor;stroke-width:1.5}
::selection {background:var(--acido);color:var(--indigo-900)}
input,textarea {caret-color:var(--azul-600)}
.frame {width:min(100% - 96px,1200px);margin-inline:auto}
.mono {font:12px/1.5 var(--font-mono);font-variant-numeric:tabular-nums}
.skip-link {position:fixed;z-index:100;left:24px;top:-100px;padding:12px 20px;color:var(--indigo-900);background:var(--acido)}
.skip-link:focus {top:12px}

.site-header{background:white;position:relative;z-index:10}
.header-inner{display:flex;align-items:center;gap:32px;min-height:94px;border-bottom:1px solid var(--linea)}
.brand{display:inline-flex;align-items:center;min-height:44px;flex-shrink:0}.brand img{display:block;width:164px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:14px}.desktop-nav a{padding:14px 0}.desktop-nav a:hover{text-decoration:underline}
.header-actions{display:flex;align-items:center;gap:26px;font-size:14px}#language{min-height:44px;padding:8px 4px;color:var(--txt-2);background:white;border:0;font-size:13px}
.header-contact{display:flex;align-items:center;gap:12px;min-height:44px}.header-contact svg,.button-primary svg,.text-link svg,.footer-top-link svg{width:22px;height:22px;flex-shrink:0;transition:transform .2s ease}
.menu-button{display:none;min-height:44px;padding:8px 0}.mobile-menu{display:grid;padding:12px 0 24px}.mobile-menu a{padding:14px 0;border-bottom:1px solid var(--linea)}
.hero{padding-top:68px}.hero-heading{display:grid;grid-template-columns:1.45fr 1fr;align-items:center;gap:70px;margin-bottom:56px}h1{font-size:clamp(48px,4.9vw,68px);line-height:1.04;max-width:16ch}.hero h1 span{display:block}.hero-second{color:var(--azul-600);margin-top:6px}
.hero-invitation>p:first-child{max-width:40ch;color:var(--txt-2);font-size:18px;line-height:1.6}.hero-invitation .button-primary{margin-top:26px}.hero-note{font-size:12px;line-height:1.6;color:var(--txt-2);margin-top:14px;max-width:46ch}
.button-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:56px;border:1px solid transparent;border-radius:3px;padding:15px 22px;font-size:16px;font-weight:600;background:var(--indigo-800);color:white;line-height:1.5;text-align:left;transition:background .2s ease,transform .2s ease}.button-primary:hover{background:var(--azul-600)}.button-primary:hover svg{transform:translateX(4px)}
.architecture-lab{background:var(--indigo-900);color:white;padding:28px 34px 0;border-radius:5px;overflow:hidden;scroll-margin-top:24px}.lab-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px;font-size:15px}.lab-top>span{color:var(--on-dark);font-size:12px}
.architecture-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #6e70a3;border-radius:3px;overflow:hidden}.architecture-tabs button{display:flex;align-items:center;gap:12px;padding:16px 20px;min-height:60px;font-size:15px;text-align:left;transition:background .2s}.architecture-tabs button+button{border-left:1px solid #6e70a3}.architecture-tabs button[aria-pressed=true]{background:#2b2381}.architecture-tabs button:hover{background:#231976}.architecture-tabs svg{margin-left:auto;width:20px;height:20px}.layer-dot{width:6px;height:6px;background:var(--azul-400);border-radius:50%;flex-shrink:0}.architecture-tabs [aria-pressed=true] .layer-dot{background:var(--acido)}
.lab-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:center;gap:24px;min-height:360px}.lab-copy{padding:30px 0}.lab-copy h2{font-size:32px;max-width:17ch;white-space:normal;line-height:1.13}.lab-copy>p{font-size:14px;color:var(--on-dark);margin-top:18px;line-height:1.65}.lab-copy .layer-key{margin-top:24px;font-size:11px}.layer-key span{display:block;color:var(--on-dark)}.layer-key strong{display:block;color:var(--acido);font-weight:400;font-size:12px;margin-top:5px}
.architecture-scene{position:relative;height:370px;touch-action:pan-y;cursor:default}.architecture-scene canvas,.method-graphic canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.architecture-fallback,.method-fallback{height:100%;width:100%}.has-webgl .architecture-fallback,.has-webgl .method-fallback{visibility:hidden}
.lab-footer{border-top:1px solid #ffffff26;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 0;color:var(--on-dark);font-size:11px}.scene-controls{display:flex;align-items:center;gap:22px;flex-shrink:0}.scene-controls button{padding:8px 0;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.architecture-lab :focus-visible,.method-section :focus-visible,.site-footer :focus-visible{outline-color:var(--acido);outline-offset:-4px}
.build-section{padding-block:108px 96px}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:end;margin-bottom:52px}.section-heading h2{max-width:22ch}.section-heading>p{color:var(--txt-2);font-size:17px;max-width:50ch}
.capability-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:40px 0;border-top:1px solid var(--linea)}.capability-story:nth-of-type(even) .capability-copy{order:2}.capability-story:last-child{padding-bottom:0}.capability-copy h3{max-width:21ch;font-size:34px;margin-bottom:20px}.capability-copy>p{color:var(--txt-2);font-size:16px;max-width:50ch}.capability-copy .capability-scope{font-size:12px;color:var(--azul-600);margin-top:20px;max-width:60ch;line-height:1.8}
.capability-demo{background:#f2f4ff;padding:16px 24px 18px;border-radius:4px;min-width:0}.capability-demo>svg{width:100%;height:auto;overflow:visible;stroke-width:1.5}.demo-paths{stroke:#8592d4}.demo-nodes{fill:#fff;stroke:#2a3bf0}.demo-labels{fill:var(--indigo-800);stroke:none;font:12px var(--font-base);text-anchor:middle}.demo-branch{opacity:0;transition:opacity .3s}.demo-signal{stroke:var(--azul-600);stroke-width:3;stroke-dasharray:.12 .88;animation:route-flow 4s linear infinite;animation-play-state:paused}.is-playing .demo-signal{animation-play-state:running}.demo-footer{display:flex;gap:16px;align-items:start;justify-content:space-between;border-top:1px solid #cbd0e8;padding-top:12px}.demo-footer p{font-size:12px;max-width:22ch;line-height:1.5;color:var(--txt-2)}.demo-toggle{font-size:12px;text-align:right;min-height:44px;text-decoration:underline;text-underline-offset:5px;padding:0;line-height:1.5;max-width:19ch;color:var(--azul-600)}
[data-demo="1"][data-active=true] .demo-branch{opacity:1}[data-demo="1"][data-active=true] .demo-paths .demo-branch{stroke:var(--azul-600);stroke-width:2}[data-demo="2"] .demo-signal{opacity:0}[data-demo="2"][data-active=true] .demo-signal{opacity:1}[data-demo="2"][data-active=true] .demo-hub{fill:var(--acido)}.demo-comparison{stroke:var(--azul-600);stroke-width:3;opacity:0;transition:opacity .3s}[data-demo="3"][data-active=true] .demo-comparison{opacity:1}[data-demo="3"][data-active=true] .demo-signal{opacity:.3}
@keyframes route-flow{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.method-section{padding-block:84px;background:var(--indigo-900);color:white}.method-section .section-heading>p{color:var(--on-dark)}.method-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40}.method-tabs button{position:relative;text-align:left;min-width:0;padding:21px 18px 20px 0;display:flex;flex-direction:column;gap:12px;border-top:2px solid transparent}.method-tabs button+button{padding-left:18px;border-left:1px solid #ffffff26}.method-tabs .mono{color:var(--azul-400)}.method-tabs strong{font-size:17px;font-weight:500;line-height:1.4}.tab-summary{font-size:11px;color:var(--on-dark);line-height:1.5;max-width:22ch}.method-tabs button[aria-selected=true]{border-top-color:var(--acido)}.method-tabs button[aria-selected=true] strong,.method-tabs button[aria-selected=true] .mono{color:var(--acido)}.method-tabs button:hover{background:#ffffff08}
.method-panel{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:80px;min-height:340px}.method-graphic{position:relative;height:340px}.method-detail{padding:32px 0;max-width:470px}.method-count{color:var(--on-dark);margin-bottom:16px}.method-detail h3{font-size:32px;max-width:23ch}.method-detail>p:not(.method-count){color:var(--on-dark);font-size:15px;margin-top:18px}.method-detail .text-link{margin-top:20px;color:var(--acido)}
.method-fallback{fill:none;stroke:var(--azul-400);stroke-width:1.5}.method-fragments{opacity:1}.method-structure{opacity:0}.method-fill,.method-verified,.method-evolved{opacity:0}.method-fill{fill:var(--azul-600);fill-opacity:.6}.method-verified{stroke:var(--acido);stroke-width:4}.method-survey{stroke-dasharray:3 8;opacity:.5}[data-stage="1"] .method-fragments,[data-stage="2"] .method-fragments,[data-stage="3"] .method-fragments,[data-stage="4"] .method-fragments{opacity:0}[data-stage="1"] .method-structure,[data-stage="2"] .method-structure,[data-stage="3"] .method-structure,[data-stage="4"] .method-structure{opacity:1}[data-stage="2"] .method-fill,[data-stage="3"] .method-fill,[data-stage="4"] .method-evolved,[data-stage="3"] .method-verified{opacity:1}
.experience{padding-block:40px;border-bottom:1px solid var(--linea)}.experience>p{font-size:12px;color:var(--txt-2);margin-bottom:20px}.client-names{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;font-size:20px;font-weight:600;letter-spacing:-.025em}
.approach-section{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;padding-block:90px;border-bottom:1px solid var(--linea)}.approach-section h2{max-width:21ch}.approach-section p{color:var(--txt-2);max-width:52ch}.approach-section p+p{margin-top:18px}.approach-section .text-link{margin-top:24px}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;border-bottom:1px solid currentColor;font-size:15px;line-height:1.5;padding:8px 0}.text-link:hover svg{transform:translateX(4px)}
.faq-section{padding-block:80px 96px;display:grid;grid-template-columns:1fr 1.15fr;gap:96px}.faq-heading p{color:var(--txt-2);max-width:31ch;margin:24px 0}.faq-heading h2{max-width:16ch}
.faq-list details {border-bottom:1px solid var(--linea)}
.faq-list details:first-child {border-top:1px solid var(--linea)}
.faq-list summary {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;list-style:none;font-size:17px;font-weight:500;line-height:1.45}
.faq-list summary::-webkit-details-marker {display:none}
.faq-toggle {position:relative;width:14px;height:14px;flex-shrink:0;color:var(--azul-600)}
.faq-toggle::before,.faq-toggle::after {content:'';position:absolute;width:14px;height:1px;background:currentColor;left:0;top:6px}
.faq-toggle::after {transform:rotate(90deg);transition:transform .2s ease}
.faq-list details[open] .faq-toggle::after {transform:rotate(0)}
.faq-list details p {padding:0 25px 24px 0;font-size:15px;color:var(--txt-2);max-width:65ch}
.contact-section {padding-block:88px;background:var(--indigo-800);color:white}
.contact-layout {display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start}
.contact-heading h2 {font-size:clamp(44px,4.5vw,64px);max-width:15ch}
.contact-heading>p {font-size:17px;color:var(--on-dark);max-width:38ch;margin-top:28px}
.contact-details {margin-top:44px;font-size:15px}
.contact-details a {display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.contact-details p {color:var(--on-dark);font-size:13px;margin-top:8px}
.contact-heading a:focus-visible {outline-color:var(--acido)}
.contact-form {background:white;color:var(--indigo-800);padding:32px;display:grid;gap:24px;border-radius:4px}
.contact-fields {display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field {display:flex;flex-direction:column;gap:9px;min-width:0}
.field label {font-size:14px;font-weight:500}
.field input,.field textarea {display:block;width:100%;border:1px solid var(--linea-fuerte);border-radius:3px;background:white;color:var(--indigo-800);padding:13px 14px;font-size:16px;line-height:1.5;outline:none}
.field input {min-height:50px}
.field textarea {resize:vertical;min-height:160px}
.field input::placeholder,.field textarea::placeholder {color:var(--txt-2);opacity:1}
.field input:focus,.field textarea:focus {border-color:var(--azul-600);outline:2px solid var(--azul-600);outline-offset:2px}
.form-bottom {display:flex;align-items:center;gap:24px;justify-content:space-between}
.form-bottom p {font-size:12px;color:var(--txt-2);max-width:22ch}
.form-bottom .button-primary {flex-shrink:0;font-size:14px;min-height:52px;gap:16px;padding:13px 18px}
.site-footer {padding:40px 0 24px;background:var(--indigo-900);color:white}
.footer-top {display:flex;align-items:center;gap:40px;padding-bottom:30px;border-bottom:1px solid #ffffff26}
.footer-top p {font-size:13px;color:var(--on-dark);margin-left:auto}
.footer-top-link {display:grid;place-items:center;border:1px solid #ffffff59;border-radius:50%;width:48px;height:48px;flex-shrink:0}
.footer-top-link:hover {color:var(--acido)}
.footer-bottom {display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--on-dark);font-size:12px;padding-top:14px}
.footer-bottom a {min-height:44px;display:flex;align-items:center}
.language-links {display:flex;gap:12px;font-size:12px;flex-wrap:wrap}
.contact-recovery{display:block;width:fit-content;max-width:100%;min-height:44px;margin-top:8px;padding-block:10px;color:var(--indigo-800);font-weight:500;text-decoration:underline}

.contact-section{background:var(--niebla);color:var(--indigo-800)}.contact-heading>p,.contact-details p{color:var(--txt-2)}.contact-form{background:transparent;padding:0;border-radius:0}.contact-heading a:focus-visible{outline-color:var(--azul-600)}.contact-fields{gap:24px}.form-bottom{align-items:start;flex-direction:column;gap:20px}.form-bottom p{max-width:54ch}.form-bottom .button-primary{min-width:190px}.field-error{font-size:13px;line-height:1.5;color:#8a0a24}.field [aria-invalid=true]{border-color:#8a0a24}
@media(min-width:1450px){.frame{max-width:1280px}.hero-heading{gap:100px}.architecture-scene{height:390px}}
@media(max-width:1100px){.frame{width:calc(100% - 64px)}.header-contact{display:none}.header-inner{gap:24px}.desktop-nav{gap:22px}.hero-heading{gap:40px;grid-template-columns:1.2fr 1fr}h1{font-size:52px}.lab-workspace{grid-template-columns:270px 1fr}.lab-copy h2{font-size:28px}.architecture-scene{height:340px}.capability-story{gap:50px}.section-heading,.approach-section{gap:50px}.method-panel{gap:40px}.faq-section{gap:60px}.contact-layout{gap:50px}.method-tabs strong{font-size:15px}}
@media(max-width:800px){.frame{width:calc(100% - 40px)}.header-inner{min-height:80px}.brand img{width:148px}.desktop-nav{display:none}.header-actions{margin-left:auto;gap:22px}.menu-button{display:block}.hero{padding-top:44px}.hero-heading{grid-template-columns:1fr;gap:26px;margin-bottom:36px}h1{font-size:clamp(42px,7.7vw,62px);max-width:20ch}.hero-invitation>p:first-child{max-width:58ch;font-size:16px}.hero-invitation .button-primary{margin-top:22px}.hero-note{max-width:60ch}.architecture-lab{padding:24px 24px 0}.lab-top{align-items:start;flex-direction:column;gap:4px;margin-bottom:20px}.lab-workspace{grid-template-columns:1fr}.lab-copy{padding:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.lab-copy h2{font-size:28px}.lab-copy>p{margin:0}.lab-copy .layer-key{margin:0;grid-column:1/-1}.architecture-scene{height:330px}.lab-footer{gap:12px;align-items:start}.lab-footer>p{max-width:38ch}.scene-controls{gap:16px}.architecture-tabs button{padding:12px;gap:8px;font-size:14px}.architecture-tabs svg{display:none}.build-section{padding-block:70px}.section-heading,.approach-section{grid-template-columns:1fr;gap:24px}.section-heading{margin-bottom:36px}h2{font-size:38px}.capability-story{gap:30px}.capability-copy h3{font-size:28px}.capability-copy>p{font-size:15px}.capability-demo{padding:10px 14px 14px}.demo-footer{flex-direction:column;gap:5px}.demo-footer p{max-width:none}.demo-toggle{text-align:left;max-width:none}.method-section{padding-block:64px}.method-tabs strong{font-size:14px}.method-tabs button{padding:16px 10px 16px 0;gap:8px}.method-tabs button+button{padding-left:10px}.tab-summary{display:none}.method-panel{gap:30px}.method-detail h3{font-size:28px}.method-graphic{height:290px}.approach-section{padding-block:64px}.faq-section{grid-template-columns:1fr;gap:32px;padding-block:64px}.faq-heading p{max-width:50ch;margin:18px 0}.contact-section{padding-block:64px}.contact-layout{grid-template-columns:1fr;gap:36px}.contact-heading h2{font-size:48px;max-width:22ch}.contact-heading>p{max-width:54ch;margin-top:20px}.contact-details{margin-top:20px}.footer-top{flex-wrap:wrap;gap:24px}.footer-top p{order:3;flex-basis:100%;margin:0}.footer-top-link{margin-left:auto}}
@media(max-width:550px){body{font-size:16px}.hero{padding-top:36px}h1{font-size:42px}.hero-heading{gap:24px}.hero-invitation>p:first-child{font-size:16px}.button-primary{font-size:14px}.architecture-lab{margin-inline:-8px;padding:20px 16px 0}.lab-top{font-size:14px}.lab-top>span{font-size:11px}.architecture-tabs button{font-size:12px;gap:6px;padding:12px 8px;min-height:54px;justify-content:center}.layer-dot{width:4px;height:4px}.lab-workspace{gap:0}.lab-copy{display:block;min-height:228px;padding-top:24px}.lab-copy h2{font-size:28px;max-width:25ch}.lab-copy>p{font-size:13px;margin-top:12px}.lab-copy .layer-key{margin-top:16px;font-size:10px}.layer-key strong{font-size:11px}.architecture-scene{height:260px}.lab-footer{flex-direction:column;gap:0;padding-block:12px}.lab-footer>p{max-width:none;font-size:10px}.scene-controls{justify-content:space-between;width:100%}.scene-controls button{font-size:11px}.build-section{padding-block:56px}h2{font-size:34px}.section-heading>p{font-size:16px}.capability-story{grid-template-columns:1fr;gap:24px;padding-block:28px}.capability-story:nth-of-type(even) .capability-copy{order:0}.capability-copy h3{font-size:29px;margin-bottom:14px}.capability-copy .capability-scope{margin-top:14px}.capability-demo{padding:4px 16px 12px}.capability-demo>svg{max-height:180px}.demo-footer{flex-direction:row;gap:18px}.demo-footer p{max-width:20ch;font-size:11px}.demo-toggle{text-align:right;max-width:16ch;font-size:11px}.method-section{padding-block:54px}.method-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.method-tabs button{padding:12px 4px!important;gap:10px;text-align:center;align-items:center}.method-tabs strong{font-size:10px;hyphens:auto;overflow-wrap:anywhere}.method-tabs .mono{font-size:10px}.method-panel{grid-template-columns:1fr;gap:0;min-height:0}.method-graphic{height:260px}.method-detail{padding:8px 0 0;max-width:none;min-height:245px}.method-detail h3{font-size:28px}.method-detail>p:not(.method-count){font-size:14px}.method-count{margin-bottom:12px}.method-detail .text-link{margin-top:16px}.experience{padding-block:30px}.client-names{display:grid;grid-template-columns:1fr 1fr;font-size:18px;gap:18px}.experience>p{font-size:11px}.approach-section{padding-block:54px}.approach-section p{font-size:15px}.text-link{font-size:14px}.faq-section{padding-block:54px}.faq-list summary{font-size:16px}.faq-list details p{padding-right:0}.contact-section{padding-block:54px}.contact-heading h2{font-size:40px}.contact-heading>p{font-size:16px}.contact-fields{grid-template-columns:1fr}.contact-form{gap:22px}.form-bottom .button-primary{width:100%}.footer-bottom{align-items:start;flex-direction:column;gap:4px}}
@media(max-width:360px){.frame{width:calc(100% - 32px)}.brand img{width:136px}.header-actions{gap:12px}h1{font-size:37px}h2{font-size:31px}.hero-invitation .button-primary{width:100%;gap:12px}.architecture-tabs button{font-size:11px;padding-inline:4px}.lab-copy h2{font-size:26px}.lab-copy{min-height:249px}.architecture-scene{height:230px}.method-graphic{height:230px}.method-detail{min-height:290px}.client-names{font-size:16px}.contact-heading h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-toggle{display:none!important}.demo-signal{stroke-dasharray:none;opacity:.7}}

/* The five stages remain legible and directly reachable on small screens. */
@media(max-width:550px){.method-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.method-tabs button{min-height:82px;padding:12px 8px!important;align-items:start;text-align:left}.method-tabs strong{font-size:12px;overflow-wrap:normal;hyphens:none}.method-tabs button:nth-child(4){border-left:0}.method-tabs button:nth-child(n+4){border-bottom:1px solid #ffffff26}.method-tabs .mono{font-size:11px}}
[data-demo="2"][data-active="false"] .demo-paths{stroke-dasharray:5 7;opacity:.5}

/* Static fallback truth and native-sized phone diagrams. */
.lab-caption-interactive,#scene-reset{display:none}
.architecture-lab:has(.has-webgl) .lab-caption-interactive,.architecture-lab:has(.has-webgl) #scene-reset{display:block}
.architecture-lab:has(.has-webgl) .lab-caption-static{display:none}
.architecture-fallback{stroke:var(--azul-400);stroke-width:2}.fallback-layer{opacity:.28;transition:opacity .2s,transform .2s}.fallback-plane{fill:var(--indigo-900)}.fallback-modules{fill:var(--azul-600)}.fallback-nodes{fill:var(--acido);stroke:none}
.architecture-scene[data-layer="0"] .fallback-layer-0,.architecture-scene[data-layer="1"] .fallback-layer-1,.architecture-scene[data-layer="2"] .fallback-layer-2{opacity:1;transform:translateY(-8px)}
.demo-mobile{display:none}
@media(max-width:550px){
 .capability-demo>svg{display:none}.demo-mobile{display:block;position:relative;height:194px;margin-block:8px}.demo-mobile>svg{position:absolute;inset:0;width:100%;height:100%;stroke:#8592d4;stroke-width:1.5}.mobile-node{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;line-height:1.2;min-height:44px;background:white;border:1px solid var(--azul-600);border-radius:2px;color:var(--indigo-800);width:29%;padding:5px 2px;z-index:1}
 .mobile-task{left:0;top:104px}.mobile-rule{left:35.5%;top:104px}.mobile-action{right:0;top:104px}.mobile-task:after,.mobile-rule:after{content:'';position:absolute;left:100%;top:50%;width:24%;height:1px;background:var(--azul-600)}.mobile-exception{top:30px;left:35.5%;opacity:0;transition:opacity .2s}.mobile-exception:after{content:'';position:absolute;left:50%;top:100%;height:31px;width:1px;background:var(--azul-600)}[data-active=true] .mobile-exception{opacity:1}
 .mobile-integration .mobile-node{width:27%}.mobile-tools{left:0;top:31px}.mobile-services{left:0;top:120px}.mobile-api{left:40%;top:76px}.mobile-integration .mobile-data{right:0;top:76px}[data-demo="2"][data-active=false] .demo-mobile>svg{stroke-dasharray:5 7;opacity:.5}[data-demo="2"][data-active=true] .mobile-api{background:var(--acido)}[data-demo="2"][data-active=true] .demo-mobile>svg{stroke:var(--azul-600);stroke-width:2}
 .mobile-analysis .mobile-data{left:0;top:76px;width:25%}.mobile-model-a{left:35.5%;top:20px}.mobile-model-b{left:35.5%;top:130px}.mobile-decision{right:0;top:76px;width:27%}.mobile-route-a{stroke:var(--azul-600);stroke-width:2}.mobile-route-b{stroke-dasharray:4 6}[data-demo="3"][data-active=true] .mobile-route-b{stroke:var(--azul-600);stroke-width:2;stroke-dasharray:none}[data-demo="3"][data-active=true] .mobile-model-b{background:var(--acido)}
}

.architecture-scene.has-webgl{cursor:grab}

/* The requested chapter indices restore the site's editorial navigation rhythm. */
.numbered-heading{display:flex;align-items:baseline;gap:19px;max-width:none!important}.numbered-heading>span:last-child{white-space:pre-line}.section-number{font-size:13px;color:var(--azul-600);letter-spacing:0;flex-shrink:0;transform:translateY(-4px)}.method-section .section-number{color:var(--acido)}
.capability-demo{position:relative}.capability-demo>svg{height:300px}.demo-3d{position:absolute;top:16px;left:24px;right:24px;height:300px;pointer-events:none}.demo-3d canvas{position:absolute;inset:0;width:100%;height:100%}.scene-label{position:absolute;z-index:2;transform:translate(-50%,-50%);font-size:12px;line-height:1.35;white-space:nowrap;padding:3px 6px;border-radius:2px;background:#f2f4ff;color:var(--indigo-800);visibility:hidden}.has-webgl .scene-label{visibility:visible}.method-graphic .scene-label{background:var(--indigo-900);color:var(--on-dark)}
.capability-demo:has(.demo-3d.has-webgl)>svg,.capability-demo:has(.demo-3d.has-webgl)>.demo-mobile{visibility:hidden}.capability-demo[data-active=false] [data-node=exception]{visibility:hidden}.method-graphic:not([data-stage="4"]) [data-node=extension]{visibility:hidden}.method-graphic[data-stage="4"] [data-node=extension]{color:var(--acido)}
.demo-footer p{max-width:29ch}.demo-footer{min-height:82px}.demo-footer .demo-toggle{flex-shrink:0;max-width:18ch}.method-graphic{height:380px}.method-panel{grid-template-columns:1.2fr 1fr;gap:56px}.method-detail{min-height:320px}.method-detail h3{font-size:31px}
@media(max-width:1100px){.numbered-heading{gap:14px}.method-panel{gap:32px}.method-detail h3{font-size:28px}}
@media(max-width:800px){.demo-3d{left:14px;right:14px;top:10px}.capability-demo>svg,.demo-3d{height:260px}.method-graphic{height:300px}.method-detail{min-height:340px}.section-number{font-size:12px}.method-panel{gap:24px}}
@media(max-width:550px){.numbered-heading{gap:12px}.section-number{font-size:11px;transform:translateY(-3px)}.capability-demo>svg{display:none}.demo-mobile{height:220px}.demo-3d{top:12px;left:16px;right:16px;height:220px}.scene-label{font-size:12px;padding:2px 3px}.demo-footer{min-height:96px}.demo-footer p{max-width:24ch}.demo-footer .demo-toggle{max-width:15ch}.method-panel{grid-template-columns:1fr;gap:0}.method-graphic{height:250px;margin-top:12px}.method-detail{min-height:265px}.method-detail h3{font-size:28px}.method-graphic .scene-label{font-size:11px}.method-graphic [data-node=extension]{font-size:11px}}

.method-graphic[data-stage="4"] .method-fill,.method-graphic[data-stage="4"] .method-verified{opacity:1}.method-evolved{stroke:var(--acido)}
/* Recognition, reassurance, then questions: each has a distinct composition. */
.experience{border-bottom:0;padding-block:44px}
.approach-section{display:block;background:var(--niebla);padding-block:80px;border:0}
.fit-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:72px;margin-bottom:48px}
.fit-intro>p{font-size:16px;max-width:52ch}
.fit-signals{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;row-gap:0;margin:0}
.fit-signals>div{padding:28px 0 32px;min-width:0}
.fit-signals>div:nth-child(n+3){border-top:1px solid var(--linea)}
.fit-signals dt{font-size:27px;font-weight:500;line-height:1.25;letter-spacing:-.025em;text-wrap:pretty;max-width:30ch}
.fit-signals dd{margin:16px 0 0;font-size:15px;line-height:1.65;color:var(--txt-2);max-width:55ch}
.fit-closing{display:flex;justify-content:space-between;align-items:center;gap:64px;border-top:1px solid var(--linea);padding-top:28px;margin-top:12px}
.fit-closing .fit-reassurance{font-size:13px;line-height:1.7;max-width:68ch}
.fit-closing .text-link{margin:0;flex-shrink:0;max-width:40%;font-weight:500}
.faq-section{display:block;max-width:880px;padding-block:88px}
.faq-heading{margin-bottom:32px}
.faq-heading .numbered-heading>span:last-child{white-space:normal}
.faq-heading p{font-size:16px;max-width:none;margin:16px 0 0}
.faq-list summary{padding-block:23px}
@media(max-width:1100px){.fit-intro{gap:48px}.fit-signals{column-gap:56px}.fit-signals dt{font-size:25px}.fit-closing{gap:40px}}
@media(max-width:800px){.approach-section{padding-block:64px}.fit-intro{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.fit-signals{column-gap:40px}.fit-signals dt{font-size:23px}.fit-closing{gap:32px}.fit-closing .text-link{max-width:42%}.faq-section{padding-block:64px}}
@media(max-width:550px){.experience{padding-block:32px}.approach-section{padding-block:54px}.fit-intro{margin-bottom:12px}.fit-intro>p{font-size:15px}.fit-signals{grid-template-columns:1fr}.fit-signals>div{padding-block:24px}.fit-signals>div:nth-child(n+3){border-top:0}.fit-signals dt{font-size:24px;max-width:24ch}.fit-signals dd{font-size:14px;margin-top:12px}.fit-closing{display:flex;flex-direction:column;align-items:start;gap:20px;margin-top:8px;padding-top:24px}.fit-closing .text-link{max-width:100%}.faq-section{padding-block:54px}.faq-heading{margin-bottom:24px}.faq-heading p{font-size:15px}.faq-list summary{padding-block:20px}}
.capability-copy .ai-note{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:14px;line-height:1.6}
.ai-symbol{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--azul-600)}
@media(prefers-reduced-motion:no-preference){
 .method-graphic[data-transition="adjacent"] .method-fallback :is(.method-fragments,.method-structure,.method-fill,.method-verified,.method-evolved){transition:opacity .42s cubic-bezier(.16,1,.3,1)}
}

/* The preferred hero diagram remains visible instead of being replaced at load. */
.architecture-scene .fallback-modules,.architecture-scene .fallback-nodes{animation:diagram-breathe 4s ease-in-out infinite;animation-play-state:paused}
.architecture-scene.is-playing .fallback-modules,.architecture-scene.is-playing .fallback-nodes{animation-play-state:running}
@keyframes diagram-breathe{0%,100%{fill-opacity:1}50%{fill-opacity:.65}}
