/* Editorial revision: a continuous landscape, open typography and scroll-led scenes. */
:root{--editorial:Georgia,'Times New Roman',serif;--paper:#e5eff1;--ink:#102f43}
body{font-size:17px}h1,h2,h3,h4{font-family:var(--editorial);font-weight:400;letter-spacing:-.035em;line-height:1.08}
.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:550}.site-header{background:rgba(5,24,41,.84)}
.header-projects{border:0;border-bottom:1px solid #63818c;padding-inline:0}.brand-name{font-size:11px}
.hero{height:90svh;min-height:660px;max-height:920px}.hero-copy{padding-top:150px}.hero h1{font-family:var(--editorial);font-size:clamp(88px,10.7vw,164px);font-weight:400;letter-spacing:-.055em;line-height:.9}.hero h1 span{color:#dbf6f3}.hero-label{margin-bottom:38px;font-size:10px;letter-spacing:.15em}.hero-description{max-width:420px;font-size:17px;line-height:1.8;margin-top:32px}.hero-link{font-size:13px;letter-spacing:.03em;margin-top:18px}.hero-bottom{font-size:11px}.hero-shade{background:linear-gradient(90deg,#061829ba,transparent 82%),linear-gradient(0deg,#061829,transparent 40%)}
.hero:after{content:'';position:absolute;z-index:-1;pointer-events:none;left:-10%;right:-10%;bottom:-18%;height:45%;background:radial-gradient(ellipse,#92d6dd26,transparent 65%);transform:translateX(var(--pointer-x,0px))}
.webs{background:linear-gradient(#061829,#0a283e 32%,#0b2c40 74%,#061829);color:#e5eff1;padding-top:45px}.section-heading{margin-bottom:45px;gap:50px}.section-heading h2{font-size:clamp(45px,5vw,72px);margin-top:20px}.heading-aside>p,.project-intro,.tags,.project-image figcaption,.project-detail-body p,.project-index{color:#b7d2dd}.heading-aside>p,.project-intro{font-size:15px;line-height:1.85}.filter-bar button{border:0;border-bottom:1px solid transparent;padding:8px 0;margin-right:24px;font-size:12px;color:#b7d2dd}.filter-bar button.active{background:transparent;color:#8ee9df;border-bottom-color:#8ee9df}.project-heading h3{font-size:clamp(42px,5vw,72px)}.project-detail,.project-source{border-color:#4a6877}.project-detail>summary{font-weight:500;font-size:15px}.project-image{overflow:hidden}.project-image img{transition:filter .6s,transform 1s;transform-origin:center center}.project-image:hover img{filter:brightness(1.08)}.project-image figcaption{padding-top:5px;font-size:11px}.project{margin-bottom:110px}.project-landa{background:none;box-shadow:none;clip-path:none;padding-top:0;padding-bottom:0}.project-landa .project-image{width:92%}.project-landa .project-heading{margin-left:8%}.gallery{column-gap:70px}.gallery>.project-croma,.gallery>.project-mutaito{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:70px;align-items:center;padding-top:45px;border-top:1px solid #3a596a}.project-croma .project-heading,.project-mutaito .project-heading{grid-column:1;grid-row:1;margin:0}.project-croma .editorial-cover,.project-mutaito .editorial-cover{grid-column:2;grid-row:1;height:260px;background:transparent;padding:0;border:0;overflow:visible}.project-croma .project-bottom,.project-mutaito .project-bottom{grid-column:1/-1}.project-croma h3,.project-mutaito h3{font-size:48px}.editorial-caption{font-size:10px;color:#b7d2dd;border-color:#476778!important}.cover-mutaito{color:#b7e6ed}.croma-word,.mutaito-word{font-size:clamp(36px,5vw,68px);letter-spacing:-.04em;font-weight:450}.croma-number{font-size:145px}.modular-symbol i{background:#76c9d5}.modular-symbol i:nth-child(3){border-color:#76c9d5}.webs-outro{padding:0 0 100px}.webs-outro p{font-family:var(--editorial);font-size:clamp(32px,4.5vw,65px);letter-spacing:-.025em}.webs-outro strong{font-weight:400;color:#8ee9df}
.system-scene,.lab-scene{min-height:850px}.system-copy h2,.lab-copy h2{font-size:clamp(54px,6.5vw,94px);line-height:1.06}.system-copy>p:not(.eyebrow),.lab-copy>p:last-child{font-size:17px;line-height:1.85;max-width:420px}.system-shade{background:linear-gradient(90deg,#061829ed,#0618298c 40%,transparent 80%),linear-gradient(0deg,#061829,transparent 35%),linear-gradient(180deg,#061829,transparent 25%)}.lab-shade{background:linear-gradient(90deg,#061829eb,#06182980 45%,transparent 85%),linear-gradient(0deg,#061829,transparent 30%),linear-gradient(180deg,#061829,transparent 20%)}
.systems-ledger{display:block;max-width:1000px;margin-inline:auto}.systems-ledger article{display:grid;grid-template-columns:40px 1fr 1fr;gap:0 36px;padding:40px 0;border-color:#345164}.systems-ledger h3{font-size:35px;margin:0;grid-column:2;grid-row:1/3}.systems-ledger p{font-size:16px;grid-column:3}.systems-ledger .example{font-size:13px;margin-top:18px}.ledger-no{grid-column:1;grid-row:1}.config-preview{background:none;border-left:1px solid #476778}.exploration>summary{font-family:var(--editorial);font-size:36px;font-weight:400}.exploration{border-color:#4e7081}.text-disclosure>summary{font-size:15px}.module-option strong{font-size:15px}.module-option small{font-size:13px}
.automation{background:radial-gradient(ellipse at 80% 35%,#174b62 0,transparent 55%),linear-gradient(#061829,#0b2b41 55%,#061829);color:#e5eff1;color-scheme:dark;padding:110px 0 65px;overflow:clip}.automation-heading{text-align:left;align-items:flex-start;max-width:850px}.automation-heading .eyebrow{color:#9bd8df}.automation-heading h2{font-size:clamp(52px,6.7vw,96px);margin:30px 0}.automation-heading>p:last-child{font-size:18px;color:#b7d2dd;max-width:510px;line-height:1.85}.process-landscape{display:block;position:relative;padding:20px 0;margin:70px 0;border:0}.process-spine{position:absolute;left:calc(50% - 1px);width:1px;top:0;bottom:0;background:#3c6577}.process-spine span{display:block;width:2px;height:100%;background:#8ee9df;transform:scaleY(var(--process-progress,1));transform-origin:top;box-shadow:0 0 22px #77e0dc80}.process-stop,.process-stop:nth-of-type(even){display:flex;align-items:center;gap:40px;width:50%;padding:50px 70px 70px 0;position:relative;min-height:280px}.process-stop:nth-of-type(even){margin-left:50%;padding:50px 0 70px 70px}.process-stop:before{content:'';position:absolute;right:-5px;top:76px;left:auto;width:11px;height:11px;border-radius:50%;background:#8ee9df;box-shadow:0 0 25px #77e0dc}.process-stop:nth-of-type(even):before{left:-5px;right:auto}.process-number{font-family:var(--editorial);font-size:100px;letter-spacing:-.05em;color:#6ca5ba;position:absolute;top:12px;left:0;opacity:.28;background:none;padding:0;z-index:-1}.process-stop:nth-of-type(even) .process-number{left:70px}.process-copy{position:relative}.process-stop h3{font-family:var(--editorial);font-size:clamp(30px,3.1vw,45px);margin:17px 0 22px;line-height:1.15}.process-stop p{font-size:16px;max-width:370px;line-height:1.9;color:#c3dbe4}.process-stop small{font-size:10px;letter-spacing:.16em;color:#8ee9df;margin:0}.automation .exploration,.automation .flow-track li{border-color:#4e7081}.automation .exploration summary small,.automation .exploration-body,.flow-track .step-state,.step-index{color:#b7d2dd}.flow-controls select{background:#0b293e;color:#e5eff1;border-color:#4e7081}.automation .primary{background:#8ee9df;color:#102f43}.flow-result{background:none;border:0;border-top:1px solid #4e7081;padding:28px 0}.flow-result p,.flow-result ul,.flow-track p{font-size:15px}.flow-result h3{font-size:34px}.flow-track .is-active .step-state,.flow-track .is-complete .step-state{color:#8ee9df}.flow-track .is-active,.flow-track .is-complete{border-color:#8ee9df}.narrative-bridge{padding:110px 0 40px;max-width:850px}.narrative-bridge p{font-size:16px;color:#b7d2dd;margin-bottom:20px}.narrative-bridge a{font-family:var(--editorial);font-size:clamp(32px,4vw,56px);line-height:1.2;display:flex;gap:35px;align-items:center;color:#d4f2ef}.narrative-bridge .icon{width:34px;height:34px}
.lab-notebook{gap:55px}.lab-notebook h3{font-size:30px}.lab-notebook p:last-child{font-size:16px}.lab-notebook .eyebrow{font-size:10px}.about{background:linear-gradient(#061829,#103349);color:#e5eff1;padding-top:90px}.about-title-row h2{font-size:clamp(46px,5.7vw,82px)}.about-year{font-family:var(--editorial);color:#71a3b7;letter-spacing:-.05em}.biography-lead{font-family:var(--editorial);font-size:37px;font-weight:400}.biography>div{font-size:17px;color:#c0d8e1}.biography,.principles article,.closing-link{border-color:#456373}.principles h3{font-size:30px}.principles p,.principles span,.closing>.eyebrow{color:#b7d2dd}.principles p{font-size:15px}.closing-link{font-family:var(--editorial);letter-spacing:-.03em}.experience-controls{left:auto;right:24px;border:1px solid #5c7c8d;border-radius:30px;padding:6px 9px;box-shadow:none;background:#071c31e8}.experience-controls button{font-size:10px;min-height:34px}.reading-progress{position:fixed;left:0;top:0;width:100%;height:2px;background:#8ee9df;transform:scaleX(var(--reading,0));transform-origin:left;z-index:100;pointer-events:none}.pointer-light{display:none;position:fixed;left:0;top:0;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,#7bdcdb18,transparent 65%);transform:translate(calc(var(--mouse-x,-500px) - 250px),calc(var(--mouse-y,-500px) - 250px));z-index:3;pointer-events:none;mix-blend-mode:screen}.motion-ready .scene-art{transform:translate3d(var(--pointer-x,0px),calc(var(--scene-y,0px) + var(--pointer-y,0px)),0) scale(var(--scene-scale,1.06));will-change:transform}.scene{--pointer-x:0px;--pointer-y:0px}.scene-art img{scale:1.06}.motion-ready [data-reveal]{opacity:.65;transform:translateY(32px);transition:opacity .9s,transform 1.1s cubic-bezier(.2,.7,.2,1)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}a .icon,summary .icon{transition:transform .3s}a:hover .icon{transform:translate(3px,-3px)}.hero-link:hover .icon{transform:translateY(6px)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline-color:#8ee9df}
@media(hover:hover) and (pointer:fine){.motion-ready:not(.motion-paused) .pointer-light{display:block}}
@media(max-width:1000px){.hero h1{font-size:112px}.hero-description{font-size:16px}.section-heading{gap:30px}.heading-aside{max-width:300px}.project-heading,.project-landa .project-heading{grid-template-columns:30px 1fr}.project-intro{grid-column:2}.systems-ledger article{grid-template-columns:30px 1fr 1.2fr;gap:0 25px}.process-stop,.process-stop:nth-of-type(even){padding-right:35px}.process-stop:nth-of-type(even){padding-left:35px;padding-right:0}.process-stop:nth-of-type(even) .process-number{left:35px}.gallery>.project-croma,.gallery>.project-mutaito{column-gap:35px}.croma-word,.mutaito-word{font-size:40px}.lab-notebook{gap:25px}.lab-notebook article{gap:15px}.lab-notebook h3{font-size:27px}.lab-notebook p:last-child{font-size:14px}.biography{gap:45px}}
@media(max-width:640px){.hero{height:88svh;min-height:650px;max-height:790px}.hero-copy{padding-top:125px}.hero h1{font-size:clamp(69px,20vw,105px);line-height:.97}.hero-label{font-size:8px;max-width:260px;line-height:1.8;margin-bottom:26px}.hero-description{font-size:15px;max-width:310px;line-height:1.8;margin-top:26px}.hero-bottom{font-size:9px}.hero-bottom span:last-child{font-size:8px}.hero-link{font-size:12px}.hero-shade{background:linear-gradient(180deg,#06182950,transparent 65%,#061829),linear-gradient(90deg,#06182970,transparent)}.webs{padding-top:35px}.section-heading{margin-bottom:35px}.section-heading h2{font-size:39px}.heading-aside{max-width:none}.heading-aside>p{font-size:14px}.filter-bar button{font-size:12px;margin-right:20px}.project-heading h3{font-size:39px}.project-intro{font-size:14px}.project-heading,.project-landa .project-heading{grid-template-columns:22px minmax(0,1fr);gap:12px}.project{margin-bottom:65px}.project-landa .project-heading{margin-left:0}.project-landa .project-image{width:100%}.gallery{display:block}.gallery>.project-croma,.gallery>.project-mutaito{display:block;padding-top:30px}.project-croma .editorial-cover,.project-mutaito .editorial-cover{height:220px;margin-top:30px;padding:0}.croma-word,.mutaito-word{font-size:48px}.croma-number{font-size:120px}.editorial-caption{font-size:9px}.tags{font-size:9px}.project-detail>summary{font-size:14px}.project-detail-body p{font-size:14px}.webs-outro{padding-bottom:50px}.webs-outro p{font-size:31px}.system-scene,.lab-scene{min-height:780px}.system-copy,.lab-copy{padding-top:60px}.system-copy h2,.lab-copy h2{font-size:48px;line-height:1.1;margin-top:32px}.system-copy>p:not(.eyebrow),.lab-copy>p:last-child{font-size:15px;max-width:310px}.system-shade,.lab-shade{background:linear-gradient(180deg,#061829,#061829c0 38%,transparent 78%,#061829)}.system-art,.lab-art{inset:200px -20% -30px}.systems-ledger article{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px 18px;padding:28px 0}.systems-ledger h3{font-size:29px;grid-row:1;grid-column:2}.ledger-no{position:static;grid-column:1}.systems-ledger p,.systems-ledger .example{grid-column:2;font-size:14px}.systems-ledger .example{font-size:12px;margin-top:0}.config-preview{padding:20px 0;border-left:0;border-top:1px solid #476778}.exploration>summary{font-size:27px}.exploration-body>p{font-size:14px}.automation{padding-top:65px}.automation-heading h2{font-size:43px}.automation-heading>p:last-child{font-size:16px}.process-landscape{padding:0;margin:55px 0}.process-spine{left:6px}.process-stop,.process-stop:nth-of-type(even){width:auto;margin-left:0;padding:30px 0 45px 42px;min-height:0;display:block}.process-stop:before,.process-stop:nth-of-type(even):before{left:1px;right:auto;top:40px;box-shadow:0 0 22px #77e0dc}.process-number,.process-stop:nth-of-type(even) .process-number{left:40px;top:8px;font-size:85px}.process-stop h3{font-size:33px;line-height:1.12}.process-stop p{font-size:15px;max-width:none}.process-stop small{font-size:9px}.flow-result{padding:25px 0}.flow-result p,.flow-result ul,.flow-track p{font-size:13px}.flow-result h3{font-size:28px}.narrative-bridge{padding:70px 0 20px}.narrative-bridge a{font-size:32px}.narrative-bridge p{font-size:14px}.lab-notebook{display:block;padding-bottom:60px}.lab-notebook article{padding:28px 0;border-top:1px solid #345164;gap:24px}.lab-notebook h3{font-size:31px}.lab-notebook p:last-child{font-size:15px}.about{padding-top:50px}.about-title-row h2{font-size:42px}.about-year{font-size:75px}.biography-lead{font-size:29px}.biography>div{font-size:16px}.principles h3{font-size:28px}.principles p{font-size:14px}.closing-link{font-size:36px}.experience-controls{right:12px;bottom:12px;left:auto;max-width:calc(100% - 24px)}.experience-controls button{font-size:9px;min-height:32px}.site-footer{padding-bottom:100px}.reading-progress{height:2px}}
@media(max-height:650px){.hero{min-height:530px;height:540px}.hero-copy{padding-top:100px}.hero h1{font-size:80px}.hero-label{margin-bottom:20px}.hero-description{font-size:14px;margin-top:20px}.hero-link{margin-top:10px}.hero-bottom{bottom:20px}.section-heading h2{font-size:38px}}
@media(max-width:640px) and (max-height:650px){.hero h1{font-size:65px}.hero-description{font-size:13px;max-width:285px}.hero-label{font-size:7px}.section-heading h2{font-size:34px}}
body.motion-paused .scene-art,body.motion-paused [data-reveal]{transform:none!important;opacity:1!important;will-change:auto}.motion-paused .pointer-light{display:none!important}.motion-paused .process-spine span{transform:scaleY(1)}
@media(prefers-reduced-motion:reduce){.pointer-light{display:none!important}.scene-art,[data-reveal]{transform:none!important;opacity:1!important;will-change:auto}.process-spine span{transform:scaleY(1)}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.pointer-light,.reading-progress{display:none!important}.process-spine span{transform:none}.scene-art{transform:none!important}}
/* Separate original geometry shares the illustration coordinate system. */
.scene-depth{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.ambient-haze{position:absolute;inset:25% -20% -20%;background:radial-gradient(ellipse at 70% 70%,#a9edf8,transparent 58%);opacity:var(--ambient-opacity,.2);transform:translateX(var(--ambient-x,0px));mix-blend-mode:screen}.spatial-lines{position:absolute;inset:0;width:100%;height:100%;color:#a1dce3;opacity:.22;stroke-width:1;transform:translate3d(var(--foreground-x,0px),var(--foreground-y,0px),0) scale(1.1)}.signal-path{stroke:#b4fff1;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--scene-progress,.5))}.foreground-plane{position:absolute;right:-8%;bottom:-11%;width:52%;height:28%;background:linear-gradient(145deg,#102f43d0,#061829);clip-path:polygon(35% 0,100% 32%,100% 100%,0 100%);transform:translate3d(var(--foreground-x,0px),var(--foreground-y,0px),0)}.art-unavailable .scene-art{visibility:hidden}.art-unavailable{background:radial-gradient(ellipse at 75% 65%,#255f78,#061829 80%)}.motion-paused .scene-depth *{transform:none!important}.motion-paused .signal-path{stroke-dashoffset:0}.scene[data-scene-state=reading] .spatial-lines{opacity:.32}.scene-depth,.scene-art{pointer-events:none}.hero-copy,.system-copy,.lab-copy{position:relative;z-index:2}
@media(max-width:640px){.foreground-plane{width:68%;height:18%;bottom:-7%}.spatial-lines{opacity:.14}.scene[data-scene-state=reading] .spatial-lines{opacity:.2}.ambient-haze{inset:50% -30% -15%}}
@media(prefers-reduced-motion:reduce){.scene-depth *{transform:none!important}.signal-path{stroke-dashoffset:0}}

/* Keep decorative numerals away from the reading labels. */
.process-number,.process-stop:nth-of-type(even) .process-number{left:auto;right:36px;top:4px;opacity:.13}
@media(max-width:640px){.process-number,.process-stop:nth-of-type(even) .process-number{left:auto;right:0;top:8px;opacity:.1}}
@media(max-width:360px){.heading-aside>p{display:none}.heading-aside{margin-top:12px}.filter-bar{margin-top:8px}.section-heading{margin-bottom:25px}}
.project,.exploration{scroll-margin-top:100px}
@media(max-width:640px){.system-shade,.lab-shade{background:linear-gradient(180deg,#061829,#061829f0 42%,#061829bd 62%,#06182920 82%,#061829)}.project,.exploration{scroll-margin-top:80px}}
.automation{background:linear-gradient(#061829 0,transparent 220px,transparent calc(100% - 200px),#061829),radial-gradient(ellipse at 80% 35%,#174b62 0,transparent 55%),linear-gradient(#061829,#0b2b41 55%,#061829)}
/* Scene camera choreography — distinct paths for coast, structure and workshop. */
.motion-ready .scene-art{transform:translate3d(calc(var(--pointer-x,0px) + var(--camera-x,0px)),calc(var(--scene-y,0px) + var(--pointer-y,0px)),0) scale(var(--camera-zoom,1.04));transform-origin:65% 55%}
.motion-ready .hero-copy,.motion-ready .system-copy,.motion-ready .lab-copy{transform:translate3d(var(--text-x,0px),var(--text-y,0px),0);will-change:transform}
.motion-ready .hero h1 span{display:inline-block;transform:translateX(var(--title-spread,0px));color:color-mix(in srgb,#dbf6f3 calc(100% - var(--camera,0)*40%),#77e0dc)}
.scene-depth{perspective:1100px}.spatial-lines{transform-origin:70% 70%}
.motion-ready .system-scene .spatial-lines{opacity:var(--structure-opacity,.2);transform:translate3d(var(--foreground-x,0px),var(--structure-rise,0px),50px) rotateY(var(--structure-turn,0deg)) scale(1.25);stroke-width:1.4;color:#8ef4ef}
.system-scene .signal-path{stroke-dashoffset:calc(1 - var(--camera,0));stroke-width:4;filter:drop-shadow(0 0 8px #77e0dc)}
.motion-ready .system-copy h2 span{display:inline-block;transform:translateX(calc(var(--camera,0)*32px));text-shadow:0 0 calc(var(--camera,0)*28px) #77e0dc50}
.hero .scene-depth:before,.lab-scene .scene-depth:before{content:'';position:absolute;pointer-events:none;inset:0;mix-blend-mode:screen}
.hero .scene-depth:before{top:60%;bottom:8%;background:repeating-radial-gradient(ellipse at 18% 0,transparent 0 30px,#a4e4ee28 32px,transparent 34px 64px);transform:perspective(500px) rotateX(62deg) translateX(var(--ambient-x,0px));opacity:calc(.15 + var(--camera,0)*.5);mask-image:linear-gradient(transparent,#000 35%,transparent)}
.lab-scene .scene-depth:before{background:conic-gradient(from 160deg at var(--light-position,30%) 0%,transparent 0deg,#a5e7ee44 10deg,transparent 20deg,#a5e7ee22 27deg,transparent 36deg);opacity:calc(.2 + var(--camera,0)*.55);transform:translateX(var(--ambient-x,0px));mask-image:linear-gradient(transparent,#000 25%,transparent)}
.motion-ready .lab-scene .foreground-plane{transform:translate3d(calc(var(--foreground-x,0px) - var(--camera,0)*80px),calc(var(--foreground-y,0px) + var(--camera,0)*100px),0) rotate(calc(var(--camera,0)*-5deg))}
.motion-ready .lab-scene .spatial-lines{transform:translate3d(var(--foreground-x,0px),var(--structure-rise,0px),0) rotateY(calc(var(--structure-turn,0deg)*-1));opacity:var(--structure-opacity,.2)}
body.motion-paused .hero-copy,body.motion-paused .system-copy,body.motion-paused .lab-copy,body.motion-paused .hero h1 span,body.motion-paused .system-copy h2 span,body.motion-paused .scene-depth:before{transform:none!important;will-change:auto}
@media(max-width:640px){.motion-ready .system-copy h2 span{transform:none}.motion-ready .lab-scene .foreground-plane{transform:translateY(var(--foreground-y,0px))}.hero .scene-depth:before{opacity:.18}.lab-scene .scene-depth:before{opacity:.15}}
@media(prefers-reduced-motion:reduce){.hero-copy,.system-copy,.lab-copy,.hero h1 span,.system-copy h2 span,.scene-depth:before{transform:none!important;will-change:auto}.hero .scene-depth:before,.lab-scene .scene-depth:before{opacity:.15}}
.system-scene .spatial-lines{mask-image:linear-gradient(90deg,transparent 0 36%,#000 62%)}
@media(max-width:640px){.system-scene .spatial-lines{mask-image:linear-gradient(180deg,transparent 0 55%,#000 80%)}}
.lab-scene .spatial-lines{mask-image:linear-gradient(90deg,transparent 0 36%,#000 62%)}
@media(max-width:640px){.lab-scene .spatial-lines{mask-image:linear-gradient(180deg,transparent 0 55%,#000 80%)}}
/* The public work opens into the process: one reversible scroll choreography. */
.project-image{position:relative;isolation:isolate}
.motion-ready .project-image{clip-path:inset(0 var(--project-aperture,0%) 0 var(--project-aperture,0%));transition:opacity .9s}
.motion-ready .project-image img{transform:scale(var(--project-zoom,1));transform-origin:50% calc(15% + var(--project-progress,0)*70%);transition:filter .6s}
.motion-ready .project-heading h3{transform:translateX(var(--project-title,0px));transition:none}
.motion-ready .editorial-cover> :not(.editorial-caption){transform:translateY(var(--project-pan,0px));transition:none}
.project-image figcaption{position:relative;z-index:1;background:#0b293e;padding:12px 8px}
.process-landscape{isolation:isolate}
.process-landscape:before{content:'';position:absolute;inset:0 -15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 45% 210px at 50% calc(var(--process-progress,0)*100%),#42b8c31c,transparent 100%)}
.process-spine:after{content:'';position:absolute;left:-5px;top:calc(var(--process-progress,0)*100%);width:12px;height:12px;border-radius:50%;background:#cefff2;box-shadow:0 0 30px 8px #77e0dc55;transform:translateY(-50%)}
.motion-ready .process-copy{transform:translate(var(--step-x,0px),var(--step-y,0px))}
.motion-ready .process-number{transform:translateY(calc(var(--step-progress,1)*-25px));opacity:calc(.08 + var(--step-focus,0)*.12)}
.process-stop:after{content:'';position:absolute;top:81px;right:0;width:calc(var(--step-progress,1)*48px);height:1px;background:linear-gradient(90deg,transparent,#8ee9df);pointer-events:none}
.process-stop:nth-of-type(even):after{left:0;right:auto;transform:scaleX(-1)}
.process-stop h3{color:color-mix(in srgb,#e5eff1 calc(100% - var(--step-focus,0)*65%),#8ee9df)}
.process-stop:before{transform:scale(calc(.7 + var(--step-focus,0)*.6));opacity:calc(.45 + var(--step-focus,0)*.55)}
@media(max-width:640px){.process-stop:after,.process-stop:nth-of-type(even):after{left:7px;right:auto;top:45px;width:calc(var(--step-progress,1)*24px);transform:scaleX(-1)}.process-landscape:before{inset:0 -5%;background:radial-gradient(ellipse 90% 180px at 0% calc(var(--process-progress,0)*100%),#42b8c31c,transparent 100%)}}
body.motion-paused .project-image{clip-path:none!important}
body.motion-paused .project-image img,body.motion-paused .project-heading h3,body.motion-paused .editorial-cover>*,body.motion-paused .process-copy,body.motion-paused .process-number,body.motion-paused .process-stop:before{transform:none!important}
body.motion-paused .process-landscape:before,body.motion-paused .process-spine:after{display:none}
@media(prefers-reduced-motion:reduce){.project-image{clip-path:none!important}.project-image img,.project-heading h3,.editorial-cover>*,.process-copy,.process-number,.process-stop:before{transform:none!important}.process-landscape:before,.process-spine:after{display:none}}
@media print{.project-image{clip-path:none!important}.project-image img,.project-heading h3,.editorial-cover>*,.process-copy,.process-number{transform:none!important}.process-landscape:before,.process-spine:after{display:none}}
/* Shared boundary scenery: the next world reaches into the outgoing chapter. */
main{overflow-x:clip}.chapter{position:relative;overflow:visible}.chapter>.wrap,.chapter>.scene{position:relative;z-index:2}
.scene-seam{position:absolute;top:-260px;left:0;right:0;height:640px;z-index:1;pointer-events:none;overflow:clip;mask-image:linear-gradient(transparent,#000 32%,#000 64%,transparent)}
.seam-landscape,.seam-current,.seam-horizon{position:absolute;inset:-15% -10%;pointer-events:none}
.seam-landscape{background:linear-gradient(90deg,#061829e8 8%,#06182970 55%,#06182930),url('/assets/scenes/infraestructura.png') center 60%/cover;opacity:var(--seam-light,.4);transform:translate3d(var(--seam-x,0px),var(--seam-y,0px),0) scale(var(--seam-scale,1.1));mask-image:linear-gradient(transparent,#000 45%,transparent)}
.webs .seam-landscape{background-image:linear-gradient(90deg,#061829d9,#06182970),url('/assets/scenes/panorama.png')}
.laboratory .seam-landscape,.about .seam-landscape{background-image:linear-gradient(90deg,#061829ed,#06182960),url('/assets/scenes/taller.png')}
.seam-current{background:radial-gradient(ellipse at 72% 50%,#77e0dc42,transparent 60%);opacity:var(--seam-light,.4);transform:translate3d(calc(var(--seam-x,0px)*-1),calc(var(--seam-y,0px)*.5),0)}
.seam-horizon{inset:35% -20%;border-top:1px solid #8ee9df45;border-radius:50%;transform:translateY(var(--seam-y,0px)) rotate(calc(-12deg + var(--handoff,.5)*24deg));mask-image:linear-gradient(90deg,transparent,#000 60%,transparent)}
.systems .scene-art,.laboratory .scene-art{mask-image:linear-gradient(transparent,#000 24%,#000 82%,transparent)}
.webs-outro,.narrative-bridge{position:relative;z-index:3}
@media(max-width:640px){.scene-seam{top:-170px;height:430px}.seam-landscape{opacity:calc(var(--seam-light,.4)*.65)}.systems .scene-art,.laboratory .scene-art{mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}.seam-horizon{opacity:.5}}
body.motion-paused .scene-seam *{transform:none!important}body.motion-paused .scene-seam{opacity:.45}
@media(prefers-reduced-motion:reduce){.scene-seam *{transform:none!important}.scene-seam{opacity:.45}}
@media print{.scene-seam{display:none}.systems .scene-art,.laboratory .scene-art{mask-image:none}}

/* Feather the scene container only above its first text baseline. */
.systems>.scene,.laboratory>.scene{mask-image:linear-gradient(transparent,#000 72px,#000 calc(100% - 90px),transparent)}
@media(max-width:640px){.systems>.scene,.laboratory>.scene{mask-image:linear-gradient(transparent,#000 42px,#000 calc(100% - 60px),transparent)}}
@media print{.systems>.scene,.laboratory>.scene{mask-image:none}}
.process-landscape:before{mask-image:linear-gradient(transparent,#000 100px,#000 calc(100% - 100px),transparent)}
/* Project scenes: the capture emerges from the page, without a panel or frame. */
.gallery{display:block}.project{position:relative;isolation:isolate;margin-bottom:140px}
.project:before{content:'';position:absolute;inset:5% -10% 8%;z-index:-1;background:radial-gradient(ellipse at 65% 45%,#20668150,transparent 65%);opacity:var(--work-presence,1);transform:translateY(var(--work-drift,0px));pointer-events:none}
.project-heading{position:relative;z-index:2}.project-heading h3{font-size:clamp(48px,7.4vw,106px);line-height:1.02}.project-heading .eyebrow{margin-bottom:16px}
.project-image,.project-landa .project-image{position:relative;width:100vw;max-width:none;margin:0 0 0 calc((min(var(--wrap),100vw - 2 * var(--gutter)) - 100vw)/2);overflow:visible;background:none;clip-path:none!important}
.project-image img{width:100%;height:auto;max-height:780px;aspect-ratio:1.8;object-fit:cover;object-position:top;mask-image:linear-gradient(transparent,#000 10%,#000 68%,transparent 100%);transform-origin:50% 45%;}
.motion-ready .project-image img{transform:translateY(var(--work-drift,0px)) scale(var(--work-scale,1));opacity:var(--work-presence,1);transition:none}
.motion-ready .project-image[data-reveal],.motion-ready .editorial-cover[data-reveal]{opacity:1;transform:none;transition:none}
.project-image figcaption{width:min(var(--wrap),calc(100% - 2 * var(--gutter)));margin:0 auto;padding:0;background:none;color:#9ebcc9;font-size:10px;letter-spacing:.04em}
.project-bottom{position:relative;z-index:3;margin-top:22px}.project-landa .project-heading{margin-left:0}.project-detail{border-top:0}.project-detail>summary{border-bottom:1px solid #4a687770;padding-bottom:16px}
.gallery>.project-croma,.gallery>.project-mutaito{display:block;padding-top:30px;border:0}.project-croma .project-heading,.project-mutaito .project-heading{display:grid}.project-croma h3,.project-mutaito h3{font-size:clamp(48px,7.4vw,106px)}
.project-croma .editorial-cover,.project-mutaito .editorial-cover{height:390px;margin:20px 0 0;position:relative}.editorial-mark{width:100%}.croma-word,.mutaito-word{font-size:clamp(70px,12vw,170px)}.croma-number{font-size:240px;color:#74d6d8}.editorial-caption{border:0!important}
.motion-ready .editorial-cover .editorial-mark{transform:translateY(var(--work-drift,0px)) scale(var(--work-scale,1));opacity:var(--work-presence,1)}
@media(max-width:640px){.project{margin-bottom:85px}.project-heading h3,.project-croma h3,.project-mutaito h3{font-size:42px}.project-image img{aspect-ratio:auto;max-height:none;object-fit:contain;mask-image:linear-gradient(transparent,#000 7%,#000 78%,transparent)}.project-image figcaption{font-size:9px;margin-top:8px}.project-croma .editorial-cover,.project-mutaito .editorial-cover{height:260px}.croma-word,.mutaito-word{font-size:67px}.croma-number{font-size:145px}.project-intro{max-width:32ch}}
body.motion-paused .project-image img,body.motion-paused .editorial-cover .editorial-mark{transform:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.project-image img,.editorial-cover .editorial-mark,.project:before{transform:none!important;opacity:1!important}}
@media print{.project-image img,.editorial-cover .editorial-mark{transform:none!important;opacity:1!important;mask-image:none}.project-image{width:100%;margin:0}}
@media(max-width:640px){.project-croma .editorial-cover{height:285px}.croma-word{font-size:58px;top:0}.croma-number{font-size:130px;bottom:0}.mutaito-word{font-size:58px}}
@media(max-width:360px){.croma-word,.mutaito-word{font-size:50px}.project-heading h3,.project-croma h3,.project-mutaito h3{font-size:37px}}
/* Identity-led branches. Each logo is the native disclosure control. */
.project .project-detail{border:0}.project-entrance{display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:18px;position:relative;padding:32px 0 46px!important;border:0!important;min-height:580px}
.project-entrance .project-index{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#9ebcc9}
.brand-stage{display:flex;align-items:center;justify-content:center;width:min(640px,100%);height:275px;overflow:hidden;position:relative;transform:translateY(var(--brand-y,0px)) scale(var(--brand-scale,1));opacity:var(--brand-presence,1);transition:filter .4s}
.project-brand{object-fit:contain;width:250px;height:250px;filter:drop-shadow(0 18px 35px #0005)}
.project-landa .project-brand{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.project-croma .project-brand{width:40px;height:40px;filter:brightness(0) invert(1);image-rendering:auto}
.project-croma .brand-stage{height:90px}.project-croma .project-entrance{min-height:420px;justify-content:center}
.project-mutaito .brand-stage{height:370px}.project-mutaito .project-brand{height:370px;width:280px;mask-image:radial-gradient(ellipse 62% 66%,#000 55%,transparent 85%);mix-blend-mode:lighten}.project-mutaito:before{background:radial-gradient(ellipse at 50% 45%,#19536199,transparent 60%)}
.project-identity{display:block}.project-identity h3{font-size:clamp(40px,5.5vw,76px);margin:0 0 16px}.project-identity .project-intro{display:block;max-width:38ch;font-size:17px;margin:auto;color:#c0d9e4}
.project-enter{display:flex;align-items:center;gap:25px;margin-top:10px;font-size:12px;letter-spacing:.04em;color:#92e4df}.project-enter .icon{width:27px;height:27px;transition:transform .4s}
.project-entrance:hover .brand-stage{filter:drop-shadow(0 0 26px #77e0dc35)}.project-entrance:hover .project-enter .icon{transform:rotate(90deg)}.project-detail[open]>.project-entrance .project-enter .icon{transform:rotate(45deg)}
.when-open{display:none}.project-detail[open] .when-open{display:inline}.project-detail[open] .when-closed{display:none}
.project-room{padding:15px 0 50px;animation:room-enter .6s ease-out}.project-room-nav{display:flex;flex-wrap:wrap;gap:30px;border-block:1px solid #53728555;padding:20px 0;margin-bottom:40px;font-size:13px}.project-room-nav a{padding:8px 0;color:#9ae8e0}.project-detail-body{padding:0 0 40px}.project-source{padding:35px 0;border:0}.project-source p{max-width:65ch;font-size:15px;color:#b7d2dd;margin:20px 0}.project-room .project-image{margin-top:20px}.project-room [id]{scroll-margin-top:110px}.project-return{margin-top:15px}
@keyframes room-enter{from{opacity:.3;transform:translateY(30px)}to{opacity:1;transform:none}}
body.motion-paused .brand-stage{transform:none!important;opacity:1!important}body.motion-paused .project-room{animation:none}
@media(max-width:640px){.project-entrance{min-height:470px;padding-top:20px!important}.brand-stage{height:210px}.project-brand{width:190px;height:190px}.project-identity h3{font-size:41px}.project-identity .project-intro{font-size:15px}.project-entrance .project-index{font-size:8px;letter-spacing:.1em}.project-mutaito .brand-stage{height:290px}.project-mutaito .project-brand{height:290px;width:220px}.project-room-nav{gap:18px;font-size:12px}.project-croma .project-entrance{min-height:350px}.project-landa .brand-stage{height:180px}.project-room [id]{scroll-margin-top:85px}}
@media(prefers-reduced-motion:reduce){.brand-stage{transform:none!important;opacity:1!important}.project-room{animation:none}}
.project-croma .brand-stage{width:min(640px,100%);height:auto;aspect-ratio:3/1;mix-blend-mode:screen}.project-croma .project-brand{position:absolute;width:200%;max-width:none;height:auto;left:0;top:-100%;filter:none;object-fit:initial}.project-croma .project-entrance{min-height:580px}
@media(max-width:640px){.project-croma .project-entrance{min-height:400px}}
.project-room{scroll-margin-top:100px}.project-entrance:before{content:'';position:absolute;inset:15% -8%;background:linear-gradient(115deg,transparent 30%,#87ddd50a 48%,transparent 65%);transform:translateX(var(--project-title,0px));z-index:-1;pointer-events:none}.project-entrance:focus-visible{outline-offset:6px;outline-width:2px}.project-identity h3{font-size:clamp(38px,4.8vw,64px)}
@media(min-width:1000px){.project-mundo .brand-stage{align-self:flex-start;margin-left:9%;width:45%;height:310px}.project-mundo .project-identity{position:absolute;left:52%;top:160px;text-align:left}.project-mundo .project-enter{position:absolute;left:52%;top:320px}.project-mundo .project-entrance{justify-content:center;min-height:560px}.project-mundo .project-index{position:absolute;top:28px;left:0}.project-mutaito .brand-stage{align-self:flex-end;margin-right:8%;width:40%}.project-mutaito .project-identity{position:absolute;right:52%;top:180px;text-align:right}.project-mutaito .project-enter{position:absolute;right:52%;top:335px}.project-mutaito .project-entrance{min-height:580px}}
@media(max-width:640px){.project-room{scroll-margin-top:80px}.project-identity h3{font-size:39px}}
.project-croma .brand-stage{background:#0b2c40;mix-blend-mode:normal;mask-image:linear-gradient(transparent,#000 9%,#000 86%,transparent)}.project-croma .project-brand{mix-blend-mode:screen}
.project-entrance:before{display:none}.project-croma .brand-stage{mask-image:linear-gradient(90deg,transparent,#000 10%,#000 92%,transparent),linear-gradient(transparent,#000 9%,#000 80%,transparent 94%);mask-composite:intersect}
/* A timed entrance follows the spatial approach, as a separate narrative clock. */
.brand-word{display:inline-block}.motion-ready .brand-stage{transform:translate3d(var(--brand-pointer,0px),var(--brand-y,0px),0) scale(var(--brand-scale,1))}
.motion-ready .brand-introduced .project-brand{animation:brand-unfold 1.5s cubic-bezier(.16,.72,.2,1) both}
.motion-ready .brand-introduced .brand-word{animation:brand-word-enter 1.1s cubic-bezier(.16,.72,.2,1) both;animation-delay:calc(.18s + var(--word-order,0)*.16s)}
.motion-ready .brand-introduced .project-intro{animation:brand-line-enter 1s .38s both}
.motion-ready .brand-introduced .project-enter{animation:brand-line-enter .9s .55s both}
.project-entrance:focus-visible .project-brand,.project-entrance:focus-visible .brand-word,.project-entrance:focus-visible .project-intro,.project-entrance:focus-visible .project-enter{animation:none!important}
@keyframes brand-unfold{0%{clip-path:inset(0 100% 0 0);translate:0 22px}65%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0);translate:0 0}}
@keyframes brand-word-enter{from{opacity:.25;transform:perspective(900px) translate3d(0,35px,70px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes brand-line-enter{from{opacity:.35;translate:0 18px}to{opacity:1;translate:0 0}}
body.motion-paused .brand-introduced .project-brand,body.motion-paused .brand-word,body.motion-paused .project-intro,body.motion-paused .project-enter{animation:none!important;clip-path:none!important;translate:none!important;filter:none}
@media(prefers-reduced-motion:reduce){.project-brand,.brand-word,.project-intro,.project-enter{animation:none!important;clip-path:none!important;translate:none!important;filter:none}}
@media print{.project-brand,.brand-word,.project-intro,.project-enter{animation:none!important;clip-path:none!important;translate:none!important;filter:none}}
.narrative-word{display:inline-block}.motion-ready h2.is-visible .narrative-word{animation:narrative-compose .9s cubic-bezier(.16,.72,.2,1) both;animation-delay:calc(var(--word-order,0)*.045s)}
.motion-ready .system-copy h2 .narrative-word{transform:none;text-shadow:none}
@keyframes narrative-compose{from{opacity:.3;translate:0 24px}to{opacity:1;translate:0 0}}
body.motion-paused .narrative-word{animation:none!important;translate:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.narrative-word{animation:none!important;translate:none!important;opacity:1!important}}
.motion-ready .system-copy h2 .narrative-word{color:inherit}
@media print{.narrative-word{animation:none!important;translate:none!important;opacity:1!important}}
/* Project identities become quiet annotations within the larger journey. */
.project{margin-bottom:50px}.project .project-entrance{min-height:310px!important;display:grid!important;grid-template-columns:160px minmax(0,440px);grid-template-rows:auto auto auto;column-gap:40px;row-gap:14px;align-items:center;justify-content:start!important;text-align:left;padding:30px 0!important}
.project .project-index{position:static!important;grid-column:2;grid-row:1;font-size:9px;align-self:end;letter-spacing:.08em}
.project .brand-stage{position:relative!important;grid-column:1;grid-row:1/4;align-self:center!important;margin:0!important;width:160px!important;height:160px!important;aspect-ratio:auto}
.project .project-brand{width:135px;height:135px}.project-landa .project-brand{width:200px;height:200px;max-width:none;object-fit:cover}.project-landa .brand-stage{overflow:visible}
.project-croma .brand-stage{height:53px!important;overflow:hidden}.project-croma .project-brand{width:200%;height:auto;left:0;top:-100%}
.project-mutaito .brand-stage{height:200px!important}.project-mutaito .project-brand{width:150px;height:200px}
.project .project-identity{position:static!important;grid-column:2;grid-row:2;text-align:left!important}.project .project-identity h3{font-size:32px;margin-bottom:10px;letter-spacing:-.025em}.project .project-identity .project-intro{font-size:14px;line-height:1.8;max-width:42ch;margin:0;color:#b9d2df}
.project .project-enter{position:static!important;grid-column:2;grid-row:3;font-size:11px;margin-top:0;align-self:start;gap:15px}.project-enter .icon{width:20px;height:20px}
@media(max-width:640px){.project{margin-bottom:25px}.project .project-entrance{grid-template-columns:78px minmax(0,1fr);column-gap:18px;min-height:285px!important}.project .brand-stage{width:78px!important;height:100px!important}.project .project-brand{width:74px;height:74px}.project-landa .project-brand{width:110px;height:110px}.project-croma .brand-stage{height:26px!important}.project-croma .project-brand{width:200%;height:auto}.project-mutaito .brand-stage{height:120px!important}.project-mutaito .project-brand{width:90px;height:120px}.project .project-identity h3{font-size:27px}.project .project-identity .project-intro{font-size:13px;line-height:1.7}.project .project-index{font-size:7px;line-height:1.6}.project .project-enter{font-size:10px}}
/* Architectural traces carry the visual scale; the logo stays a small signature. */
.work-scenery{position:absolute;pointer-events:none;width:48%;height:350px;right:-3%;top:-10px;z-index:-1;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 85%,transparent);perspective:900px}
.work-scenery svg{width:100%;height:100%;overflow:visible;transform:translate3d(var(--work-slide,0px),calc(var(--work-slide,0px)*-.25),0) rotateY(calc(-15deg + var(--work-build,1)*20deg));opacity:.62}
.work-structure{stroke:#62acc2;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--work-build,1))}.work-trace{stroke:#8ee9df;stroke-width:2.3;stroke-dasharray:.07 .93;stroke-dashoffset:calc(1 - var(--work-build,1));filter:drop-shadow(0 0 9px #77e0dc)}
.project-landa .work-scenery{right:-6%;top:5px}.project-croma .work-scenery svg{rotate:-8deg}.project-mutaito .work-scenery{opacity:.65}
body.motion-paused .work-scenery svg{transform:none!important;rotate:none!important}.motion-paused .work-structure{stroke-dashoffset:0}.motion-paused .work-trace{display:none}
@media(max-width:1000px){.work-scenery{width:52%;right:-10%;opacity:.25}}
@media(max-width:640px){.work-scenery{width:70%;height:220px;right:-10%;top:100px;opacity:.16;mask-image:linear-gradient(transparent,#000 30%,transparent)}.project-landa .work-scenery{top:80px;right:-10%}}
@media(prefers-reduced-motion:reduce){.work-scenery svg{transform:none!important;rotate:none!important}.work-structure{stroke-dashoffset:0}.work-trace{display:none}}
/* A continuous environment travels behind the compact project annotations. */
.webs-environment{position:sticky;top:0;height:0;width:100%;pointer-events:none;z-index:0}
.webs-environment>div{position:absolute;top:0;left:0;width:100%;height:110vh;mask-image:linear-gradient(90deg,transparent 30%,#000 80%),linear-gradient(transparent,#000 20%,#000 75%,transparent);mask-composite:intersect;background-size:cover;background-position:65% center;will-change:transform}
.world-coast{background-image:url('/assets/scenes/panorama.png');opacity:calc(.4 - var(--world-depth,0)*.3);transform:translateX(var(--world-pan,0px)) scale(calc(1.05 + var(--world-depth,0)*.3))}
.world-structure{background-image:url('/assets/scenes/infraestructura.png');opacity:calc(var(--world-depth,0)*.38);transform:translateX(calc(var(--world-pan,0px)*-.4)) scale(calc(1.35 - var(--world-depth,0)*.25))}
.webs-environment .world-light{background:conic-gradient(from 140deg at 85% 0,transparent,#77e0dc33 15deg,transparent 35deg);opacity:calc(.2 + var(--world-depth,0)*.4);transform:translateX(calc(var(--world-pan,0px)*-.5))}
@media(max-width:640px){.webs-environment>div{mask-image:linear-gradient(90deg,transparent 15%,#000 90%),linear-gradient(transparent,#000 30%,transparent);opacity:.12}.world-structure{opacity:calc(var(--world-depth,0)*.15)!important}.webs-environment .world-light{display:none}}
body.motion-paused .webs-environment>div{transform:none!important;will-change:auto}
@media(prefers-reduced-motion:reduce){.webs-environment>div{transform:none!important;will-change:auto}.world-coast{opacity:.15}.world-structure,.world-light{display:none}}
@media print{.webs-environment,.work-scenery{display:none}}
/* The opening title arrives as a composition, while the panorama gains light. */
.project:has(.project-detail[open]) .work-scenery{opacity:.2}
/* The transparent gateway is a separate near plane, crossing the hero/Webs seam. */
.journey-gateway{position:fixed;inset:0;z-index:3;pointer-events:none;overflow:clip;opacity:var(--gate-opacity,1);mask-image:linear-gradient(90deg,transparent 40%,#000 68%);contain:layout paint}
.journey-gateway[hidden]{display:none}
.journey-gateway>img{position:absolute;right:0;bottom:-5%;width:100%;height:110%;object-fit:fill;transform-origin:80% 55%;transform:translate3d(var(--gate-x,0px),var(--gate-y,0px),0) scale(var(--gate-scale,1));filter:brightness(.75);will-change:transform}
.gateway-dust{position:absolute;inset:0;transform:translateX(var(--gate-x,0px));opacity:var(--gate-opacity,1)}
.gateway-dust i{position:absolute;left:calc(76% + var(--mote)*2.3%);top:calc(45% + var(--mote)*5%);width:2px;height:2px;background:#c8f7ff;border-radius:50%;box-shadow:0 0 10px 2px #74daed88;transform:translateY(calc(var(--dust-rise,0px)*-1));opacity:.5}
body.motion-paused .journey-gateway{display:none}
@media(max-width:640px){.journey-gateway{mask-image:linear-gradient(transparent 45%,#000 78%);opacity:calc(var(--gate-opacity,1)*.7)}.journey-gateway>img{width:155%;max-width:none;height:85%;right:-35%;bottom:-3%;object-fit:fill}.gateway-dust{display:none}}
@media(prefers-reduced-motion:reduce){.journey-gateway{display:none}}
@media print{.journey-gateway{display:none}}
.motion-ready .hero h1 .hero-glyph{display:inline-block;transform:none;color:inherit;animation:hero-letter-arrive 1.1s cubic-bezier(.16,.72,.2,1) both;animation-delay:calc(.12s + var(--glyph-order,0)*.035s)}
.motion-ready .hero-art img{animation:hero-light-arrive 2s ease-out both}
@keyframes hero-letter-arrive{from{opacity:.1;translate:0 48px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:none}}
@keyframes hero-light-arrive{from{filter:brightness(.5) saturate(.7)}to{filter:brightness(1) saturate(1)}}
body.motion-paused .hero-glyph,body.motion-paused .hero-art img{animation:none!important;translate:none!important;filter:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.hero-glyph,.hero-art img{animation:none!important;translate:none!important;filter:none!important;opacity:1!important}}
@media print{.hero-glyph,.hero-art img{animation:none!important;translate:none!important;filter:none!important;opacity:1!important}}
/* Capabilities unfold by choice; the primary route remains a visual story. */
.capability-room{border-top:1px solid #59839166;margin:0 0 45px}.capability-room>summary{list-style:none;display:flex;justify-content:space-between;gap:25px;align-items:center;padding:28px 0;font-size:clamp(22px,3vw,35px);font-family:var(--editorial);cursor:pointer}.capability-room>summary::-webkit-details-marker{display:none}.capability-room>summary .icon{width:25px;flex-shrink:0;transition:rotate .3s}.capability-room[open]>summary .icon{rotate:45deg}.capability-body{padding:15px 0 35px}.capability-return{margin-top:25px}.capability-room .project-room-nav{margin-bottom:40px}.step-explanation>summary{font-size:11px;display:flex;align-items:center;gap:15px;cursor:pointer;color:#b7d2dd;list-style:none}.step-explanation>summary::-webkit-details-marker{display:none}.step-explanation .icon{width:14px;height:14px}.step-explanation[open]>summary{margin-bottom:18px}.step-explanation[open] .icon{rotate:45deg}.step-explanation p{font-size:14px}.capability-room summary:focus-visible,.step-explanation summary:focus-visible{outline:2px solid #8ee9df;outline-offset:5px}
/* Three independently moving cutout tiers turn the process into a place. */
.process-landscape{isolation:isolate;margin-top:45px}.process-world{position:sticky;top:0;height:0;pointer-events:none;z-index:-1}.foundry-stage{position:absolute;top:0;left:0;width:100%;height:100svh;perspective:1100px;mask-image:linear-gradient(transparent,#000 14%,#000 85%,transparent)}.foundry-tier{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;max-width:none;transform-origin:78% 50%;filter:brightness(.8);will-change:transform}
.tier-0{mask-image:linear-gradient(#000 32%,transparent 43%);transform:translate3d(calc(var(--foundry-travel,0px)*-.15),calc(var(--foundry-travel,0px)*-.4),0) rotateY(var(--foundry-turn,0deg)) scale(var(--foundry-zoom,1))}.tier-1{mask-image:linear-gradient(transparent 34%,#000 43%,#000 59%,transparent 68%);transform:translate3d(calc(var(--foundry-travel,0px)*.25),calc(var(--foundry-travel,0px)*-.7),35px) rotateY(calc(var(--foundry-turn,0deg)*-.5))}.tier-2{mask-image:linear-gradient(transparent 59%,#000 68%);transform:translate3d(calc(var(--foundry-travel,0px)*-.3),calc(var(--foundry-travel,0px)*-1),70px) rotateY(var(--foundry-turn,0deg))}
.process-stop,.process-stop:nth-of-type(even){width:43%;margin-left:0;padding:45px 35px 55px 0;min-height:250px}.process-spine{left:44%}.process-stop:before,.process-stop:nth-of-type(even):before{left:auto;right:-3.3%;top:75px}.process-stop:after,.process-stop:nth-of-type(even):after{display:none}.process-stop h3{font-size:clamp(27px,3.2vw,44px)}
body.motion-paused .foundry-tier{transform:none!important;will-change:auto}
@media(max-width:640px){.capability-room>summary{font-size:24px}.capability-body{padding-top:0}.process-world{position:relative;height:280px;margin:0 -20px 20px -40px}.foundry-stage{height:330px;top:-40px;width:130%;left:-30%;mask-image:linear-gradient(transparent,#000 15%,#000 80%,transparent)}.foundry-tier{width:100%;height:100%;object-fit:contain}.process-stop,.process-stop:nth-of-type(even){width:100%;padding:25px 0 30px 20px;min-height:180px}.process-stop:before,.process-stop:nth-of-type(even):before{left:-4px;right:auto;top:32px}.process-spine{left:0;top:300px}.process-stop h3{font-size:30px;max-width:14ch}.step-explanation p{font-size:13px}.step-explanation>summary{font-size:11px}}
@media(prefers-reduced-motion:reduce){.foundry-tier{transform:none!important;will-change:auto}}
@media print{.process-world{display:none}.process-stop,.process-stop:nth-of-type(even){width:100%}}
/* Keep the sculptural process inside its scene, including short windows. */
.process-landscape{overflow:clip}
.capability-room,.capability-body,.step-explanation{scroll-margin-top:110px}
@media(max-width:640px){.capability-room,.capability-body{scroll-margin-top:85px}}
.process-landscape{overflow:visible}.foundry-stage{clip-path:inset(0 0 var(--foundry-cut,0px) 0)}
@media(max-width:640px){.foundry-stage{clip-path:none}}
.biography-more>summary{display:flex;gap:20px;align-items:center;justify-content:space-between;font-family:var(--editorial);font-size:28px;list-style:none;cursor:pointer;padding:8px 0 24px;border-bottom:1px solid #59839166}.biography-more>summary::-webkit-details-marker{display:none}.biography-more>div{padding-top:25px;font-size:15px;line-height:1.85;color:#b7d2dd}.biography-more[open]>summary .icon{rotate:45deg}.biography-more summary:focus-visible{outline:2px solid #8ee9df;outline-offset:5px}
@media(max-width:640px){.biography-more>summary{font-size:24px}.biography-more>div{font-size:13px}}
/* Foreground may occlude scenery, never project copy or filter controls. */
.journey-gateway{z-index:1}.webs>.wrap{position:relative;z-index:4}
.webs .section-heading{display:block}.webs .heading-aside{max-width:none}.webs .heading-aside>p{display:none}.webs .filter-bar{margin-top:25px}
/* Project worlds: quiet identity in front of one continuous camera journey. */
.webs .work-scenery,.webs .webs-environment{display:none}
.gallery .project{margin-bottom:0;min-height:620px;isolation:auto}
.gallery .project .project-entrance{min-height:620px!important;grid-template-columns:100px minmax(0,365px);column-gap:28px;align-content:center;position:relative!important;z-index:2}
.gallery .project .brand-stage{width:100px!important;height:120px!important}.gallery .project .project-brand{width:90px;height:90px}.gallery .project-landa .project-brand{width:140px;height:140px}.gallery .project-croma .brand-stage{height:34px!important}.gallery .project-croma .project-brand{width:200%;height:auto}.gallery .project-mutaito .brand-stage{height:140px!important}.gallery .project-mutaito .project-brand{width:105px;height:140px}
.gallery .project .project-identity h3{font-size:34px}.gallery .project .project-intro{font-size:14px;max-width:32ch}.gallery .project .project-index{font-size:8px}.gallery .project:before{display:none}
.project-world-stage{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:clip;background:radial-gradient(ellipse at var(--world-glow,60%) 62%,#164d665c,transparent 65%),linear-gradient(#06182900,#031427a8 28%,#06182999 78%,#06182900);mask-image:linear-gradient(transparent,#000 14%,#000 80%,transparent)}
.project-world-stage[hidden]{display:none}.project-world-stage canvas{width:100%;height:100%;display:block}
.project-world-fallback{position:absolute;inset:0 -8% 0 -8%;z-index:-1;pointer-events:none;opacity:.8;mask-image:linear-gradient(transparent,#000 18%,#000 75%,transparent)}.project-world-fallback img{width:100%;height:100%;object-fit:contain;object-position:right center}
.worlds-running .project-world-fallback{visibility:hidden}.worlds-running .project-entrance{transform:translateX(var(--world-copy-x,0px));transition:none}.project-detail[open] .project-entrance{transform:none!important}.project-room{position:relative;background:linear-gradient(#061829e8,#061829fa 90%,#06182900);padding:40px 0}.project:has(.project-detail[open]) .project-world-fallback{opacity:.25}
@media(max-width:900px) and (min-width:641px){.gallery .project .project-entrance{grid-template-columns:80px minmax(0,310px)}.gallery .project .project-intro{max-width:26ch}}
@media(max-width:640px){.gallery .project{min-height:640px}.gallery .project .project-entrance{min-height:640px!important;grid-template-columns:68px minmax(0,1fr);column-gap:18px;align-content:start;padding-top:50px!important}.gallery .project .brand-stage{width:68px!important;height:90px!important}.gallery .project .project-brand{width:64px;height:64px}.gallery .project-landa .project-brand{width:95px;height:95px}.gallery .project-croma .brand-stage{height:23px!important}.gallery .project-croma .project-brand{width:200%;height:auto}.gallery .project-mutaito .brand-stage{height:100px!important}.gallery .project-mutaito .project-brand{width:75px;height:100px}.gallery .project .project-identity h3{font-size:28px}.gallery .project .project-intro{font-size:13px;max-width:30ch}.gallery .project .project-index{font-size:7px}.project-world-fallback{inset:200px -50% 0 -65%;opacity:.8}.project-world-stage{mask-image:linear-gradient(transparent,#000 20%,#000 78%,transparent)}.project-room{padding-top:25px}.worlds-running .project-entrance{transform:none}}
body.motion-paused .project-world-stage{display:none}.motion-paused .project-world-fallback{visibility:visible}.motion-paused .project-entrance{transform:none!important}
@media(prefers-reduced-motion:reduce){.project-world-stage{display:none}.project-world-fallback{visibility:visible!important}.project-entrance{transform:none!important}}
@media print{.project-world-stage,.project-world-fallback{display:none}.gallery .project,.gallery .project .project-entrance{min-height:0!important}}
.project-detail[open] .project-room{animation:room-arrival .7s cubic-bezier(.2,.65,.2,1) both}
@keyframes room-arrival{from{opacity:.2;translate:65px 0}to{opacity:1;translate:0 0}}
body.motion-paused .project-room{animation:none!important}
@media(prefers-reduced-motion:reduce){.project-room{animation:none!important}}
/* A deliberate opening, independent from the continuous scroll camera. */
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 32px;margin-top:24px}.hero-actions .hero-link{margin:0}.opening-button{display:inline-flex;align-items:center;gap:25px;border:1px solid #83c5d080;background:#092c4099;border-radius:0;padding:14px 18px;color:#e0f6f3;font:500 12px var(--sans);cursor:pointer;transition:background .3s,border-color .3s}.opening-button:hover{background:#18526899;border-color:#96e2df}.opening-button .icon{height:17px;width:17px}.opening-status{font-size:9px!important;letter-spacing:.055em;color:#a6c3cf;min-height:16px;margin-top:12px;max-width:40ch}.opening-button[hidden],.opening-status[hidden]{display:none!important}
.hero[data-opening=playing] .hero-art img{animation:opening-landscape 4.4s cubic-bezier(.18,.65,.25,1) both}
.motion-ready .hero[data-opening=playing] h1 .hero-glyph{animation:opening-name 1.7s cubic-bezier(.16,.75,.22,1) both;animation-delay:calc(.55s + var(--glyph-order)*.055s)}
.hero[data-opening=playing] .hero-description{animation:opening-context 1.2s 1.8s both}
.hero[data-opening=playing] .hero-label{animation:opening-context 1.1s .15s both}
.hero[data-opening=playing] .hero-bottom{animation:opening-context 1.2s 2.4s both}
.opening-playing .journey-gateway img{animation:opening-gateway 4.4s cubic-bezier(.18,.65,.25,1) both}
@keyframes opening-landscape{from{scale:1.28;filter:brightness(.3) saturate(.7)}40%{filter:brightness(.65) saturate(.9)}to{scale:1.06;filter:brightness(1) saturate(1)}}
@keyframes opening-gateway{from{translate:80px 25px;scale:1.2;filter:brightness(.45)}to{translate:0 0;scale:1;filter:brightness(1)}}
@keyframes opening-name{from{opacity:0;translate:20px 48px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}
@keyframes opening-context{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}
@media(max-width:640px){.hero-actions{gap:16px;margin-top:20px}.opening-button{padding:12px;font-size:10px;gap:14px}.hero-actions .hero-link{font-size:10px}.opening-status{font-size:8px!important;margin-top:10px}.hero-bottom span:first-child{max-width:160px}}
@media(max-height:650px){.hero-actions{margin-top:14px}.opening-button{padding:10px 12px}.opening-status{margin-top:7px}.hero-description{margin-top:17px}}
body.motion-paused .hero[data-opening] .hero-art img,body.motion-paused .hero[data-opening] .hero-glyph,body.motion-paused .hero[data-opening] .hero-description,body.motion-paused .hero[data-opening] .hero-label,body.motion-paused .hero[data-opening] .hero-bottom,body.motion-paused.opening-playing .journey-gateway img{animation:none!important;translate:none!important;filter:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.opening-button,.opening-status{display:none!important}.hero[data-opening] .hero-art img,.hero[data-opening] .hero-glyph,.hero[data-opening] .hero-description,.hero[data-opening] .hero-label,.hero[data-opening] .hero-bottom,.opening-playing .journey-gateway img{animation:none!important;translate:none!important;filter:none!important;opacity:1!important}}
@media print{.hero-actions button,.opening-status{display:none!important}.hero[data-opening] *{animation:none!important}}
.motion-ready .hero[data-opening=complete] h1 .hero-glyph,.hero[data-opening=complete] .hero-art img{animation:none;translate:none;filter:none;opacity:1}
.opening-button{font-family:inherit;font-size:12px;font-weight:500}
@media(max-width:640px){.opening-button{font-size:10px}}
@media(max-width:640px){.project-world-fallback{top:260px}}
@media(min-width:641px) and (max-width:900px){.gallery .project .brand-stage{width:70px!important}.gallery .project .project-brand{width:70px;height:70px}.gallery .project-landa .project-brand{width:105px;height:105px}.gallery .project-croma .brand-stage{height:24px!important}.gallery .project-croma .project-brand{width:200%;height:auto}.gallery .project-mutaito .project-brand{width:80px;height:106px}}
/* Keep a continuous quiet reading zone when a world crosses the text plane. */
.project-world-stage:after,.project-world-fallback:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#061829b8, #06182966 38%,transparent 67%)}
@media(max-width:640px){.project-world-stage:after,.project-world-fallback:after{background:none}}
/* The camera continues through systems, the process and the archive. */
.system-art img,.lab-art img{object-fit:contain}
.journey-rendering .systems>.scene,.journey-rendering .laboratory>.scene{z-index:4;isolation:auto;mask-image:none}
.journey-rendering .systems .scene-art,.journey-rendering .systems .scene-depth,.journey-rendering .system-shade,.journey-rendering .laboratory .scene-art,.journey-rendering .laboratory .scene-depth,.journey-rendering .lab-shade,.journey-rendering .process-world{visibility:hidden}
.journey-rendering .systems>.scene-seam,.journey-rendering .automation>.scene-seam,.journey-rendering .laboratory>.scene-seam{visibility:hidden}
.journey-rendering .systems>.wrap,.journey-rendering .automation>.wrap,.journey-rendering .laboratory>.wrap{position:relative;z-index:4}
.journey-rendering .system-copy,.journey-rendering .lab-copy{transform:translate3d(calc(var(--text-x,0px) + var(--world-copy-x,0px)*.3),var(--text-y,0px),0)}
.system-copy h2,.lab-copy h2{font-size:clamp(45px,5vw,70px);max-width:680px}
.system-copy>p:not(.eyebrow),.lab-copy>p:last-child{max-width:370px;font-size:16px}
.system-legend{opacity:.65}
@media(max-width:640px){.system-copy h2,.lab-copy h2{font-size:43px}.system-copy>p:not(.eyebrow),.lab-copy>p:last-child{font-size:14px}.journey-rendering .system-copy,.journey-rendering .lab-copy{transform:none}.process-stop,.process-stop:nth-of-type(even){min-height:340px;align-items:flex-start}.project-world-stage[data-kind=process]:after{background:linear-gradient(#06182900,#061829c0 21%,#0618299c 42%,transparent 70%)}}
@media(prefers-reduced-motion:reduce){.journey-rendering .systems .scene-art,.journey-rendering .systems .scene-depth,.journey-rendering .system-shade,.journey-rendering .laboratory .scene-art,.journey-rendering .laboratory .scene-depth,.journey-rendering .lab-shade,.journey-rendering .process-world{visibility:visible}.journey-rendering .systems>.scene,.journey-rendering .laboratory>.scene{isolation:isolate}.journey-rendering .system-copy,.journey-rendering .lab-copy{transform:none!important}}
@media print{.systems>.scene,.laboratory>.scene{isolation:isolate}.systems .scene-art,.laboratory .scene-art,.process-world{visibility:visible!important}}
@media(max-width:640px){.journey-rendering .process-copy{isolation:isolate}.journey-rendering .process-copy:before{content:'';position:absolute;inset:-16px -15px -18px -10px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 25% 50%,#061829e8,#061829ab 48%,transparent 76%);filter:blur(9px)}}
.journey-rendering .about>.wrap{position:relative;z-index:4}
@media(max-width:640px){
 .system-copy h2 br{display:none}
 .system-copy h2 span{display:inline}
 .worlds-running .project-enter,.worlds-running .project-identity{position:relative;isolation:isolate}
 .worlds-running .project-enter:before,.worlds-running .project-identity:before{content:'';position:absolute;inset:-24px -20px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 42% 45%,#061829f2 15%,#061829d9 52%,#06182900 77%);filter:blur(10px)}
 .hero .entry-index{isolation:isolate}
 .hero .entry-index:before{content:'';position:absolute;inset:-18px -20px;z-index:-1;pointer-events:none;background:linear-gradient(transparent,#061829d9 30%,#061829e8 75%,transparent)}
}
.journey-rendering .about{background:transparent}
.journey-rendering .biography,.journey-rendering .principles,.journey-rendering .closing{position:relative;isolation:isolate}
.journey-rendering .biography:before,.journey-rendering .principles:before,.journey-rendering .closing:before{content:'';position:absolute;inset:-20px;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#061829e8,#061829a8 75%,#06182925);filter:blur(14px)}
.journey-rendering .capability-room>summary{position:relative;isolation:isolate}
.journey-rendering .capability-room>summary:before{content:'';position:absolute;inset:-16px -22px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 30% 50%,#061829e8,#061829a8 48%,transparent 76%);filter:blur(9px)}
.journey-rendering .webs-outro,.journey-rendering .narrative-bridge{position:relative;isolation:isolate}
.journey-rendering .webs-outro:before,.journey-rendering .narrative-bridge:before{content:'';position:absolute;inset:-25px -30px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 32% 45%,#061829e3,#061829ad 40%,transparent 77%);filter:blur(14px)}
/* Identity and business narrative: original CV direction mark, editable vector. */
.brand-mark{display:block!important;width:54px;height:45px;transform:none!important}.identity-symbol{width:100%;height:100%;overflow:visible}.identity-emblem{position:absolute;right:6%;top:170px;width:clamp(150px,19vw,265px);filter:drop-shadow(0 0 25px #79dcd944);opacity:.9}.hero .identity-name{font-family:Sora,Manrope,sans-serif;font-weight:650;font-size:clamp(70px,10.3vw,148px);letter-spacing:-.065em;line-height:1.02;max-width:880px}.hero .identity-name>span{color:#8ee9df}.hero-description{max-width:510px}.hero-label{max-width:520px}.motion-ready .identity-emblem path{stroke-dasharray:440;stroke-dashoffset:0;animation:brand-route 2.8s cubic-bezier(.2,.7,.2,1) both}.motion-ready .identity-emblem path:nth-child(2){animation-delay:.3s}.motion-ready .identity-emblem path:nth-child(n+3){animation-delay:.7s}.hero[data-opening=playing] .identity-emblem path{animation-name:brand-route-replay}.motion-ready .identity-emblem rect{animation:brand-node 2.5s both}.hero[data-opening=playing] .identity-emblem rect{animation-name:brand-node-replay}
@keyframes brand-route{from{stroke-dashoffset:440;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes brand-route-replay{from{stroke-dashoffset:440;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes brand-node{0%,60%{opacity:0}to{opacity:1}}@keyframes brand-node-replay{0%,60%{opacity:0}to{opacity:1}}
.gallery .project,.gallery .project .project-entrance{min-height:720px!important}.project-blueprint{padding:55px 0 45px;border-top:1px solid #52748366}.project-blueprint h4{font-family:var(--editorial);font-size:clamp(30px,3.2vw,45px);font-weight:400;line-height:1.2;max-width:800px;margin:20px 0}.blueprint-lead{font-size:17px;max-width:760px;line-height:1.8;color:#c0d8e1}.project-blueprint ol{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;list-style:none;counter-reset:module;padding:30px 0 0;margin:0}.project-blueprint li{counter-increment:module;border-top:1px solid #52748366;padding-top:20px}.project-blueprint li:before{content:'0' counter(module);font-size:11px;color:#8ee9df}.project-blueprint h5{font-size:19px;font-weight:550;margin:18px 0 12px}.project-blueprint li p{font-size:15px;line-height:1.8;color:#b7d2dd}.ai-services{margin-bottom:50px}.biography-more a{color:#8ee9df;text-decoration:underline;text-underline-offset:4px}.closing-link{font-size:clamp(34px,4.5vw,64px)}
@media(max-width:900px){.identity-emblem{right:4%;top:200px;width:150px}.hero .identity-name{font-size:clamp(65px,10vw,100px)}}
@media(max-width:640px){.brand-mark{width:44px;height:38px}.identity-emblem{top:75px;right:25px;width:54px}.hero .identity-name{font-size:clamp(54px,13.4vw,85px);line-height:1.15;letter-spacing:-.06em}.hero-label{max-width:250px}.hero-description{font-size:14px;max-width:310px}.gallery .project,.gallery .project .project-entrance{min-height:700px!important}.project-blueprint{padding:30px 0}.project-blueprint ol{grid-template-columns:1fr;gap:20px}.blueprint-lead{font-size:15px}.project-blueprint h5{font-size:18px}.closing-link{font-size:33px}}
body.motion-paused .identity-emblem path,body.motion-paused .identity-emblem rect{animation:none!important;stroke-dashoffset:0;opacity:1}
@media(prefers-reduced-motion:reduce){.identity-emblem path,.identity-emblem rect{animation:none!important;stroke-dashoffset:0;opacity:1}}
@media(min-width:901px){.identity-emblem{right:26%;top:170px;width:180px}}
@media(min-width:641px) and (max-width:900px){.identity-emblem{right:2%;top:95px;width:70px}}
@media(max-width:360px){.hero .hero-label{max-width:160px;white-space:normal;font-size:8px;line-height:1.5;letter-spacing:.09em}.identity-emblem{right:25px;top:75px}}
@media(max-width:360px){.hero{height:620px;min-height:620px;max-height:none}.hero-actions{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:12px}.hero-actions .opening-button{font-size:9px;padding:10px 12px;gap:10px}.hero-actions .hero-link{font-size:10px;gap:8px}.hero-bottom{bottom:24px}}

/* Open editorial project rooms: quiet atmosphere, no enclosing rectangle. */
.project-room{background:transparent;padding:48px clamp(8px,3vw,42px) 64px;isolation:isolate}
.project-room:before{content:'';position:absolute;inset:-90px -6vw;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 40% 48%,#061829f5 0%,#061829e8 45%,#06182900 74%)}
.project-room-nav{border:0;gap:clamp(20px,4vw,60px);padding:0 0 25px;margin-bottom:42px}
.project-room-nav a{font-size:12px;letter-spacing:.02em;border-bottom:1px solid #8ee9df45;padding-bottom:12px}
.project-room-nav a:hover{border-color:#8ee9df}
.project-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,88px);padding-bottom:48px;max-width:1000px}
.project-detail-body h4{font-family:var(--font-body,Manrope),sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#8ee9df;margin:0 0 18px}
.project-detail-body p{font-size:17px;line-height:1.85;margin:0;max-width:47ch}
.project-blueprint{border:0;padding:22px 0 40px}
.project-blueprint h4{font-size:clamp(30px,3.8vw,49px);max-width:850px;line-height:1.15}
.project-blueprint .eyebrow{font-size:10px;color:#8ee9df}
.project-blueprint ol{gap:40px}
.project-blueprint li{border:0;padding-top:10px}
.project-blueprint li:before{font-size:26px;font-weight:300;color:#8ee9df80}
.project-blueprint h5{font-size:17px;margin:14px 0 10px}
.project-source{padding:20px 0 32px;max-width:820px}
.project-source .tags{font-size:10px;letter-spacing:.05em}
@media(max-width:640px){.project-room{padding:30px 6px 50px}.project-room-nav{gap:22px;margin-bottom:28px}.project-room-nav a{font-size:11px}.project-detail-body{grid-template-columns:1fr;gap:27px;padding-bottom:30px}.project-detail-body p{font-size:15px}.project-blueprint ol{gap:26px}.project-blueprint h4{font-size:32px}}

/* Name-led identity: retired CV monogram is no longer rendered. */
.site-header .brand{min-width:190px;gap:0}.site-header .wordmark{font-family:Sora,Manrope,sans-serif;font-size:16px;font-weight:400;letter-spacing:-.055em;line-height:1.3}.wordmark strong{font-weight:650}.wordmark small{display:block;font-family:Manrope,sans-serif;font-size:8px;font-weight:500;text-transform:uppercase;letter-spacing:.18em;margin-top:6px;color:#96b6c5}.hero .identity-name{font-weight:550;letter-spacing:-.06em}.hero-label{max-width:550px}
@media(max-width:640px){.site-header .brand{min-width:0}.site-header .wordmark{font-size:14px}.wordmark small{font-size:7px;letter-spacing:.12em}.hero .hero-label{max-width:290px}}
.wordmark strong{margin-left:.22em}
@media(min-width:641px){.hero{min-height:780px;height:95svh;max-height:none}.hero-bottom{bottom:34px}}

/* Technical copy: visible capability descriptions and development status. */
.automation-heading h2{max-width:1000px;font-size:clamp(44px,5.8vw,78px);line-height:1.08}.automation-heading>p:last-child{max-width:760px}.process-copy .application-example{font-size:14px;color:#9fc2cf;max-width:49ch}.process-stop{min-height:430px}.digitalization-case,.gerencia-product{position:relative;padding:65px 0;max-width:920px}.digitalization-case h3,.gerencia-product h3{font-family:var(--editorial);font-weight:400;font-size:clamp(30px,4vw,48px);line-height:1.15;margin:20px 0 24px}.digitalization-case p,.gerencia-product p,.gerencia-product li{font-size:17px;line-height:1.8;max-width:75ch;color:#bdd4dd}.gerencia-product h4{font-size:14px;color:#8ee9df;margin-top:32px}.gerencia-product li{padding:6px 0}.gerencia-product .eyebrow{color:#8ee9df;font-size:11px}.gerencia-product .product-status{font-size:13px;color:#a6c2cf}.gerencia-product{isolation:isolate}.gerencia-product:before{content:'';position:absolute;inset:-70px -8vw;background:radial-gradient(ellipse,#061829f5 35%,#06182900 73%);z-index:-1;pointer-events:none}.hero-description{max-width:620px}.hero{min-height:850px!important}.hero-label{max-width:640px}.system-copy h2{font-size:clamp(46px,5.6vw,76px);max-width:810px}.lab-copy h2{font-size:clamp(46px,5.6vw,76px)}
@media(max-width:640px){.hero{min-height:780px!important;height:auto;max-height:none}.hero-description{max-width:330px}.hero .hero-label{max-width:300px}.automation-heading h2{font-size:43px}.process-stop{min-height:380px;padding-bottom:45px}.process-stop h3{font-size:32px}.process-copy .application-example{font-size:13px}.digitalization-case,.gerencia-product{padding:40px 0}.digitalization-case p,.gerencia-product p,.gerencia-product li{font-size:15px}.system-copy h2,.lab-copy h2{font-size:45px}.system-scene{min-height:900px}.hero-bottom{bottom:24px}}
.automation-heading{position:relative;isolation:isolate}.automation-heading:before{content:'';position:absolute;inset:-65px -5vw;background:radial-gradient(ellipse at 35% 50%,#061829ec 20%,#061829b0 50%,#06182900 75%);z-index:-1;pointer-events:none}.gerencia-product{scroll-margin-top:110px}
.process-copy{position:relative;isolation:isolate}.process-copy:before{content:'';position:absolute;inset:-35px -35px;background:radial-gradient(ellipse,#061829ec 25%,#06182990 55%,#06182900 75%);z-index:-1;pointer-events:none}

/* Gerencia: semantic coordination map, illustrative signals only. */
.gerencia-product{max-width:none;padding:100px 0 85px}.gerencia-heading{max-width:900px}.gerencia-product .gerencia-heading h3{font-family:Sora,Manrope,sans-serif;font-size:clamp(64px,9vw,118px);font-weight:550;letter-spacing:-.06em;margin:20px 0}.gerencia-product .gerencia-subtitle{font-size:clamp(23px,3vw,34px);line-height:1.3;color:#dceced;max-width:700px}.gerencia-map{margin:65px 0 45px;position:relative}.gerencia-map figcaption{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:#9cbecb;margin-bottom:36px}.gerencia-input,.gerencia-hub{text-align:center;max-width:540px;margin:auto}.gerencia-input span,.gerencia-hub>span,.gerencia-review>span{font-size:10px;letter-spacing:.14em;color:#8ee9df}.gerencia-product .gerencia-input p{margin:12px auto 0;font-size:16px}.gerencia-input:after{content:'';display:block;height:40px;width:1px;background:#73c9cf;margin:20px auto 0}.gerencia-hub{padding:25px 10px 8px;border-top:1px solid #73c9cf70}.gerencia-product .gerencia-hub h4{font-family:Sora,Manrope,sans-serif;font-size:38px;letter-spacing:-.04em;margin:12px 0;color:#e6f1f3}.gerencia-product .gerencia-hub p{font-size:16px;margin:0 auto;max-width:43ch}.gerencia-connectors{display:block;width:100%;height:90px;color:#68aab66b;overflow:visible}.gerencia-signal{stroke:#9ce9e0;stroke-dasharray:10 80;stroke-width:1.5;animation:gerencia-transit 8s linear infinite}.gerencia-functions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.gerencia-functions article{position:relative;padding:12px 6px 30px;border-bottom:1px solid #73c9cf50}.gerencia-function-number{color:#8ee9df;font-size:11px}.gerencia-product .gerencia-functions h4{font-family:Sora,Manrope,sans-serif;font-size:23px;letter-spacing:-.03em;font-weight:500;margin:16px 0;color:#e6f1f3}.gerencia-product .gerencia-functions p{font-size:15px;line-height:1.8}.gerencia-functions small{font-size:12px;line-height:1.7;color:#9fbeca;display:block}.gerencia-review{max-width:750px;margin:0 auto;padding-top:35px;text-align:center}.gerencia-review:before{content:'';display:block;height:35px;width:1px;background:#73c9cf80;margin:-35px auto 24px}.gerencia-product .gerencia-review h4{font-size:22px;margin:15px 0;color:#e5eff1}.gerencia-product .gerencia-review p{font-size:15px;margin:auto}.gerencia-example{border-top:1px solid #547e8b66;padding:25px 0}.gerencia-example summary{font-size:16px;color:#a9e4df;cursor:pointer;line-height:1.7}.gerencia-example ol{padding-left:22px;max-width:800px}.gerencia-product .gerencia-example li,.gerencia-product .gerencia-example p{font-size:14px}.gerencia-product .product-status{max-width:90ch}.gerencia-product:before{inset:-80px -10vw;background:radial-gradient(ellipse,#061829fa 30%,#061829d9 60%,#06182900 80%)}
@keyframes gerencia-transit{to{stroke-dashoffset:-180}}
body.motion-paused .gerencia-signal{animation:none}
@media(prefers-reduced-motion:reduce){.gerencia-signal{animation:none}}
@media(max-width:900px){.gerencia-functions{gap:18px}.gerencia-product .gerencia-functions h4{font-size:20px}}
@media(max-width:640px){.gerencia-product{padding:60px 0}.gerencia-product .gerencia-heading h3{font-size:64px}.gerencia-map{margin-top:40px}.gerencia-connectors{display:none}.gerencia-functions{display:block;margin:28px 0 0 8px;border-left:1px solid #73c9cf80;padding-left:25px}.gerencia-functions article{padding:12px 0 24px;border-bottom:0}.gerencia-functions article:before{content:'';position:absolute;left:-26px;top:20px;width:16px;height:1px;background:#8ee9df}.gerencia-product .gerencia-functions h4{font-size:24px;margin:10px 0}.gerencia-review{text-align:left;margin-top:12px;padding-top:20px;border-top:1px solid #73c9cf50}.gerencia-review:before{display:none}.gerencia-product .gerencia-input p,.gerencia-product .gerencia-hub p{font-size:14px}.gerencia-example summary{font-size:15px}}

