/* Single bounded environment, native semantic document. */
.home-page{background:#061829}
.home-page .project-world-stage{background:radial-gradient(ellipse at 65% 45%,#0a556b24,transparent 70%);mask-image:none}
.home-page .project-world-stage:after{background:linear-gradient(90deg,#061829ef,#061829bc 45%,#06182955 65%,transparent 85%)}
.home-page .chapter{position:relative}
.home-page.journey-rendering .laboratory:not(.world-rendered) .scene-art{visibility:visible}
.home-page .world-rendered .lab-art,.home-page .world-rendered .process-art,.home-page .world-rendered .catalog-art{visibility:hidden}
.home-page .catalog-scene:has(.world-rendered) .catalog-art{visibility:hidden}
.home-page .hero-art{mask-image:linear-gradient(#000 0 65%,transparent)}
.home-page .hero-entry-camera{overflow:hidden}
.home-page #sistemas{background:none}
.home-page .process-art{max-height:100%;overflow:hidden}
.home-page .about{background:linear-gradient(transparent,#08223788 60%,transparent)}
.home-page .software-construction{overflow:visible}
@media(max-width:640px){.home-page .project-world-stage:after{background:linear-gradient(90deg,#061829df,#061829c2 65%,#06182980)}}
@media print{.home-page .project-world-stage{display:none}.home-page .world-rendered :is(.lab-art,.process-art,.catalog-art){visibility:visible}}
.home-page #sistemas .system-copy{background:none}
/* Mobile reading shade belongs to the water, not to a rectangular text box. */
@media(max-width:640px){
 .home-page .lab-copy{background:none;isolation:isolate}
 .home-page .lab-copy:before{content:'';position:absolute;inset:-50px -45px -30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 30% 45%,#061829e8 30%,#061829b0 56%,transparent 76%);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}
}

/* The active compositor owns catalog arrival, including its loading interval. */
body.worlds-capable:not(.motion-paused) .catalog-variant .catalog-art { visibility:hidden; }
@media (prefers-reduced-motion:reduce) { body.worlds-capable .catalog-variant .catalog-art { visibility:visible; } }

/* Glass is painted locally; sampling the moving full-screen canvas is unnecessary. */
.enterprise .catalog-select :is(.project-orb,.orb-identity){backdrop-filter:none}

/* Extreme magnification: preserve reading rather than squeezing two columns. */
@media(max-width:319px){
 .home-page :is(h1,h2,h3,p,a,small){overflow-wrap:anywhere;min-width:0}
 .home-page .identity-name{font-size:clamp(28px,16vw,48px)}
 .home-page :is(.section-heading h2,.system-copy h2,.automation-heading h2,.lab-copy h2,.about h2){font-size:clamp(24px,12vw,34px);line-height:1.16}
 .home-page .catalog-list{grid-template-columns:minmax(0,1fr);gap:30px}
 .home-page .catalog-item{transform:none;margin-top:0}
 .home-page .catalog-select .project-orb{width:min(150px,85%);margin-inline:auto}
 .home-page .catalog-select{max-width:100%;align-items:center}
 .home-page .hero-actions,.home-page .site-footer{flex-wrap:wrap}
 .home-page .software-construction{max-width:100%;min-width:0}
 .home-page .experience-controls{position:static;transform:none;max-width:100%;margin:16px;flex-wrap:wrap}
 .home-page .site-header{position:relative;top:auto;inset-inline:auto}
 .home-page #main-nav.is-open{position:relative;top:auto;left:auto;right:auto;max-width:100%;padding:12px}
}
@media(max-height:280px){
 .home-page .site-header{position:relative;top:auto}
 .home-page .experience-controls{position:static;transform:none;max-width:100%;margin:16px;flex-wrap:wrap}
}
/* Refinement of the main journey: quiet reading, shared light, a legible ending. */
.home-page .lab-copy>.eyebrow{font-size:11px;line-height:1.7;letter-spacing:.1em}
.home-page .site-footer{position:relative;z-index:3;color:#a8c6d4}
.home-page .action{position:relative;border-bottom-color:#7399a04d;transition:color .22s ease,border-color .22s ease,text-shadow .22s ease}
.home-page .action:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;pointer-events:none;background:linear-gradient(90deg,#8ae2dbcc,#8ae2db44 68%,transparent);opacity:.35;transition:opacity .22s ease}
.home-page .action:focus-visible{outline:1px solid #9de9df;outline-offset:6px;border-radius:2px;color:#cefff3}
.home-page .action:focus-visible:after{opacity:1}
@media(hover:hover) and (pointer:fine){
 .home-page .action:hover{color:#cefff3;border-bottom-color:#8ae2db55;text-shadow:0 0 14px #62cbd54d}
 .home-page .action:hover:after{opacity:1}
}
@media(max-width:640px){
 .home-page #webs .section-heading{position:relative;isolation:isolate}
 .home-page #webs .section-heading:before{content:'';position:absolute;inset:-38px -20px -38px -30px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,#061829ed 35%,#061829b8 57%,#06182940 72%,transparent 86%)}
 .home-page #webs .section-heading h2{text-shadow:0 2px 14px #06182988}
 .home-page .site-footer{font-size:11px;line-height:1.7}
}
@media(prefers-reduced-motion:reduce){.home-page .action,.home-page .action:after{transition:none}}
/* Tablet keeps a quiet reading bank while the city remains wide. */
@media(min-width:701px) and (max-width:1000px){
 .home-page #automatizacion .automation-heading:before{content:'';position:absolute;inset:4% 28% 0 -8%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 28% 52%,#061829da 22%,#06182985 53%,transparent 76%)}
}

/* Closing index: a shared baseline, quiet type and four equal destinations. */
.home-page .closing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;column-gap:clamp(40px,7vw,110px);margin-top:56px;padding:36px 0 42px}
.home-page .closing h2{font-size:clamp(30px,3.1vw,42px);line-height:1.16;letter-spacing:-.025em;text-wrap:balance;max-width:19ch;margin:0}
.home-page .closing-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 30px;margin:0;align-items:stretch}
.home-page .closing-links .action{display:flex;position:relative;min-height:66px;width:100%;box-sizing:border-box;padding:14px 25px 14px 0;font-size:15px;line-height:1.5;gap:0}
.home-page .closing-links .action:before{content:'';position:absolute;right:4px;top:50%;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:translateY(-50%) rotate(45deg);opacity:.6}
.home-page .site-footer{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px 24px;padding-top:24px;padding-bottom:64px;font-size:12px;line-height:1.7;border-top:1px solid #7399a02b}
.home-page .site-footer span:last-child{max-width:none;text-align:right;color:#83a7b5}
@media(max-width:1000px){
 .home-page .closing{grid-template-columns:1fr;gap:24px;margin-top:40px;padding:28px 0 32px}
 .home-page .closing h2{max-width:24ch;font-size:34px}
}
@media(max-width:640px){
 .home-page .closing{gap:20px;margin-top:28px;padding:24px 0 30px}
 .home-page .closing h2{font-size:30px;max-width:22ch}
 .home-page .closing-links{column-gap:24px;row-gap:2px}
 .home-page .closing-links .action{font-size:14px;min-height:62px}
 .home-page .site-footer{font-size:11px;padding-top:22px;padding-bottom:40px;gap:10px}
}
@media(max-width:420px){
 .home-page .closing-links{grid-template-columns:1fr;gap:0}
 .home-page .closing-links .action{min-height:56px;padding-block:15px}
 .home-page .closing h2{font-size:29px;max-width:19ch}
}
