@font-face{font-family:Grotesk;src:url('/assets/fonts/grotesk-regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:Grotesk;src:url('/assets/fonts/grotesk-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:Commit Mono;src:url('/assets/fonts/commit-mono.otf') format('opentype');font-display:swap}
:root{color-scheme:light;--ink:#f0e9e6;--ink-2:#ebf0f6;--paper:#16263b;--white:#fff;--blue:#d85700;--cyan:#ff6a00;--mint:#ff8f3f;--brand-orange:#ff6a00;--brand-orange-dark:#d85700;--brand-navy:#10233a;--brand-ink:#16263b;--brand-soft:#ebf0f6;--brand-line:#d8e1ec;--line:rgba(16,35,58,.16);--line-strong:rgba(16,35,58,.30);--muted:#4a5a70;--mono:'Commit Mono',monospace;--sans:Grotesk,Arial,sans-serif;--pad:clamp(1.25rem,4vw,4.5rem);--section:clamp(5rem,10vw,9rem);--type-display:clamp(3.25rem,7.2vw,7.5rem);--type-page-title:clamp(2.75rem,5.4vw,5.5rem);--type-section-title:clamp(2.25rem,4.2vw,4.25rem);--type-statement:clamp(1.75rem,3.4vw,3.25rem);--type-card-title:clamp(1.125rem,1.6vw,1.5rem);--type-card-title-compact:1rem;--type-lead:clamp(1rem,1.2vw,1.1875rem);--type-body:1rem;--type-description:.95rem;--type-small:.85rem;--type-label:.6875rem;--type-page-title-mobile:clamp(2.4rem,12vw,3.75rem);--leading-display:.9;--leading-title:.96;--leading-heading:1.1;--leading-body:1.6;--leading-compact:1.45;--tracking-display:-.05em;--tracking-title:-.035em;--measure-body:68ch;--measure-lead:62ch}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);line-height:1.5;overflow-x:hidden}body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-2;background:linear-gradient(rgba(16,35,58,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(16,35,58,.026) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000 0,transparent 75%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{display:block;max-width:100%}::selection{background:var(--blue);color:#fff}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--paper);color:var(--ink);padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(16,35,58,.88);backdrop-filter:blur(18px)}.nav-shell{height:5.25rem;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{width:clamp(11.5rem,17vw,15rem);height:3.8rem;background:url('/assets/brand/sourcecode-logo-light.png?v=20260824') center/contain no-repeat;font-size:0}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2.5vw,2.25rem);font:700 .72rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.nav-links a{padding:.75rem .1rem;color:var(--muted);position:relative}.nav-links a::after{content:'';position:absolute;left:0;right:100%;bottom:.35rem;height:1px;background:var(--cyan);transition:right .25s}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a[aria-current=page]{color:var(--paper)}.nav-links a:hover::after,.nav-links a:focus-visible::after,.nav-links a[aria-current=page]::after{right:0}.menu-toggle{display:none;width:2.75rem;height:2.75rem;border:1px solid var(--line);background:transparent;color:var(--paper);cursor:pointer}.menu-toggle span,.menu-toggle::before,.menu-toggle::after{content:'';display:block;width:1.1rem;height:1px;background:currentColor;margin:.25rem auto;transition:.2s}.menu-toggle[aria-expanded=true] span{opacity:0}.menu-toggle[aria-expanded=true]::before{transform:translateY(5px) rotate(45deg)}.menu-toggle[aria-expanded=true]::after{transform:translateY(-5px) rotate(-45deg)}
.container{width:min(100%,96rem);margin:auto;padding-inline:var(--pad)}.hero{min-height:calc(100svh - 5.25rem);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(22rem,.85fr);align-items:center;gap:clamp(3rem,7vw,8rem);padding-block:clamp(5rem,10vh,8rem);position:relative}.eyebrow,.section-index,.card-index,.status-label{font:400 .72rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1.5rem}.eyebrow::before{content:'';width:.5rem;height:.5rem;background:var(--cyan);box-shadow:0 0 1.2rem var(--cyan)}h1,h2,h3,p{margin-top:0}h1{max-width:13ch;font-size:clamp(3.25rem,7.2vw,7.5rem);line-height:.88;letter-spacing:-.055em;text-transform:uppercase;margin-bottom:2rem}h1 span{color:transparent;-webkit-text-stroke:1px var(--paper)}.hero-copy{max-width:42rem;font-size:clamp(1rem,1.3vw,1.25rem);line-height:1.65;color:var(--muted)}.hero-actions,.section-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem}.button{min-height:3.25rem;display:inline-flex;align-items:center;justify-content:center;gap:.8rem;padding:.9rem 1.25rem;border:1px solid var(--line-strong);font:700 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - .75rem) 0,100% .75rem,100% 100%,.75rem 100%,0 calc(100% - .75rem));transition:background .2s,color .2s,border-color .2s,transform .2s}.button::after{content:'↗';font-size:1rem}.button-primary{background:var(--brand-orange);color:var(--brand-navy);border-color:var(--brand-orange)}.button:hover,.button:focus-visible{transform:translateY(-2px);border-color:var(--cyan)}.button-primary:hover,.button-primary:focus-visible{background:var(--brand-soft);border-color:var(--brand-soft);color:var(--brand-navy)}.button-muted{color:var(--muted)}
.system-map{aspect-ratio:1/1;position:relative;border:1px solid var(--line);background:radial-gradient(circle at center,rgba(255,106,0,.15),transparent 58%),rgba(16,35,58,.018);clip-path:polygon(0 0,calc(100% - 2rem) 0,100% 2rem,100% 100%,2rem 100%,0 calc(100% - 2rem));overflow:hidden}.system-map::before,.system-map::after{content:'';position:absolute;inset:12%;border:1px solid var(--line);border-radius:50%;animation:orbit 18s linear infinite}.system-map::after{inset:27%;animation-direction:reverse;animation-duration:12s}.map-core{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:7.5rem;height:7.5rem;border:1px solid var(--cyan);display:grid;place-items:center;background:var(--ink);z-index:3;font:700 .68rem/1.4 var(--mono);letter-spacing:.1em;text-align:center;text-transform:uppercase;box-shadow:0 0 3rem rgba(255,106,0,.18)}.map-node{position:absolute;width:6.5rem;min-height:3.25rem;padding:.65rem;border:1px solid var(--line-strong);background:var(--ink-2);display:grid;place-items:center;z-index:2;font:.62rem/1.3 var(--mono);text-transform:uppercase;text-align:center;color:var(--muted)}.node-a{left:7%;top:16%}.node-b{right:7%;top:16%}.node-c{left:7%;bottom:16%}.node-d{right:7%;bottom:16%}.map-line{position:absolute;left:20%;right:20%;top:50%;height:1px;background:linear-gradient(90deg,var(--cyan),transparent,var(--mint));transform-origin:center}.map-line:nth-of-type(2){transform:rotate(90deg)}.map-scan{position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 1rem var(--cyan);animation:scan 5s ease-in-out infinite}
.section{padding-block:var(--section);border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr);gap:2rem;margin-bottom:clamp(2.5rem,6vw,5rem)}.section-head h2,.page-hero h1{font-size:clamp(2.5rem,5.7vw,5.75rem);line-height:.95;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:1.25rem;max-width:13ch}.section-intro{max-width:45rem;color:var(--muted);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.65}.grid{display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{position:relative;min-height:18rem;padding:clamp(1.25rem,2.5vw,2rem);border:1px solid var(--line);margin:-1px 0 0 -1px;background:rgba(16,35,58,.018);display:flex;flex-direction:column;transition:background .25s,border-color .25s}.card:hover{background:rgba(255,106,0,.08);border-color:var(--line-strong);z-index:2}.card h3{font-size:clamp(1.15rem,1.7vw,1.55rem);line-height:1.08;text-transform:uppercase;margin:2.5rem 0 1rem}.card p{color:var(--muted);font-size:.95rem}.card ul,.detail-list{padding:0;margin:1.25rem 0 0;list-style:none}.card li,.detail-list li{padding:.5rem 0 .5rem 1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;position:relative}.card li::before,.detail-list li::before{content:'+';position:absolute;left:0;color:var(--cyan)}.card-link{margin-top:auto;padding-top:1.5rem;font:700 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper)}.card-link::after{content:' →'}.pillars .card{min-height:21rem}.pillars .card h3{font-size:clamp(1.75rem,3vw,3rem);max-width:8ch}.services-grid .card:nth-child(3n+2){background:rgba(16,35,58,.03)}
.process{counter-reset:step;border-top:1px solid var(--line)}.process-step{counter-increment:step;display:grid;grid-template-columns:5rem minmax(12rem,.55fr) minmax(0,1fr);gap:2rem;padding:1.6rem 0;border-bottom:1px solid var(--line);align-items:start}.process-step::before{content:'0' counter(step);font:400 .72rem/1 var(--mono);color:var(--cyan)}.process-step h3{font-size:1.2rem;text-transform:uppercase;margin:0}.process-step p{color:var(--muted);margin:0;max-width:43rem}.tech-cloud{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-left:1px solid var(--line)}.tech-cloud span{padding:1rem 1.25rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:.74rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.tech-cloud span:hover{color:var(--paper);background:rgba(255,106,0,.1)}
.page-hero{padding-block:clamp(5rem,10vw,9rem);border-bottom:1px solid var(--line)}.page-hero h1{max-width:15ch}.page-hero .section-intro{max-width:48rem}.breadcrumbs{font:.68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:2.5rem}.breadcrumbs a:hover{color:var(--paper)}.split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,8vw,8rem)}.statement{font-size:clamp(1.7rem,3.5vw,3.5rem);line-height:1.08;letter-spacing:-.03em;text-transform:uppercase}.prose{color:var(--muted);font-size:1.05rem;line-height:1.75}.notice{border:1px solid var(--line-strong);border-left:3px solid var(--cyan);padding:1.25rem;color:var(--muted);background:rgba(255,106,0,.04)}
.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:1.4rem 3rem 1.4rem 0;font-size:1.1rem;position:relative}summary::-webkit-details-marker{display:none}summary::after{content:'+';position:absolute;right:.5rem;color:var(--cyan);font:1.25rem var(--mono)}details[open] summary::after{content:'−'}.faq-answer{max-width:52rem;padding:0 0 1.5rem;color:var(--muted)}
.contact-panel{display:grid;grid-template-columns:.75fr 1.25fr;border:1px solid var(--line)}.contact-action{padding:clamp(1.5rem,4vw,3.5rem);align-self:center}.notice-spaced{margin-top:3rem}.contact-copy{padding:clamp(1.5rem,4vw,3.5rem);background:var(--paper);color:var(--ink)}.contact-copy::before{content:'';display:block;width:11rem;height:3rem;margin-bottom:2.5rem;background:url('/assets/brand/sourcecode-logo-dark.png?v=20260824') left center/contain no-repeat}.contact-copy p{color:rgba(16,35,58,.7)}.brief-form{padding:clamp(1.5rem,4vw,3.5rem);display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.field{display:grid;gap:.5rem}.field-full{grid-column:1/-1}.field label{font:.68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:rgba(16,35,58,.03);color:var(--paper);padding:.9rem 1rem;border-radius:0;outline:0}.field select option{background:var(--ink)}.field textarea{min-height:8rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan)}.form-status{grid-column:1/-1;min-height:1.5rem;color:var(--mint);font:.75rem/1.4 var(--mono)}
.site-footer{border-top:1px solid var(--line);padding:3rem var(--pad)}.footer-grid{width:min(100%,96rem);margin:auto;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}.footer-brand{width:12rem;height:3.5rem;background:url('/assets/brand/sourcecode-logo-light.png?v=20260824') center/contain no-repeat;font-size:0;margin-bottom:1.5rem}.footer-copy{max-width:34rem;color:var(--muted);font-size:.9rem}.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:.7rem 2rem;font:.7rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.footer-meta{grid-column:1/-1;padding-top:2rem;margin-top:1rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;color:var(--muted);font:.65rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.reveal{opacity:1;transform:none;transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes scan{0%,100%{top:8%;opacity:0}20%,80%{opacity:1}50%{top:92%}}
:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
@media(max-width:980px){.hero{grid-template-columns:1fr;min-height:auto}.system-map{width:min(100%,36rem);margin:auto}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}.section-head{grid-template-columns:1fr}.contact-panel{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-links{justify-self:start}.nav-links{position:fixed;left:0;right:0;top:5.25rem;padding:1.5rem var(--pad) 2rem;background:var(--ink);border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start}.nav-links.is-open{display:flex}.menu-toggle{display:block}}
@media(max-width:640px){:root{--pad:1.15rem}.nav-shell{height:4.5rem}.nav-links{top:4.5rem}.brand{width:10.25rem}.hero{padding-block:4rem}.system-map{aspect-ratio:4/5}.map-node{width:5.2rem;font-size:.55rem}.map-core{width:6rem;height:6rem}.grid-3,.grid-4{grid-template-columns:1fr}.card{min-height:15rem}.process-step{grid-template-columns:2.5rem 1fr}.process-step p{grid-column:2}.split{grid-template-columns:1fr}.brief-form{grid-template-columns:1fr}.field-full{grid-column:auto}.footer-meta{flex-direction:column}.section-head h2,.page-hero h1{font-size:clamp(2.4rem,13vw,4rem)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Home horizontal: conserva la composición inmersiva del diseño original. */
.horizontal-controls{display:none}
@media(min-width:981px){
  body.home-horizontal{height:100vh;overflow:hidden}
  .home-horizontal .site-header{position:relative}
  .horizontal-stage{width:100vw;height:calc(100vh - 5.25rem);display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
  .horizontal-stage::-webkit-scrollbar{display:none}
  .horizontal-stage>section{flex:0 0 100vw;width:100vw;height:100%;min-height:0;max-width:none;scroll-snap-align:start;scroll-snap-stop:always;overflow-y:auto}
  .horizontal-stage>.hero{margin:0;padding:clamp(2.5rem,5vh,4.5rem) var(--pad);grid-template-columns:minmax(0,1.08fr) minmax(24rem,.72fr)}
  .horizontal-stage>.section{padding-block:clamp(2.5rem,5vh,4rem);border-top:0;border-left:1px solid var(--line);display:flex;align-items:center}
  .horizontal-stage .section-head{margin-bottom:clamp(1.75rem,3.5vh,3rem)}
  .horizontal-stage .section-head h2{font-size:clamp(2.5rem,4.5vw,4.75rem)}
  .horizontal-stage .card{min-height:clamp(10.5rem,20vh,14rem);padding:clamp(1rem,1.7vw,1.6rem)}
  .horizontal-stage .pillars .card{min-height:clamp(15rem,33vh,20rem)}
  .horizontal-stage .card h3{margin:clamp(1rem,2vh,2rem) 0 .75rem}
  .horizontal-stage .process-step{padding:clamp(.7rem,1.25vh,1.1rem) 0}
  .horizontal-stage .contact-panel{width:min(calc(100% - 2 * var(--pad)),82rem)}
  .horizontal-controls{position:fixed;z-index:70;right:var(--pad);bottom:1.1rem;display:flex;align-items:center;border:1px solid var(--line-strong);background:rgba(16,35,58,.9);backdrop-filter:blur(14px);height:3rem}
  .horizontal-hint{padding:0 1rem;font:.62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-right:1px solid var(--line);white-space:nowrap}
  .panel-button{width:3rem;height:3rem;border:0;border-right:1px solid var(--line);background:transparent;color:var(--paper);cursor:pointer}
  .panel-button:last-child{border-right:0;border-left:1px solid var(--line)}
  .panel-button:hover,.panel-button:focus-visible{background:var(--paper);color:var(--ink)}
  .panel-button:disabled{opacity:.28;cursor:not-allowed}
  .panel-counter{width:4.5rem;text-align:center;font:.65rem/1 var(--mono);color:var(--muted)}
  .panel-progress{width:5rem;height:1px;background:var(--line);position:relative}
  .panel-progress span{position:absolute;inset:0 auto 0 0;width:14.285%;background:var(--cyan);transition:width .25s}
  .home-horizontal .site-footer{position:fixed;z-index:60;left:var(--pad);bottom:1.9rem;border:0;padding:0;pointer-events:none}
  .home-horizontal .footer-grid{display:block;width:auto}
  .home-horizontal .footer-grid>div:first-child,.home-horizontal .footer-links,.home-horizontal .footer-meta span:last-child{display:none}
  .home-horizontal .footer-meta{display:block;border:0;margin:0;padding:0;font-size:.58rem}
}

@media(max-width:980px){.home-horizontal .horizontal-stage{display:block}.home-horizontal .horizontal-controls{display:none}}

/* Cyber shell: la gran card biselada que sostiene toda la experiencia. */
.card{clip-path:polygon(0 0,calc(100% - 1rem) 0,100% 1rem,100% 100%,1rem 100%,0 calc(100% - 1rem));background:linear-gradient(145deg,rgba(255,106,0,.075),rgba(16,35,58,.018) 58%);box-shadow:inset 0 0 0 1px rgba(255,106,0,.05)}
.card::after{content:'';position:absolute;top:.65rem;right:.65rem;width:.35rem;height:.35rem;background:var(--cyan);opacity:.55;box-shadow:0 0 .8rem var(--cyan)}
.contact-panel{clip-path:polygon(0 0,calc(100% - 1.4rem) 0,100% 1.4rem,100% 100%,1.4rem 100%,0 calc(100% - 1.4rem))}
.cyber-shell{display:none}
.signal-field{display:none}

/* Overrides finales medidos contra el marco original de referencia. */
@media(min-width:981px){
  body.home-horizontal{background:#f0e9e6}
  body.home-horizontal::before{display:none}
  .home-horizontal .cyber-shell{position:fixed;pointer-events:none;display:block;z-index:0;top:30px;right:30px;bottom:30px;left:30px;border:0;background:#d8e1ec;clip-path:polygon(26px 0,calc(100% - 26px) 0,100% 26px,100% calc(100% - 26px),calc(100% - 26px) 100%,26px 100%,0 calc(100% - 26px),0 26px);box-shadow:none}
  .home-horizontal .cyber-shell::before{content:'';position:absolute;z-index:0;inset:1px;background:#f0e9e6;clip-path:polygon(25px 0,calc(100% - 25px) 0,100% 25px,100% calc(100% - 25px),calc(100% - 25px) 100%,25px 100%,0 calc(100% - 25px),0 25px);border:0}
  .home-horizontal .cyber-shell::after{content:'';position:absolute;z-index:1;left:0;right:0;top:auto;bottom:0;height:47px;border-top:1px solid #d8e1ec;background:linear-gradient(90deg,transparent 0 8.7%,#d8e1ec 8.7% calc(8.7% + 1px),transparent calc(8.7% + 1px) 90.7%,#d8e1ec 90.7% calc(90.7% + 1px),transparent calc(90.7% + 1px));opacity:1}
  .home-horizontal .signal-field{position:fixed;display:block;pointer-events:none;z-index:1;inset:31px 31px 78px;width:calc(100vw - 62px);height:calc(100vh - 109px);opacity:.82;contain:strict;mix-blend-mode:multiply}
  .home-horizontal .shell-corner,.home-horizontal .shell-title,.home-horizontal .shell-panel,.home-horizontal .shell-signal,.home-horizontal .shell-side{display:none}
  .home-horizontal .site-header{position:fixed;z-index:60;top:31px;left:31px;right:31px;height:72px;border:0;background:transparent;backdrop-filter:none}
  .home-horizontal .nav-shell{height:72px;padding:0 22px}
  .home-horizontal .brand{width:18.5rem;height:4.75rem;background-position:left center}
  .home-horizontal .menu-toggle{display:block;border-color:rgba(16,35,58,.15)}
  .home-horizontal .nav-links{display:none;position:absolute;top:76px;right:22px;left:auto;min-width:15rem;padding:1rem;background:var(--paper);border:0;flex-direction:column;align-items:stretch;gap:0;clip-path:polygon(0 0,calc(100% - 1rem) 0,100% 1rem,100% 100%,1rem 100%,0 calc(100% - 1rem))}
  .home-horizontal .nav-links.is-open{display:flex}
  .home-horizontal .nav-links a{color:var(--ink);padding:1rem;border-bottom:1px solid rgba(16,35,58,.13)}
  .home-horizontal .nav-links a::after{display:none}
  .home-horizontal .horizontal-stage{position:fixed;z-index:2;top:31px;left:31px;width:calc(100vw - 62px);height:calc(100vh - 109px);background:transparent}
  .home-horizontal .horizontal-stage>section{flex:0 0 100%;width:100%;padding:118px clamp(3rem,5vw,5.5rem) 36px!important}
  .home-horizontal .horizontal-stage>section::before,.home-horizontal .horizontal-stage>.section::after{display:none}
  .home-horizontal .horizontal-stage>.hero{grid-template-columns:minmax(0,1.08fr) minmax(24rem,.72fr);margin:0}
  .home-horizontal .horizontal-stage>.section{border:0}
  .home-horizontal .horizontal-stage .card{clip-path:none;border-color:rgba(16,35,58,.14);background:rgba(16,35,58,.035);box-shadow:none}
  .home-horizontal .horizontal-stage .card::after{display:none}
  .home-horizontal .horizontal-stage .card:hover{background:rgba(16,35,58,.065);border-color:rgba(16,35,58,.28)}
  .home-horizontal .horizontal-stage .contact-panel{clip-path:none;border-color:rgba(16,35,58,.16)}
  .home-horizontal .horizontal-controls{z-index:70;right:31px;bottom:31px;height:47px;border:0;border-left:1px solid #d8e1ec;background:#f0e9e6;backdrop-filter:none}
  .home-horizontal .panel-button{height:47px}.home-horizontal .panel-counter{height:47px;display:grid;place-items:center}.home-horizontal .horizontal-hint{height:47px;display:flex;align-items:center}
  .home-horizontal .site-footer{z-index:65;left:54px;bottom:48px}
  .home-horizontal .footer-meta{color:rgba(16,35,58,.42)}
}

@media(min-width:981px){
  .home-horizontal .header-actions{position:absolute;z-index:90;right:12px;top:0;display:flex;align-items:center}
  .home-horizontal .brand{position:relative;z-index:90}
  .home-horizontal .access-controls{display:flex;align-items:center;height:41px}
  .home-horizontal .menu-toggle{width:112px;height:41px;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 21px;border:0;font:700 9px/1.2 var(--sans);letter-spacing:1.44px;text-transform:uppercase;cursor:pointer;color:var(--ink);background:var(--paper);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));transition:background .2s,color .2s}
  .home-horizontal .menu-toggle b{display:flex;align-items:center;height:9px;font:inherit;line-height:9px}
  .home-horizontal .pixel-icon{position:relative;display:block;flex:0 0 auto;margin:0;background:currentColor;transition:transform .2s}
  .home-horizontal .menu-icon{width:9px;height:9px;background:linear-gradient(currentColor,currentColor) 0 0/3px 3px no-repeat,linear-gradient(currentColor,currentColor) 6px 0/3px 3px no-repeat,linear-gradient(currentColor,currentColor) 0 6px/3px 3px no-repeat,linear-gradient(currentColor,currentColor) 6px 6px/3px 3px no-repeat;box-shadow:none}
  .home-horizontal .menu-toggle::before,.home-horizontal .menu-toggle::after{content:none}
  .home-horizontal .menu-toggle:hover,.home-horizontal .menu-toggle:focus-visible{background:var(--cyan)}
  .home-horizontal .menu-toggle[aria-expanded=true] .menu-icon{width:9px;height:1px;background:currentColor;box-shadow:none;transform:rotate(45deg)}
  .home-horizontal .menu-toggle[aria-expanded=true] .menu-icon::after{content:'';position:absolute;inset:0;background:currentColor;transform:rotate(90deg)}
  .home-horizontal .nav-links{position:absolute;z-index:80;inset:64px 12px auto auto;width:260px;min-width:260px;padding:10px;background:var(--paper);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));counter-reset:menu;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 48px rgba(0,0,0,.28)}
  .home-horizontal .nav-links.is-open{display:flex}
  .home-horizontal.menu-open .menu-toggle{background:var(--ink);color:var(--paper)}
  .home-horizontal .nav-links a{counter-increment:menu;position:relative;padding:14px 14px 14px 42px;border-bottom:1px solid rgba(16,35,58,.14);font:700 10px/1.2 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink)}
  .home-horizontal .nav-links a:last-child{border-bottom:0}
  .home-horizontal .nav-links a::before{content:'0' counter(menu);position:absolute;left:14px;top:15px;font:400 8px/1 var(--mono);letter-spacing:.8px;color:rgba(16,35,58,.48)}
  .home-horizontal .nav-links a:hover,.home-horizontal .nav-links a:focus-visible{background:rgba(16,35,58,.055)}
  .home-horizontal .horizontal-controls{left:31px;right:31px;display:grid;grid-template-columns:8.7% 1fr 9.3%;border-left:0;clip-path:polygon(0 0,100% 0,100% calc(100% - 25px),calc(100% - 25px) 100%,25px 100%,0 calc(100% - 25px))}
  .home-horizontal .bar-center{height:47px;justify-self:center;display:flex;align-items:center;border-left:1px solid #d8e1ec;border-right:1px solid #d8e1ec}
  .home-horizontal .bar-action{height:47px;display:flex;align-items:center;padding:0 clamp(.75rem,1.2vw,1.35rem);font:700 .62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(16,35,58,.72)}
  .home-horizontal .bar-left{border-right:1px solid #d8e1ec}
  .home-horizontal .bar-right{justify-content:flex-end;border-left:1px solid #d8e1ec}
  .home-horizontal .bar-action:hover,.home-horizontal .bar-action:focus-visible{background:var(--paper);color:var(--ink)}
  .home-horizontal .site-footer{display:none}
}
@media(max-width:980px){.header-actions{display:flex;align-items:center}.home-horizontal .brand{width:clamp(11.5rem,36vw,13rem);height:4.25rem;background-position:left center}.home-horizontal .access-controls{display:flex}.home-horizontal .menu-toggle{width:44px;padding:0;border-radius:0}.menu-toggle b{display:none}.bar-action,.bar-center{display:contents}}
@media(max-width:980px){html,body{overflow-x:clip}}

/* Sistema editorial: menos ornamento, más jerarquía y consistencia. */
.system-map{aspect-ratio:1/1;padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);background:rgba(16,35,58,.018);clip-path:none;overflow:hidden}
.system-map::before,.system-map::after{display:none}
.map-heading{display:grid;gap:.6rem;padding-bottom:1.25rem;border-bottom:1px solid var(--line)}
.map-heading span,.map-layer span{font:400 .62rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.map-heading strong{font:700 clamp(1.3rem,2vw,1.9rem)/1 var(--sans);letter-spacing:-.02em;text-transform:uppercase}
.map-stack{display:grid}
.map-layer{display:grid;grid-template-columns:2rem minmax(0,.75fr) minmax(0,1fr);gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}
.map-layer strong{font:700 .85rem/1.2 var(--sans);text-transform:uppercase}
.map-layer small{font:.68rem/1.4 var(--mono);color:var(--muted)}
.map-foundation{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.map-foundation span{padding:.8rem .5rem;text-align:center;border-right:1px solid var(--line);font:400 .6rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.map-foundation span:last-child{border-right:0}
.tech-cloud span{display:flex;align-items:center;gap:.65rem}
.tech-cloud img{width:18px;height:18px;flex:0 0 18px;object-fit:contain;opacity:.72;filter:grayscale(1) brightness(0) invert(92%)}
.tech-cloud span:hover img{opacity:1}
.tech-groups .card{min-height:25rem}
.tech-groups .card h3{margin-bottom:1.5rem}
.tech-list{display:grid;margin-top:auto;border-top:1px solid var(--line)}
.tech-list span{display:flex;align-items:center;gap:.75rem;min-height:2.65rem;border-bottom:1px solid var(--line);color:var(--muted);font:.72rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.tech-list i{width:2rem;height:1.35rem;display:grid;place-items:center;flex:0 0 2rem;border:1px solid var(--line-strong);color:var(--cyan);font:400 .55rem/1 var(--mono);font-style:normal;letter-spacing:.04em}
.tech-list span:hover{color:var(--paper)}
.industry-grid .card{min-height:17rem}
code{font-family:var(--mono);font-size:.9em;color:var(--paper)}

@media(min-width:981px){
  .home-horizontal .signal-field{opacity:.82}
  .horizontal-stage>.section{padding:105px clamp(3rem,5vw,5.5rem) 36px!important}
  .horizontal-stage>.section .container{width:min(100%,76rem)}
  .horizontal-stage .section-head{grid-template-columns:10rem minmax(0,1fr);gap:2rem;margin-bottom:2.4rem}
  .horizontal-stage .section-head h2{max-width:16ch;font-size:clamp(2.7rem,4vw,4rem);line-height:.96;letter-spacing:-.035em}
  .horizontal-stage .section-intro{max-width:48rem}
  .horizontal-stage .section-actions{margin-top:1rem}
  .horizontal-stage .card{min-height:0;padding:1.35rem 1.5rem;margin:0;border:0;border-top:1px solid var(--line);background:transparent;box-shadow:none;clip-path:none}
  .horizontal-stage .card::after{display:none}
  .horizontal-stage .card:hover{background:transparent;border-color:var(--line)}
  .horizontal-stage .card h3{margin:1.2rem 0 .7rem;font-size:clamp(1.05rem,1.55vw,1.35rem);line-height:1.05}
  .horizontal-stage .card p{margin:0;font-size:.88rem;line-height:1.55}
  .horizontal-stage .pillars{border-bottom:1px solid var(--line)}
  .horizontal-stage .pillars .card{min-height:13rem;border-right:1px solid var(--line)}
  .horizontal-stage .pillars .card:last-child{border-right:0}
  .horizontal-stage .services-grid{grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line)}
  .horizontal-stage .services-grid .card{display:grid;grid-template-columns:2rem minmax(8rem,.65fr) minmax(0,1fr);column-gap:1rem;align-items:start;border-right:1px solid var(--line)}
  .horizontal-stage .services-grid .card:nth-child(2n){border-right:0}
  .horizontal-stage .services-grid .card h3{margin:0;font-size:1rem}
  .horizontal-stage .services-grid .card p{font-size:.82rem}
  .horizontal-stage .process-step{grid-template-columns:4rem minmax(12rem,.55fr) minmax(0,1fr);padding:.82rem 0}
  .horizontal-stage .tech-cloud{display:grid;grid-template-columns:repeat(5,1fr);border:0;border-top:1px solid var(--line)}
  .horizontal-stage .tech-cloud span{padding:.9rem 1rem;border:0;border-bottom:1px solid var(--line);text-align:left}
  .horizontal-stage .tech-cloud span:hover{background:transparent;color:var(--paper)}
  .home-horizontal .contact-panel{grid-template-columns:.8fr 1.2fr;border-width:1px 0;clip-path:none}
  .home-horizontal .contact-copy{background:transparent;color:var(--paper);border-right:1px solid var(--line)}
  .home-horizontal .contact-copy::before{width:9rem;background-image:url('/assets/brand/sourcecode-logo-light.png?v=20260824')}
  .home-horizontal .contact-copy p{color:var(--muted)}
}

@media(min-width:981px) and (max-height:960px){
  .horizontal-stage .process-step{padding:.55rem 0}
}

@media(min-width:981px) and (max-height:820px){
  .home-horizontal .horizontal-stage>section{padding-top:92px!important;padding-bottom:64px!important}
  .home-horizontal .horizontal-stage>.hero{padding-top:96px!important;padding-bottom:68px!important}
  .horizontal-stage .section-head{margin-bottom:1.25rem}
  .horizontal-stage .section-head h2{font-size:clamp(2.35rem,3.5vw,3.25rem);margin-bottom:.65rem}
  .horizontal-stage .section-intro{font-size:.94rem;line-height:1.45}
  .horizontal-stage .services-grid .card{padding:.72rem 1rem}
  .horizontal-stage .services-grid .card p{font-size:.76rem;line-height:1.35}
  .horizontal-stage .process-step{padding:.25rem 0}
  .horizontal-stage .process-step p{font-size:.82rem;line-height:1.35}
  .horizontal-stage .section-actions{margin-top:.7rem}
}

@media(max-width:640px){
  .system-map{aspect-ratio:auto;min-height:31rem;padding:1.25rem}
  .map-layer{grid-template-columns:1.6rem 1fr;gap:.75rem}
  .map-layer small{grid-column:2}
  .tech-groups .card{min-height:auto}
}

@media(min-width:641px) and (max-width:980px){.system-map{width:min(100%,32rem)}}
@media(max-width:980px) and (max-height:480px){.nav-links.is-open{max-height:calc(100svh - 5.25rem);overflow-y:auto}}
@media(max-width:640px) and (max-height:480px){.nav-links.is-open{max-height:calc(100svh - 4.5rem)}}

/* Estándar tipográfico SOURCECODE: roles compartidos para todas las rutas. */
:root{--type-section-title-horizontal:clamp(2.5rem,4vw,4rem);--type-section-title-compact:clamp(2.35rem,3.5vw,3.25rem);--type-description-compact:.82rem}
body{font-size:var(--type-body);line-height:var(--leading-body)}
h1,h2,h3{font-family:var(--sans);font-weight:700;text-wrap:balance}
p{line-height:var(--leading-body)}
.home-horizontal h1{font-size:var(--type-display);line-height:var(--leading-display);letter-spacing:var(--tracking-display)}
.page-hero h1{font-size:var(--type-page-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}
.section-head h2{font-size:var(--type-section-title);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}
.statement{font-size:var(--type-statement);line-height:var(--leading-heading);letter-spacing:var(--tracking-title)}
.section-intro,.hero-copy{max-width:var(--measure-lead);font-size:var(--type-lead);line-height:var(--leading-body)}
.card h3{font-size:var(--type-card-title);line-height:var(--leading-heading);letter-spacing:-.015em}
.card p,.process-step p,.faq-answer,.footer-copy{font-size:var(--type-description);line-height:var(--leading-body)}
.card li,.detail-list li{font-size:var(--type-small);line-height:var(--leading-compact)}
.process-step h3{font-size:var(--type-card-title);line-height:var(--leading-heading)}
.prose{max-width:var(--measure-body);font-size:var(--type-body);line-height:1.7}
.notice{font-size:var(--type-description);line-height:var(--leading-body)}
summary{font-size:clamp(1rem,1.2vw,1.125rem);font-weight:700;line-height:var(--leading-compact)}
.contact-copy h2{font-size:clamp(1.5rem,2.2vw,2.25rem);line-height:var(--leading-heading);letter-spacing:-.02em}
.eyebrow,.section-index,.card-index,.status-label,.breadcrumbs{font-size:var(--type-label);line-height:1.35}
.button,.card-link,.nav-links,.field label{font-size:var(--type-label)}

@media(min-width:981px){
  .horizontal-stage .section-head h2{font-size:var(--type-section-title-horizontal);line-height:var(--leading-title);letter-spacing:var(--tracking-title)}
  .horizontal-stage .card h3{font-size:var(--type-card-title);line-height:var(--leading-heading)}
  .horizontal-stage .services-grid .card h3{font-size:var(--type-card-title-compact)}
  .horizontal-stage .card p{font-size:var(--type-small);line-height:1.55}
  .horizontal-stage .services-grid .card p,.horizontal-stage .process-step p{font-size:var(--type-description-compact);line-height:var(--leading-compact)}
}

@media(min-width:981px) and (max-height:820px){
  .horizontal-stage>.hero{gap:2rem}
  .horizontal-stage .section-head h2{font-size:var(--type-section-title-compact)}
  .horizontal-stage .section-intro{font-size:var(--type-description);line-height:var(--leading-compact)}
  .horizontal-stage .services-grid .card p,.horizontal-stage .process-step p{font-size:var(--type-description-compact);line-height:1.35}
}

@media(max-width:640px){
  .page-hero h1{font-size:var(--type-page-title-mobile);overflow-wrap:anywhere}
  .section-head h2{font-size:clamp(2.15rem,10.5vw,3.35rem)}
  .statement{font-size:clamp(1.75rem,8.5vw,2.75rem)}
  .section-intro,.hero-copy{font-size:1rem;line-height:1.6}
}

/* Adaptación cromática 2026: paleta clara del sitio corporativo, sin cambios de layout. */
body{background:var(--ink)}
.site-header{background:rgba(240,233,230,.94)}
.brand,.footer-brand{background-image:url('/assets/brand/sourcecode-logo-dark.png?v=20260824')}
.card,.system-map{background:rgba(255,255,255,.52)}
.card:hover{background:rgba(255,106,0,.07)}
.contact-copy{background:#fff;color:var(--brand-ink)}
.contact-copy p{color:var(--muted)}
.field input,.field select,.field textarea{background:#fff;color:var(--brand-ink)}
.field select option{background:#fff;color:var(--brand-ink)}
.form-status{color:var(--brand-orange-dark)}
.tech-cloud img{filter:grayscale(1) brightness(.38)}

@media(min-width:981px){
  body.home-horizontal,
  body:not(.home-horizontal){background:var(--ink)}
  .home-horizontal .cyber-shell::before,
  .internal-page-shell::before{background:var(--ink)}
  .home-horizontal .horizontal-stage .card{background:rgba(255,255,255,.42)}
  .home-horizontal .horizontal-stage .card:hover{background:rgba(255,106,0,.07)}
  .home-horizontal .contact-copy{background:#fff;color:var(--brand-ink)}
  .home-horizontal .contact-copy::before{background-image:url('/assets/brand/sourcecode-logo-dark.png?v=20260824')}
  .home-horizontal .horizontal-controls{background:rgba(255,255,255,.90)}
  .home-horizontal .menu-toggle,
  body:not(.home-horizontal) .menu-toggle{border:1px solid var(--line);background:#fff;color:var(--brand-navy)}
  .home-horizontal .menu-toggle:hover,
  .home-horizontal .menu-toggle:focus-visible,
  body:not(.home-horizontal) .menu-toggle:hover,
  body:not(.home-horizontal) .menu-toggle:focus-visible{background:var(--brand-orange);color:var(--brand-navy)}
  .home-horizontal.menu-open .menu-toggle,
  body:not(.home-horizontal) .menu-toggle[aria-expanded=true]{background:var(--brand-navy);color:#fff}
  .home-horizontal .nav-links,
  body:not(.home-horizontal) .nav-links{background:#fff}
  .home-horizontal .nav-links a,
  body:not(.home-horizontal) .nav-links a{color:var(--brand-navy)}
  body:not(.home-horizontal) .site-header{background:rgba(240,233,230,.96)}
}

/* Shell compartido: traslada el marco de la portada a las páginas verticales. */
.internal-page-shell{display:none}
@media(min-width:981px){
  body:not(.home-horizontal){min-height:100vh;padding:0 30px 30px;background:#f0e9e6}
  body:not(.home-horizontal)::before{display:none}
  body:not(.home-horizontal)>main,
  body:not(.home-horizontal)>.site-footer{position:relative;z-index:2}

  .internal-page-shell{position:fixed;display:block;pointer-events:none;z-index:0;inset:30px;background:#d8e1ec;clip-path:polygon(26px 0,calc(100% - 26px) 0,100% 26px,100% calc(100% - 26px),calc(100% - 26px) 100%,26px 100%,0 calc(100% - 26px),0 26px)}
  .internal-page-shell::before{content:'';position:absolute;z-index:0;inset:1px;background:#f0e9e6;clip-path:polygon(25px 0,calc(100% - 25px) 0,100% 25px,100% calc(100% - 25px),calc(100% - 25px) 100%,25px 100%,0 calc(100% - 25px),0 25px)}
  .internal-page-shell::after{content:'';position:absolute;z-index:1;inset:1px;background:linear-gradient(rgba(16,35,58,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(16,35,58,.026) 1px,transparent 1px);background-size:48px 48px;clip-path:polygon(25px 0,calc(100% - 25px) 0,100% 25px,100% calc(100% - 25px),calc(100% - 25px) 100%,25px 100%,0 calc(100% - 25px),0 25px);mask-image:linear-gradient(to bottom,#000 0,transparent 72%)}

  body:not(.home-horizontal) .site-header{position:sticky;z-index:60;top:0;height:72px;border:0;border-bottom:1px solid #d8e1ec;background:#f0e9e6;backdrop-filter:blur(14px)}
  body:not(.home-horizontal) .nav-shell{height:72px;padding:0 22px}
  body:not(.home-horizontal) .brand{width:18.5rem;height:4.75rem;background-position:left center}
  body:not(.home-horizontal) .menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:112px;height:41px;padding:0 21px;border:0;color:var(--ink);background:var(--paper);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));transition:background .2s,color .2s}
  body:not(.home-horizontal) .menu-toggle::before{content:'MENÚ';display:block;order:1;width:auto;height:auto;margin:0;background:none;font:700 9px/1.2 var(--sans);letter-spacing:1.44px;text-transform:uppercase;transform:none}
  body:not(.home-horizontal) .menu-toggle::after{content:none}
  body:not(.home-horizontal) .menu-toggle span{position:relative;display:block;order:0;width:9px;height:9px;margin:0;background:linear-gradient(currentColor,currentColor) 0 0/3px 3px no-repeat,linear-gradient(currentColor,currentColor) 6px 0/3px 3px no-repeat,linear-gradient(currentColor,currentColor) 0 6px/3px 3px no-repeat,linear-gradient(currentColor,currentColor) 6px 6px/3px 3px no-repeat;opacity:1;transition:transform .2s}
  body:not(.home-horizontal) .menu-toggle:hover,
  body:not(.home-horizontal) .menu-toggle:focus-visible{background:var(--cyan)}
  body:not(.home-horizontal) .menu-toggle[aria-expanded=true]{color:var(--paper);background:var(--ink)}
  body:not(.home-horizontal) .menu-toggle[aria-expanded=true] span{width:9px;height:1px;background:currentColor;transform:rotate(45deg)}
  body:not(.home-horizontal) .menu-toggle[aria-expanded=true] span::after{content:'';position:absolute;inset:0;background:currentColor;transform:rotate(90deg)}

  body:not(.home-horizontal) .nav-links{display:none;position:absolute;z-index:80;inset:60px 22px auto auto;width:260px;min-width:260px;padding:10px;background:var(--paper);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));counter-reset:internal-menu;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 48px rgba(0,0,0,.28)}
  body:not(.home-horizontal) .nav-links.is-open{display:flex}
  body:not(.home-horizontal) .nav-links a{counter-increment:internal-menu;position:relative;padding:14px 14px 14px 42px;border-bottom:1px solid rgba(16,35,58,.14);font:700 10px/1.2 var(--mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink)}
  body:not(.home-horizontal) .nav-links a:last-child{border-bottom:0}
  body:not(.home-horizontal) .nav-links a::before{content:'0' counter(internal-menu);position:absolute;left:14px;top:15px;font:400 8px/1 var(--mono);letter-spacing:.8px;color:rgba(16,35,58,.48)}
  body:not(.home-horizontal) .nav-links a::after{display:none}
  body:not(.home-horizontal) .nav-links a:hover,
  body:not(.home-horizontal) .nav-links a:focus-visible,
  body:not(.home-horizontal) .nav-links a[aria-current=page]{color:var(--ink);background:rgba(16,35,58,.055)}

  body:not(.home-horizontal) .page-hero{padding-top:clamp(5rem,8vw,8rem)}
  body:not(.home-horizontal) .site-footer{margin-bottom:0}
}

@media(min-width:981px){
  body:not(.home-horizontal){background:var(--ink)}
  .internal-page-shell::before{background:var(--ink)}
  body:not(.home-horizontal) .site-header{background:rgba(240,233,230,.96)}
  body:not(.home-horizontal) .menu-toggle{border:1px solid var(--line);background:#fff;color:var(--brand-navy)}
  body:not(.home-horizontal) .menu-toggle:hover,
  body:not(.home-horizontal) .menu-toggle:focus-visible{background:var(--brand-orange);color:var(--brand-navy)}
  body:not(.home-horizontal) .menu-toggle[aria-expanded=true]{background:var(--brand-navy);color:#fff}
  body:not(.home-horizontal) .nav-links{background:#fff}
  body:not(.home-horizontal) .nav-links a,
  body:not(.home-horizontal) .nav-links a:hover,
  body:not(.home-horizontal) .nav-links a:focus-visible,
  body:not(.home-horizontal) .nav-links a[aria-current=page]{color:var(--brand-navy)}
}

/* Sonido de interfaz: control compacto, accesible y consistente con el shell. */
.sound-toggle{position:relative;display:inline-grid;place-items:center;flex:0 0 44px;width:44px;height:44px;margin-left:auto;margin-right:.55rem;padding:0;border:1px solid var(--line);background:rgba(255,255,255,.72);color:var(--brand-navy);cursor:pointer;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));transition:background .2s,color .2s,border-color .2s}
.access-controls .sound-toggle{margin-left:0}
.sound-toggle:hover,.sound-toggle:focus-visible{background:var(--brand-orange);border-color:var(--brand-orange);color:var(--brand-navy)}
.sound-toggle:disabled{cursor:not-allowed;opacity:.45}
.sound-glyph{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:2px;width:15px;height:13px}
.sound-glyph i{display:block;width:2px;background:currentColor;transform-origin:bottom;transition:height .2s,opacity .2s}
.sound-glyph i:nth-child(1){height:5px}.sound-glyph i:nth-child(2){height:10px}.sound-glyph i:nth-child(3){height:7px}
.sound-toggle[aria-pressed=false] .sound-glyph i{height:2px;opacity:.55}
.sound-toggle[aria-pressed=false] .sound-glyph::after{content:'';position:absolute;left:1px;top:6px;width:14px;height:1px;background:currentColor;transform:rotate(-38deg)}

@media(max-width:980px){
  .sound-toggle{margin-right:.4rem;background:transparent}
}

/* Contraste del gran contenedor biselado sobre el fondo marfil. */
:root{--shell-line:rgba(16,35,58,.34);--shell-line-soft:rgba(16,35,58,.22)}
@media(min-width:981px){
  .home-horizontal .cyber-shell,
  .internal-page-shell{background:var(--shell-line);filter:drop-shadow(0 12px 28px rgba(16,35,58,.07))}
  .home-horizontal .cyber-shell::after{border-top-color:var(--shell-line-soft);background:linear-gradient(90deg,transparent 0 8.7%,var(--shell-line-soft) 8.7% calc(8.7% + 1px),transparent calc(8.7% + 1px) 90.7%,var(--shell-line-soft) 90.7% calc(90.7% + 1px),transparent calc(90.7% + 1px))}
  .home-horizontal .horizontal-controls{border-left-color:var(--shell-line-soft)}
  .home-horizontal .bar-center{border-left-color:var(--shell-line-soft);border-right-color:var(--shell-line-soft)}
  .home-horizontal .bar-left{border-right-color:var(--shell-line-soft)}
  .home-horizontal .bar-right{border-left-color:var(--shell-line-soft)}
  body:not(.home-horizontal) .site-header{border-bottom-color:var(--shell-line-soft)}
}

/* Iconografía técnica para el mapa de arquitectura de la portada. */
.system-map{isolation:isolate;aspect-ratio:1.08/1;min-height:28rem;border:0;background:transparent;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px);filter:drop-shadow(0 12px 24px rgba(16,35,58,.08));justify-content:space-between}
.system-map::before,.system-map::after{content:'';position:absolute;display:block;pointer-events:none;z-index:0;border:0;border-radius:0;animation:none;transform:none}
.system-map::before{inset:0;background:rgba(16,35,58,.28);clip-path:inherit}
.system-map::after{inset:1px;background:rgba(255,255,255,.88);clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)}
.system-map>*{position:relative;z-index:1}
.map-heading{position:relative;padding-right:3.5rem}
.map-heading strong{font-size:clamp(1.2rem,1.7vw,1.55rem);white-space:nowrap}
.map-status{position:absolute;top:.1rem;right:0;display:flex;gap:.5rem}
.map-status i{width:.38rem;height:.38rem;border-radius:50%;background:rgba(16,35,58,.28)}
.map-status i:first-child{background:var(--brand-orange);box-shadow:0 0 .7rem rgba(255,106,0,.28)}
.map-visual{min-height:8.75rem;display:grid;place-items:center;margin:.25rem 0;color:var(--brand-navy)}
.map-visual svg{width:min(100%,31rem);height:8.75rem;overflow:visible}
.map-visual-circuit{stroke:rgba(16,35,58,.10);stroke-width:1;stroke-dasharray:2 5}
.map-visual-line{stroke:rgba(16,35,58,.42);stroke-width:1.1}
.map-visual-line--dash{stroke:rgba(255,106,0,.26);stroke-width:.8;stroke-dasharray:2 4}
.map-visual-junction{fill:var(--brand-orange)}
.map-visual-node{fill:rgba(255,255,255,.68);stroke:rgba(16,35,58,.42);stroke-width:1}
.map-node-icon{stroke:var(--brand-navy);stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter}
.map-node-label{fill:var(--brand-navy);font:700 10px/1 var(--mono);letter-spacing:.08em;text-anchor:middle;dominant-baseline:middle}
.map-core-shell{fill:rgba(255,255,255,.34);stroke:var(--brand-orange);stroke-width:1.35}
.map-core-shell--inner{fill:rgba(255,255,255,.55);stroke:rgba(16,35,58,.24);stroke-width:1}
.map-core-layer{stroke:var(--brand-orange-dark);stroke-width:1}
.map-core-layer--top{fill:#fff}.map-core-layer--middle{fill:#ff8f3f}.map-core-layer--bottom{fill:var(--brand-orange)}
.map-core-label{fill:var(--brand-orange-dark);font:700 11px/1 var(--mono);letter-spacing:.08em;text-anchor:middle}
.map-stack{border-top:1px solid var(--line)}
.map-layer{grid-template-columns:1.5rem 2rem minmax(5.8rem,.55fr) minmax(0,1.3fr);gap:.75rem;padding:.78rem 0}
.map-layer small{font-size:.6rem;white-space:nowrap}
.map-icon{display:block;width:1.35rem;height:1.35rem;color:var(--brand-orange)}
.map-layer>.map-icon{width:1.5rem;height:1.5rem;align-self:center}
.map-foundation{margin-top:0}
.map-foundation span{display:flex;align-items:center;justify-content:center;gap:.55rem}
.map-foundation .map-icon{width:1.05rem;height:1.05rem}

@media(max-width:640px){
  .system-map{aspect-ratio:auto;min-height:31rem}
  .map-visual{min-height:7.25rem;margin:.1rem 0}
  .map-visual svg{height:7.25rem}
  .map-layer{grid-template-columns:1.6rem 2rem minmax(0,1fr)}
  .map-layer small{grid-column:3;white-space:normal}
  .map-foundation span{flex-direction:column;gap:.35rem;padding:.7rem .25rem}
}

@media(min-width:981px) and (max-height:820px){
  .home-horizontal h1{font-size:clamp(3.5rem,5.6vw,6rem);margin-bottom:1.1rem}
  .home-horizontal .hero-copy{font-size:1rem;line-height:1.45}
  .home-horizontal .hero-actions{margin-top:1.1rem}
  .home-horizontal .system-map{width:min(100%,calc(100svh - 220px));justify-self:end}
}

/* Escala de marca: compensa el espacio transparente del archivo maestro. */
.brand{width:clamp(13rem,45vw,14rem);background-position:left calc(50% + .3rem);background-size:100% auto}

@media(min-width:981px){
  .home-horizontal .nav-shell,
  body:not(.home-horizontal) .nav-shell{position:relative;justify-content:space-between}

  .home-horizontal .brand,
  body:not(.home-horizontal) .brand{
    position:relative;
    top:auto;
    left:auto;
    width:clamp(19rem,24vw,20rem);
    height:4.75rem;
    background-position:left calc(50% + .4rem);
    background-size:100% auto;
    transform:none;
  }

  .home-horizontal .header-actions{position:static;display:contents}
  .home-horizontal .access-controls{position:absolute;top:50%;right:12px;transform:translateY(-50%)}
}

/* Panel final / brief técnico. */
.brief-panel{position:relative;overflow:visible}
.brief-copy::before{display:none}
.brief-copy h2{max-width:10ch;margin-bottom:2rem;font-size:clamp(2.35rem,4vw,4rem);line-height:1.06;letter-spacing:-.035em;text-transform:none}
.brief-copy h2::after{content:'.';color:var(--brand-orange)}
.brief-copy>p:last-child{max-width:25rem;margin:0;font-size:1rem;line-height:1.8}
.brief-action{display:flex;flex-direction:column;align-items:flex-start}
.brief-intro{position:relative;max-width:47rem;padding-left:1.4rem;color:var(--muted)}
.brief-intro::before{content:'›';position:absolute;left:0;top:.02em;color:var(--brand-orange);font:700 1.65rem/1 var(--sans)}
.brief-benefits{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:2.5rem 0 1.75rem}
.brief-benefit{position:relative;min-height:16.5rem;padding:2rem 1.5rem 1.5rem;border:1px solid var(--line-strong);background:rgba(255,255,255,.25);clip-path:polygon(0 0,calc(100% - 1.5rem) 0,100% 1.5rem,100% calc(100% - 1.5rem),calc(100% - 1.5rem) 100%,0 100%)}
.brief-benefit::after{content:'';position:absolute;right:-1px;bottom:-1px;width:1.4rem;height:1.4rem;border-top:1px solid var(--brand-orange);transform:rotate(-45deg) translate(50%,50%);opacity:.55}
.brief-benefit svg{width:3.2rem;height:3.2rem;margin-bottom:2rem;fill:none;stroke:var(--brand-orange);stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter}
.brief-benefit h3{margin:0 0 1.25rem;font:700 .76rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-navy)}
.brief-benefit p{margin:0;color:var(--muted);font-size:.85rem;line-height:1.65}
.brief-number{position:absolute;top:1.15rem;right:1.35rem;font:700 .6rem/1 var(--mono);letter-spacing:.08em;color:var(--muted)}
.brief-cta{min-width:15rem}

@media(min-width:981px){
  .home-horizontal .horizontal-stage .brief-panel{width:min(calc(100% - 10rem),86rem);min-height:clamp(29rem,61vh,35rem);grid-template-columns:minmax(25rem,.78fr) minmax(0,1.22fr);border:0}
  .home-horizontal .brief-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,5vw,5.5rem);border:1px solid var(--line-strong);background:transparent;clip-path:polygon(2rem 0,45% 0,calc(45% + 1.8rem) 1.8rem,100% 1.8rem,100% calc(100% - 2rem),calc(100% - 2rem) 100%,17% 100%,0 calc(100% - 5.5rem),0 38%,1.1rem calc(38% - 1.1rem),1.1rem 18%,0 calc(18% - 1.1rem),0 2rem)}
  .home-horizontal .brief-copy::after{content:'01';position:absolute;left:1rem;top:50%;font:700 .58rem/1 var(--mono);letter-spacing:.1em;color:var(--muted)}
  .home-horizontal .brief-action{justify-content:center;padding:clamp(2.5rem,4vw,4.5rem)}
}

@media(min-width:981px) and (max-height:820px){
  .home-horizontal .horizontal-stage .brief-panel{min-height:27rem}
  .home-horizontal .brief-copy{padding:2.5rem 4rem}
  .home-horizontal .brief-copy h2{font-size:clamp(2.2rem,3.4vw,3.2rem);margin-bottom:1.25rem}
  .home-horizontal .brief-copy>p:last-child{line-height:1.55}
  .home-horizontal .brief-action{padding:2rem 3rem}
  .brief-benefits{margin:1.5rem 0 1.25rem}
  .brief-benefit{min-height:13.5rem;padding:1.5rem 1.25rem}
  .brief-benefit svg{width:2.5rem;height:2.5rem;margin-bottom:1.25rem}
  .brief-benefit h3{margin-bottom:.8rem}
}

@media(max-width:980px){
  .brief-panel{border:0;clip-path:none}
  .brief-copy{border:1px solid var(--line);background:#fff}
  .brief-action{padding:clamp(2rem,6vw,3.5rem) 0}
}

@media(max-width:760px){
  .brief-benefits{grid-template-columns:1fr}
  .brief-benefit{min-height:0}
}

/* Composición final del brief: réplica proporcional del panel de referencia. */
.brief-section{position:relative;isolation:isolate}
.brief-copy .status-label{position:relative;margin:0 0 2.1rem;padding-left:1.3rem;font:700 .67rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--brand-navy)}
.brief-copy .status-label::before{content:'';position:absolute;left:0;top:50%;width:.25rem;height:.25rem;background:var(--brand-orange);transform:translateY(-50%)}
.brief-benefit{transition:border-color .2s,background .2s}
.brief-benefit:hover{border-color:rgba(16,35,58,.42);background:rgba(255,255,255,.38)}
.brief-cta{height:3.6rem;padding-inline:1.5rem;justify-content:space-between;clip-path:polygon(0 0,calc(100% - .75rem) 0,100% .75rem,100% 100%,.75rem 100%,0 calc(100% - .75rem))}
.brief-cta::after{content:'↗';margin-left:1.2rem;font-size:1rem}

@media(min-width:981px){
  .home-horizontal .horizontal-stage>.brief-section{align-items:center;padding-inline:clamp(2.25rem,3.2vw,3.5rem)!important}
  .home-horizontal .horizontal-stage>.brief-section::before{content:'';position:absolute;display:block;z-index:0;top:15%;right:2.5rem;bottom:15%;width:16%;border-top:1px solid rgba(16,35,58,.17);border-right:1px solid rgba(16,35,58,.17);border-bottom:1px solid rgba(16,35,58,.17);pointer-events:none}
  .home-horizontal .horizontal-stage>.brief-section::after{content:'';position:absolute;display:block;z-index:0;right:1.35rem;top:46%;width:.32rem;height:.32rem;background:var(--brand-orange);box-shadow:0 .75rem 0 rgba(16,35,58,.28),0 1.5rem 0 var(--brand-orange),0 2.25rem 0 rgba(16,35,58,.28);pointer-events:none}
  .home-horizontal .horizontal-stage .brief-panel{z-index:1;width:min(calc(100% - 3rem),92rem);min-height:clamp(30rem,64vh,37rem);grid-template-columns:minmax(24rem,.72fr) minmax(0,1.28fr);margin:auto}
  .home-horizontal .brief-copy{justify-content:center;padding:clamp(3.25rem,4.6vw,5.25rem);border-color:rgba(16,35,58,.24);clip-path:polygon(2rem 0,45% 0,calc(45% + 1.7rem) 1.7rem,100% 1.7rem,100% calc(100% - 2rem),calc(100% - 2rem) 100%,17% 100%,0 calc(100% - 5.5rem),0 42%,1rem calc(42% - 1rem),1rem 18%,0 calc(18% - 1rem),0 2rem)}
  .home-horizontal .brief-copy h2{max-width:9.5ch;margin:0 0 2rem;font-size:clamp(2.8rem,3.55vw,3.8rem);line-height:1.07}
  .home-horizontal .brief-copy>p:last-child{max-width:24rem;font-size:.96rem;line-height:1.72}
  .home-horizontal .brief-action{justify-content:center;padding:clamp(2.5rem,3.8vw,4.2rem) clamp(2rem,3vw,3.5rem)}
  .home-horizontal .brief-intro{max-width:45rem;margin:0;font-size:.95rem;line-height:1.55}
  .home-horizontal .brief-benefits{gap:1rem;margin:2.5rem 0 1.65rem}
  .home-horizontal .brief-benefit{min-height:15rem;padding:1.7rem 1.35rem 1.4rem;border:1px solid rgba(16,35,58,.24);background:rgba(255,255,255,.16);clip-path:polygon(0 0,calc(100% - 1.35rem) 0,100% 1.35rem,100% calc(100% - 1.35rem),calc(100% - 1.35rem) 100%,0 100%)}
  .home-horizontal .brief-benefit svg{width:2.9rem;height:2.9rem;margin-bottom:1.75rem}
  .home-horizontal .brief-benefit h3{margin-bottom:1.05rem;font-size:.7rem;white-space:nowrap}
  .home-horizontal .brief-benefit p{font-size:.79rem;line-height:1.62}
}

@media(min-width:981px) and (max-height:820px){
  .home-horizontal .horizontal-stage .brief-panel{min-height:27rem}
  .home-horizontal .brief-copy .status-label{margin-bottom:1.35rem}
  .home-horizontal .brief-copy h2{margin-bottom:1.25rem;font-size:clamp(2.35rem,3.15vw,3.15rem)}
  .home-horizontal .brief-copy>p:last-child{font-size:.88rem;line-height:1.55}
  .home-horizontal .brief-benefits{margin:1.35rem 0 1.15rem}
  .home-horizontal .brief-benefit{min-height:12.8rem;padding:1.35rem 1.15rem 1.1rem}
  .home-horizontal .brief-benefit svg{width:2.35rem;height:2.35rem;margin-bottom:1rem}
  .home-horizontal .brief-benefit h3{margin-bottom:.7rem;font-size:.64rem}
  .home-horizontal .brief-benefit p{font-size:.72rem}
}

/* Scroll vertical técnico cuando un panel supera la altura útil del shell. */
@media(min-width:981px){
  .home-horizontal .horizontal-stage>section{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--brand-orange) rgba(16,35,58,.08)}
  .home-horizontal .horizontal-stage>section::-webkit-scrollbar{width:6px}
  .home-horizontal .horizontal-stage>section::-webkit-scrollbar-track{background:rgba(16,35,58,.055);border-left:1px solid rgba(16,35,58,.08)}
  .home-horizontal .horizontal-stage>section::-webkit-scrollbar-thumb{background:var(--brand-orange);border:1px solid #f0e9e6;border-radius:0}
  .home-horizontal .horizontal-stage>section::-webkit-scrollbar-thumb:hover{background:var(--brand-orange-dark)}
}

@media(min-width:981px) and (max-height:820px){
  .home-horizontal .horizontal-stage>.section{align-items:flex-start}
}

/* Metodología: secuencia técnica visible y responsive. */
.methodology-hero{position:relative;overflow:hidden}
.methodology-hero::after{content:'';position:absolute;right:var(--pad);bottom:0;width:min(30vw,28rem);height:1px;background:linear-gradient(90deg,transparent,var(--brand-orange))}
.methodology-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,.3fr);gap:clamp(3rem,8vw,9rem);align-items:end}
.methodology-hero h1 span{color:var(--brand-orange);-webkit-text-stroke:0}
.methodology-hero-index{position:relative;min-height:18rem;padding:2rem;border:1px solid var(--line-strong);display:flex;flex-direction:column;justify-content:flex-end;clip-path:polygon(0 0,calc(100% - 1.5rem) 0,100% 1.5rem,100% 100%,1.5rem 100%,0 calc(100% - 1.5rem));background:rgba(255,255,255,.32)}
.methodology-hero-index::before{content:'';position:absolute;top:2rem;left:2rem;width:.5rem;height:.5rem;background:var(--brand-orange);box-shadow:0 0 0 .45rem rgba(255,106,0,.1)}
.methodology-hero-index>span{font:700 .62rem/1 var(--mono);letter-spacing:.12em;color:var(--muted)}
.methodology-hero-index>strong{margin-top:auto;font:700 clamp(5rem,8vw,8rem)/.8 var(--sans);letter-spacing:-.08em;color:var(--brand-navy)}
.methodology-hero-index>p{margin:.9rem 0 1.5rem;font:700 .72rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-orange-dark)}
.methodology-hero-index>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.methodology-hero-index>div span{padding:.8rem .35rem 0;font:.58rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center}
.methodology-heading h2{max-width:12ch}
.methodology-flow{counter-reset:methodology-stage;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.methodology-stage{counter-increment:methodology-stage;position:relative;min-height:22rem;padding:1.5rem 1.25rem;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.22);transition:transform .22s,background .22s,border-color .22s}
.methodology-stage::before{content:'';position:absolute;top:4.3rem;left:1.25rem;right:0;height:1px;background:linear-gradient(90deg,var(--brand-orange),rgba(255,106,0,.12))}
.methodology-stage::after{content:'';position:absolute;top:4.05rem;right:-.25rem;z-index:2;width:.5rem;height:.5rem;background:var(--brand-orange)}
.methodology-stage:last-child::after{right:1rem}
.methodology-stage:hover{z-index:3;transform:translateY(-.35rem);border-color:rgba(255,106,0,.48);background:rgba(255,106,0,.07)}
.methodology-stage-index{font:700 .66rem/1 var(--mono);letter-spacing:.1em;color:var(--brand-orange-dark)}
.methodology-stage>div{padding-top:4.8rem}
.methodology-stage-label{margin:0 0 1rem;font:700 .58rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.methodology-stage h3{margin:0 0 1.25rem;font:700 clamp(1.05rem,1.25vw,1.3rem)/1.05 var(--sans);letter-spacing:-.02em;text-transform:uppercase;color:var(--brand-navy);overflow-wrap:anywhere}
.methodology-stage p:last-child{margin:0;font-size:.82rem;line-height:1.6;color:var(--muted)}
.methodology-notice{margin-top:clamp(2rem,4vw,4rem);display:grid;grid-template-columns:minmax(10rem,.28fr) minmax(0,1fr);border:1px solid var(--line-strong);border-left:3px solid var(--brand-orange);background:rgba(255,106,0,.035)}
.methodology-notice>div{padding:1.5rem 2rem;border-right:1px solid var(--line);display:grid;gap:.6rem}
.methodology-notice span{font:700 .6rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-orange-dark)}
.methodology-notice strong{font:700 1rem/1 var(--sans);text-transform:uppercase;color:var(--brand-navy)}
.methodology-notice>p{margin:0;padding:1.5rem 2rem;color:var(--muted);line-height:1.65}
.methodology-next{background:rgba(255,255,255,.24)}
.methodology-next-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.methodology-next h2{max-width:12ch;margin:.8rem 0 0;font-size:clamp(2.3rem,4.2vw,4.5rem);line-height:.94;letter-spacing:-.04em;text-transform:uppercase}

@media(max-width:1199px){
  .methodology-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .methodology-stage{min-height:18rem}
}

@media(max-width:760px){
  .methodology-hero-layout,.methodology-next-grid{grid-template-columns:1fr}
  .methodology-hero-index{min-height:14rem}
  .methodology-flow{grid-template-columns:1fr}
  .methodology-stage{min-height:15rem}
  .methodology-notice{grid-template-columns:1fr}
  .methodology-notice>div{border-right:0;border-bottom:1px solid var(--line)}
}

/* Tecnología: catálogo técnico con jerarquía por responsabilidad. */
.technology-hero{position:relative;overflow:hidden}
.technology-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(25rem,.75fr);gap:clamp(3rem,7vw,8rem);align-items:center}
.technology-hero-copy h1{max-width:11ch;margin-bottom:1.7rem}
.technology-hero-copy h1 span{color:var(--brand-orange)}
.technology-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.technology-disclaimer{max-width:48rem;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line);font:.64rem/1.65 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}

.technology-decision-map{position:relative;min-height:31rem;border:1px solid var(--line-strong);background:rgba(255,255,255,.32);clip-path:polygon(0 0,calc(100% - 1.4rem) 0,100% 1.4rem,100% 100%,1.4rem 100%,0 calc(100% - 1.4rem));display:grid;grid-template-rows:auto 1fr auto}
.technology-map-head,.technology-map-status{min-height:3.4rem;padding:0 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);font:700 .58rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.technology-map-status{justify-content:flex-start;border-top:1px solid var(--line);border-bottom:0}
.technology-map-status i{width:.4rem;height:.4rem;flex:0 0 .4rem;background:var(--brand-orange);box-shadow:0 0 0 .35rem rgba(255,106,0,.09)}
.technology-map-body{position:relative;min-height:22rem}
.technology-map-axis{position:absolute;display:block;background:rgba(16,35,58,.18)}
.technology-map-axis-x{left:14%;right:14%;top:50%;height:1px}
.technology-map-axis-y{top:12%;bottom:12%;left:50%;width:1px}
.technology-map-core{position:absolute;z-index:2;left:50%;top:50%;width:9rem;height:9rem;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;border:1px solid var(--brand-orange);background:#f0e9e6;clip-path:polygon(1rem 0,calc(100% - 1rem) 0,100% 1rem,100% calc(100% - 1rem),calc(100% - 1rem) 100%,1rem 100%,0 calc(100% - 1rem),0 1rem)}
.technology-map-core::before{content:'';position:absolute;inset:.5rem;border:1px solid rgba(16,35,58,.13);clip-path:inherit}
.technology-map-core small{position:relative;font:700 .52rem/1 var(--mono);letter-spacing:.09em;color:var(--brand-orange-dark)}
.technology-map-core strong{position:relative;margin-top:.55rem;font:700 1.15rem/1 var(--sans);letter-spacing:-.02em;text-transform:uppercase;color:var(--brand-navy)}
.technology-map-node{position:absolute;z-index:2;width:8.4rem;min-height:3.6rem;padding:.75rem 1rem;border:1px solid var(--line-strong);background:rgba(255,255,255,.78);display:grid;grid-template-columns:1.4rem 1fr;align-items:center;gap:.5rem}
.technology-map-node span{font:700 .55rem/1 var(--mono);color:var(--brand-orange-dark)}
.technology-map-node strong{font:700 .64rem/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--brand-navy)}
.technology-map-node-a{top:8%;left:7%}.technology-map-node-b{top:8%;right:7%}.technology-map-node-c{bottom:8%;left:7%}.technology-map-node-d{right:7%;bottom:8%}

.technology-inventory{padding-top:clamp(5rem,8vw,8rem)}
.technology-section-head h2{max-width:14ch}
.technology-index{position:sticky;z-index:12;top:72px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));margin-bottom:clamp(2.5rem,4vw,4rem);border:1px solid var(--line-strong);background:rgba(240,233,230,.96);backdrop-filter:blur(12px)}
.technology-index a{min-height:4.25rem;padding:.85rem .75rem;display:flex;flex-direction:column;justify-content:space-between;gap:.6rem;border-right:1px solid var(--line);font:700 .61rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--brand-navy);transition:background .2s,color .2s}
.technology-index a:last-child{border-right:0}
.technology-index a span{font-size:.52rem;color:var(--muted)}
.technology-index a:hover,.technology-index a:focus-visible{background:var(--brand-orange);color:var(--brand-navy)}
.technology-index a:hover span,.technology-index a:focus-visible span{color:var(--brand-navy)}

.technology-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.technology-domain{scroll-margin-top:10rem;min-height:25rem;padding:clamp(1.5rem,2.4vw,2.4rem);border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:rgba(255,255,255,.18);display:grid;grid-template-rows:auto 1fr;gap:2rem;transition:background .2s,border-color .2s}
.technology-domain:hover{z-index:2;background:rgba(255,255,255,.42);border-color:rgba(255,106,0,.42)}
.technology-domain>header{display:grid;grid-template-columns:minmax(7rem,.34fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.technology-domain-index{font:700 .6rem/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-orange-dark)}
.technology-domain h3{margin:0 0 .7rem;font:700 clamp(1.35rem,2vw,2rem)/1 var(--sans);letter-spacing:-.025em;text-transform:uppercase;color:var(--brand-navy)}
.technology-domain header p{max-width:25rem;margin:0;font-size:.84rem;line-height:1.55;color:var(--muted)}
.technology-items{align-self:end;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.technology-item{min-height:4rem;padding:.75rem 1rem;display:flex;align-items:center;gap:.8rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.2);transition:background .2s,color .2s}
.technology-item:hover{background:rgba(255,106,0,.09)}
.technology-item img,.technology-item i{width:1.55rem;height:1.55rem;flex:0 0 1.55rem;object-fit:contain;filter:grayscale(1) brightness(.45);opacity:.78;transition:filter .2s,opacity .2s}
.technology-item:hover img{filter:none;opacity:1}
.technology-item i{display:grid;place-items:center;border:1px solid var(--line-strong);filter:none;font:700 .48rem/1 var(--mono);font-style:normal;letter-spacing:.05em;color:var(--brand-orange-dark)}
.technology-item b{font:700 .67rem/1.3 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--brand-navy)}
.technology-notice{margin-top:2rem;display:grid;grid-template-columns:minmax(8rem,.18fr) minmax(0,1fr);border:1px solid var(--line-strong);border-left:3px solid var(--brand-orange);background:rgba(255,106,0,.035)}
.technology-notice span{padding:1.4rem 1.5rem;border-right:1px solid var(--line);font:700 .6rem/1 var(--mono);letter-spacing:.1em;color:var(--brand-orange-dark)}
.technology-notice p{margin:0;padding:1.25rem 1.5rem;font-size:.86rem;line-height:1.6;color:var(--muted)}

.technology-criteria{background:rgba(255,255,255,.2)}
.technology-criteria-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(25rem,1.1fr);background:var(--brand-navy);color:#fff;clip-path:polygon(0 0,calc(100% - 1.8rem) 0,100% 1.8rem,100% 100%,1.8rem 100%,0 calc(100% - 1.8rem))}
.technology-criteria-copy,.technology-criteria-panel{padding:clamp(2rem,4vw,4.5rem)}
.technology-criteria-copy{border-right:1px solid rgba(255,255,255,.16)}
.technology-criteria-copy .section-index{color:rgba(255,255,255,.48)}
.technology-criteria-copy h2{max-width:11ch;margin:1.2rem 0 0;font-size:clamp(2.5rem,4.5vw,5rem);line-height:.94;letter-spacing:-.045em;text-transform:uppercase}
.technology-criteria-copy h2 span{color:var(--brand-orange)}
.technology-criteria-panel>p{max-width:40rem;margin:0 0 2rem;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.68)}
.technology-criteria-list{list-style:none;margin:0 0 2.5rem;padding:0;border-top:1px solid rgba(255,255,255,.18)}
.technology-criteria-list li{min-height:3.5rem;display:grid;grid-template-columns:3rem 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);font:700 .7rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.technology-criteria-list span{color:var(--brand-orange)}
.technology-criteria .button-muted{border-color:rgba(255,255,255,.32);color:#fff}
.technology-criteria .button-muted:hover,.technology-criteria .button-muted:focus-visible{background:#fff;color:var(--brand-navy)}

@media(max-width:1199px){
  .technology-hero-grid{grid-template-columns:minmax(0,1fr) minmax(22rem,.8fr);gap:3rem}
  .technology-index{grid-template-columns:repeat(4,1fr)}
  .technology-index a:nth-child(4){border-right:0}
  .technology-index a:nth-child(-n+4){border-bottom:1px solid var(--line)}
  .technology-domain>header{grid-template-columns:1fr;gap:.8rem}
}

@media(max-width:980px){
  .technology-hero-grid,.technology-criteria-grid{grid-template-columns:1fr}
  .technology-decision-map{width:min(100%,38rem);min-height:28rem}
  .technology-index{top:5.25rem;overflow-x:auto;grid-template-columns:repeat(8,minmax(8rem,1fr));scrollbar-width:thin;scrollbar-color:var(--brand-orange) transparent}
  .technology-index a,.technology-index a:nth-child(4),.technology-index a:nth-child(-n+4){border-right:1px solid var(--line);border-bottom:0}
  .technology-catalog{grid-template-columns:1fr}
  .technology-domain{min-height:22rem}
  .technology-criteria-copy{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
}

@media(max-width:640px){
  .technology-index{top:4.5rem}
  .technology-hero-actions{display:grid}
  .technology-decision-map{min-height:25rem}
  .technology-map-head{padding-inline:1rem}
  .technology-map-node{width:6.6rem;padding:.65rem;grid-template-columns:1fr;gap:.25rem}
  .technology-map-node strong{font-size:.54rem}
  .technology-map-core{width:7.2rem;height:7.2rem}
  .technology-domain{min-height:0;padding:1.3rem;gap:1.5rem}
  .technology-items{grid-template-columns:1fr}
  .technology-item{min-height:3.5rem}
  .technology-notice{grid-template-columns:1fr}
  .technology-notice span{border-right:0;border-bottom:1px solid var(--line)}
  .technology-criteria-copy,.technology-criteria-panel{padding:2rem 1.35rem}
  .technology-criteria-copy h2{font-size:clamp(2.2rem,11vw,3.4rem)}
}

/* Soluciones: patrones agrupados por propósito operativo. */
.solutions-hero{position:relative;overflow:hidden}
.solutions-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(25rem,.75fr);gap:clamp(3rem,7vw,8rem);align-items:center}
.solutions-hero-copy h1{max-width:12ch;margin-bottom:1.7rem}
.solutions-hero-copy h1 span{color:var(--brand-orange)}
.solutions-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.solutions-disclaimer{max-width:47rem;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line);font:.64rem/1.65 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}

.solutions-blueprint{min-height:31rem;border:1px solid var(--line-strong);background:rgba(255,255,255,.3);clip-path:polygon(1.4rem 0,100% 0,100% calc(100% - 1.4rem),calc(100% - 1.4rem) 100%,0 100%,0 1.4rem);display:grid;grid-template-rows:auto 1fr auto}
.solutions-blueprint-head,.solutions-blueprint-status{min-height:3.4rem;padding:0 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);font:700 .58rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.solutions-blueprint-status{justify-content:flex-start;border-top:1px solid var(--line);border-bottom:0}
.solutions-blueprint-status>i{width:.4rem;height:.4rem;flex:0 0 .4rem;background:var(--brand-orange);box-shadow:0 0 0 .35rem rgba(255,106,0,.09)}
.solutions-blueprint-body{position:relative;min-height:23rem}
.solutions-blueprint-line{position:absolute;z-index:0;left:50%;top:50%;width:64%;height:1px;background:rgba(16,35,58,.2);transform-origin:center}
.solutions-blueprint-line-a{transform:translate(-50%,-50%) rotate(27deg)}
.solutions-blueprint-line-b{transform:translate(-50%,-50%) rotate(-27deg)}
.solutions-blueprint-core{position:absolute;z-index:2;left:50%;top:50%;width:9rem;height:9rem;transform:translate(-50%,-50%);display:grid;place-content:center;text-align:center;border:1px solid var(--brand-orange);background:#f0e9e6;clip-path:polygon(1rem 0,calc(100% - 1rem) 0,100% 1rem,100% calc(100% - 1rem),calc(100% - 1rem) 100%,1rem 100%,0 calc(100% - 1rem),0 1rem)}
.solutions-blueprint-core small{font:700 .52rem/1 var(--mono);letter-spacing:.12em;color:var(--brand-orange-dark)}
.solutions-blueprint-core strong{margin-top:.6rem;font:700 1.1rem/1 var(--sans);text-transform:uppercase;color:var(--brand-navy)}
.solutions-blueprint-core i{width:.35rem;height:.35rem;margin:.8rem auto 0;background:var(--brand-orange);box-shadow:-.7rem 0 0 rgba(16,35,58,.3),.7rem 0 0 rgba(16,35,58,.3)}
.solutions-blueprint-node{position:absolute;z-index:2;width:9.5rem;min-height:4.5rem;padding:.75rem 1rem;border:1px solid var(--line-strong);background:rgba(255,255,255,.8);display:grid;grid-template-columns:1.35rem 1fr;align-content:center;column-gap:.5rem}
.solutions-blueprint-node>span{grid-row:1/3;font:700 .54rem/1 var(--mono);color:var(--brand-orange-dark)}
.solutions-blueprint-node strong{font:700 .65rem/1.2 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--brand-navy)}
.solutions-blueprint-node small{margin-top:.25rem;font:.52rem/1.3 var(--mono);color:var(--muted)}
.solutions-blueprint-node-a{top:9%;left:6%}.solutions-blueprint-node-b{top:9%;right:6%}.solutions-blueprint-node-c{bottom:9%;left:6%}.solutions-blueprint-node-d{right:6%;bottom:9%}

.solutions-catalog{padding-top:clamp(5rem,8vw,8rem)}
.solutions-section-head h2{max-width:14ch}
.solutions-index{position:sticky;z-index:12;top:72px;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:clamp(3rem,5vw,5rem);border:1px solid var(--line-strong);background:rgba(240,233,230,.96);backdrop-filter:blur(12px)}
.solutions-index a{min-height:5.4rem;padding:1rem 1.2rem;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:end;gap:.45rem 1rem;border-right:1px solid var(--line);color:var(--brand-navy);transition:background .2s,color .2s}
.solutions-index a:last-child{border-right:0}
.solutions-index span,.solutions-index small{font:700 .55rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.solutions-index strong{font:700 .75rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.solutions-index small{grid-column:2;grid-row:1/3;align-self:center;writing-mode:vertical-rl}
.solutions-index a:hover,.solutions-index a:focus-visible{background:var(--brand-orange)}
.solutions-index a:hover span,.solutions-index a:hover small,.solutions-index a:focus-visible span,.solutions-index a:focus-visible small{color:var(--brand-navy)}

.solutions-families{border-top:1px solid var(--line-strong)}
.solutions-family{scroll-margin-top:11rem;display:grid;grid-template-columns:minmax(12rem,.28fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);padding:clamp(3rem,6vw,6rem) 0;border-bottom:1px solid var(--line-strong)}
.solutions-family-head{align-self:start;position:sticky;top:11rem}
.solutions-family-head>span{font:700 .62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-orange-dark)}
.solutions-family-head h3{max-width:10ch;margin:1.2rem 0 1rem;font:700 clamp(2rem,3vw,3.35rem)/.96 var(--sans);letter-spacing:-.035em;text-transform:uppercase;color:var(--brand-navy)}
.solutions-family-head p{max-width:19rem;margin:0;font-size:.88rem;line-height:1.65;color:var(--muted)}
.solutions-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.solution-card{position:relative;min-height:18.5rem;padding:clamp(1.4rem,2.2vw,2.2rem);border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:rgba(255,255,255,.18);display:flex;flex-direction:column;transition:background .2s,border-color .2s,transform .2s}
.solution-card:hover{z-index:2;background:rgba(255,255,255,.5);border-color:rgba(255,106,0,.48);transform:translateY(-.2rem)}
.solution-card-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.solution-card-top span{font:700 .64rem/1 var(--mono);letter-spacing:.1em;color:var(--brand-orange-dark)}
.solution-card-top i{min-width:2.3rem;height:1.45rem;padding:0 .45rem;display:grid;place-items:center;border:1px solid var(--line-strong);font:700 .5rem/1 var(--mono);font-style:normal;letter-spacing:.08em;color:var(--muted)}
.solution-card h4{max-width:18ch;margin:2.2rem 0 1rem;font:700 clamp(1.2rem,1.7vw,1.65rem)/1.05 var(--sans);letter-spacing:-.02em;text-transform:uppercase;color:var(--brand-navy)}
.solution-card p{max-width:31rem;margin:0;font-size:.86rem;line-height:1.65;color:var(--muted)}
.solution-card .card-link{margin-top:auto;color:var(--brand-navy)}
.solutions-notice{margin-top:2rem;display:grid;grid-template-columns:minmax(9rem,.18fr) minmax(0,1fr);border:1px solid var(--line-strong);border-left:3px solid var(--brand-orange);background:rgba(255,106,0,.035)}
.solutions-notice span{padding:1.4rem 1.5rem;border-right:1px solid var(--line);font:700 .6rem/1 var(--mono);letter-spacing:.1em;color:var(--brand-orange-dark)}
.solutions-notice p{margin:0;padding:1.25rem 1.5rem;font-size:.86rem;line-height:1.6;color:var(--muted)}

.solutions-next{background:rgba(255,255,255,.2)}
.solutions-next-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(25rem,1.1fr);background:var(--brand-navy);color:#fff;clip-path:polygon(1.8rem 0,100% 0,100% calc(100% - 1.8rem),calc(100% - 1.8rem) 100%,0 100%,0 1.8rem)}
.solutions-next-grid>div,.solutions-next-panel{padding:clamp(2rem,4vw,4.5rem)}
.solutions-next-grid>div:first-child{border-right:1px solid rgba(255,255,255,.16)}
.solutions-next .section-index{color:rgba(255,255,255,.48)}
.solutions-next h2{max-width:11ch;margin:1.2rem 0 0;font-size:clamp(2.5rem,4.5vw,5rem);line-height:.94;letter-spacing:-.045em;text-transform:uppercase}
.solutions-next h2 span{color:var(--brand-orange)}
.solutions-next-panel>p{max-width:40rem;margin:0 0 2rem;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.68)}
.solutions-next-panel ol{list-style:none;margin:0 0 2.5rem;padding:0;border-top:1px solid rgba(255,255,255,.18)}
.solutions-next-panel li{min-height:3.5rem;display:grid;grid-template-columns:3rem 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);font:700 .7rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.solutions-next-panel li span{color:var(--brand-orange)}
.solutions-next .button-muted{border-color:rgba(255,255,255,.32);color:#fff}
.solutions-next .button-muted:hover,.solutions-next .button-muted:focus-visible{background:#fff;color:var(--brand-navy)}

@media(max-width:1199px){
  .solutions-hero-grid{grid-template-columns:minmax(0,1fr) minmax(22rem,.82fr);gap:3rem}
  .solutions-family{grid-template-columns:minmax(10rem,.24fr) minmax(0,1fr);gap:2rem}
}

@media(max-width:980px){
  .solutions-hero-grid,.solutions-next-grid{grid-template-columns:1fr}
  .solutions-blueprint{width:min(100%,38rem);min-height:28rem}
  .solutions-index{top:5.25rem;overflow-x:auto;grid-template-columns:repeat(4,minmax(12rem,1fr));scrollbar-width:thin;scrollbar-color:var(--brand-orange) transparent}
  .solutions-family{grid-template-columns:1fr}
  .solutions-family-head{position:static}
  .solutions-family-head p{max-width:36rem}
  .solutions-next-grid>div:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
}

@media(max-width:640px){
  .solutions-hero-actions{display:grid}
  .solutions-blueprint{min-height:26rem}
  .solutions-blueprint-node{width:7.1rem;min-height:4rem;padding:.6rem;grid-template-columns:1fr}
  .solutions-blueprint-node>span{grid-row:auto}
  .solutions-blueprint-node small{display:none}
  .solutions-blueprint-core{width:7.4rem;height:7.4rem}
  .solutions-index{top:4.5rem}
  .solutions-family-grid{grid-template-columns:1fr}
  .solution-card{min-height:16rem}
  .solutions-notice{grid-template-columns:1fr}
  .solutions-notice span{border-right:0;border-bottom:1px solid var(--line)}
  .solutions-next-grid>div,.solutions-next-panel{padding:2rem 1.35rem}
  .solutions-next h2{font-size:clamp(2.2rem,11vw,3.4rem)}
}

/* Servicios: capacidades organizadas a través del ciclo de ingeniería. */
.services-hero{position:relative;overflow:hidden}
.services-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(25rem,.75fr);gap:clamp(3rem,7vw,8rem);align-items:center}
.services-hero-copy h1{max-width:11ch;margin-bottom:1.7rem}
.services-hero-copy h1 span{color:var(--brand-orange)}
.services-hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.services-disclaimer{max-width:46rem;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line);font:.64rem/1.65 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}

.services-orchestrator{min-height:31rem;border:1px solid var(--line-strong);background:rgba(255,255,255,.3);clip-path:polygon(0 0,calc(100% - 1.4rem) 0,100% 1.4rem,100% 100%,1.4rem 100%,0 calc(100% - 1.4rem));display:grid;grid-template-rows:auto 1fr auto}
.services-orchestrator-head,.services-orchestrator-status{min-height:3.4rem;padding:0 1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);font:700 .58rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.services-orchestrator-status{justify-content:flex-start;border-top:1px solid var(--line);border-bottom:0}
.services-orchestrator-status>i{width:.4rem;height:.4rem;flex:0 0 .4rem;background:var(--brand-orange);box-shadow:0 0 0 .35rem rgba(255,106,0,.09)}
.services-orchestrator-flow{position:relative;list-style:none;margin:0;padding:1.8rem 2rem;display:grid}
.services-orchestrator-flow::before{content:'';position:absolute;left:4.85rem;top:3.2rem;bottom:3.2rem;width:1px;background:rgba(16,35,58,.22)}
.services-orchestrator-flow li{position:relative;z-index:1;display:grid;grid-template-columns:2rem 1fr auto;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}
.services-orchestrator-flow li:last-child{border-bottom:0}
.services-orchestrator-flow li>span{font:700 .58rem/1 var(--mono);color:var(--brand-orange-dark)}
.services-orchestrator-flow li>div{padding:1rem 0}
.services-orchestrator-flow strong{display:block;font:700 .78rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-navy)}
.services-orchestrator-flow small{display:block;margin-top:.4rem;font:.59rem/1.3 var(--mono);color:var(--muted)}
.services-orchestrator-flow li>i{position:relative;width:1.55rem;height:1.55rem;border:1px solid var(--line-strong);background:#f0e9e6;transform:rotate(45deg)}
.services-orchestrator-flow li>i::after{content:'';position:absolute;inset:.48rem;background:var(--brand-orange)}

.services-catalog{padding-top:clamp(5rem,8vw,8rem)}
.services-section-head h2{max-width:13ch}
.services-index{position:sticky;z-index:12;top:72px;display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:clamp(3rem,5vw,5rem);border:1px solid var(--line-strong);background:rgba(240,233,230,.96);backdrop-filter:blur(12px)}
.services-index a{min-height:5.6rem;padding:1rem 1.15rem;display:grid;grid-template-columns:2rem 1fr;grid-template-rows:auto 1fr;align-items:end;gap:.45rem .75rem;border-right:1px solid var(--line);color:var(--brand-navy);transition:background .2s,color .2s}
.services-index a:last-child{border-right:0}
.services-index a>span{grid-row:1/3;align-self:start;font:700 .56rem/1 var(--mono);color:var(--brand-orange-dark)}
.services-index strong{font:700 .7rem/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.services-index small{font:.55rem/1.3 var(--mono);letter-spacing:.04em;color:var(--muted)}
.services-index a:hover,.services-index a:focus-visible{background:var(--brand-orange)}
.services-index a:hover span,.services-index a:hover small,.services-index a:focus-visible span,.services-index a:focus-visible small{color:var(--brand-navy)}

.services-chapters{border-top:1px solid var(--line-strong)}
.services-chapter{scroll-margin-top:11rem;display:grid;grid-template-columns:minmax(24rem,.34fr) minmax(0,1fr);gap:2rem;padding:clamp(3rem,6vw,6rem) 0;border-bottom:1px solid var(--line-strong)}
.services-chapter-head{align-self:start;position:sticky;top:11rem}
.services-chapter-head>span{font:700 .62rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-orange-dark)}
.services-chapter-head h3{max-width:12ch;margin:1.2rem 0 1rem;font:700 clamp(2rem,3vw,2.8rem)/.96 var(--sans);letter-spacing:-.035em;text-transform:uppercase;color:var(--brand-navy)}
.services-chapter-head p{max-width:19rem;margin:0;font-size:.88rem;line-height:1.65;color:var(--muted)}
.services-chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.service-capability{min-height:27rem;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:rgba(255,255,255,.18);display:grid;grid-template-rows:8rem 1fr;transition:background .2s,border-color .2s,transform .2s}
.service-capability:hover{z-index:2;background:rgba(255,255,255,.5);border-color:rgba(255,106,0,.48);transform:translateY(-.2rem)}
.service-capability-icon{position:relative;padding:1.4rem 1.6rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--brand-orange)}
.service-capability-icon::after{content:'';position:absolute;left:5.7rem;right:1.6rem;top:50%;height:1px;background:rgba(16,35,58,.12)}
.service-capability-icon svg{position:relative;z-index:1;width:3.25rem;height:3.25rem;padding:.55rem;border:1px solid rgba(255,106,0,.48);background:#f0e9e6;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter}
.service-capability-icon span{position:relative;z-index:1;padding-left:.7rem;background:#f0e9e6;font:700 .62rem/1 var(--mono);letter-spacing:.1em;color:var(--brand-orange-dark)}
.service-capability-brand{position:relative;padding:1.4rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;border-bottom:1px solid var(--line)}
.service-capability-brand::after{content:'';position:absolute;left:clamp(9rem,55%,13rem);right:1.6rem;top:50%;height:1px;background:rgba(16,35,58,.12)}
.service-capability-brand img{position:relative;z-index:1;width:auto;max-width:min(68%,12rem);height:auto;max-height:2.8rem;padding-right:.8rem;background:#f0e9e6;object-fit:contain;object-position:left center}
.service-capability-brand span{position:relative;z-index:1;padding-left:.7rem;background:#f0e9e6;font:700 .62rem/1 var(--mono);letter-spacing:.1em;color:var(--brand-orange-dark)}
.service-capability-copy{padding:1.6rem;display:flex;flex-direction:column}
.service-capability-label{margin:0 0 1.1rem;font:700 .57rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-orange-dark)}
.service-capability h4{max-width:15ch;margin:0 0 1rem;font:700 clamp(1.3rem,1.8vw,1.75rem)/1.03 var(--sans);letter-spacing:-.025em;text-transform:uppercase;color:var(--brand-navy)}
.service-capability-copy>p:not(.service-capability-label){margin:0;font-size:.85rem;line-height:1.6;color:var(--muted)}
.service-capability ul{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.service-capability li{padding:.45rem .6rem;border:1px solid var(--line);font:700 .53rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.service-capability .card-link{margin-top:auto;color:var(--brand-navy)}
.services-notice{margin-top:2rem;display:grid;grid-template-columns:minmax(9rem,.18fr) minmax(0,1fr);border:1px solid var(--line-strong);border-left:3px solid var(--brand-orange);background:rgba(255,106,0,.035)}
.services-notice span{padding:1.4rem 1.5rem;border-right:1px solid var(--line);font:700 .6rem/1 var(--mono);letter-spacing:.1em;color:var(--brand-orange-dark)}
.services-notice p{margin:0;padding:1.25rem 1.5rem;font-size:.86rem;line-height:1.6;color:var(--muted)}

.services-engagement{background:rgba(255,255,255,.2)}
.services-engagement-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(25rem,1.1fr);background:var(--brand-navy);color:#fff;clip-path:polygon(0 0,calc(100% - 1.8rem) 0,100% 1.8rem,100% 100%,1.8rem 100%,0 calc(100% - 1.8rem))}
.services-engagement-grid>div,.services-engagement-panel{padding:clamp(2rem,4vw,4.5rem)}
.services-engagement-grid>div:first-child{border-right:1px solid rgba(255,255,255,.16)}
.services-engagement .section-index{color:rgba(255,255,255,.48)}
.services-engagement h2{max-width:11ch;margin:1.2rem 0 0;font-size:clamp(2.5rem,4.5vw,5rem);line-height:.94;letter-spacing:-.045em;text-transform:uppercase}
.services-engagement h2 span{color:var(--brand-orange)}
.services-engagement-panel>p{max-width:40rem;margin:0 0 2rem;font-size:1rem;line-height:1.7;color:rgba(255,255,255,.68)}
.services-engagement-steps{display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:2.5rem;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.services-engagement-steps span{min-height:4rem;padding:1rem;display:flex;align-items:center;gap:1rem;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);font:700 .67rem/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.services-engagement-steps i{font-style:normal;color:var(--brand-orange)}
.services-engagement .button-muted{border-color:rgba(255,255,255,.32);color:#fff}
.services-engagement .button-muted:hover,.services-engagement .button-muted:focus-visible{background:#fff;color:var(--brand-navy)}

@media(max-width:1199px){
  .services-hero-grid{grid-template-columns:minmax(0,1fr) minmax(22rem,.82fr);gap:3rem}
  .services-chapter{grid-template-columns:1fr}
  .services-chapter-head{position:static}
  .services-chapter-head p{max-width:36rem}
  .service-capability{min-height:29rem}
}

@media(max-width:980px){
  .services-hero-grid,.services-engagement-grid{grid-template-columns:1fr}
  .services-orchestrator{width:min(100%,38rem);min-height:28rem}
  .services-index{top:5.25rem;overflow-x:auto;grid-template-columns:repeat(4,minmax(13rem,1fr));scrollbar-width:thin;scrollbar-color:var(--brand-orange) transparent}
  .services-chapter{grid-template-columns:1fr}
  .services-chapter-head{position:static}
  .services-chapter-head p{max-width:36rem}
  .services-engagement-grid>div:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
}

@media(max-width:640px){
  .services-hero-actions{display:grid}
  .services-orchestrator-flow{padding-inline:1.2rem}
  .services-orchestrator-flow::before{left:4.05rem}
  .services-index{top:4.5rem}
  .services-chapter-grid{grid-template-columns:1fr}
  .service-capability{min-height:25rem}
  .services-notice{grid-template-columns:1fr}
  .services-notice span{border-right:0;border-bottom:1px solid var(--line)}
  .services-engagement-grid>div,.services-engagement-panel{padding:2rem 1.35rem}
  .services-engagement h2{font-size:clamp(2.2rem,11vw,3.4rem)}
  .services-engagement-steps{grid-template-columns:1fr}
}

/* Detalles de servicios y soluciones: sistema compartido para 24 rutas. */
.detail-page .page-hero{position:relative;min-height:clamp(38rem,70vh,48rem);padding-block:clamp(5rem,8vw,8rem);display:flex;align-items:center;overflow:hidden}
.detail-page .page-hero .container{position:relative;width:min(100%,96rem);padding-right:min(38%,34rem)}
.detail-page .page-hero .breadcrumbs{max-width:58rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.detail-page .page-hero .eyebrow{margin-bottom:1.2rem;color:var(--brand-orange-dark)}
.detail-page .page-hero h1{max-width:12ch;margin-bottom:1.6rem;font-size:clamp(3.2rem,5.6vw,6rem);line-height:.9;letter-spacing:-.05em}
.detail-page .page-hero .section-intro{max-width:47rem}
.detail-page .page-hero .hero-actions{margin-top:2rem}
.detail-page .page-hero .container::before{content:'';position:absolute;right:0;top:3.5rem;bottom:0;width:min(33%,28rem);border:1px solid var(--line-strong);background:rgba(255,255,255,.26);clip-path:polygon(0 0,calc(100% - 1.5rem) 0,100% 1.5rem,100% 100%,1.5rem 100%,0 calc(100% - 1.5rem))}
.detail-page .page-hero .container::after{position:absolute;right:clamp(1.5rem,3vw,3rem);top:50%;width:min(27%,22rem);padding:1.5rem 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);white-space:pre;font:700 .65rem/2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transform:translateY(-20%)}
.service-detail .page-hero .container::after{content:'SC / SERVICE DETAIL\A 08 CAPACITIES\A CONTEXT > ENGINEERING > OPERATION'}
.solution-detail .page-hero .container::after{content:'SC / SOLUTION DETAIL\A 16 PATTERNS\A NEED > SYSTEM > EVOLUTION'}

.detail-page main>.section:nth-of-type(1){padding-block:clamp(4rem,7vw,7rem);background:rgba(255,255,255,.18)}
.detail-page main>.section:nth-of-type(1) .split{gap:0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.detail-page main>.section:nth-of-type(1) .split>div{padding:clamp(2rem,4vw,4.5rem)}
.detail-page main>.section:nth-of-type(1) .split>div:last-child{border-left:1px solid var(--line-strong);display:flex;flex-direction:column;justify-content:center}
.detail-page main>.section:nth-of-type(1) .section-index{color:var(--brand-orange-dark)}
.detail-page main>.section:nth-of-type(1) .statement{max-width:11ch;margin:1.2rem 0 0;color:var(--brand-navy)}
.detail-page main>.section:nth-of-type(1) .prose>p:first-child{margin-top:0;font-size:1.05rem;line-height:1.75;color:var(--brand-navy)}
.detail-page main>.section:nth-of-type(1) .notice{margin-top:2rem;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;padding:1.2rem 0}

.detail-page main>.section:nth-of-type(2) .section-head h2{max-width:13ch}
.detail-page main>.section:nth-of-type(2) .grid-3{border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.detail-page main>.section:nth-of-type(2) .card{min-height:22rem;margin:0;padding:clamp(1.5rem,2.5vw,2.5rem);border:0;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:rgba(255,255,255,.2);clip-path:none;box-shadow:none}
.detail-page main>.section:nth-of-type(2) .card::before{content:'';position:absolute;left:0;top:4.5rem;width:3.5rem;height:1px;background:var(--brand-orange)}
.detail-page main>.section:nth-of-type(2) .card::after{content:'';display:block;position:absolute;right:1.2rem;top:1.2rem;width:.35rem;height:.35rem;background:var(--brand-orange);box-shadow:none;opacity:.8}
.detail-page main>.section:nth-of-type(2) .card:hover{background:rgba(255,255,255,.55);border-color:rgba(255,106,0,.45)}
.detail-page main>.section:nth-of-type(2) .card-index{color:var(--brand-orange-dark)}
.detail-page main>.section:nth-of-type(2) .card h3{max-width:12ch;margin:4.5rem 0 1.2rem;font-size:clamp(1.35rem,2vw,2rem);color:var(--brand-navy)}
.detail-page main>.section:nth-of-type(2) .card p{margin-top:auto;font-size:.9rem;line-height:1.65}

.detail-page main>.section:nth-of-type(3){background:rgba(255,255,255,.18)}
.detail-page main>.section:nth-of-type(3) .section-head h2{max-width:12ch}
.detail-page main>.section:nth-of-type(3) .process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.detail-page main>.section:nth-of-type(3) .process-step{position:relative;min-height:18rem;padding:clamp(1.5rem,2.5vw,2.5rem);display:flex;flex-direction:column;gap:0;border:0;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);transition:background .2s,transform .2s}
.detail-page main>.section:nth-of-type(3) .process-step:hover{z-index:2;background:rgba(255,106,0,.055);transform:translateY(-.2rem)}
.detail-page main>.section:nth-of-type(3) .process-step::before{font:700 .65rem/1 var(--mono);letter-spacing:.1em;color:var(--brand-orange-dark)}
.detail-page main>.section:nth-of-type(3) .process-step::after{content:'';position:absolute;left:0;right:0;top:4.8rem;height:1px;background:rgba(16,35,58,.13)}
.detail-page main>.section:nth-of-type(3) .process-step h3{margin:auto 0 1rem;font-size:clamp(1.25rem,1.8vw,1.7rem);text-transform:uppercase;color:var(--brand-navy)}
.detail-page main>.section:nth-of-type(3) .process-step p{margin:0;font-size:.88rem;line-height:1.65}

.detail-page main>.section:nth-of-type(4) .section-head{margin-bottom:2.5rem}
.detail-page main>.section:nth-of-type(4) .section-head h2{max-width:10ch}
.detail-page main>.section:nth-of-type(4) .faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.detail-page main>.section:nth-of-type(4) details{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.detail-page main>.section:nth-of-type(4) summary{min-height:6.5rem;padding:1.5rem 3.5rem 1.5rem 1.5rem;display:flex;align-items:center;font-size:1rem}
.detail-page main>.section:nth-of-type(4) summary::after{right:1.5rem;top:50%;transform:translateY(-50%);color:var(--brand-orange)}
.detail-page main>.section:nth-of-type(4) .faq-answer{max-width:none;padding:0 1.5rem 1.75rem;line-height:1.65}

.detail-page main>.section:nth-of-type(5){padding-block:clamp(4rem,7vw,7rem);background:rgba(255,255,255,.16)}
.detail-page main>.section:nth-of-type(5) .contact-panel{min-height:27rem;width:100%;grid-template-columns:minmax(20rem,.7fr) minmax(0,1.3fr);border:1px solid var(--line-strong);background:rgba(255,255,255,.16);clip-path:polygon(0 0,calc(100% - 1.5rem) 0,100% 1.5rem,100% 100%,1.5rem 100%,0 calc(100% - 1.5rem));overflow:hidden}
.detail-page main>.section:nth-of-type(5) .contact-copy{padding:clamp(2.5rem,4vw,4.5rem);display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line-strong);background:#fff;color:var(--brand-navy)}
.detail-page main>.section:nth-of-type(5) .contact-copy::before{width:clamp(13rem,17vw,17rem);height:5rem;margin-bottom:3rem;background-image:url('/assets/brand/sourcecode-logo-dark.png?v=20260824');background-position:left calc(50% + .3rem);background-size:100% auto}
.detail-page main>.section:nth-of-type(5) .status-label{position:relative;padding-left:1.2rem;color:var(--muted)}
.detail-page main>.section:nth-of-type(5) .status-label::before{content:'';position:absolute;left:0;top:50%;width:.3rem;height:.3rem;background:var(--brand-orange);transform:translateY(-50%)}
.detail-page main>.section:nth-of-type(5) .contact-copy h2{max-width:10ch;margin:1.3rem 0 1.5rem;font-size:clamp(2.2rem,3.4vw,3.6rem);line-height:.98;letter-spacing:-.035em}
.detail-page main>.section:nth-of-type(5) .contact-copy p:last-child{max-width:26rem;margin:0;font-size:.95rem;line-height:1.7}
.detail-page main>.section:nth-of-type(5) .contact-action{position:relative;padding:clamp(2.5rem,5vw,5.5rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.detail-page main>.section:nth-of-type(5) .contact-action::before{content:'ENVÍO / PRIVADO';position:absolute;right:2rem;top:2rem;font:700 .55rem/1 var(--mono);letter-spacing:.1em;color:var(--muted)}
.detail-page main>.section:nth-of-type(5) .contact-action .section-intro{max-width:45rem;margin:0 0 2rem;font-size:clamp(1.05rem,1.35vw,1.25rem);color:var(--brand-navy)}

@media(max-width:980px){
  .detail-page .page-hero{min-height:0}
  .detail-page .page-hero .container{padding-right:var(--pad)}
  .detail-page .page-hero .container::before,.detail-page .page-hero .container::after{display:none}
  .detail-page main>.section:nth-of-type(1) .split{grid-template-columns:1fr}
  .detail-page main>.section:nth-of-type(1) .split>div:last-child{border-left:0;border-top:1px solid var(--line-strong)}
  .detail-page main>.section:nth-of-type(3) .process{grid-template-columns:1fr}
  .detail-page main>.section:nth-of-type(3) .process-step{min-height:14rem}
  .detail-page main>.section:nth-of-type(4) .faq{grid-template-columns:1fr}
  .detail-page main>.section:nth-of-type(5) .contact-panel{grid-template-columns:1fr}
  .detail-page main>.section:nth-of-type(5) .contact-copy{border-right:0;border-bottom:1px solid var(--line-strong)}
}

@media(max-width:640px){
  .detail-page .page-hero h1{font-size:clamp(2.55rem,12vw,4rem)}
  .detail-page .page-hero .hero-actions{display:grid}
  .detail-page main>.section:nth-of-type(1) .split>div{padding:2rem 1.25rem}
  .detail-page main>.section:nth-of-type(2) .grid-3{grid-template-columns:1fr}
  .detail-page main>.section:nth-of-type(2) .card{min-height:17rem}
  .detail-page main>.section:nth-of-type(5) .contact-copy,.detail-page main>.section:nth-of-type(5) .contact-action{padding:2rem 1.4rem}
  .detail-page main>.section:nth-of-type(5) .contact-action::before{position:static;margin-bottom:2rem}
}

/* Paneles de contacto: superficie integrada y jerarquía tipográfica de marca. */
.contact-page .contact-panel,
.detail-page main>.section:nth-of-type(5) .contact-panel{background:rgba(255,255,255,.10)}
.contact-page .contact-copy,
.detail-page main>.section:nth-of-type(5) .contact-copy{background:transparent;color:var(--brand-navy)}
.contact-page .contact-copy{border-right:1px solid var(--line-strong)}
.contact-page .contact-copy .status-label,
.detail-page main>.section:nth-of-type(5) .contact-copy .status-label{font-family:var(--mono);font-weight:400;letter-spacing:.14em}
.contact-page .contact-copy h2,
.detail-page main>.section:nth-of-type(5) .contact-copy h2{font-family:var(--sans);font-weight:700;text-transform:none}
.contact-page .contact-copy h2{max-width:12ch;margin:1.25rem 0 1.75rem;font-size:clamp(2.25rem,3.8vw,4rem);line-height:.98;letter-spacing:-.04em}
.contact-page .contact-copy p:not(.status-label),
.detail-page main>.section:nth-of-type(5) .contact-copy p:not(.status-label){font-family:var(--sans);font-weight:400;color:var(--muted)}

/* Commercial security and email service pages */
.commercial-service .page-hero .container::after{content:'SERVICIO / EMPRESAS\A ALCANCE / VERIFICABLE\A SOURCECODE / 2026'}
.commercial-brand-lockup{position:absolute;z-index:1;right:clamp(1.5rem,3vw,3rem);top:7.25rem;width:min(27%,22rem);display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}
.commercial-brand-lockup span{font:700 .56rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand-orange-dark)}
.commercial-brand-lockup img{display:block;width:auto;max-width:min(100%,12rem);height:auto;max-height:3.25rem;object-fit:contain;object-position:left center}
.commercial-service .section-head h2{max-width:15ch}
.commercial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.commercial-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.commercial-card{position:relative;min-height:19rem;padding:clamp(1.5rem,2.5vw,2.5rem);display:flex;flex-direction:column;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:rgba(255,255,255,.2);transition:background .2s,transform .2s}
.commercial-card::before{content:'';position:absolute;left:0;top:4.5rem;width:3.5rem;height:1px;background:var(--brand-orange)}
.commercial-card:hover{z-index:1;background:rgba(255,255,255,.55);transform:translateY(-.15rem)}
.commercial-card .card-index{color:var(--brand-orange-dark)}
.commercial-card h3{max-width:14ch;margin:4.2rem 0 1rem;font-size:clamp(1.2rem,1.8vw,1.75rem);line-height:1.05;color:var(--brand-navy)}
.commercial-card p{margin:auto 0 0;font-size:.88rem;line-height:1.65;color:var(--muted)}
.commercial-benefits{background:rgba(255,255,255,.18)}
.commercial-note{margin-top:2rem;padding:1.5rem clamp(1.25rem,3vw,2.25rem);border:1px solid var(--line-strong);border-left:3px solid var(--brand-orange);font-size:.9rem;line-height:1.7;color:var(--muted)}
.commercial-note strong{color:var(--brand-navy)}
.commercial-timeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.commercial-step{min-height:12rem;padding:1.8rem;display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:1rem;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.commercial-step>span{font:700 .62rem/1 var(--mono);letter-spacing:.08em;color:var(--brand-orange-dark)}
.commercial-step h3{margin:0 0 .8rem;font-size:1.25rem;text-transform:uppercase;color:var(--brand-navy)}
.commercial-step p{margin:0;font-size:.88rem;line-height:1.65;color:var(--muted)}
.commercial-faq{background:rgba(255,255,255,.18)}
.commercial-faq .faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.commercial-faq details{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.commercial-faq summary{min-height:6.5rem;padding:1.5rem 3.5rem 1.5rem 1.5rem;display:flex;align-items:center}
.commercial-faq .faq-answer{padding:0 1.5rem 1.75rem;line-height:1.65}
.official-reference{margin:1.5rem 0 0;font:.7rem/1.6 var(--mono);letter-spacing:.03em;color:var(--muted)}
.official-reference a{color:var(--brand-navy);text-decoration:underline;text-decoration-color:var(--brand-orange);text-underline-offset:.2em}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong)}
.related-card{min-height:18rem;padding:clamp(1.5rem,2.5vw,2.5rem);display:flex;flex-direction:column;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}
.related-card h3{max-width:14ch;margin:2rem 0 1rem;font-size:clamp(1.3rem,2vw,2rem);color:var(--brand-navy)}
.related-card>p:not(.service-capability-label){margin:0 0 2rem;font-size:.88rem;line-height:1.65;color:var(--muted)}
.related-card .card-link{margin-top:auto}
.commercial-contact{background:rgba(255,255,255,.16)}
.commercial-contact .contact-panel{min-height:27rem;width:100%;grid-template-columns:minmax(20rem,.7fr) minmax(0,1.3fr);border:1px solid var(--line-strong);background:rgba(255,255,255,.1);clip-path:polygon(0 0,calc(100% - 1.5rem) 0,100% 1.5rem,100% 100%,1.5rem 100%,0 calc(100% - 1.5rem));overflow:hidden}
.commercial-contact .contact-copy{padding:clamp(2.5rem,4vw,4.5rem);display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line-strong)}
.commercial-contact .contact-copy h2{max-width:14ch;margin:1.3rem 0 1.5rem;font-size:clamp(2.1rem,3.4vw,3.5rem);line-height:.98}
.commercial-contact .contact-copy p:last-child{max-width:31rem;margin:0;line-height:1.7;color:var(--muted)}
.commercial-contact .contact-action{padding:clamp(2.5rem,5vw,5.5rem);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.detail-related-inline{display:flex;flex-wrap:wrap;gap:.6rem;margin:-.5rem 0 1.6rem}
.detail-related-inline a{padding:.65rem .8rem;border:1px solid var(--line-strong);font:700 .6rem/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand-navy);transition:background .2s,border-color .2s}
.detail-related-inline a:hover,.detail-related-inline a:focus-visible{border-color:var(--brand-orange);background:rgba(255,106,0,.08)}
.services-index{grid-template-columns:repeat(5,1fr)}
.services-chapter-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

@media (max-width:980px){
  .commercial-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .commercial-contact .contact-panel{grid-template-columns:1fr}
  .commercial-contact .contact-copy{border-right:0;border-bottom:1px solid var(--line-strong)}
  .services-index{grid-template-columns:repeat(5,minmax(13rem,1fr))}
  .services-chapter-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .commercial-brand-lockup{position:static;width:min(100%,16rem);margin-top:2.25rem}
}
@media (max-width:640px){
  .commercial-grid,.commercial-grid-4,.commercial-timeline,.commercial-faq .faq,.related-grid,.services-chapter-grid-3{grid-template-columns:1fr}
  .commercial-card{min-height:16rem}
  .commercial-step{min-height:0}
  .commercial-contact .contact-copy,.commercial-contact .contact-action{padding:2rem 1.4rem}
}
.contact-page .contact-copy p:not(.status-label){max-width:38rem;font-size:1rem;line-height:1.7}
.contact-page .contact-copy::before{width:clamp(13rem,18vw,17rem);height:4.5rem;margin-bottom:2.75rem}

@media(max-width:980px){
  .contact-page .contact-copy{border-right:0;border-bottom:1px solid var(--line-strong)}
}

@media(max-width:640px){
  .contact-page .contact-copy h2{font-size:clamp(2.1rem,10vw,3rem)}
  .contact-page .contact-copy::before{width:13rem;margin-bottom:2rem}
}

/* Canales oficiales de contacto. */
.footer-grid{grid-template-columns:minmax(16rem,1fr) auto auto auto}
.footer-contact{display:grid;gap:.7rem;margin:0;font:400 .72rem/1.3 var(--mono);font-style:normal;letter-spacing:.035em;color:var(--muted)}
.footer-partner{display:block;width:150px;max-width:100%;line-height:0;transition:opacity .2s,transform .2s}
.footer-partner img{width:150px;height:auto;aspect-ratio:15/11}
.footer-partner:hover,.footer-partner:focus-visible{opacity:.86;transform:translateY(-2px)}
.home-partner-badge{display:block;width:clamp(5.75rem,6vw,7rem);margin:clamp(1.25rem,2.5vh,2rem) 0 0;line-height:0;transition:opacity .2s,transform .2s}
.home-partner-badge img{width:100%;height:auto;aspect-ratio:15/11}
.home-partner-badge:hover,.home-partner-badge:focus-visible{opacity:.86;transform:translateY(-2px)}
.footer-contact a,.direct-contact a{position:relative;width:max-content;max-width:100%;overflow-wrap:anywhere;transition:color .2s}
.footer-contact a::after,.direct-contact a::after{content:'';position:absolute;left:0;right:100%;bottom:-.25rem;height:1px;background:var(--brand-orange);transition:right .2s}
.footer-contact a:hover,.footer-contact a:focus-visible,.direct-contact a:hover,.direct-contact a:focus-visible{color:var(--brand-orange-dark)}
.footer-contact a:hover::after,.footer-contact a:focus-visible::after,.direct-contact a:hover::after,.direct-contact a:focus-visible::after{right:0}
.contact-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:2rem 0 0;border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);font-style:normal}
.contact-channels a{min-height:7.5rem;padding:1.15rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);transition:background .2s,color .2s}
.contact-channels a:hover,.contact-channels a:focus-visible{background:rgba(255,106,0,.08)}
.contact-channels span{font:400 .62rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.contact-channels strong{font:700 clamp(.82rem,1.1vw,1rem)/1.25 var(--sans);overflow-wrap:anywhere;color:var(--brand-navy)}
.direct-contact{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;margin:-.6rem 0 2rem;font:700 .72rem/1.4 var(--mono);letter-spacing:.035em;color:var(--brand-navy)}
.brief-direct-contact{margin-top:-.35rem}
.home-horizontal .footer-contact{display:none}
.field-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important}
.brief-form button:disabled{cursor:not-allowed;opacity:.62;transform:none}.brief-form button[aria-busy="true"]{cursor:wait}
.form-status.is-success{color:#27643b}
.form-status.is-error{color:#a83a13}
.contact-page .contact-copy p a{color:var(--brand-orange-dark);text-decoration:underline;text-underline-offset:.2em}
.form-disclosure{max-width:46rem;margin:0;font:400 .78rem/1.6 var(--sans);color:var(--muted)}
.form-disclosure a{color:var(--brand-orange-dark);text-decoration:underline;text-underline-offset:.2em}
.captcha-field{display:grid;gap:.65rem;min-width:0}.captcha-label{margin:0;font:400 var(--type-label)/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.turnstile-widget{width:100%;min-height:65px}.captcha-status{min-height:1.2rem;margin:0;font:400 .7rem/1.4 var(--mono);color:var(--muted)}.captcha-status.is-success{color:#27643b}.captcha-status.is-error{color:#a83a13}
.field-optional{margin-left:.45rem;font-size:.56rem;letter-spacing:.08em;color:var(--brand-orange-dark)}

@media(max-width:980px){
  .footer-grid{grid-template-columns:1fr}
  .footer-contact{justify-self:start}
}

@media(max-width:640px){
  .home-partner-badge{width:5.75rem;margin-top:1.5rem}
  .contact-channels{grid-template-columns:1fr}
  .direct-contact{display:grid}
}
