:root{
  color-scheme:only light;
  --black:#000;
  --ink:#17100d;
  --deep:#241a14;
  --brown:#32241c;
  --mid:#af9175;
  --sand:#bead9c;
  --paper:#f7ecde;
  --orange:#f15a29;
  --header-h:150px;
  --gutter:clamp(28px,5vw,82px);
  --max:1480px;
  --display:"IBM Plex Sans Condensed","Arial Narrow",Arial,sans-serif;
  --text:"Source Sans 3",Arial,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;background:#000}
body{margin:0;background:#000;color:var(--paper);font:400 18px/1.55 var(--text);overflow-x:hidden}
img,video,canvas,svg{display:block;max-width:100%}
a{color:inherit}
button,a{font:inherit}
button{color:inherit}
::selection{background:var(--orange);color:#000}
.skip-link{position:fixed;left:16px;top:16px;z-index:9000;padding:10px 15px;background:var(--paper);color:#000;transform:translateY(-180%)}
.skip-link:focus{transform:none}

/* Exact logo source with design margins cropped to the artwork bounds. */
.logo-crop{position:relative;display:block;overflow:hidden;aspect-ratio:578.3/238.1}
.logo-crop img{position:absolute;width:145.581878%;max-width:none;left:-19.609199%;top:-71.440571%}

/* Header: 150px high, visible logo artwork about 66px high — roughly 42px clear space above and below. */
.site-header{position:relative;z-index:1000;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 max(var(--gutter),64px);background:var(--paper);color:#000;border-bottom:1px solid rgba(36,26,20,.16)}
.header-logo{width:160px;flex:0 0 auto}
.nav{display:flex;align-items:center;gap:clamp(24px,3vw,50px);font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.075em;text-transform:uppercase}
.nav a{position:relative;padding:12px 0;text-decoration:none}
.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:3px;background:var(--orange);transition:right .24s ease}
.nav a:hover:after,.nav a:focus-visible:after{right:0}
.form-back{display:flex;align-items:center;gap:13px;color:#000!important;font:600 13px var(--display);letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.form-back span{color:var(--orange);font-size:20px;line-height:1;transition:transform .2s ease}
.form-back:hover span,.form-back:focus-visible span{transform:translateX(-4px)}
.menu-toggle{display:none;border:0;background:transparent;font:600 14px var(--display);letter-spacing:.08em;text-transform:uppercase}

/* Approved splash logic: square modules -> wordmark square -> exact wordmark -> docking. */
.splash{position:fixed;inset:0;z-index:5000;overflow:hidden;background:transparent;color:#000;cursor:pointer;touch-action:manipulation}
.splash[hidden]{display:none}
.splash-paper{position:absolute;inset:0;background:var(--paper)}
.splash-matrix{position:absolute;z-index:2;left:50%;top:49%;width:min(66vw,950px);aspect-ratio:578.3/238.1;transform:translate(-50%,-50%);transform-origin:left top;will-change:transform}
.splash-matrix canvas{position:absolute;inset:0;width:100%;height:100%}
.splash-wordmark{position:absolute;left:0;top:85.720286%;width:100%;height:14.279714%;opacity:0;overflow:visible}
.splash-wordmark-square{position:absolute;left:49.991354%;top:85.720286%;width:5.879301%;height:14.279714%;background:var(--orange);transform:scaleX(.01);opacity:0}
.splash-skip{position:absolute;z-index:3;left:50%;bottom:32px;transform:translateX(-50%);color:rgba(0,0,0,.42);font:600 10px var(--display);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}

.scene{position:relative;min-height:900px;overflow:hidden;padding:110px var(--gutter);scroll-margin-top:20px;isolation:isolate}
.dark{background:#000;color:var(--paper)}
.paper{background:var(--paper);color:var(--ink)}
.brown{background:var(--deep);color:var(--paper)}
.content-wrap{position:relative;z-index:10;width:min(100%,var(--max));margin:0 auto}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--display);line-height:.98;letter-spacing:-.032em;text-wrap:pretty}
h1{font-size:clamp(42px,3.2vw,56px);text-transform:uppercase}
h2{font-size:clamp(35px,3.2vw,52px);text-transform:uppercase;margin-bottom:0}
h3{font-size:clamp(24px,2vw,34px);text-transform:uppercase}
.eyebrow{margin-bottom:20px;color:var(--orange);font:600 12px var(--display);letter-spacing:.17em;text-transform:uppercase}
.section-rail{position:absolute;z-index:12;left:var(--gutter);right:var(--gutter);top:52px;display:grid;grid-template-columns:auto auto 1fr auto;gap:16px;align-items:center;font:600 11px var(--display);letter-spacing:.15em;text-transform:uppercase}
.section-rail b{color:var(--orange)}
.section-rail i{height:1px;background:currentColor;opacity:.22}
.paper .section-rail{color:rgba(23,16,13,.72)}
.button{display:inline-flex;align-items:center;gap:18px;min-height:56px;padding:0 22px;background:var(--orange);color:#000;text-decoration:none;font:600 15px var(--display);letter-spacing:.035em}
.button>span{width:14px;height:14px;background:#000}
.button-secondary{border:1px solid rgba(247,236,222,.55);background:rgba(0,0,0,.36);color:var(--paper)}
.button-secondary:hover,.button-secondary:focus-visible{border-color:var(--orange);color:var(--orange)}
.section-copy-rich{display:grid;gap:14px;margin-top:clamp(32px,2.25vw,44px)}.section-copy-rich p{margin:0}.working-note{font-size:.9em;opacity:.78}

/* Shared living-machine layers. All geometry stays axis aligned. */
.motion-field{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.mass,.giant-square,.route-square,.morph-bar,.glow,.ghost-mark{position:absolute;display:block}
.mass{background:rgba(50,36,28,.25);box-shadow:26px 26px 0 rgba(36,26,20,.16);will-change:transform}
.route-square{width:26px;aspect-ratio:1;background:var(--orange);box-shadow:7px 7px 0 rgba(94,35,18,.66);will-change:transform}
.morph-bar{height:18px;background:var(--sand);opacity:.34;will-change:left,top,width,height}
.giant-square{aspect-ratio:1}
.glow{filter:blur(24px);opacity:.0;will-change:transform,opacity}
.ghost-mark{width:min(63vw,930px);aspect-ratio:578.3/170.1;opacity:.055;background-repeat:no-repeat;background-size:contain}
.ghost-mark svg{width:100%;height:100%}
.light-motion .mass{background:rgba(50,36,28,.09);box-shadow:24px 24px 0 rgba(36,26,20,.06)}

@keyframes drift-x{0%{transform:translateX(0)}100%{transform:translateX(9vw)}}
@keyframes drift-y{0%{transform:translateY(-4vh)}100%{transform:translateY(7vh)}}
@keyframes route-one{0%,7%{transform:translate(0,0)}30%,39%{transform:translate(16vw,0)}62%,71%{transform:translate(16vw,13vh)}93%,100%{transform:translate(2vw,13vh)}}
@keyframes route-two{0%,8%{transform:translate(0,0)}34%,42%{transform:translate(0,14vh)}67%,75%{transform:translate(-12vw,14vh)}100%{transform:translate(-12vw,2vh)}}
@keyframes morph-horizontal{0%,8%{width:2px;transform:translateX(0)}28%,54%{width:180px;transform:translateX(0)}72%,100%{width:2px;transform:translateX(20vw)}}
@keyframes morph-vertical{0%,8%{height:2px;transform:translateY(0)}30%,55%{height:160px;transform:translateY(0)}74%,100%{height:2px;transform:translateY(18vh)}}
@keyframes glow-horizontal{0%,8%{transform:translateX(-70vw);opacity:0}25%{opacity:.9}82%{opacity:.45}100%{transform:translateX(170vw);opacity:0}}
@keyframes glow-vertical{0%,10%{transform:translateY(-100vh);opacity:0}30%{opacity:.65}85%{opacity:.25}100%{transform:translateY(180vh);opacity:0}}

/* Hero */
.hero{height:calc(100svh - var(--header-h));min-height:900px;padding:0;background:#020101}
.hero-video,.hero-mobile-still{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video{filter:saturate(.94) sepia(.06) contrast(1.05) brightness(.82)}
.hero-mobile-still{display:none;background:url('assets/gallery/39.jpg') center/cover no-repeat}
.hero-edge{position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 45%,rgba(0,0,0,.12)),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.2))}
.hero-copy{position:absolute;z-index:12;left:var(--gutter);top:50%;width:min(860px,68vw);padding:42px 46px 44px;background:rgba(0,0,0,.78);transform:translateY(-50%);box-shadow:28px 28px 0 rgba(36,26,20,.18)}
.course-label{display:flex;align-items:center;gap:13px;margin-bottom:29px;color:var(--paper);font:600 clamp(15px,1.1vw,18px) var(--display);letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.course-label i{display:block;width:16px;height:16px;background:var(--orange);flex:none}
.hero-copy h1{margin-bottom:37px}
.hero-copy h1 span{display:block;color:var(--sand)}
.hero-copy-body{display:grid;gap:14px;max-width:700px;margin-bottom:38px}.hero-copy-body p{margin:0}
.hero-lead{font-size:20px;color:rgba(247,236,222,.86)}
.hero-detail{font-size:16px;line-height:1.5;color:rgba(247,236,222,.67)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-index{position:absolute;z-index:12;left:var(--gutter);top:42px;display:flex;gap:16px;font:600 11px var(--display);letter-spacing:.15em}.hero-index b{color:var(--orange)}
.hero-status{position:absolute;z-index:12;left:var(--gutter);right:var(--gutter);bottom:22px;display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(247,236,222,.3);color:rgba(247,236,222,.58);font:600 10px var(--display);letter-spacing:.14em}
.hero-motion{z-index:3}
.hero-motion .mass-a{left:-12%;top:8%;width:44vw;height:35%;background:rgba(36,26,20,.22);animation:drift-x 50s ease-in-out infinite alternate}
.hero-motion .mass-b{right:-15%;bottom:-6%;width:51vw;height:52%;background:rgba(50,36,28,.22);animation:drift-x 66s ease-in-out -18s infinite alternate-reverse}
.hero-motion .mass-c{left:52%;top:-18%;width:17vw;height:96%;background:rgba(247,236,222,.035);box-shadow:none;animation:drift-y 48s ease-in-out -7s infinite alternate}
.route-a{right:15%;top:18%;animation:route-one 18s cubic-bezier(.45,0,.2,1) -4s infinite}.route-b{right:7%;bottom:17%;width:18px;background:var(--sand);animation:route-two 22s cubic-bezier(.45,0,.2,1) -11s infinite}
.morph-a{right:11%;top:38%;animation:morph-horizontal 17s cubic-bezier(.42,0,.25,1) -5s infinite}
.glow-h-one{left:0;top:15%;width:46vw;height:7vh;background:linear-gradient(90deg,transparent,rgba(247,236,222,.16),rgba(241,90,41,.08),transparent);animation:glow-horizontal 21s ease-in-out -5s infinite}
.glow-v-one{right:19%;top:0;width:7vw;height:50vh;background:linear-gradient(180deg,transparent,rgba(247,236,222,.12),transparent);animation:glow-vertical 29s ease-in-out -16s infinite}
.orange-ghost{right:6%;top:21%;width:min(27vw,440px);background:rgba(241,90,41,.12);box-shadow:30px 30px 0 rgba(50,36,28,.2)}
.hero-motion .ghost-mark{right:-8%;top:8%;opacity:.075}

/* Principle */
.principle{min-height:0;padding:0}
.principle-layout{display:grid;grid-template-columns:1.03fr .97fr;gap:7vw;align-items:center;min-height:690px}
.principle-copy{padding-top:65px}
.principle-copy .section-copy-rich{max-width:650px}.principle-copy .section-copy-rich p{font-size:18px;color:rgba(23,16,13,.74)}
.principle-machine{position:relative;height:610px}
.depth-panel{position:absolute;background:rgba(190,173,156,.19);border:1px solid rgba(36,26,20,.11);box-shadow:24px 24px 0 rgba(36,26,20,.06)}
.depth-one{left:3%;top:9%;width:70%;height:68%}.depth-two{left:17%;top:22%;width:64%;height:63%;background:rgba(50,36,28,.08)}
.mass-cube{position:absolute;left:-5%;top:31%;width:45%;aspect-ratio:1;background:rgba(0,0,0,.84);box-shadow:24px 24px 0 rgba(50,36,28,.18)}
.piston-run{position:absolute;right:2%;top:29%;width:48%;display:grid;gap:16px}
.piston-run i{height:48px;background:rgba(50,36,28,.18);transform-origin:left center;animation:piston 5.6s ease-in-out infinite alternate}
.piston-run i:nth-child(2){animation-delay:-1.9s}.piston-run i:nth-child(3){animation-delay:-3.8s}
@keyframes piston{0%{transform:scaleX(.25)}100%{transform:scaleX(1)}}
.wave-four{position:absolute;right:8%;bottom:4%;height:150px;display:flex;align-items:flex-end;gap:12px}
.wave-four i{display:block;width:34px;height:118px;background:var(--brown);transform-origin:center bottom;animation:wave-four 5.8s ease-in-out infinite}
.wave-four i:nth-child(2){animation-delay:-4.35s}.wave-four i:nth-child(3){animation-delay:-2.9s}.wave-four i:nth-child(4){animation-delay:-1.45s}
@keyframes wave-four{0%,100%{transform:scaleY(.28)}50%{transform:scaleY(1)}}
.orange-core{position:absolute;left:41%;top:48%;width:64px;aspect-ratio:1;background:var(--orange);box-shadow:12px 12px 0 rgba(111,43,23,.48)}
.paper-mass-a{left:-8%;bottom:-8%;width:43vw;height:36%;animation:drift-x 58s ease-in-out infinite alternate}.paper-mass-b{right:-12%;top:13%;width:35vw;height:42%;animation:drift-y 46s ease-in-out infinite alternate}
.large-black-square{position:absolute;left:2%;top:39%;width:28vw;aspect-ratio:1;background:rgba(0,0,0,.07)}
.large-orange-square{position:absolute;right:4%;bottom:-8%;width:25vw;aspect-ratio:1;background:rgba(241,90,41,.1)}
.morph-b{left:34%;bottom:17%;background:var(--brown);animation:morph-horizontal 19s cubic-bezier(.42,0,.25,1) -9s infinite}.route-c{left:14%;top:17%;width:18px;animation:route-one 24s cubic-bezier(.45,0,.2,1) -12s infinite}.paper-glow{top:0;left:0;width:34vw;height:8vh;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);animation:glow-horizontal 25s ease-in-out -10s infinite}

/* Equal pillars */
.pillars{min-height:1180px}
.section-intro{max-width:780px;margin-bottom:70px}.offset-right{margin-left:24%}
.section-intro-copy{max-width:680px;margin:clamp(32px,2.25vw,44px) 0 0;color:rgba(247,236,222,.66);font-size:18px}
.pillar-equals{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.pillar-card{position:relative;min-height:500px;padding:44px;background:rgba(36,26,20,.83);border:1px solid rgba(247,236,222,.15);box-shadow:24px 24px 0 rgba(50,36,28,.23)}
.pillar-card:nth-child(2){background:rgba(50,36,28,.82)}
.pillar-number{position:absolute;right:30px;top:24px;color:rgba(247,236,222,.28);font:600 13px var(--display);letter-spacing:.13em}
.pillar-square{display:block;width:64px;aspect-ratio:1;margin-bottom:56px;background:var(--orange);box-shadow:10px 10px 0 rgba(98,35,17,.55)}
.pillar-card h3{max-width:590px;margin-bottom:32px}.pillar-card p{max-width:570px;margin:0;color:rgba(247,236,222,.7);font-size:17px}
.pillar-secondary{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:34px}.pillar-secondary span{padding:22px 0;border-top:1px solid rgba(247,236,222,.25);color:rgba(247,236,222,.58)}.pillar-secondary b{display:block;color:var(--paper);font:600 15px var(--display);letter-spacing:.08em;text-transform:uppercase}
.pillars-mass-a{left:-10%;top:10%;width:45vw;height:32%;animation:drift-x 63s ease-in-out -16s infinite alternate}.pillars-mass-b{right:-12%;bottom:3%;width:42vw;height:48%;background:rgba(247,236,222,.028);box-shadow:none;animation:drift-y 54s ease-in-out infinite alternate}.pillars-orange{left:-8%;bottom:-20%;width:38vw;background:rgba(241,90,41,.08)}.pillars-glow{left:0;top:54%;width:40vw;height:9vh;background:linear-gradient(90deg,transparent,rgba(247,236,222,.12),transparent);animation:glow-horizontal 27s ease-in-out -4s infinite}.route-d{right:10%;top:20%;animation:route-two 22s cubic-bezier(.45,0,.2,1) -6s infinite}.pillars-mark{right:-17%;top:4%;opacity:.045}

/* Program: one equal index of subjects, without groups or implied paths. */
.program{min-height:0}
.program-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:5vw;align-items:start;min-height:0}
.program-heading{align-self:start;padding-top:0}.program-heading h2{font-size:clamp(34px,2.5vw,42px)}.program-heading .section-copy-rich{max-width:560px;color:rgba(247,236,222,.68);font-size:17px}
.program-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-self:start;margin-top:0;border-top:1px solid rgba(247,236,222,.24);border-left:1px solid rgba(247,236,222,.11)}
.program-topic{position:relative;display:grid;grid-template-columns:28px 11px 1fr;gap:13px;align-items:start;min-height:98px;padding:20px 17px 18px;border-right:1px solid rgba(247,236,222,.11);border-bottom:1px solid rgba(247,236,222,.2);background:rgba(0,0,0,.08);clip-path:inset(0 100% 0 0);animation:program-reveal .64s cubic-bezier(.24,.76,.3,1) forwards;animation-delay:calc(var(--topic-index,0) * 26ms)}
.program-topic b{color:rgba(247,236,222,.42);font:600 10px/1.25 var(--display);letter-spacing:.08em}
.program-topic i{width:9px;aspect-ratio:1;margin-top:2px;background:var(--orange)}
.program-topic span{font:600 14px/1.24 var(--display);letter-spacing:.015em;text-transform:uppercase}
@keyframes program-reveal{to{clip-path:inset(0 0 0 0)}}
.program-graph{position:relative;height:650px}
.graph-line{position:absolute;background:rgba(247,236,222,.24)}.graph-line.horizontal{height:1px}.graph-line.vertical{width:1px}.h1{left:15%;right:13%;top:28%}.h2{left:12%;right:19%;bottom:25%}.v1{left:33%;top:18%;bottom:16%}.v2{right:29%;top:12%;bottom:21%}
.graph-core,.graph-node{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;background:#000;border:1px solid rgba(247,236,222,.2);box-shadow:14px 14px 0 rgba(0,0,0,.18)}
.graph-core{left:42%;top:38%;width:180px;aspect-ratio:1}.graph-core i{position:absolute;inset:25%;background:rgba(241,90,41,.16)}.graph-core b{position:relative;font:600 34px var(--display)}
.graph-node{width:218px;min-height:132px;padding:20px}.graph-node i{width:18px;aspect-ratio:1;margin-right:13px;background:var(--orange);flex:none}.graph-node span{font:600 19px/1.05 var(--display);text-transform:uppercase}.graph-node small{display:block;margin-top:9px;color:rgba(247,236,222,.55);font:500 11px/1.35 var(--text);letter-spacing:.01em;text-transform:none}
.n1{left:2%;top:13%}.n2{right:4%;top:6%}.n3{left:10%;bottom:16%}.n4{right:0;bottom:19%}.n5{left:35%;bottom:-1%}
.program-mass-a{left:-14%;top:5%;width:48vw;height:42%;animation:drift-x 55s ease-in-out infinite alternate}.program-mass-b{right:-7%;bottom:-8%;width:38vw;height:50%;background:rgba(0,0,0,.25);animation:drift-y 49s ease-in-out infinite alternate}.program-glow{left:0;top:22%;width:42vw;height:8vh;background:linear-gradient(90deg,transparent,rgba(247,236,222,.12),transparent);animation:glow-horizontal 23s ease-in-out -14s infinite}.morph-c{right:12%;top:53%;animation:morph-horizontal 18s cubic-bezier(.42,0,.25,1) -3s infinite}.route-e{left:7%;top:18%;animation:route-one 23s cubic-bezier(.45,0,.2,1) -4s infinite}.route-f{right:8%;bottom:10%;width:19px;background:var(--sand);animation:route-two 19s cubic-bezier(.45,0,.2,1) -8s infinite}

/* Projects */
.projects{min-height:0}
.projects-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:5vw;align-items:start;min-height:0}.projects-copy{align-self:start;padding-top:0}.projects-copy .section-copy-rich{max-width:580px;color:rgba(247,236,222,.7);font-size:17px}
.project-frame{position:relative;margin:0;aspect-ratio:16/10;overflow:visible}.project-frame>img{width:100%;height:100%;object-fit:cover;object-position:center;box-shadow:28px 28px 0 rgba(50,36,28,.56)}
.project-frame figcaption{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:12px;padding:13px 17px;background:rgba(0,0,0,.78);font:600 11px var(--display);letter-spacing:.1em;text-transform:uppercase}.project-frame figcaption i{width:13px;aspect-ratio:1;background:var(--orange)}
.projects-mass-a{left:-8%;bottom:-13%;width:46vw;height:52%;animation:drift-x 59s ease-in-out infinite alternate}.projects-mass-b{right:-12%;top:8%;width:52vw;height:30%;background:rgba(247,236,222,.035);box-shadow:none;animation:drift-y 44s ease-in-out infinite alternate}.project-orange{right:7%;bottom:-17%;width:31vw;background:rgba(241,90,41,.1);box-shadow:26px 26px 0 rgba(50,36,28,.2)}.projects-glow{left:0;top:15%;width:39vw;height:7vh;background:linear-gradient(90deg,transparent,rgba(247,236,222,.11),transparent);animation:glow-horizontal 28s ease-in-out -5s infinite}.route-g{right:18%;top:13%;animation:route-two 24s cubic-bezier(.45,0,.2,1) -10s infinite}.morph-d{left:10%;bottom:12%;animation:morph-horizontal 19s cubic-bezier(.42,0,.25,1) -8s infinite}

/* Split gallery */
.split{min-height:1060px;background:linear-gradient(90deg,#000 0 56%,var(--paper) 56% 100%);color:var(--paper)}
.dark-rail{color:var(--paper)}
.works-layout{padding-top:75px}.works-heading{width:49%;margin-bottom:44px}.works-heading h2{font-size:clamp(35px,3.2vw,52px)}
.gallery{position:relative;width:min(1130px,84%);margin-left:auto}
.project-gallery{width:100%;margin:0}
.gallery-images{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--deep);box-shadow:30px 30px 0 rgba(50,36,28,.2)}
.gallery-images>img{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .55s ease,filter .45s ease,transform .7s ease}.gallery-images>img.active{z-index:1;opacity:1}.gallery-images>img.incoming{z-index:2;opacity:1;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 42%,rgba(0,0,0,.82) 46%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.18) 54%,transparent 58%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 42%,rgba(0,0,0,.82) 46%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.18) 54%,transparent 58%,transparent 100%);-webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-position:100% 0;mask-position:100% 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;animation:gallery-soft-reveal 1.472s linear .48s both}
.media-hover>img,.media-hover img{filter:grayscale(1) sepia(.34) saturate(.5) brightness(.88) contrast(1.05)}
.media-hover:hover>img,.media-hover:hover img{filter:none;transform:scale(1.01)}
.gallery-arrow{position:absolute;z-index:8;top:50%;width:58px;height:58px;border:1px solid rgba(247,236,222,.64);background:rgba(0,0,0,.76);color:var(--paper);font:400 34px var(--display);transform:translateY(-50%);cursor:pointer}.gallery-arrow:hover{border-color:var(--orange);color:var(--orange)}.gallery-arrow.prev{left:14px}.gallery-arrow.next{right:14px}
.gallery-caption{position:absolute;z-index:7;left:0;bottom:0;display:flex;align-items:center;gap:13px;padding:15px 19px;background:rgba(0,0,0,.76);font:600 11px var(--display);letter-spacing:.11em;text-transform:uppercase}.gallery-caption i{width:13px;aspect-ratio:1;background:var(--orange)}
.gallery-meta{display:flex;justify-content:space-between;margin-top:22px;color:var(--ink);font:600 12px var(--display);letter-spacing:.14em;text-transform:uppercase}
.gallery-wipe{position:absolute;z-index:9;inset:0;display:block;overflow:hidden;background:transparent;pointer-events:none}.gallery-wipe .gds-wipe-canvas{position:absolute;inset:0;display:block}
@keyframes gallery-soft-reveal{from{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}
.works-mass-a{left:-9%;top:10%;width:42vw;height:42%;animation:drift-x 55s ease-in-out infinite alternate}.works-mass-b{right:-11%;bottom:-8%;width:36vw;height:46%;background:rgba(50,36,28,.08);box-shadow:none;animation:drift-y 49s ease-in-out infinite alternate}.works-glow{left:0;top:42%;width:38vw;height:7vh;background:linear-gradient(90deg,transparent,rgba(247,236,222,.12),transparent);animation:glow-horizontal 25s ease-in-out -8s infinite}.route-h{left:8%;bottom:14%;animation:route-one 20s cubic-bezier(.45,0,.2,1) -3s infinite}

/* Faculty: text state now; cards remain in markup only for future CMS states. */
.faculty{min-height:0}
.faculty-directory-entry{grid-column:1/-1;display:flex;justify-content:flex-start;margin-top:clamp(8px,1.2vw,18px)}
.faculty-directory-button{background:rgba(247,236,222,.62);border-color:rgba(23,16,13,.3);color:var(--ink)}
.faculty-directory-button:hover,.faculty-directory-button:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.faculty-head{display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:start;margin:0}.faculty-summary{display:grid;gap:14px;max-width:610px;padding-top:clamp(32px,2.25vw,44px)}.faculty-summary p{margin:0;color:rgba(23,16,13,.7)}
.faculty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.5vw,38px)}
.person{min-width:0}.portrait{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--brown)}.portrait img{width:100%;height:100%;object-fit:cover;transition:filter .4s ease,transform .7s ease}.portrait i{position:absolute;right:0;bottom:0;width:54px;aspect-ratio:1;background:var(--orange)}
.maciek .portrait img{object-position:50% 29%}.marcin .portrait img{object-position:50% 24%}.kacper .portrait img{object-position:50% 24%}
.person-copy{padding:22px 0 0}.person-copy h3{font-size:31px;margin-bottom:6px}.person-copy span{color:var(--brown);font:600 11px var(--display);letter-spacing:.12em;text-transform:uppercase}.person-copy p{margin-top:14px;color:rgba(23,16,13,.68);font-size:15px;line-height:1.48}.person-copy em{font-style:italic}
.faculty-more{display:grid;grid-template-columns:22px 1fr auto;gap:18px;align-items:center;margin-top:46px;padding-top:26px;border-top:1px solid rgba(23,16,13,.22)}.faculty-more>i{width:18px;aspect-ratio:1;background:var(--orange)}.faculty-more p{margin:0;max-width:850px}
.faculty-mass-a{left:-10%;bottom:-11%;width:46vw;height:40%;animation:drift-x 61s ease-in-out infinite alternate}.faculty-mass-b{right:-6%;top:6%;width:31vw;height:34%;animation:drift-y 49s ease-in-out infinite alternate}.faculty-glow{left:0;top:24%;width:36vw;height:7vh;background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);animation:glow-horizontal 27s ease-in-out -11s infinite}.route-i{right:12%;bottom:10%;animation:route-two 23s cubic-bezier(.45,0,.2,1) -13s infinite}.faculty-mark{right:-14%;top:10%;opacity:.032}

/* Details */
.details{min-height:0}.details-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:start;min-height:0;padding-top:0}.details-copy .section-copy-rich{max-width:570px;color:rgba(247,236,222,.67);font-size:17px}
.details-list{display:grid}.detail-item{border-top:1px solid rgba(247,236,222,.2)}.detail-item:last-child{border-bottom:1px solid rgba(247,236,222,.2)}.details-list button{display:grid;grid-template-columns:58px 1fr 36px;gap:20px;align-items:center;width:100%;min-height:94px;border:0;background:transparent;text-align:left;cursor:pointer}.details-list button:hover span,.details-list button:focus-visible span{color:var(--orange)}.details-list b{color:var(--orange);font:600 13px var(--display)}.details-list button span{font:600 clamp(21px,2vw,31px) var(--display);text-transform:uppercase}.details-list button i{font-style:normal;font:400 30px var(--display)}
.detail-panel{padding:2px 22px 30px 78px;color:rgba(247,236,222,.68);font-size:16px}.detail-panel[hidden]{display:none}.detail-panel p{margin:0 0 14px}.detail-panel p:last-child{margin-bottom:0}.detail-panel ul{margin:10px 0 18px;padding-left:20px}.detail-panel li+li{margin-top:8px}.detail-panel strong{color:var(--paper)}
.edition-price{display:grid;gap:3px;margin:0 0 18px;padding:18px;background:rgba(247,236,222,.07);border-left:4px solid var(--orange)}.edition-price span{color:rgba(247,236,222,.52);font:600 10px var(--display);letter-spacing:.15em;text-transform:uppercase}.edition-price strong{font:600 24px var(--display);text-transform:uppercase}.edition-price small{color:rgba(247,236,222,.66);font:500 15px/1.35 var(--text)}
.faq-panel dl{margin:0}.faq-panel dt{margin:20px 0 4px;color:var(--paper);font-weight:700}.faq-panel dt:first-child{margin-top:0}.faq-panel dd{margin:0}
.details-mass-a{left:-8%;top:14%;width:46vw;height:39%;animation:drift-x 58s ease-in-out infinite alternate}.details-mass-b{right:-12%;bottom:-9%;width:43vw;height:54%;background:rgba(247,236,222,.028);box-shadow:none;animation:drift-y 47s ease-in-out infinite alternate}.details-orange{right:8%;top:12%;width:28vw;background:rgba(241,90,41,.08)}.details-glow{left:52%;top:20%;width:36vw;height:7vh;background:linear-gradient(90deg,transparent,rgba(247,236,222,.11),transparent);animation:details-glow-window 25s ease-in-out -7s infinite alternate}.route-j{left:6%;bottom:10%;animation:route-one 22s cubic-bezier(.45,0,.2,1) -5s infinite}
@keyframes details-glow-window{0%{transform:translateX(-4vw);opacity:.12}45%{opacity:.68}100%{transform:translateX(10vw);opacity:.28}}

/* Application */
.application{min-height:0;display:flex;align-items:center;text-align:center}.application-copy{max-width:1020px}.application-copy .eyebrow{margin-bottom:24px}.application-copy h2{font-size:clamp(35px,3.2vw,52px)}.application-body{display:grid;gap:12px;max-width:800px;margin:clamp(32px,2.25vw,44px) auto 36px;color:rgba(247,236,222,.72);font-size:19px}.application-body p{margin:0}.application-copy .button{margin:auto}
.application-mass-a{left:-10%;top:-7%;width:44vw;height:46%;animation:drift-x 57s ease-in-out infinite alternate}.application-mass-b{right:-12%;bottom:-11%;width:50vw;height:55%;background:rgba(0,0,0,.25);animation:drift-y 51s ease-in-out infinite alternate}.application-orange{right:-5%;top:-13%;width:39vw;background:rgba(241,90,41,.09)}.application-glow{left:0;top:50%;width:42vw;height:8vh;background:linear-gradient(90deg,transparent,rgba(247,236,222,.14),transparent);animation:glow-horizontal 29s ease-in-out -14s infinite}.morph-e{left:8%;bottom:18%;animation:morph-horizontal 21s cubic-bezier(.42,0,.25,1) -10s infinite}

.site-footer{min-height:230px;padding:58px max(var(--gutter),64px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(32px,5vw,88px);background:var(--paper);color:var(--ink)}
.footer-logo{width:180px}
.site-footer p{margin:0;color:var(--brown);font:600 12px var(--display);letter-spacing:.12em;text-transform:uppercase}
.footer-meta{display:grid;gap:10px;justify-items:end;text-align:right}
.footer-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,2.4vw,34px);margin-left:auto}
.footer-links a,.footer-links button{position:relative;padding:8px 0;border:0;background:transparent;color:var(--ink);cursor:pointer;font:600 11px/1.2 var(--display);letter-spacing:.12em;text-decoration:none;text-transform:uppercase}
.footer-links a::after,.footer-links button::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--orange);transition:right .28s ease}
.footer-links a:hover::after,.footer-links a:focus-visible::after,.footer-links button:hover::after,.footer-links button:focus-visible::after{right:0}
.footer-links a:focus-visible,.footer-links button:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.hero-copy h1 strong,.button b{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
.person-bio-group>p{margin:0 0 1em;font:400 16px/1.56 var(--body);color:inherit}
.person-bio-group>p:last-child{margin-bottom:0}

/* Factory exists only behind the discrete control. No factory fragments appear in page sections. */
.factory-trigger{position:fixed;right:12px;bottom:10px;z-index:900;max-width:210px;border:0;padding:6px 7px;background:rgba(0,0,0,.36);color:rgba(247,236,222,.3);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font:600 7.5px/1.2 var(--display);letter-spacing:.06em;text-align:right;text-transform:uppercase;white-space:normal;cursor:pointer}.factory-trigger:hover,.factory-trigger:focus-visible{color:var(--orange);background:rgba(0,0,0,.78)}
.factory-overlay{position:fixed;inset:0;z-index:2400;display:none;overflow:auto;background:#000;color:var(--paper)}.factory-overlay.open{display:block}.factory-close{position:fixed;z-index:4;right:24px;top:24px;width:54px;height:54px;border:1px solid rgba(247,236,222,.38);background:#000;font-size:30px;cursor:pointer}.factory-placeholder{min-height:100%;display:grid;place-content:center;justify-items:center;padding:90px var(--gutter);text-align:center}.factory-placeholder>span{color:var(--orange);font:600 11px var(--display);letter-spacing:.15em}.factory-placeholder h2{margin:26px 0 18px}.factory-placeholder p{max-width:620px;color:rgba(247,236,222,.62)}.factory-lines{position:relative;width:min(780px,80vw);height:230px;margin-top:45px;border-top:1px solid rgba(247,236,222,.22);border-bottom:1px solid rgba(247,236,222,.22)}.factory-lines i,.factory-lines b{position:absolute;display:block;background:var(--paper)}.factory-lines i{width:18%;height:18px}.factory-lines i:nth-child(1){left:4%;top:38px}.factory-lines i:nth-child(2){left:29%;top:90px}.factory-lines i:nth-child(3){right:21%;top:42px}.factory-lines i:nth-child(4){right:2%;bottom:30px}.factory-lines b{width:48px;aspect-ratio:1}.factory-lines b:nth-of-type(1){left:18%;bottom:22px;background:var(--orange)}.factory-lines b:nth-of-type(2){left:53%;top:42px;background:var(--sand)}.factory-lines b:nth-of-type(3){right:15%;top:98px;background:var(--orange)}

/* ITERACJA 08 — dwa porównywalne warianty otwarcia, bez zmiany zatwierdzonego języka wizualnego. */
#gds-living-machine .hero-geometry-only{
  background:
    radial-gradient(circle at 77% 38%,rgba(175,145,117,.11),transparent 24%),
    linear-gradient(110deg,#000 0 43%,#090503 70%,#000 100%);
}
#gds-living-machine .hero-geometry-only .hero-edge,
#gds-living-machine .hero-machine .hero-edge{
  background:linear-gradient(90deg,rgba(0,0,0,.44),transparent 54%,rgba(0,0,0,.18)),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18));
}
#gds-living-machine .hero-copy h1{margin:0 0 34px}
#gds-living-machine .hero-copy-body{display:grid;gap:9px;max-width:720px;margin:0 0 28px}
#gds-living-machine .hero-copy-body .hero-lead,
#gds-living-machine .hero-copy-body .hero-detail{
  margin:0;color:rgba(247,236,222,.79);font-family:var(--text);font-size:17px;font-weight:400;line-height:1.5;letter-spacing:0;
}
#gds-living-machine .hero-copy-body .hero-detail{color:rgba(247,236,222,.68)}
#gds-living-machine .hero-actions{
  display:grid;grid-template-columns:max-content minmax(260px,1fr);gap:26px;align-items:end;padding-top:21px;border-top:1px solid rgba(247,236,222,.17);
}
.meeting-action{display:grid;gap:7px;justify-items:start}
.meeting-label{color:rgba(247,236,222,.58);font:600 10px/1 var(--display);letter-spacing:.145em;text-transform:uppercase}
.meeting-note{max-width:520px;margin:0;color:rgba(247,236,222,.56);font-size:14px;line-height:1.42}
.meeting-action .button{min-height:50px;border:1px solid rgba(247,236,222,.5);background:rgba(0,0,0,.28);color:var(--paper)}
.meeting-action .button>span{width:12px;height:12px;background:var(--orange)}
.meeting-action .button:hover,.meeting-action .button:focus-visible{border-color:var(--orange);color:var(--orange)}
.hero-next{display:inline-flex;align-items:center;gap:17px;width:max-content;min-height:56px;margin-top:32px;padding:0 22px;border:1px solid var(--orange);background:rgba(0,0,0,.34);color:var(--paper);font:600 15px/1.2 var(--display);letter-spacing:.055em;text-decoration:none;text-transform:uppercase}
.hero-next:before{content:"";display:block;width:14px;aspect-ratio:1;background:var(--orange);flex:none}
.hero-next span{color:var(--orange);font-size:22px;transition:transform .2s ease}
.hero-next:hover span,.hero-next:focus-visible span{transform:translateY(3px)}

/* Wariant A: film jest tłem tej samej sekcji 02, nie osobnym pasem ani kolejną sekcją. */
.principle-with-film{min-height:1040px;padding:0;background:#000;color:var(--paper)}
.principle-film-background{position:absolute;z-index:0;inset:0;overflow:hidden;background:url('assets/gallery/39.jpg') center/cover no-repeat}
.principle-film-background video{width:100%;height:100%;object-fit:cover;filter:saturate(.82) sepia(.08) contrast(1.06) brightness(.67)}
.principle-film-background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.45) 42%,rgba(0,0,0,.78) 100%),linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.46))}
.principle-paper-stage{position:relative;z-index:2;min-height:900px;overflow:hidden;padding:110px var(--gutter);isolation:isolate}
.principle-paper-stage .section-rail{left:var(--gutter);right:var(--gutter)}
.principle-with-film .section-rail{color:rgba(247,236,222,.72)}
.principle-with-film .principle-machine{opacity:.78}
.principle-with-film .principle-copy{align-self:center;padding:40px 42px 44px;background:rgba(0,0,0,.76);box-shadow:28px 28px 0 rgba(36,26,20,.28)}
.principle-with-film .principle-copy h2{margin-bottom:44px}
.principle-with-film .principle-copy .section-copy-rich p{color:rgba(247,236,222,.78)}
.principle-label{margin-bottom:29px}

/* Active section 02 returns to the approved Brąz i papier treatment. */
.principle.paper .principle-paper-stage{min-height:900px;color:var(--ink)}
.principle.paper .principle-label{color:var(--ink)}
.principle.paper .principle-copy .section-copy-rich p{color:rgba(23,16,13,.74)}

.principle-film-caption,.machine-film-caption{position:absolute;left:13px;bottom:13px;display:flex;align-items:center;gap:11px;padding:12px 15px;background:rgba(0,0,0,.8);color:var(--paper);font:600 10px/1.2 var(--display);letter-spacing:.1em;text-transform:uppercase}
.principle-film-caption i,.machine-film-caption i{display:block;width:12px;aspect-ratio:1;background:var(--orange)}

/* Wariant B: film działa jak ekran osadzony w mechanizmie. */
.comparison-header{position:relative;z-index:1001}
.hero-machine{height:auto;min-height:1060px;background:radial-gradient(circle at 76% 37%,rgba(175,145,117,.12),transparent 25%),#000}
#gds-living-machine .hero-machine .hero-world{opacity:.5}
#gds-living-machine .hero-machine .hero-copy{left:var(--gutter);width:min(690px,44vw);padding:38px 40px 40px}
.machine-video{position:absolute;z-index:11;right:2.5%;top:33%;width:min(46vw,780px);aspect-ratio:16/9}
.machine-screen{position:absolute;z-index:3;inset:18px;overflow:hidden;background:#000;border:1px solid rgba(247,236,222,.22);box-shadow:0 0 42px rgba(190,173,156,.12)}
.machine-screen video{width:100%;height:100%;object-fit:cover;filter:saturate(.92) sepia(.06) contrast(1.06) brightness(.84)}
.machine-video-cover{position:absolute;z-index:2;inset:0;overflow:hidden;background:radial-gradient(circle at 72% 34%,rgba(175,145,117,.12),transparent 31%),linear-gradient(110deg,#020101 0 46%,#120b07 75%,#000 100%);opacity:1;transition:opacity .55s cubic-bezier(.4,0,.25,1);pointer-events:none}
.machine-video-cover.is-hidden{opacity:0}
#gds-living-machine .machine-video-cover .machine-cover-monument{z-index:1;right:5%;top:50%;width:90%;opacity:.64;transform:translateY(-50%)}
.machine-video-cover .hm-bar{background:rgba(247,236,222,.17)}
.machine-video-cover .hm-square{background:rgba(247,236,222,.23)}
.machine-video-cover .hm-s1,.machine-video-cover .hm-s4{background:rgba(190,173,156,.27)}
.machine-video-cover .hm-s3,.machine-video-cover .hm-s6{background:rgba(241,90,41,.86)}

/* Plansza oczekiwania korzysta z tego samego motywu co tło hero, ale jej
   geometria pozostaje związana z ekranem filmu. Późniejsze reguły położenia
   głównego znaku hero nie mogą wypchnąć tej kopii poza kadr ekranu. */
#gds-living-machine .hero-comparison .machine-video-cover .machine-cover-monument{
  z-index:1;
  right:5%!important;
  top:50%!important;
  width:90%!important;
  opacity:.78!important;
  transform:translateY(-50%)!important;
}
#gds-living-machine .machine-video-cover .hm-bar{background:rgba(247,236,222,.31)}
#gds-living-machine .machine-video-cover .hm-square{background:rgba(247,236,222,.39)}
#gds-living-machine .machine-video-cover .hm-s1,
#gds-living-machine .machine-video-cover .hm-s4{background:rgba(190,173,156,.48)}
#gds-living-machine .machine-video-cover .hm-s2,
#gds-living-machine .machine-video-cover .hm-s5,
#gds-living-machine .machine-video-cover .hm-s7{background:rgba(0,0,0,.88)}
#gds-living-machine .machine-video-cover .hm-s3,
#gds-living-machine .machine-video-cover .hm-s6{background:rgba(241,90,41,.96)}
.machine-scan{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0 48%,rgba(247,236,222,.08) 50%,transparent 52%);background-size:100% 9px;opacity:.2;pointer-events:none}
.machine-film-caption{left:0;bottom:0}
.machine-casing{position:absolute;display:block}
.casing-back{z-index:1;inset:-26px 26px 26px -26px;background:rgba(50,36,28,.78);box-shadow:24px 24px 0 rgba(36,26,20,.65)}
.casing-side{z-index:2;right:-42px;top:11%;width:42px;height:78%;background:rgba(175,145,117,.26)}
.casing-orange{z-index:4;right:-29px;bottom:-29px;width:58px;aspect-ratio:1;background:var(--orange);box-shadow:10px 10px 0 rgba(87,29,12,.55)}
.casing-control{z-index:4;left:-17px;top:-17px;width:34px;aspect-ratio:1;background:var(--paper);opacity:.7}

/* Dyskretny dostęp do ukrytej Fabryki: najmniejszy krój interfejsu, jeden wiersz. */
#gds-living-machine .factory-trigger{
  max-width:none;padding:5px 6px;background:rgba(0,0,0,.26);color:rgba(247,236,222,.29);font-family:var(--display);font-size:7.5px;font-weight:600;line-height:1.1;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;
}
#gds-living-machine .factory-trigger:hover,#gds-living-machine .factory-trigger:focus-visible{background:rgba(0,0,0,.62);color:rgba(247,236,222,.74)}

@media(max-width:1120px){
  :root{--header-h:138px}
  .site-header{padding-left:42px;padding-right:42px}.header-logo{width:154px}.menu-toggle{display:block}.nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:18px;padding:24px 42px 34px;background:var(--paper);border-top:1px solid rgba(23,16,13,.15);box-shadow:0 18px 30px rgba(0,0,0,.14);font-size:13px}.nav.open{display:flex}.nav a{padding:9px 0}
  .scene{min-height:820px;padding-top:100px;padding-bottom:100px}
  .principle{min-height:0;padding:0}
  .principle-paper-stage{padding-top:100px;padding-bottom:100px}
  .program,.projects,.faculty,.details,.application{min-height:0}
  .hero{min-height:900px}.hero-copy{width:min(800px,76vw)}
  .principle-layout{grid-template-columns:.92fr 1.08fr}.principle-machine{height:540px}
  .offset-right{margin-left:12%}
  .program-layout{grid-template-columns:.68fr 1.32fr}.program-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projects-layout{grid-template-columns:.75fr 1.25fr}
  .split{background:linear-gradient(180deg,#000 0 66%,var(--paper) 66% 100%)}.works-heading{width:65%}.gallery{width:90%}
}

@media(max-width:940px){
  :root{--header-h:128px}
  .site-header{padding:0 34px}.header-logo{width:148px}.menu-toggle{display:block}.nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;padding:24px 34px 34px;background:var(--paper);border-top:1px solid rgba(23,16,13,.15)}.nav.open{display:flex}.nav a{padding:9px 0}
  .hero{min-height:980px}.hero-copy{width:min(760px,84vw);left:5vw}.hero-motion .ghost-mark{width:84vw}
  .principle-layout{grid-template-columns:1fr;gap:25px}.principle-copy{padding-top:0;max-width:760px}.principle-machine{height:480px;width:min(720px,100%)}
  .pillar-equals{gap:22px}.pillar-card{padding:34px;min-height:500px}.pillar-card h3{font-size:34px}
  .program-layout{grid-template-columns:1fr}.program-heading{padding-top:0;max-width:760px}.program-index{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}
  .projects-layout{grid-template-columns:1fr}.projects-copy{padding-top:0;max-width:760px}.project-frame{width:88%;margin-left:auto}
  .faculty-head{grid-template-columns:1fr}.faculty-summary{max-width:740px}.person-copy h3{font-size:27px}.person-copy p{font-size:14px}
  .details-layout{grid-template-columns:1fr}.details-copy{max-width:780px}
}

@media(max-width:680px){
  :root{--header-h:116px;--gutter:22px}
  .form-back{font-size:10px}.form-back span{font-size:16px}
  body{font-size:16px}.site-header{padding:0 26px}.header-logo{width:136px}
  .splash-matrix{width:92vw;top:46%}.splash-skip{bottom:22px;font-size:9px;letter-spacing:.11em}
  .scene{min-height:auto;padding-top:92px;padding-bottom:92px}.section-rail{top:30px;grid-template-columns:auto auto 1fr}.section-rail span:last-child{display:none}
  .principle{min-height:0;padding:0}
  h1{font-size:clamp(30px,8vw,38px)}h2{font-size:clamp(28px,7.4vw,36px)}h3{font-size:clamp(23px,6.4vw,28px)}
  .hero{height:auto;min-height:1030px;padding:0 0 44px}.hero-video{display:none}.hero-mobile-still{display:block;filter:saturate(.9) brightness(.68)}.hero-edge{background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.54) 35%,#000 82%)}
  .hero-copy{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:auto;margin:290px 22px 0;padding:28px 23px 30px;transform:none}.course-label{font-size:16px;line-height:1.25}.hero-copy h1{margin-bottom:30px}.hero-lead{font-size:17px}.hero-detail{font-size:15px}.hero-actions{display:grid}.hero-copy .button{width:100%;justify-content:center}.hero-index,.hero-status{display:none}.orange-ghost{right:-31%;top:8%;width:78vw}
  .principle-machine{height:390px}.mass-cube{width:42%}.piston-run{right:0}.wave-four{right:1%;height:120px}.wave-four i{width:24px}.orange-core{width:52px}
  .offset-right{margin-left:0}.section-intro{margin-bottom:38px}.pillar-equals,.pillar-secondary{grid-template-columns:1fr}.pillar-card{min-height:0}.pillar-secondary{gap:0}
  .program-heading h2{font-size:27px}.program-index{grid-template-columns:1fr;margin-top:28px}.program-topic{min-height:76px;padding:17px 14px}.program-topic span{font-size:13px}
  .projects-layout{gap:40px}.project-frame{width:100%;aspect-ratio:16/11}.project-frame>img{filter:none}
  .split{background:linear-gradient(180deg,#000 0 72%,var(--paper) 72% 100%)}.works-layout{padding-top:40px}.works-heading{width:100%}.gallery{width:100%}.gallery-images{aspect-ratio:16/10}.gallery-images>img{filter:none}.gallery-arrow{width:48px;height:48px}.gallery-meta{min-height:110px;padding-top:6px}
  .faculty-head{margin-top:0}.faculty-grid{grid-template-columns:1fr;gap:46px}.person{display:block}.person-copy{padding:20px 0 0}.portrait{aspect-ratio:1}.portrait img{filter:none}.portrait i{width:36px}.faculty-more{grid-template-columns:18px 1fr}
  .details-layout{padding-top:0}.details-list button{grid-template-columns:40px 1fr 24px}.details-list button span{font-size:21px}.detail-panel{padding-left:40px;padding-right:4px}
  .application-body{font-size:17px}.application-copy .button{width:100%;justify-content:center}.application-orange{width:78vw;right:-31vw;top:-12vw}
  .site-footer{padding:44px 26px;grid-template-columns:1fr;align-items:start;gap:25px}.footer-logo{width:145px}.footer-meta{justify-items:start;text-align:left}.footer-links{justify-content:flex-start;flex-wrap:wrap;margin:0}.factory-trigger{right:9px;max-width:144px;padding:6px 7px;font-size:7px;letter-spacing:.08em}
}

@media(min-width:941px){
  .faculty>.content-wrap{
    display:grid;grid-template-columns:1.05fr .95fr;column-gap:7vw;align-items:start
  }
  .faculty .faculty-head{display:contents}
  .faculty .faculty-head>div:first-child{grid-column:1;grid-row:1}
  .faculty .faculty-summary{grid-column:2;grid-row:1 / span 2;padding-top:clamp(32px,2.25vw,44px)}
  .faculty .faculty-showcase{
    grid-column:1;grid-row:2;grid-template-rows:minmax(380px,39vw) auto;
    margin-top:clamp(42px,4vw,64px)
  }
  .faculty .faculty-showcase-images>span:nth-child(n+4){display:none}
}

/* ITERACJA 66 — końcowa warstwa kaskady dla podstrony wykładowców. */
.faculty-directory-page .faculty-directory-hero{min-height:0;padding-bottom:0}
.faculty-directory-page .faculty-directory-hero .content-wrap{width:min(1680px,calc(100% - 2 * var(--gutter)))}
.faculty-directory-page .faculty-directory-title{max-width:1120px}
.faculty-directory-page .faculty-directory-intro{max-width:760px}
.faculty-directory-page .faculty-directory-stage{position:relative;z-index:3;display:flex;height:clamp(340px,34vw,570px);margin-top:clamp(48px,5vw,82px);overflow:hidden;background:#0a0807}
.faculty-directory-page .faculty-directory-stage>a{position:relative;flex:1 1 0;min-width:0;overflow:hidden;color:var(--paper);text-decoration:none;transition:flex .65s cubic-bezier(.22,.72,.18,1)}
.faculty-directory-page .faculty-directory-stage>a+a{border-left:2px solid rgba(247,236,222,.13)}
.faculty-directory-page .faculty-directory-stage img{width:100%;height:100%;object-fit:cover;object-position:50% 26%;filter:grayscale(1) sepia(.34) saturate(.45) brightness(.62) contrast(1.12);transform:scale(1.05);transition:filter .5s ease,transform .75s cubic-bezier(.22,.72,.18,1)}
.faculty-directory-page .faculty-directory-stage>a:nth-child(4) img{object-position:50% 34%}
.faculty-directory-page .faculty-directory-stage>a:nth-child(5) img{object-position:50% 32%}
.faculty-directory-page .faculty-directory-stage>a:nth-child(6) img{object-position:50% 22%}
.faculty-directory-page .faculty-directory-stage:hover>a{flex:.82 1 0}
.faculty-directory-page .faculty-directory-stage>a:hover,.faculty-directory-page .faculty-directory-stage>a:focus-visible{flex:1.8 1 0}
.faculty-directory-page .faculty-directory-stage>a:hover img,.faculty-directory-page .faculty-directory-stage>a:focus-visible img{filter:grayscale(.15) sepia(.08) saturate(.9) brightness(.8) contrast(1.04);transform:scale(1)}
.faculty-directory-page .faculty-directory-stage span{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;gap:4px;padding:72px 17px 18px;background:linear-gradient(transparent,rgba(0,0,0,.9));white-space:nowrap}
.faculty-directory-page .faculty-directory-stage b{font:600 clamp(14px,1.3vw,20px) var(--display);text-transform:uppercase}
.faculty-directory-page .faculty-directory-stage small{overflow:hidden;color:rgba(247,236,222,.67);font:600 9px var(--display);letter-spacing:.09em;text-overflow:ellipsis;text-transform:uppercase}
.faculty-directory-page .faculty-directory-list{padding:0;background:var(--paper)}
.faculty-directory-page .faculty-directory-list .content-wrap{width:min(1480px,calc(100% - 2 * var(--gutter)))}
.faculty-directory-page .faculty-directory-grid{display:block;counter-reset:faculty-profile}
.faculty-directory-page .faculty-directory-card{position:relative;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:clamp(54px,7vw,120px);align-items:center;min-height:clamp(560px,52vw,760px);margin:0;padding:clamp(78px,8vw,132px) clamp(24px,3vw,52px);border:0;counter-increment:faculty-profile;scroll-margin-top:28px}
.faculty-directory-page .faculty-directory-card:nth-child(even){grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);background:rgba(50,36,28,.045)}
.faculty-directory-page .faculty-directory-card:nth-child(even) .portrait{grid-column:2;grid-row:1}
.faculty-directory-page .faculty-directory-card:nth-child(even) .person-copy{grid-column:1;grid-row:1;padding-left:0;padding-right:clamp(12px,2vw,34px)}
.faculty-directory-page .faculty-directory-card::before{content:"0" counter(faculty-profile);position:absolute;right:clamp(20px,3vw,54px);top:clamp(44px,5vw,78px);color:rgba(50,36,28,.085);font:600 clamp(74px,9vw,150px)/.8 var(--display);letter-spacing:-.06em}
.faculty-directory-page .faculty-directory-card .portrait{z-index:1;aspect-ratio:4/5;box-shadow:clamp(16px,2vw,30px) clamp(16px,2vw,30px) 0 rgba(50,36,28,.14)}
.faculty-directory-page .faculty-directory-card .portrait i{width:clamp(42px,4vw,68px)}
.faculty-directory-page .faculty-directory-card .person-copy{position:relative;z-index:2;padding:0 0 0 clamp(12px,2vw,34px)}
.faculty-directory-page .faculty-directory-card .person-copy h2{max-width:760px;margin:0 0 20px;font-size:clamp(44px,5.2vw,82px);line-height:.9}
.faculty-directory-page .faculty-directory-card .person-role{margin-bottom:clamp(26px,3vw,42px)}
.faculty-directory-page .faculty-directory-card .person-role strong{font-size:clamp(13px,1vw,16px)}
.faculty-directory-page .faculty-directory-card .person-role span{font-size:11px}
.faculty-directory-page .faculty-directory-card .person-bio{max-width:720px;font-size:clamp(16px,1.15vw,19px);line-height:1.58}
.faculty-directory-page .faculty-directory-card .person-projects{max-width:720px;margin-top:clamp(28px,3vw,46px)}
.faculty-directory-page .faculty-directory-card.artur .portrait img{object-position:50% 34%}
.faculty-directory-page .faculty-directory-card.michal .portrait img{object-position:50% 34%}
.faculty-directory-page .faculty-directory-card.aneta .portrait img{object-position:50% 22%}
.faculty-directory-page .faculty-directory-return{justify-content:center;margin:0;padding:clamp(64px,7vw,104px) 0}
.faculty-directory-page .faculty-directory-return .button{min-width:min(420px,100%);justify-content:center}
@media(max-width:940px){
  .faculty-directory-page .faculty-directory-stage{height:440px;display:grid;grid-template-columns:repeat(3,1fr)}
  .faculty-directory-page .faculty-directory-stage>a{min-height:220px}
  .faculty-directory-page .faculty-directory-stage:hover>a,.faculty-directory-page .faculty-directory-stage>a:hover,.faculty-directory-page .faculty-directory-stage>a:focus-visible{flex:1}
  .faculty-directory-page .faculty-directory-card,.faculty-directory-page .faculty-directory-card:nth-child(even){grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:clamp(30px,5vw,60px);min-height:0}
  .faculty-directory-page .faculty-directory-card:nth-child(even) .portrait{grid-column:1}
  .faculty-directory-page .faculty-directory-card:nth-child(even) .person-copy{grid-column:2;padding-right:0;padding-left:clamp(12px,2vw,34px)}
  .faculty-directory-page .faculty-directory-card .person-copy h2{font-size:clamp(38px,6vw,62px)}
}
@media(max-width:680px){
  .faculty-directory-page .faculty-directory-stage{height:auto;grid-template-columns:repeat(2,1fr)}
  .faculty-directory-page .faculty-directory-stage>a{min-height:240px}
  .faculty-directory-page .faculty-directory-card,.faculty-directory-page .faculty-directory-card:nth-child(even){display:grid;grid-template-columns:1fr;gap:30px;padding:64px 0}
  .faculty-directory-page .faculty-directory-card .portrait,.faculty-directory-page .faculty-directory-card:nth-child(even) .portrait{grid-column:1;grid-row:1;max-width:none}
  .faculty-directory-page .faculty-directory-card .person-copy,.faculty-directory-page .faculty-directory-card:nth-child(even) .person-copy{grid-column:1;grid-row:2;padding:0 4px}
  .faculty-directory-page .faculty-directory-card::before{top:52px;right:8px}
  .faculty-directory-page .faculty-directory-card .person-copy h2{font-size:clamp(40px,12vw,62px)}
}



@media(hover:none),(pointer:coarse){
  .media-hover>img,.media-hover img{filter:none}
  .media-hover:hover>img,.media-hover:hover img{transform:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.splash{display:none}.mass,.route-square,.morph-bar,.glow,.piston-run i,.wave-four i{animation:none!important}.hero-video{display:none}.hero-mobile-still{display:block}.gallery-images>img,.portrait img,.project-frame>img{transition:none}
}

/*
  ITERACJA 05
  Poniższe warstwy nie są nowym językiem wizualnym. Korzystają bezpośrednio
  z modułów i animacji przeniesionych z zatwierdzonego
  gds-living-machine-iteration-2.html (approved-base.css).
*/
body#gds-living-machine{width:100%;overflow-x:hidden;overflow-y:auto}

/* Zatwierdzony organizm hero pozostaje pomiędzy materiałem filmowym i treścią. */
#gds-living-machine .hero .hero-world{z-index:3;opacity:.78}
#gds-living-machine .hero .hero-monument{right:1%;top:5%;width:55%;opacity:.6}
#gds-living-machine .hero .hero-core{right:4%;top:30%;opacity:.82}
#gds-living-machine .hero .hero-carriage{right:8%;top:49%}
#gds-living-machine .hero .hero-mass{right:31%;top:49%}
#gds-living-machine .hero .hero-morph{right:9%;top:72%}
#gds-living-machine .hero .hero-hatch{right:18%;bottom:9%}
#gds-living-machine .hero .dev-peek{right:27%;bottom:12%}
#gds-living-machine .hero .hero-copy{z-index:20}
#gds-living-machine .hero .hero-index,#gds-living-machine .hero .hero-status{z-index:21}

/* Głębia bez ukośnych kart i perspektywicznych trapezów. */
#gds-living-machine .core-side,#gds-living-machine .portal-depth.side{display:none}
#gds-living-machine .core-face,#gds-living-machine .core-shadow,
#gds-living-machine .glass-shield,#gds-living-machine .window-shield{transform:none}

/* Oryginalny, zatwierdzony mechanizm sekcji 02 osadzony w lewej kolumnie. */
#gds-living-machine .approved-reaction-stage{position:relative;inset:auto;overflow:hidden;perspective:1100px;transform-style:preserve-3d}
#gds-living-machine .approved-reaction-stage .rm-a{right:-17%;top:-4%;width:440px}
#gds-living-machine .approved-reaction-stage .rm-b{left:-18%;bottom:-27%;width:510px}
#gds-living-machine .approved-reaction-stage .rm-c{right:19%;top:5%;width:240px}
#gds-living-machine .approved-reaction-stage .rs-black{left:5%;top:17%;width:188px}
#gds-living-machine .approved-reaction-stage .rs-orange{right:0;bottom:7%;width:212px}
#gds-living-machine .approved-reaction-stage .rs-brown{left:40%;bottom:2%;width:138px}
#gds-living-machine .approved-reaction-stage .reaction-trigger{left:5%;top:34%}
#gds-living-machine .approved-reaction-stage .impact-glow{left:calc(5% + 241px);top:calc(34% - 9px)}
#gds-living-machine .approved-reaction-stage .reciprocator-bank{right:4%;top:15%;width:300px}
#gds-living-machine .approved-reaction-stage .reciprocator i{animation-name:reciprocate-05}
@keyframes reciprocate-05{to{transform:translateX(236px)}}
#gds-living-machine .approved-reaction-stage .mechanical-wave{right:6%;top:59%}
#gds-living-machine .approved-reaction-stage .edge-morph{left:7%;top:67%}
#gds-living-machine .approved-reaction-stage .mass-path-square{left:14%;bottom:12%}
#gds-living-machine .approved-reaction-stage .maintenance-bay{left:43%;bottom:6%}
#gds-living-machine .approved-reaction-stage .foreground-gate{right:-2%}

/* Delikatne rysunki urządzeń są placeholderami habitatów, nie pełną Fabryką. */
#gds-living-machine .factory-fragment{z-index:2;transform:none!important;opacity:.09}
#gds-living-machine .principle .fragment-belt{left:-2%;bottom:2%;width:34%;color:#000;opacity:.11}
#gds-living-machine .projects .fragment-vat{right:1%;bottom:-4%;width:230px;color:var(--paper);opacity:.105}
#gds-living-machine .works .fragment-tower{right:1%;top:17%;width:148px;color:#000;opacity:.08}

/* Sekcja 03 odzyskuje pełne, zatwierdzone środowisko ruchu zamiast jednego obiektu. */
#gds-living-machine .approved-depth-field{inset:0;opacity:.82}
#gds-living-machine .pillars .dw-one{left:-17%;top:3%;width:650px}
#gds-living-machine .pillars .dw-two{right:-16%;bottom:-28%;width:650px}
#gds-living-machine .pillars .dw-three{left:52%;top:-12%;width:20%;height:124%}
#gds-living-machine .pillars .ds-black{right:7%;top:2%;width:330px}
#gds-living-machine .pillars .ds-orange{right:-5%;top:17%;width:370px}
#gds-living-machine .pillars .ds-paper{left:3%;bottom:2%;width:210px}
#gds-living-machine .pillars .depth-born{right:16%;top:37%}
#gds-living-machine .pillars .depth-runner{right:46%;bottom:9%}
#gds-living-machine .pillars .service-niche{right:3%;bottom:5%;opacity:.72}
#gds-living-machine .pillars .soft-reflection{right:4%;top:12%;width:52%;height:58%}
#gds-living-machine .pillars .orange-aperture{right:12%;top:28%}
#gds-living-machine .pillars .aperture-beam{right:calc(12% + 54px);top:calc(28% + 21px)}
#gds-living-machine .pillars .depth-machine-field{opacity:.72}
#gds-living-machine .pillars .pillars-mark{right:-17%;top:4%;opacity:.055}

/* Dodatkowe warstwy, zawsze na osiach pion/poziom. */
.scene-square,.scene-bar{position:absolute;display:block;will-change:transform}
.scene-square{aspect-ratio:1}
.scene-bar{transform:none}
.scene-square.sq-a{left:-7%;top:13%;width:28vw;background:rgba(50,36,28,.2);animation:scene-drift-a 57s ease-in-out infinite alternate}
.scene-square.sq-b{right:6%;bottom:-13%;width:34vw;background:rgba(247,236,222,.035);animation:scene-drift-b 69s ease-in-out -17s infinite alternate}
.scene-square.sq-c{right:17%;top:20%;width:64px;background:var(--orange);opacity:.72;box-shadow:13px 14px 0 rgba(70,26,13,.34);animation:scene-route 19s cubic-bezier(.26,.7,.3,1) -5s infinite}
.scene-square.sq-d{left:43%;bottom:9%;width:150px;background:rgba(175,145,117,.16);animation:scene-drift-c 37s ease-in-out -9s infinite alternate}
.scene-bar.bar-a{left:5%;top:64%;width:240px;height:42px;background:rgba(247,236,222,.11);clip-path:inset(0 99.4% 0 0);animation:scene-born 18s cubic-bezier(.28,.02,.3,1) -4s infinite}
.scene-bar.bar-b{right:4%;top:11%;width:16vw;height:48vh;background:rgba(0,0,0,.31);animation:scene-drift-b 51s ease-in-out -12s infinite alternate}
.scene-bar.bar-c{left:58%;top:-8%;width:11vw;height:116%;background:rgba(190,173,156,.055);animation:scene-drift-c 61s ease-in-out infinite alternate}
@keyframes scene-drift-a{to{transform:translate(8vw,3vh)}}
@keyframes scene-drift-b{to{transform:translate(-7vw,-3vh)}}
@keyframes scene-drift-c{to{transform:translate(3vw,6vh)}}
@keyframes scene-route{0%,7%{transform:translate(0,0)}28%,38%{transform:translate(13vw,0)}57%,67%{transform:translate(13vw,15vh)}88%,100%{transform:translate(2vw,15vh)}}
@keyframes scene-born{0%,8%{clip-path:inset(0 99.4% 0 0);transform:translateX(-50px);opacity:0}14%{opacity:1}33%,55%{clip-path:inset(0 0 0 0);transform:translateX(-50px)}70%{clip-path:inset(0 0 0 0);transform:translateX(80px)}86%{clip-path:inset(0 0 0 99.4%);transform:translateX(80px);opacity:1}92%,100%{opacity:0}}

/* Lokalne warianty zapobiegają mechanicznemu kopiowaniu tej samej kompozycji. */
.program .sq-a{left:22%;top:-9%;width:31vw;background:rgba(0,0,0,.17)}.program .sq-b{right:-9%;bottom:-17%;background:rgba(0,0,0,.22)}.program .sq-d{left:5%;bottom:7%}
.projects .sq-a{left:-12%;top:43%;width:36vw}.projects .sq-b{right:9%;bottom:-20%;width:30vw}.projects .sq-c{right:9%;top:16%}.projects .bar-b{right:39%;top:0;opacity:.6}.projects .dev-push{left:auto;right:15%;top:31%;opacity:.34}
.works .sq-a{left:-12%;top:15%;width:33vw;background:rgba(50,36,28,.08)}.works .sq-b{right:-10%;bottom:-22%;background:rgba(0,0,0,.08)}.works .sq-c{right:22%;top:15%}.works .bar-a{top:39%;opacity:.55}
.faculty .sq-a{left:-8%;top:32%;width:26vw;background:rgba(50,36,28,.055)}.faculty .sq-b{right:-7%;bottom:-18%;background:rgba(0,0,0,.055)}.faculty .sq-c{right:8%;top:28%;opacity:.32}.faculty .bar-a{left:39%;top:12%;background:rgba(0,0,0,.08)}.faculty .bar-b{right:23%;background:rgba(50,36,28,.06)}
.details .sq-a{left:-15%;top:40%;width:39vw}.details .sq-b{right:-14%;bottom:-25%;width:42vw}.details .sq-c{right:12%;top:13%}.details .sq-d{left:1%;bottom:4%}.details .edge-morph{left:54%;top:71%;background:rgba(247,236,222,.14);box-shadow:9px 10px 0 rgba(0,0,0,.18)}.details .mass-path-square{left:19%;bottom:12%;opacity:.66}
.details .scene-bar.bar-a{left:43%;top:66%;background:rgba(175,145,117,.13);opacity:.42}
.application .sq-a{left:-7%;top:-21%;width:42vw;background:rgba(0,0,0,.22)}.application .sq-b{right:-10%;bottom:-27%;width:45vw;background:rgba(0,0,0,.18)}.application .sq-c{right:12%;top:19%}.application .sq-d{left:58%;bottom:8%}.application .bar-a{left:10%;top:22%}.application .bar-b{right:38%;opacity:.72}

/* Kluczowa korekta modułu wykładowców: zdjęcia są kwadratami. */
.portrait{aspect-ratio:1/1}
.person.maciek .portrait img{object-position:50% 41%}
.person.marcin .portrait img{object-position:52% 43%}
.person.kacper .portrait img{object-position:50% 48%}

@media(max-width:1120px){
  #gds-living-machine .hero .hero-monument{right:-8%;width:66%}
  #gds-living-machine .approved-reaction-stage .reciprocator-bank{right:-12%}
  #gds-living-machine .approved-reaction-stage .mechanical-wave{right:1%}
  .scene-square.sq-a{width:35vw}.scene-square.sq-b{width:39vw}
}
@media(max-width:680px){
  #gds-living-machine .hero .hero-world{opacity:.58}
  #gds-living-machine .hero .hero-monument{right:-22%;width:92%}
  #gds-living-machine .hero .hero-core{right:-42%}
  #gds-living-machine .hero .near-blade{display:none}
  #gds-living-machine .principle .fragment-belt{width:70%;opacity:.08}
  #gds-living-machine .approved-reaction-stage .reciprocator-bank{right:-30%;transform:scale(.82)}
  #gds-living-machine .approved-reaction-stage .mechanical-wave{right:-5%;transform:scale(.78);transform-origin:right bottom}
  #gds-living-machine .approved-reaction-stage .maintenance-bay{left:37%}
  #gds-living-machine .pillars .approved-depth-field{opacity:.58}
  #gds-living-machine .pillars .depth-machine-field{opacity:.5}
  .scene-bar.bar-b,.scene-bar.bar-c{opacity:.45}
  .portrait{aspect-ratio:1/1}
  .factory-trigger{position:absolute;top:calc(var(--header-h) + 18px);right:6px;bottom:auto;max-width:none;padding:4px 5px;background:rgba(0,0,0,.22);font-size:6.5px;letter-spacing:.035em;white-space:nowrap;opacity:.4}
}
@media(prefers-reduced-motion:reduce){
  .scene-square,.scene-bar{animation:none!important}
}

/* Końcowe reguły wariantów — celowo po warstwie odziedziczonej z iteracji 07. */
#gds-living-machine .hero-machine .hero-world{opacity:.5}
#gds-living-machine .hero-machine .hero-monument{opacity:.2}

@media(max-width:1120px){
  #gds-living-machine .hero-copy{width:min(790px,76vw)}
  #gds-living-machine .hero-machine{height:auto;min-height:1510px;display:flex;flex-direction:column;padding-bottom:76px}
  #gds-living-machine .hero-machine .hero-copy{position:relative;left:auto;top:auto;order:1;width:min(760px,86vw);margin:250px auto 0;padding:34px 36px 36px;transform:none}
  .machine-video{position:relative;right:auto;top:auto;order:2;width:min(82vw,760px);margin:74px auto 0}
}

@media(max-width:940px){
  #gds-living-machine .hero-copy{width:min(760px,86vw)}
  #gds-living-machine .hero-machine{height:auto;min-height:1510px;padding-bottom:76px}
  #gds-living-machine .hero-machine .hero-copy{position:relative;left:auto;top:auto;width:min(760px,90vw);margin:250px auto 0;transform:none}
  .machine-video{position:relative;right:auto;top:auto;width:min(82vw,720px);margin:74px auto 0}
  .principle-paper-stage{padding:100px 34px}
  .principle-with-film .principle-copy{max-width:760px;padding:34px 36px 38px}
}

@media(max-width:680px){
  #gds-living-machine .hero-geometry-only{min-height:1120px}
  #gds-living-machine .hero-copy h1{margin-bottom:27px}
  #gds-living-machine .hero-copy-body{gap:8px;margin-bottom:24px}
  #gds-living-machine .hero-copy-body .hero-lead,
  #gds-living-machine .hero-copy-body .hero-detail{font-size:15px;line-height:1.45}
  #gds-living-machine .hero-actions{grid-template-columns:1fr;gap:13px;padding-top:17px}
  .meeting-action{justify-items:stretch}
  .meeting-label{font-size:9px}
  .meeting-note{font-size:13px;line-height:1.4}
  .hero-next{gap:10px;width:100%;min-height:52px;margin-top:24px;padding:0 14px;justify-content:center;font-size:11px;letter-spacing:.045em}
  .hero-next:before{width:9px}
  .hero-next span{font-size:18px}
  .comparison-header{height:var(--header-h)}
  #gds-living-machine .hero-machine{min-height:auto;padding-bottom:68px}
  #gds-living-machine .hero-machine .hero-copy{width:auto;margin:270px 22px 0;padding:28px 23px 30px}
  .machine-video{width:calc(100% - 64px);margin:60px auto 18px}
  .machine-screen{inset:10px}
  .casing-back{inset:-16px 16px 16px -16px;box-shadow:14px 14px 0 rgba(36,26,20,.65)}
  .casing-side{right:-27px;width:27px}
  .casing-orange{right:-18px;bottom:-18px;width:38px}
  .casing-control{left:-12px;top:-12px;width:24px}
  .machine-film-caption{padding:9px 10px;font-size:8px}
  .principle-paper-stage{min-height:0;padding:92px 22px}
  .course-label{white-space:normal}
  .principle-with-film .principle-copy{padding:28px 23px 31px}
  .principle-with-film .principle-copy h2{margin-bottom:32px}
  #gds-living-machine .factory-trigger{position:absolute;top:calc(var(--header-h) + 18px);right:6px;bottom:auto;max-width:none;padding:4px 5px;font-size:6.5px;letter-spacing:.035em;white-space:nowrap;opacity:.4}
}

@media(orientation:landscape) and (max-height:520px) and (max-width:1000px){
  #gds-living-machine .hero-machine{min-height:1250px}
  #gds-living-machine .hero-machine .hero-copy{margin-top:48px}
  .machine-video{margin-top:54px}
}

@media(prefers-reduced-motion:reduce){
  .machine-scan,.principle-film-background video{display:none}
  .program-topic{clip-path:none;animation:none}
}

/*
  ITERACJA 11 — połączenie wariantów hero i dalsze rozwinięcie zatwierdzonego
  języka maszyny. Geometria pozostaje osiowa; Fabryka nadal istnieje wyłącznie
  w ukrytym widoku otwieranym osobnym przyciskiem.
*/

/* Jedno hero: mechanizm pracuje nad ekranem filmu, a znak GDS pozostaje
   rozpoznawalną częścią tej samej kompozycji i może być przez nią przesłaniany. */
#gds-living-machine .hero-combined{min-height:1080px;background:radial-gradient(circle at 78% 34%,rgba(175,145,117,.13),transparent 27%),linear-gradient(110deg,#000 0 44%,#090503 72%,#000 100%)}
#gds-living-machine .hero-combined .hero-world{opacity:.67}
#gds-living-machine .hero-combined .hero-monument{right:1%;top:5%;width:55%;opacity:.38}
#gds-living-machine .hero-combined .hero-copy{width:min(690px,44vw)}
#gds-living-machine .hero-combined .machine-video{right:3.5%;top:53%;width:min(43vw,760px)}
#gds-living-machine .hero-combined .hero-core{top:29%}
#gds-living-machine .hero-combined .hero-carriage{top:46%}
#gds-living-machine .hero-combined .hero-mass{top:46%}

/* CTA informacyjne: akapit pozostaje czytelny, a kwadrat jest statycznym
   elementem identyfikacji wyrównanym z dolną krawędzią przycisku. */
.meeting-note{display:grid;grid-template-columns:50px minmax(0,1fr);gap:15px;align-items:start;max-width:570px;margin:0;color:rgba(247,236,222,.72);font-size:14px;line-height:1.42}
.meeting-note p{margin:0}.meeting-note strong{color:var(--orange);font-weight:600}
.meeting-note-accent{position:relative;display:block;align-self:end;width:50px;aspect-ratio:1;overflow:hidden;background:var(--orange);box-shadow:8px 8px 0 rgba(95,34,17,.42)}

/* Sekcja 02: przezroczystość jest cechą wybranych warstw tła, a nie całego
   mechanizmu. Czarne, brązowe i jasne moduły zachowują pełne krycie. */
#gds-living-machine .principle .approved-reaction-stage .reaction-macro{opacity:.18}
#gds-living-machine .principle .approved-reaction-stage .rs-black{z-index:2;background:#000;opacity:1;box-shadow:19px 21px 0 rgba(36,26,20,.055)}
#gds-living-machine .principle .approved-reaction-stage .rs-brown{z-index:4;background:var(--brown);opacity:1}
#gds-living-machine .principle .approved-reaction-stage .glass-shield{opacity:.16}
#gds-living-machine .principle .approved-reaction-stage .foreground-gate{opacity:.08}
#gds-living-machine .principle .approved-reaction-stage .reciprocator-bank{opacity:1}
#gds-living-machine .principle .approved-reaction-stage .reciprocator{background:rgba(0,0,0,.055);box-shadow:10px 11px 0 rgba(36,26,20,.035)}
#gds-living-machine .principle .approved-reaction-stage .reciprocator i{opacity:1}
#gds-living-machine .principle .approved-reaction-stage .mechanical-wave{opacity:.18}
#gds-living-machine .principle .approved-reaction-stage .edge-morph{opacity:.16}
#gds-living-machine .principle .approved-reaction-stage .mass-path-square{opacity:1}
#gds-living-machine .principle .approved-reaction-stage .maintenance-bay{opacity:.34}
#gds-living-machine .principle .approved-reaction-stage .ee-window-square{z-index:30;right:1%;bottom:2%;width:176px;background:var(--orange);opacity:1;box-shadow:none}

/* Dwa filary i jeden wspólny, wyraźnie podporządkowany poziom korzyści. */
.pillar-shared-result{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:28px 46px;margin-top:42px;padding:58px 42px 38px;background:rgba(247,236,222,.035);border:1px solid rgba(247,236,222,.13);border-top:3px solid rgba(241,90,41,.82);box-shadow:22px 22px 0 rgba(36,26,20,.22)}
.pillar-shared-result .pillar-secondary-label{position:absolute;left:42px;top:20px;margin:0;color:var(--orange);font:600 11px/1 var(--display);letter-spacing:.16em;text-transform:uppercase}
.pillar-shared-result>div{padding-top:19px;border-top:1px solid rgba(247,236,222,.18)}
.pillar-shared-result b{display:block;margin-bottom:15px;color:var(--paper);font:600 16px var(--display);letter-spacing:.09em;text-transform:uppercase}
.pillar-shared-result p{margin:0;color:rgba(247,236,222,.67);font-size:16px;line-height:1.54}
.pillar-card h3{font-size:clamp(27px,2.05vw,34px)}

/* Program: losowane moduły mają własne, subtelne mechanizmy, a tło sekcji
   otrzymuje kilka niezależnych warstw o różnej skali. */
.program .motion-field::before,.program .motion-field::after,.projects .motion-field::before,.projects .motion-field::after,.details .motion-field::before,.details .motion-field::after,.application .motion-field::before,.application .motion-field::after{content:"";position:absolute;display:block;pointer-events:none;will-change:transform,opacity}
.program .motion-field::before{left:7%;top:28%;width:22vw;aspect-ratio:1;background:rgba(247,236,222,.025);box-shadow:34vw -18vh 0 rgba(0,0,0,.13),67vw 34vh 0 rgba(190,173,156,.035),14vw 57vh 0 rgba(0,0,0,.16);animation:section-depth-drift 74s ease-in-out -21s infinite alternate}
.program .motion-field::after{right:31%;top:-12%;width:7vw;height:126%;background:rgba(190,173,156,.04);box-shadow:23vw 0 0 rgba(0,0,0,.095);animation:section-depth-slide 63s ease-in-out -8s infinite alternate}
.program-topic{overflow:hidden;isolation:isolate}
.program-topic::before,.program-topic::after{content:"";position:absolute;z-index:0;display:block;pointer-events:none}
.program-topic::before{right:-24px;bottom:-31px;width:76px;aspect-ratio:1;background:rgba(247,236,222,.028);animation:topic-square 12s ease-in-out calc(var(--topic-index,0) * -310ms) infinite alternate}
.program-topic::after{left:-38px;top:16px;width:66px;height:8px;background:rgba(241,90,41,.12);animation:topic-bar 9s cubic-bezier(.31,.02,.32,1) calc(var(--topic-index,0) * -240ms) infinite alternate}
.program-topic:nth-child(3n+2)::before{right:auto;left:18%;bottom:-44px;width:92px;background:rgba(0,0,0,.12)}
.program-topic:nth-child(4n)::after{left:auto;right:-42px;top:auto;bottom:18px;width:84px;background:rgba(190,173,156,.1)}
.program-topic b,.program-topic i,.program-topic span{position:relative;z-index:2}
@keyframes topic-square{to{transform:translate(-24px,-18px);opacity:.62}}
@keyframes topic-bar{to{transform:translateX(62px);opacity:.45}}
@keyframes section-depth-drift{to{transform:translate(4vw,-3vh)}}
@keyframes section-depth-slide{to{transform:translateX(-7vw)}}

/* Większa gęstość tła pracy projektowej, informacji i zakończenia. */
.projects .motion-field::before{left:4%;top:17%;width:21vw;aspect-ratio:1;background:rgba(247,236,222,.028);box-shadow:33vw 31vh 0 rgba(50,36,28,.24),68vw -4vh 0 rgba(241,90,41,.055),72vw 49vh 0 rgba(247,236,222,.02);animation:section-depth-drift 69s ease-in-out -12s infinite alternate-reverse}
.projects .motion-field::after{left:53%;top:-14%;width:8vw;height:130%;background:rgba(190,173,156,.035);box-shadow:28vw 0 0 rgba(0,0,0,.24);animation:section-depth-slide 57s ease-in-out -27s infinite alternate}
.projects .sq-a{background:rgba(50,36,28,.15)}.projects .sq-b{background:rgba(247,236,222,.026)}.projects .bar-b{opacity:.28}.projects .bar-c{opacity:.34}
.details .motion-field::before{right:4%;top:9%;width:24vw;aspect-ratio:1;background:rgba(247,236,222,.028);box-shadow:-37vw 42vh 0 rgba(50,36,28,.25),11vw 58vh 0 rgba(241,90,41,.055),-12vw 10vh 0 rgba(190,173,156,.045);animation:section-depth-drift 71s ease-in-out -19s infinite alternate}
.details .motion-field::after{left:18%;top:-9%;width:6vw;height:120%;background:rgba(190,173,156,.042);box-shadow:53vw 0 0 rgba(0,0,0,.28);animation:section-depth-slide 61s ease-in-out -11s infinite alternate-reverse}
.application .motion-field::before{left:-4%;top:7%;width:31vw;aspect-ratio:1;background:rgba(0,0,0,.17);box-shadow:39vw 33vh 0 rgba(247,236,222,.03),76vw -16vh 0 rgba(0,0,0,.2),69vw 49vh 0 rgba(241,90,41,.07);animation:section-depth-drift 78s ease-in-out -31s infinite alternate}
.application .motion-field::after{right:21%;top:-13%;width:9vw;height:128%;background:rgba(190,173,156,.045);box-shadow:-31vw 0 0 rgba(0,0,0,.13);animation:section-depth-slide 68s ease-in-out -16s infinite alternate}
.details .content-wrap,.application .content-wrap,.projects .content-wrap,.program .content-wrap{z-index:10}

/* Równorzędne warianty ceny; oszczędność jest jedynym akcentem promocyjnym. */
.edition-price{gap:15px;padding:20px;border-left:0;border-top:3px solid rgba(247,236,222,.28)}
.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.payment-options>div{position:relative;display:grid;gap:4px;align-content:start;min-height:124px;padding:17px;background:rgba(247,236,222,.055);border:1px solid rgba(247,236,222,.12)}
.payment-options small{color:rgba(247,236,222,.52);font:600 10px var(--display);letter-spacing:.12em;text-transform:uppercase}
.payment-options strong{color:var(--paper);font:600 23px var(--display);text-transform:uppercase}
.payment-options em{color:rgba(247,236,222,.63);font:500 14px/1.35 var(--text);font-style:normal}
.payment-options .payment-discount{border-color:rgba(241,90,41,.52)}
.payment-options .payment-discount em{width:max-content;margin-top:5px;padding:4px 7px;background:var(--orange);color:#000;font:700 10px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}

@media(min-width:1121px){
  #gds-living-machine .hero-combined .hero-copy{top:51%}
  #gds-living-machine .hero-combined .machine-video{top:auto;bottom:190px}
}

/* Poziomy tablet zachowuje dwukolumnową kompozycję; wariant pionowy i telefon
   pozostają tymczasowo przy istniejącym układzie do osobnego omówienia. */
@media(min-width:760px) and (max-width:1120px) and (orientation:landscape){
  #gds-living-machine .hero-combined{display:block;min-height:1040px;padding:0}
  #gds-living-machine .hero-combined .hero-copy{position:absolute;left:4vw;top:52%;width:min(54vw,610px);margin:0;padding:32px 34px 34px;transform:translateY(-50%)}
  #gds-living-machine .hero-combined .machine-video{position:absolute;right:3%;top:55%;width:40vw;margin:0}
  #gds-living-machine .hero-combined .hero-monument{right:0;top:7%;width:59%;opacity:.35}
}

/*
  ITERACJA 34 — korekta wskazanych habitatów, krótsze warstwy sekcji 04
  i dokładne wyrównanie galerii do tytułu sekcji 05.
*/
.casing-control{display:none!important}
.program .developer{display:none!important}

/* Sekcja 04: żadna z geometrycznych brył nie przebiega przez pełną wysokość. */
.program .scene-lighting::before{
  inset:auto -4% auto -4%;top:14%;height:64%;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)
}
.program .motion-field::after{top:9%;height:62%}
.program .scene-bar.bar-b{top:12%;height:56%}
.program .scene-bar.bar-c{top:25%;height:62%}
.program .scene-reflection{top:17%;height:64%}

/* Sekcja 05: mniejszy cytat ze znaku GDS pozostaje pod prawą częścią galerii. */
.projects-mark{z-index:1;right:3.5%;top:49%;width:min(39vw,620px);opacity:.075;color:var(--paper)}

@media(min-width:941px){
  .projects-layout{grid-template-rows:auto auto 1fr}
  .projects-copy{display:contents}
  .projects-copy>.eyebrow{grid-column:1;grid-row:1;margin-bottom:20px}
  .projects-copy>h2{grid-column:1;grid-row:2;align-self:start}
  .projects-copy>.section-copy-rich{grid-column:1;grid-row:3;align-self:start}
  .project-gallery{grid-column:2;grid-row:2 / span 2;align-self:start;margin:0}
}

@media(min-width:1121px){
  /* Rdzeń zachodzi na lewy górny narożnik ekranu; ruchomy kwadrat zachowuje pozycję. */
  #gds-living-machine .hero-comparison .hero-core{
    z-index:10;left:calc(53.5% - 54px);right:auto;
    top:calc(var(--hero-film-top) - 74px)!important
  }
}

@media(min-width:760px) and (max-width:1120px) and (orientation:landscape){
  #gds-living-machine .hero-comparison .hero-core{
    z-index:10;left:calc(57% - 46px);right:auto;
    top:calc(var(--hero-film-top) - 62px)!important;
    transform:scale(.84);transform-origin:left top
  }
}

@media(max-width:940px){
  .projects-mark{right:-9%;top:58%;width:min(72vw,560px);opacity:.055}
}

/*
  ITERACJA 66 — sekcja kadry jako fotograficzne wejście do podstrony
  oraz redakcyjny, pełnoszeroki układ profili.
*/
.faculty .faculty-head{position:relative;z-index:3}
.faculty .faculty-summary{padding-top:clamp(32px,2.25vw,44px)}
.faculty-showcase{
  position:relative;z-index:4;display:grid;grid-template-rows:minmax(290px,31vw) auto;
  margin-top:clamp(52px,5vw,82px);overflow:hidden;background:#000;color:var(--paper);
  text-decoration:none;box-shadow:clamp(16px,2vw,32px) clamp(16px,2vw,32px) 0 rgba(50,36,28,.14)
}
.faculty-showcase-images{display:flex;min-width:0;overflow:hidden;background:#000}
.faculty-showcase-images>span{position:relative;flex:1 1 0;min-width:0;overflow:hidden;transition:flex .65s cubic-bezier(.22,.72,.18,1)}
.faculty-showcase-images>span+span{border-left:2px solid rgba(247,236,222,.16)}
.faculty-showcase-images img{
  width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.3) saturate(.48) brightness(.72) contrast(1.08);
  transform:scale(1.04);transition:filter .5s ease,opacity .5s ease,transform .8s cubic-bezier(.22,.72,.18,1)
}
.faculty-showcase-images>span:nth-child(1) img{object-position:50% 28%}
.faculty-showcase-images>span:nth-child(2) img{object-position:50% 25%}
.faculty-showcase-images>span:nth-child(3) img{object-position:50% 26%}
.faculty-showcase-images>span:nth-child(4) img{object-position:50% 34%}
.faculty-showcase-images>span:nth-child(5) img{object-position:50% 31%}
.faculty-showcase-images>span:nth-child(6) img{object-position:50% 22%}
.faculty-showcase:hover .faculty-showcase-images>span{flex:.88 1 0}
.faculty-showcase .faculty-showcase-images>span:hover{flex:1.75 1 0}
.faculty-showcase .faculty-showcase-images>span:hover img{filter:none;transform:scale(1)}
.faculty-showcase-action{
  display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:18px;min-height:82px;
  padding:18px clamp(22px,3vw,44px);background:var(--ink);color:var(--paper)
}
.faculty-showcase-action i{width:16px;aspect-ratio:1;background:var(--orange)}
.faculty-showcase-action b{font:600 clamp(16px,1.5vw,22px) var(--display);letter-spacing:.045em;text-transform:uppercase}
.faculty-showcase-action em{font:400 clamp(28px,3vw,46px)/1 var(--display);font-style:normal;transition:transform .35s ease}
.faculty-showcase:hover .faculty-showcase-action em,.faculty-showcase:focus-visible .faculty-showcase-action em{transform:translateX(10px)}
.faculty-showcase:focus-visible{outline:3px solid var(--orange);outline-offset:5px}

/* Podstrona: zdjęcia otwierają stronę, a pełne profile mają rytm redakcyjny zamiast układu kart. */
.faculty-directory-hero{min-height:0;padding-bottom:0}
.faculty-directory-hero .content-wrap{width:min(1680px,calc(100% - 2 * var(--gutter)))}
.faculty-directory-title{max-width:1120px}
.faculty-directory-intro{max-width:760px}
.faculty-directory-stage{
  position:relative;z-index:3;display:flex;height:clamp(340px,34vw,570px);margin-top:clamp(48px,5vw,82px);
  overflow:hidden;background:#0a0807
}
.faculty-directory-stage>a{position:relative;flex:1 1 0;min-width:0;overflow:hidden;color:var(--paper);text-decoration:none;transition:flex .65s cubic-bezier(.22,.72,.18,1)}
.faculty-directory-stage>a+a{border-left:2px solid rgba(247,236,222,.13)}
.faculty-directory-stage img{
  width:100%;height:100%;object-fit:cover;object-position:50% 26%;
  filter:grayscale(1) sepia(.34) saturate(.45) brightness(.62) contrast(1.12);
  transform:scale(1.05);transition:filter .5s ease,transform .75s cubic-bezier(.22,.72,.18,1)
}
.faculty-directory-stage>a:nth-child(4) img{object-position:50% 34%}
.faculty-directory-stage>a:nth-child(5) img{object-position:50% 32%}
.faculty-directory-stage>a:nth-child(6) img{object-position:50% 22%}
.faculty-directory-stage:hover>a{flex:.82 1 0}
.faculty-directory-stage>a:hover,.faculty-directory-stage>a:focus-visible{flex:1.8 1 0}
.faculty-directory-stage>a:hover img,.faculty-directory-stage>a:focus-visible img{filter:grayscale(.15) sepia(.08) saturate(.9) brightness(.8) contrast(1.04);transform:scale(1)}
.faculty-directory-stage span{
  position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;gap:4px;padding:72px 17px 18px;
  background:linear-gradient(transparent,rgba(0,0,0,.9));white-space:nowrap
}
.faculty-directory-stage b{font:600 clamp(14px,1.3vw,20px) var(--display);text-transform:uppercase}
.faculty-directory-stage small{overflow:hidden;color:rgba(247,236,222,.67);font:600 9px var(--display);letter-spacing:.09em;text-overflow:ellipsis;text-transform:uppercase}
.faculty-directory-list{padding:0;background:var(--paper)}
.faculty-directory-list .content-wrap{width:min(1480px,calc(100% - 2 * var(--gutter)))}
.faculty-directory-grid{display:block;counter-reset:faculty-profile}
.faculty-directory-card{
  position:relative;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  gap:clamp(54px,7vw,120px);align-items:center;min-height:clamp(560px,52vw,760px);
  margin:0;padding:clamp(78px,8vw,132px) clamp(24px,3vw,52px);border:0;counter-increment:faculty-profile;
  scroll-margin-top:28px
}
.faculty-directory-card:nth-child(even){grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);background:rgba(50,36,28,.045)}
.faculty-directory-card:nth-child(even) .portrait{grid-column:2;grid-row:1}
.faculty-directory-card:nth-child(even) .person-copy{grid-column:1;grid-row:1;padding-left:0;padding-right:clamp(12px,2vw,34px)}
.faculty-directory-card::before{
  content:"0" counter(faculty-profile);position:absolute;right:clamp(20px,3vw,54px);top:clamp(44px,5vw,78px);
  color:rgba(50,36,28,.085);font:600 clamp(74px,9vw,150px)/.8 var(--display);letter-spacing:-.06em
}
.faculty-directory-card .portrait{z-index:1;aspect-ratio:4/5;box-shadow:clamp(16px,2vw,30px) clamp(16px,2vw,30px) 0 rgba(50,36,28,.14)}
.faculty-directory-card .portrait i{width:clamp(42px,4vw,68px)}
.faculty-directory-card .person-copy{position:relative;z-index:2;padding:0 0 0 clamp(12px,2vw,34px)}
.faculty-directory-card .person-copy h2{max-width:760px;margin:0 0 20px;font-size:clamp(44px,5.2vw,82px);line-height:.9}
.faculty-directory-card .person-role{margin-bottom:clamp(26px,3vw,42px)}
.faculty-directory-card .person-role strong{font-size:clamp(13px,1vw,16px)}
.faculty-directory-card .person-role span{font-size:11px}
.faculty-directory-card .person-bio{max-width:720px;font-size:clamp(16px,1.15vw,19px);line-height:1.58}
.faculty-directory-card .person-projects{max-width:720px;margin-top:clamp(28px,3vw,46px)}
.faculty-directory-card.artur .portrait img{object-position:50% 34%}
.faculty-directory-card.michal .portrait img{object-position:50% 34%}
.faculty-directory-card.aneta .portrait img{object-position:50% 22%}
.faculty-directory-return{justify-content:center;margin:0;padding:clamp(64px,7vw,104px) 0}
.faculty-directory-return .button{min-width:min(420px,100%);justify-content:center}

@media(max-width:940px){
  .faculty-showcase{grid-template-rows:minmax(260px,48vw) auto}
  .faculty-showcase-images>span:nth-child(n+5){display:none}
  .faculty-directory-stage{height:440px;display:grid;grid-template-columns:repeat(3,1fr)}
  .faculty-directory-stage>a{min-height:220px}
  .faculty-directory-stage:hover>a,.faculty-directory-stage>a:hover,.faculty-directory-stage>a:focus-visible{flex:1}
  .faculty-directory-card,.faculty-directory-card:nth-child(even){grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:clamp(30px,5vw,60px);min-height:0}
  .faculty-directory-card:nth-child(even) .portrait{grid-column:1}
  .faculty-directory-card:nth-child(even) .person-copy{grid-column:2;padding-right:0;padding-left:clamp(12px,2vw,34px)}
  .faculty-directory-card .person-copy h2{font-size:clamp(38px,6vw,62px)}
}
@media(max-width:680px){
  .faculty-showcase{grid-template-rows:minmax(300px,72vw) auto}
  .faculty-showcase-images{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}
  .faculty-showcase-images>span:nth-child(n){display:block;border:0}
  .faculty-showcase-images>span:nth-child(3n+2),.faculty-showcase-images>span:nth-child(3n+3){border-left:2px solid rgba(247,236,222,.13)}
  .faculty-showcase-images>span:nth-child(n+4){border-top:2px solid rgba(247,236,222,.13)}
  .faculty-showcase:hover .faculty-showcase-images>span,.faculty-showcase .faculty-showcase-images>span:hover{flex:1}
  .faculty-showcase-action{grid-template-columns:13px 1fr auto;min-height:72px;padding-inline:18px}
  .faculty-showcase-action i{width:13px}
  .faculty-directory-stage{height:auto;grid-template-columns:repeat(2,1fr)}
  .faculty-directory-stage>a{min-height:240px}
  .faculty-directory-card,.faculty-directory-card:nth-child(even){display:grid;grid-template-columns:1fr;gap:30px;padding:64px 0}
  .faculty-directory-card .portrait,.faculty-directory-card:nth-child(even) .portrait{grid-column:1;grid-row:1;max-width:none}
  .faculty-directory-card .person-copy,.faculty-directory-card:nth-child(even) .person-copy{grid-column:1;grid-row:2;padding:0 4px}
  .faculty-directory-card::before{top:52px;right:8px}
  .faculty-directory-card .person-copy h2{font-size:clamp(40px,12vw,62px)}
}


@media(max-width:680px){
  .meeting-note{grid-template-columns:42px minmax(0,1fr);gap:12px}.meeting-note-accent{width:42px}
  .pillar-shared-result{grid-template-columns:1fr;gap:24px;padding:58px 25px 30px}.pillar-shared-result .pillar-secondary-label{left:25px}
  .payment-options{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .program-topic::before,.program-topic::after,.program .motion-field::before,.program .motion-field::after,.projects .motion-field::before,.projects .motion-field::after,.details .motion-field::before,.details .motion-field::after,.application .motion-field::before,.application .motion-field::after{animation:none!important}
}

/*
  ITERACJA 17 — przywrócenie zatwierdzonej hierarchii światła i głębi.
  Źródłem są zachowane warstwy living-machine: oddzielne plany ruchu,
  odbicia powierzchni, rozproszone bliki i szerokie przejście światła.
  Geometria pozostaje wyłącznie pionowa i pozioma.
*/

/* Wspólna warstwa oświetlenia. Każda sekcja ma własną fazę i skalę, dzięki
   czemu refleksy nie pracują jak jedna zsynchronizowana dekoracja. */
.scene{--light-cycle:19s;--flare-a-cycle:13s;--flare-b-cycle:17s;--reflection-cycle:29s}
.scene-lighting{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none;contain:paint}
.scene-lighting>i{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}
.scene-light-pass{left:-58%;top:-22%;width:52%;height:148%;opacity:0;background:linear-gradient(90deg,transparent 4%,rgba(247,236,222,.018) 28%,rgba(247,236,222,.12) 49%,rgba(241,90,41,.052) 58%,transparent 82%);filter:blur(12px);mix-blend-mode:screen;animation:gds-light-pass var(--light-cycle) cubic-bezier(.42,0,.58,1) infinite}
.scene-flare{border-radius:50%;filter:blur(26px);mix-blend-mode:screen;opacity:0}
.scene-flare-a{right:9%;top:28%;width:210px;height:42px;background:rgba(241,90,41,.42);animation:gds-flare var(--flare-a-cycle) ease-in-out -3s infinite}
.scene-flare-b{left:39%;bottom:18%;width:270px;height:30px;background:rgba(247,236,222,.26);animation:gds-flare var(--flare-b-cycle) ease-in-out -8s infinite}
.scene-reflection{right:0;top:9%;width:57%;height:66%;background:radial-gradient(ellipse at center,rgba(247,236,222,.085),rgba(175,145,117,.025) 38%,transparent 70%);filter:blur(17px);mix-blend-mode:screen;animation:gds-reflection var(--reflection-cycle) ease-in-out -11s infinite alternate}
@keyframes gds-light-pass{0%,14%{transform:translateX(0);opacity:0}26%{opacity:.8}62%{opacity:.34}80%,100%{transform:translateX(315%);opacity:0}}
@keyframes gds-flare{0%,100%{transform:scaleX(.28);opacity:.015}50%{transform:scaleX(1.08);opacity:.19}}
@keyframes gds-reflection{to{transform:translate(-11%,7%) scale(1.09);opacity:.63}}

/* Jasne sekcje korzystają z cienia i ciepłego odbicia zamiast ekranowego
   rozbłysku. Warstwa pozostaje za właściwą treścią. */
.paper .scene-lighting{z-index:1;mix-blend-mode:multiply}
.paper .scene-light-pass{background:linear-gradient(90deg,transparent 5%,rgba(50,36,28,.012) 30%,rgba(50,36,28,.075) 49%,rgba(241,90,41,.042) 59%,transparent 82%);filter:blur(14px);mix-blend-mode:multiply}
.paper .scene-flare{mix-blend-mode:multiply;filter:blur(30px)}
.paper .scene-flare-a{background:rgba(241,90,41,.22)}
.paper .scene-flare-b{background:rgba(50,36,28,.15)}
.paper .scene-reflection{background:radial-gradient(ellipse at center,rgba(190,173,156,.2),rgba(50,36,28,.028) 48%,transparent 72%);mix-blend-mode:multiply}

/* Niezależne fazy światła i położenia refleksów. */
.hero{--light-cycle:12.5s;--flare-a-cycle:9.8s;--flare-b-cycle:14s;--reflection-cycle:20s}
.hero .scene-lighting{z-index:8}
.hero .scene-flare-a{right:12%;top:25%}.hero .scene-flare-b{left:53%;bottom:23%}.hero .scene-reflection{right:-3%;top:2%;width:64%;height:74%}
.principle{--light-cycle:18s;--flare-a-cycle:14s;--flare-b-cycle:20s;--reflection-cycle:27s}
.principle .scene-light-pass{animation-delay:-7s}.principle .scene-flare-a{left:4%;right:auto;top:36%}.principle .scene-flare-b{left:27%;bottom:12%}.principle .scene-reflection{left:-9%;right:auto;top:6%}
.pillars{--light-cycle:15s;--flare-a-cycle:11s;--flare-b-cycle:15s;--reflection-cycle:23s}
.pillars .scene-light-pass{animation-delay:-9s}.pillars .scene-flare-a{right:6%;top:24%}.pillars .scene-flare-b{left:12%;bottom:14%}.pillars .scene-reflection{right:-5%;top:11%}
.program{--light-cycle:17s;--flare-a-cycle:12s;--flare-b-cycle:18s;--reflection-cycle:25s}
.program .scene-light-pass{animation-delay:-4s}.program .scene-flare-a{right:18%;top:17%}.program .scene-flare-b{left:9%;bottom:21%}.program .scene-reflection{right:14%;top:16%;width:49%}
.projects{--light-cycle:16s;--flare-a-cycle:13s;--flare-b-cycle:19s;--reflection-cycle:24s}
.projects .scene-light-pass{animation-delay:-11s}.projects .scene-flare-a{right:5%;top:31%}.projects .scene-flare-b{left:47%;bottom:9%}.projects .scene-reflection{right:-8%;top:15%;width:62%}
.faculty{--light-cycle:21s;--flare-a-cycle:16s;--flare-b-cycle:22s;--reflection-cycle:31s}
.faculty .scene-light-pass{animation-delay:-13s}.faculty .scene-flare-a{right:11%;top:22%}.faculty .scene-flare-b{left:8%;bottom:14%}.faculty .scene-reflection{right:3%;top:10%;width:51%}
.details{--light-cycle:16.5s;--flare-a-cycle:12s;--flare-b-cycle:17s;--reflection-cycle:24s}
.details .scene-light-pass{animation-delay:-6s}.details .scene-flare-a{right:4%;top:18%}.details .scene-flare-b{left:18%;bottom:16%}.details .scene-reflection{right:-2%;top:18%}
.application{--light-cycle:15s;--flare-a-cycle:11s;--flare-b-cycle:16s;--reflection-cycle:22s}
.application .scene-light-pass{animation-delay:-10s}.application .scene-flare-a{right:14%;top:29%}.application .scene-flare-b{left:15%;bottom:22%}.application .scene-reflection{right:19%;top:7%;width:48%}

/* Wyraźniejsza wizytówka na wejściu: zachowane obiekty i trajektorie,
   krótsze cykle, czytelniejszy podział na plany i przywrócone odbicia. */
#gds-living-machine .hero-combined{--cycle:13s}
#gds-living-machine .hero-combined .hero-world{opacity:.82}
#gds-living-machine .hero-combined .hero-monument{opacity:.36}
#gds-living-machine .hero .hs-orange{background:rgba(241,90,41,.15);animation-duration:34s}
#gds-living-machine .hero .hs-black{background:rgba(0,0,0,.79);animation-duration:42s}
#gds-living-machine .hero .hs-brown{background:rgba(60,43,33,.42);animation-duration:38s}
#gds-living-machine .hero .hs-paper{background:rgba(247,236,222,.09);box-shadow:14px 16px 0 rgba(0,0,0,.19)}
#gds-living-machine .hero .ghost-a{background:rgba(43,32,25,.26);animation-duration:38s}
#gds-living-machine .hero .ghost-b{background:rgba(60,43,33,.2);animation-duration:45s}
#gds-living-machine .hero .smoked-a{background:rgba(175,145,117,.08);animation-duration:30s}
#gds-living-machine .hero .solid-a{background:rgba(43,32,25,.9);animation-duration:24s}
#gds-living-machine .hero .near-blade{background:rgba(0,0,0,.79);animation-duration:25s}
#gds-living-machine .hero .macro::after{background:linear-gradient(90deg,transparent 21%,rgba(247,236,222,.085) 49%,transparent 75%);animation-duration:17s}
#gds-living-machine .hero .light-leak.leak-a{animation:gds-hero-leak 9.8s ease-in-out infinite}
#gds-living-machine .hero .light-leak.leak-b{animation:gds-hero-leak 14s ease-in-out -5s infinite}
#gds-living-machine .hero .hero-core{opacity:.9}
#gds-living-machine .hero .core-square{animation-duration:5.2s}
#gds-living-machine .hero .hero-carriage{animation:gds-hero-carriage 8.4s cubic-bezier(.34,.03,.34,1) -2s infinite}
#gds-living-machine .hero .hero-morph{animation-duration:12.5s}
#gds-living-machine .hero .hero-hatch,#gds-living-machine .hero .dev-peek{opacity:.78}
@keyframes gds-hero-leak{0%,100%{transform:scaleX(.54);opacity:.04}50%{transform:scaleX(1.18);opacity:.17}}
@keyframes gds-hero-carriage{0%,12%{transform:translate3d(0,0,100px)}43%,61%{transform:translate3d(-74px,0,100px)}90%,100%{transform:translate3d(0,0,100px)}}

/* Hierarchia planów: dalekie masy są bardziej miękkie, elementy robocze
   pozostają ostre, a obiekty bliskie otrzymują wyraźniejszy cień. */
.motion-field{perspective:1150px;transform-style:preserve-3d}
.motion-field .mass,.motion-field .scene-square.sq-a,.motion-field .scene-square.sq-b,.motion-field .ghost-mark{filter:blur(.22px)}
.motion-field .route-square,.motion-field .scene-square.sq-c,.motion-field .giant-square{filter:none;box-shadow:12px 13px 0 rgba(0,0,0,.24)}
.motion-field .scene-square,.motion-field .scene-bar,.motion-field .mass,.motion-field .giant-square,.motion-field .route-square,.motion-field .morph-bar,.motion-field .ghost-mark,
.approved-reaction-stage .reaction-macro,.approved-reaction-stage .reaction-square,.approved-reaction-stage .reciprocator-bank,.approved-reaction-stage .mechanical-wave,.approved-depth-field .depth-wall,.approved-depth-field .depth-square,.approved-depth-field .df-square,.approved-depth-field .df-carrier{will-change:transform,translate,opacity}

/* Szybszy, nadal spokojny ruch dużych planów. */
.scene-square.sq-a{animation-duration:35s}.scene-square.sq-b{animation-duration:42s}.scene-square.sq-c{animation-duration:15s}.scene-square.sq-d{animation-duration:28s}
.scene-bar.bar-a{animation-duration:14s}.scene-bar.bar-b{animation-duration:34s}.scene-bar.bar-c{animation-duration:39s}
.program-mass-a{animation-duration:35s}.program-mass-b{animation-duration:33s}.program-glow{animation-duration:16s}.morph-c{animation-duration:14s}.route-e{animation-duration:17s}.route-f{animation-duration:15s}
.projects-mass-a{animation-duration:37s}.projects-mass-b{animation-duration:31s}.projects-glow{animation-duration:18s}.route-g{animation-duration:17s}.morph-d{animation-duration:14s}
.faculty-mass-a{animation-duration:38s}.faculty-mass-b{animation-duration:34s}.faculty-glow{animation-duration:19s}.route-i{animation-duration:17s}
.details-mass-a{animation-duration:36s}.details-mass-b{animation-duration:32s}.details-glow{animation-duration:17s}.route-j{animation-duration:16s}
.application-mass-a{animation-duration:35s}.application-mass-b{animation-duration:31s}.application-glow{animation-duration:16s}.morph-e{animation-duration:14s}
.program .motion-field::before{background:rgba(247,236,222,.043);box-shadow:34vw -18vh 0 rgba(0,0,0,.19),67vw 34vh 0 rgba(190,173,156,.06),14vw 57vh 0 rgba(0,0,0,.2);animation-duration:43s}
.program .motion-field::after{background:rgba(190,173,156,.068);box-shadow:23vw 0 0 rgba(0,0,0,.14);animation-duration:39s}
.projects .motion-field::before{background:rgba(247,236,222,.045);box-shadow:33vw 31vh 0 rgba(50,36,28,.31),68vw -4vh 0 rgba(241,90,41,.08),72vw 49vh 0 rgba(247,236,222,.033);animation-duration:41s}
.projects .motion-field::after{background:rgba(190,173,156,.058);box-shadow:28vw 0 0 rgba(0,0,0,.31);animation-duration:36s}
.details .motion-field::before{background:rgba(247,236,222,.045);box-shadow:-37vw 42vh 0 rgba(50,36,28,.31),11vw 58vh 0 rgba(241,90,41,.08),-12vw 10vh 0 rgba(190,173,156,.07);animation-duration:42s}
.details .motion-field::after{background:rgba(190,173,156,.067);box-shadow:53vw 0 0 rgba(0,0,0,.34);animation-duration:38s}
.application .motion-field::before{background:rgba(0,0,0,.23);box-shadow:39vw 33vh 0 rgba(247,236,222,.05),76vw -16vh 0 rgba(0,0,0,.27),69vw 49vh 0 rgba(241,90,41,.1);animation-duration:44s}
.application .motion-field::after{background:rgba(190,173,156,.07);box-shadow:-31vw 0 0 rgba(0,0,0,.19);animation-duration:40s}

/* Sekcja 02 pozostaje najdelikatniejsza: ruch i światło wracają, lecz pełne
   moduły zachowują przewagę nad transparentnym tłem. */
#gds-living-machine .principle .approved-reaction-stage .reaction-macro{opacity:.21}
#gds-living-machine .principle .approved-reaction-stage .rm-a{animation-duration:39s}
#gds-living-machine .principle .approved-reaction-stage .rm-b{animation-duration:46s}
#gds-living-machine .principle .approved-reaction-stage .rm-c{animation-duration:34s}
#gds-living-machine .principle .approved-reaction-stage .mechanical-wave{opacity:.21}
#gds-living-machine .principle .approved-reaction-stage .glass-shield{opacity:.18}
#gds-living-machine .principle .approved-reaction-stage .foreground-gate{opacity:.095}

/* Sekcja 03: odzyskane tempo dalekich ścian oraz czytelniejsze źródła światła. */
#gds-living-machine .pillars .approved-depth-field{opacity:.9}
#gds-living-machine .pillars .dw-one{background:rgba(43,32,25,.42);animation-duration:42s}
#gds-living-machine .pillars .dw-two{background:rgba(60,43,33,.34);animation-duration:49s}
#gds-living-machine .pillars .dw-three{background:rgba(175,145,117,.075);animation-duration:36s}
#gds-living-machine .pillars .ds-black{animation-duration:39s}
#gds-living-machine .pillars .ds-orange{background:rgba(241,90,41,.105);animation-duration:44s}
#gds-living-machine .pillars .ds-paper{background:rgba(247,236,222,.065);animation-duration:34s}
#gds-living-machine .pillars .soft-reflection{background:radial-gradient(ellipse at center,rgba(247,236,222,.09),transparent 69%);animation-duration:22s}
#gds-living-machine .pillars .df-flare-a{background:rgba(241,90,41,.48);animation-duration:10s}
#gds-living-machine .pillars .df-flare-b{background:rgba(247,236,222,.29);animation-duration:14s}

/* Widoczność planów w pozostałych sekcjach — bez dominowania tekstu. */
.program .sq-a{background:rgba(0,0,0,.24)}.program .sq-b{background:rgba(0,0,0,.29)}.program .sq-d{background:rgba(175,145,117,.21)}
.projects .sq-a{background:rgba(50,36,28,.22)}.projects .sq-b{background:rgba(247,236,222,.043)}.projects .bar-b{opacity:.42}.projects .bar-c{opacity:.49}
.faculty .sq-a{background:rgba(50,36,28,.082)}.faculty .sq-b{background:rgba(0,0,0,.075)}.faculty .sq-c{opacity:.46}.faculty .bar-a{background:rgba(0,0,0,.11)}.faculty .bar-b{background:rgba(50,36,28,.085)}
.details .sq-a{background:rgba(50,36,28,.26)}.details .sq-b{background:rgba(247,236,222,.05)}.details .sq-d{background:rgba(175,145,117,.21)}
.application .sq-a{background:rgba(0,0,0,.28)}.application .sq-b{background:rgba(0,0,0,.23)}.application .sq-d{background:rgba(175,145,117,.21)}

@media(max-width:1120px){
  .scene-lighting{opacity:.78}
  .scene-light-pass{width:60%}
  #gds-living-machine .hero-combined .hero-world{opacity:.73}
}

@media(max-width:680px){
  .scene-lighting{opacity:.56}
  .scene-light-pass{display:none}
  .scene-flare-b{display:none}
  .scene-reflection{width:82%;height:54%;filter:blur(22px)}
  #gds-living-machine .hero-combined .hero-world{opacity:.65}
  #gds-living-machine .hero .ghost-b,#gds-living-machine .hero .near-blade{display:none}
  .motion-field .scene-bar.bar-c{display:none}
}

@media(prefers-reduced-motion:reduce){
  .scene-light-pass,.scene-flare,.scene-reflection,
  #gds-living-machine .hero .hero-carriage{animation:none!important}
  .scene-light-pass{display:none}
  .scene-flare{opacity:.045}
  .scene-reflection{opacity:.22}
}

/* ITERACJA 18 — dyskretne, ale możliwe do samodzielnego odkrycia wejście
   do Fabryki. Wielkość i tło przycisku pozostają bez zmian. */
#gds-living-machine .factory-trigger{color:var(--orange)}
#gds-living-machine .factory-trigger:hover,
#gds-living-machine .factory-trigger:focus-visible{color:var(--paper)}
@media(hover:none),(pointer:coarse){
  #gds-living-machine .factory-trigger{color:var(--orange);opacity:1}
}
@media(max-width:680px){
  #gds-living-machine .factory-trigger{color:var(--orange);opacity:1}
}

/*
  ITERACJA 19 — dwa porównawcze warianty głębi i światła w sekcji 01.
  Oba zachowują zatwierdzony organizm, osiową geometrię i treść. Film jest
  wyrównywany przez JS z górną krawędzią H1, a znak GDS i główne obiekty
  mechanizmu pracują fizycznie poniżej ekranu.
*/
.hero-comparison{--hero-film-top:390px;--hero-film-bottom:790px}
.hero-comparison .course-label{margin-bottom:60px}
.hero-variant-mark{position:absolute;z-index:24;right:var(--gutter);top:42px;display:flex;gap:13px;align-items:center;margin:0;color:rgba(247,236,222,.52);font:600 10px/1 var(--display);letter-spacing:.15em;text-transform:uppercase}
.hero-variant-mark b{color:var(--orange);font-weight:600}.hero-variant-mark span{padding-left:13px;border-left:1px solid rgba(247,236,222,.2)}
.hero-variant-divider{position:relative;z-index:30;display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:center;min-height:96px;padding:0 var(--gutter);background:var(--deep);color:var(--paper);border-top:1px solid rgba(247,236,222,.08);border-bottom:1px solid rgba(247,236,222,.11);font:600 12px/1 var(--display);letter-spacing:.15em;text-transform:uppercase}
.hero-variant-divider b{color:var(--orange)}.hero-variant-divider span{font-size:16px;letter-spacing:.1em}.hero-variant-divider i{height:1px;background:rgba(247,236,222,.18)}

/* Warstwy porównawcze pozostają wewnątrz hero-world, pod tekstem i filmem. */
.hero-depth-extension,.hero-light-extension{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;transform-style:preserve-3d}
.hero-depth-extension>i,.hero-light-extension>i{position:absolute;display:block;will-change:transform,opacity}

/* Wariant 01: wielka, wieloplanowa hala. Głębia powstaje przez skalę,
   okluzję, miękkość, cień i różne prędkości — bez ukośnych powierzchni. */
.hero-depth-hall{background:radial-gradient(circle at 81% 60%,rgba(175,145,117,.115),transparent 31%),linear-gradient(110deg,#000 0 43%,#080403 70%,#000 100%)}
.hero-depth-hall .scene-lighting{opacity:.82}
.hero-depth-hall .hall-plane{aspect-ratio:1;filter:blur(.35px);box-shadow:32px 36px 0 rgba(0,0,0,.18)}
.hero-depth-hall .hp-a{left:-12%;top:calc(var(--hero-film-bottom) + 8px);width:46vw;background:rgba(50,36,28,.2);animation:hall-far-a 48s ease-in-out -7s infinite alternate}
.hero-depth-hall .hp-b{right:2%;top:calc(var(--hero-film-bottom) + 58px);width:40vw;background:rgba(247,236,222,.038);animation:hall-far-b 57s ease-in-out -21s infinite alternate}
.hero-depth-hall .hp-c{left:42%;top:calc(var(--hero-film-bottom) + 274px);width:20vw;background:rgba(175,145,117,.085);animation:hall-far-c 39s ease-in-out -13s infinite alternate}
.hero-depth-hall .hp-d{right:-10%;top:calc(var(--hero-film-bottom) + 395px);width:30vw;background:rgba(0,0,0,.72);animation:hall-far-d 44s ease-in-out -4s infinite alternate}
.hero-depth-hall .hall-block{aspect-ratio:1;box-shadow:18px 20px 0 rgba(0,0,0,.29)}
.hero-depth-hall .hb-a{left:7%;top:calc(var(--hero-film-bottom) + 115px);width:132px;background:rgba(247,236,222,.1);animation:hall-block-a 24s ease-in-out -8s infinite alternate}
.hero-depth-hall .hb-b{left:37%;top:calc(var(--hero-film-bottom) + 74px);width:92px;background:rgba(241,90,41,.32);animation:hall-block-b 17s ease-in-out -3s infinite alternate}
.hero-depth-hall .hb-c{right:23%;top:calc(var(--hero-film-bottom) + 332px);width:172px;background:rgba(50,36,28,.74);animation:hall-block-c 28s ease-in-out -12s infinite alternate}
.hero-depth-hall .hb-d{right:4%;top:calc(var(--hero-film-bottom) + 180px);width:74px;background:rgba(247,236,222,.18);animation:hall-block-d 19s ease-in-out -5s infinite alternate}
.hero-depth-hall .hall-near{background:rgba(0,0,0,.88);filter:blur(.42px);box-shadow:-2px 0 0 rgba(247,236,222,.06),-26px 0 44px rgba(0,0,0,.48)}
.hero-depth-hall .hn-a{right:-2%;top:calc(var(--hero-film-bottom) - 4px);width:7vw;height:52%;animation:hall-near-a 23s cubic-bezier(.43,.02,.57,.98) -9s infinite}
.hero-depth-hall .hn-b{left:-3%;top:calc(var(--hero-film-bottom) + 224px);width:26vw;height:74px;background:rgba(43,32,25,.82);animation:hall-near-b 31s ease-in-out -15s infinite alternate}
@keyframes hall-far-a{to{transform:translate(5vw,-2vh) scale(1.025)}}
@keyframes hall-far-b{to{transform:translate(-4vw,3vh) scale(.98)}}
@keyframes hall-far-c{to{transform:translate(2vw,-4vh)}}
@keyframes hall-far-d{to{transform:translate(-3vw,-2vh)}}
@keyframes hall-block-a{to{transform:translate(4vw,-18px)}}
@keyframes hall-block-b{to{transform:translate(56px,32px)}}
@keyframes hall-block-c{to{transform:translate(-38px,-20px)}}
@keyframes hall-block-d{to{transform:translate(-52px,38px)}}
@keyframes hall-near-a{0%,20%{transform:translateX(0)}55%,78%{transform:translateX(-48%)}100%{transform:translateX(0)}}
@keyframes hall-near-b{to{transform:translateX(9vw)}}

/* Wariant 02: ta sama maszyna jest ujawniana przez wędrujące światło.
   Źródła światła poruszają się wyłącznie w pionie lub poziomie. */
.hero-light-machine{background:radial-gradient(circle at 76% 64%,rgba(241,90,41,.085),transparent 26%),linear-gradient(110deg,#000 0 44%,#090503 70%,#000 100%)}
.hero-light-machine .scene-lighting{opacity:1.04}
.hero-light-machine .scene-light-pass{width:61%;filter:blur(9px);animation-duration:9.5s}
.hero-light-machine .scene-flare-a{width:280px;height:54px;background:rgba(241,90,41,.54)}
.hero-light-machine .scene-flare-b{width:340px;height:38px;background:rgba(247,236,222,.34)}
.hero-light-machine .scene-reflection{opacity:.58;animation-duration:15s}
.hero-light-machine .light-column{top:calc(var(--hero-film-bottom) - 18px);height:58%;mix-blend-mode:screen;filter:blur(13px);opacity:.08}
.hero-light-machine .lc-a{left:47%;width:7vw;background:linear-gradient(180deg,transparent,rgba(247,236,222,.2) 27%,rgba(247,236,222,.055) 66%,transparent);animation:light-column-a 14s ease-in-out -4s infinite alternate}
.hero-light-machine .lc-b{left:69%;width:11vw;background:linear-gradient(180deg,transparent,rgba(241,90,41,.23) 35%,rgba(241,90,41,.045) 72%,transparent);animation:light-column-b 18s ease-in-out -9s infinite alternate}
.hero-light-machine .lc-c{right:1%;width:4vw;background:linear-gradient(180deg,transparent,rgba(247,236,222,.19) 45%,transparent);animation:light-column-c 12s ease-in-out -2s infinite alternate}
.hero-light-machine .light-track{height:13px;mix-blend-mode:screen;filter:blur(3px);box-shadow:0 0 23px currentColor}
.hero-light-machine .lt-a{left:43%;top:calc(var(--hero-film-bottom) + 74px);width:36vw;color:rgba(247,236,222,.16);background:currentColor;animation:light-track-a 11s ease-in-out -3s infinite}
.hero-light-machine .lt-b{right:2%;top:calc(var(--hero-film-bottom) + 258px);width:29vw;color:rgba(241,90,41,.23);background:currentColor;animation:light-track-b 13s ease-in-out -8s infinite}
.hero-light-machine .lt-c{left:56%;top:calc(var(--hero-film-bottom) + 415px);width:23vw;height:7px;color:rgba(247,236,222,.13);background:currentColor;animation:light-track-c 16s ease-in-out -5s infinite}
.hero-light-machine .light-pulse{aspect-ratio:1;filter:blur(28px);mix-blend-mode:screen;opacity:.04}
.hero-light-machine .lp-a{left:52%;top:calc(var(--hero-film-bottom) + 84px);width:190px;background:var(--orange);animation:light-pulse-a 8s ease-in-out -2s infinite}
.hero-light-machine .lp-b{right:7%;top:calc(var(--hero-film-bottom) + 226px);width:240px;background:var(--paper);animation:light-pulse-b 12s ease-in-out -7s infinite}
.hero-light-machine .lp-c{left:73%;top:calc(var(--hero-film-bottom) + 410px);width:124px;background:var(--orange);animation:light-pulse-a 10s ease-in-out -6s infinite}
.hero-light-machine .light-shutter{top:calc(var(--hero-film-bottom) + 6px);height:53%;background:rgba(0,0,0,.66);box-shadow:-18px 0 37px rgba(0,0,0,.34)}
.hero-light-machine .ls-a{right:-1%;width:5vw;animation:light-shutter-a 18s ease-in-out -6s infinite alternate}
.hero-light-machine .ls-b{left:45%;width:3vw;opacity:.54;animation:light-shutter-b 22s ease-in-out -15s infinite alternate}
@keyframes light-column-a{to{transform:translateX(14vw);opacity:.17}}
@keyframes light-column-b{to{transform:translateX(-11vw);opacity:.15}}
@keyframes light-column-c{to{transform:translateX(-7vw);opacity:.13}}
@keyframes light-track-a{0%,100%{transform:translateX(-11vw);opacity:.03}48%{opacity:.74}72%{transform:translateX(24vw);opacity:.18}}
@keyframes light-track-b{0%,100%{transform:translateX(10vw);opacity:.04}51%{transform:translateX(-22vw);opacity:.82}}
@keyframes light-track-c{0%,100%{transform:translateX(-8vw);opacity:.02}50%{transform:translateX(18vw);opacity:.68}}
@keyframes light-pulse-a{0%,100%{transform:scale(.55);opacity:.025}50%{transform:scale(1.16);opacity:.17}}
@keyframes light-pulse-b{0%,100%{transform:scale(.45);opacity:.018}50%{transform:scale(1.08);opacity:.12}}
@keyframes light-shutter-a{to{transform:translateX(-47%)}}
@keyframes light-shutter-b{to{transform:translateX(8vw)}}

/* Pozycje szerokich ekranów: film i H1 dzielą dokładną krawędź górną.
   Rozpoznawalny znak i główne obiekty rozpoczynają się poniżej filmu. */
@media(min-width:1121px){
  #gds-living-machine .hero-comparison{display:block;min-height:1240px;height:auto;padding:0}
  #gds-living-machine .hero-comparison .machine-video{position:absolute;right:3.5%;top:var(--hero-film-top)!important;bottom:auto!important;width:min(43vw,760px);margin:0}
  #gds-living-machine .hero-comparison .hero-monument{right:2.5%;top:calc(var(--hero-film-bottom) + 24px)!important;width:46%;opacity:.28}
  #gds-living-machine .hero-comparison .hero-core{right:4%;top:calc(var(--hero-film-bottom) + 142px)!important}
  #gds-living-machine .hero-comparison .hero-carriage{right:8%;top:calc(var(--hero-film-bottom) + 112px)!important}
  #gds-living-machine .hero-comparison .hero-mass{right:31%;top:calc(var(--hero-film-bottom) + 112px)!important}
  #gds-living-machine .hero-comparison .hero-morph{right:9%;top:calc(var(--hero-film-bottom) + 288px)!important}
  #gds-living-machine .hero-comparison .hero-hatch{right:18%;top:calc(var(--hero-film-bottom) + 332px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .dev-peek{right:27%;top:calc(var(--hero-film-bottom) + 365px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .hs-orange{right:8%;top:calc(var(--hero-film-bottom) + 68px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .hs-black{right:-10%;top:calc(var(--hero-film-bottom) + 245px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .hs-brown{left:48%;top:calc(var(--hero-film-bottom) + 208px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .hs-paper{right:31%;top:calc(var(--hero-film-bottom) + 318px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .ghost-a{top:calc(var(--hero-film-bottom) + 18px)!important}
  #gds-living-machine .hero-comparison .ghost-b{top:calc(var(--hero-film-bottom) + 228px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .smoked-a{top:calc(var(--hero-film-bottom) + 8px)!important;height:52%}
  #gds-living-machine .hero-comparison .solid-a{top:calc(var(--hero-film-bottom) + 182px)!important}
  #gds-living-machine .hero-comparison .near-blade{top:calc(var(--hero-film-bottom) - 2px)!important;height:55%}
  #gds-living-machine .hero-comparison .leak-a{top:calc(var(--hero-film-bottom) + 128px)!important}
  #gds-living-machine .hero-comparison .leak-b{top:calc(var(--hero-film-bottom) + 284px)!important;bottom:auto}
}

@media(min-width:760px) and (max-width:1120px) and (orientation:landscape){
  #gds-living-machine .hero-comparison{display:block;min-height:1120px;height:auto;padding:0}
  #gds-living-machine .hero-comparison .hero-copy{position:absolute;left:4vw;top:52%;width:min(52vw,590px);margin:0;padding:32px 34px 34px;transform:translateY(-50%)}
  #gds-living-machine .hero-comparison .machine-video{position:absolute;right:3%;top:var(--hero-film-top)!important;bottom:auto!important;width:40vw;margin:0}
  #gds-living-machine .hero-comparison .hero-monument{right:0;top:calc(var(--hero-film-bottom) + 22px)!important;width:56%;opacity:.26}
  #gds-living-machine .hero-comparison .hero-core{right:1%;top:calc(var(--hero-film-bottom) + 126px)!important;transform:scale(.84);transform-origin:right top}
  #gds-living-machine .hero-comparison .hero-carriage{right:4%;top:calc(var(--hero-film-bottom) + 102px)!important}
  #gds-living-machine .hero-comparison .hero-mass{right:31%;top:calc(var(--hero-film-bottom) + 102px)!important}
  #gds-living-machine .hero-comparison .hero-morph{right:7%;top:calc(var(--hero-film-bottom) + 265px)!important}
  #gds-living-machine .hero-comparison .hero-hatch{right:15%;top:calc(var(--hero-film-bottom) + 305px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .dev-peek{right:26%;top:calc(var(--hero-film-bottom) + 338px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .hs-orange{right:5%;top:calc(var(--hero-film-bottom) + 55px)!important;width:250px;bottom:auto}
  #gds-living-machine .hero-comparison .hs-black{right:-13%;top:calc(var(--hero-film-bottom) + 216px)!important;width:390px;bottom:auto}
  #gds-living-machine .hero-comparison .hs-brown{left:45%;top:calc(var(--hero-film-bottom) + 190px)!important;width:205px;bottom:auto}
  #gds-living-machine .hero-comparison .hs-paper{right:28%;top:calc(var(--hero-film-bottom) + 288px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .ghost-a{top:calc(var(--hero-film-bottom) + 12px)!important}
  #gds-living-machine .hero-comparison .ghost-b{top:calc(var(--hero-film-bottom) + 205px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .smoked-a{top:calc(var(--hero-film-bottom) + 6px)!important;height:52%}
  #gds-living-machine .hero-comparison .solid-a{top:calc(var(--hero-film-bottom) + 168px)!important}
  #gds-living-machine .hero-comparison .near-blade{top:calc(var(--hero-film-bottom) - 2px)!important;height:56%}
  #gds-living-machine .hero-comparison .leak-a{top:calc(var(--hero-film-bottom) + 112px)!important}
  #gds-living-machine .hero-comparison .leak-b{top:calc(var(--hero-film-bottom) + 258px)!important;bottom:auto}
  .hero-depth-hall .hp-d,.hero-depth-hall .hn-b,.hero-light-machine .lt-c,.hero-light-machine .lp-c{display:none}
}

/* Wersje dotykowe w pionie pozostają przy dotychczasowym układzie sekcji.
   Dodatkowe warstwy porównawcze są wtedy wyciszone, ponieważ osobny projekt
   mobilnego hero nie jest częścią tej iteracji. */
@media(max-width:759px), (max-width:1120px) and (orientation:portrait){
  .hero-comparison .course-label{margin-bottom:42px}
  .hero-variant-mark{top:26px;right:22px}
  .hero-depth-extension,.hero-light-extension{display:none}
}

@media(prefers-reduced-motion:reduce){
  .hero-depth-extension>i,.hero-light-extension>i{animation:none!important}
}

/*
  ITERACJA 20 — korekta przestrzeni hero.
  Tło ponownie pracuje na całej wysokości sceny. Jedynie znak GDS zachowuje
  wyraźnie wydzieloną pozycję poniżej ekranu filmu. Elementy przechodzące ku
  ekranowi są przez niego optycznie zasłaniane, a pod tekstem wycisza je
  nieprzezroczysta płaszczyzna treści.
*/
#gds-living-machine .hero-comparison .course-label{margin:0 0 60px!important}
#gds-living-machine .hero-comparison .hero-copy{background:linear-gradient(90deg,rgba(0,0,0,.93),rgba(0,0,0,.84) 78%,rgba(0,0,0,.78));box-shadow:28px 28px 0 rgba(36,26,20,.18)}
#gds-living-machine .hero-comparison .hero-world{opacity:.86}
#gds-living-machine .hero-comparison .hero-index,
#gds-living-machine .hero-comparison .hero-variant-mark{top:52px}
#gds-living-machine .hero-comparison .hero-status{bottom:52px}

/* GŁĘBOKA HALA — rozłożenie planów na pełną wysokość sekcji. */
.hero-depth-hall .hero-depth-extension{z-index:0}
.hero-depth-hall .hp-a{left:-14%;top:-4%;width:55vw;background:rgba(50,36,28,.13);animation-duration:52s}
.hero-depth-hall .hp-b{right:-4%;top:2%;width:43vw;background:rgba(247,236,222,.026);animation-duration:61s}
.hero-depth-hall .hp-c{left:31%;top:39%;width:25vw;background:rgba(175,145,117,.075);animation-duration:43s}
.hero-depth-hall .hp-d{right:-8%;top:57%;width:34vw;background:rgba(0,0,0,.68);animation-duration:49s}
.hero-depth-hall .hb-a{left:5%;top:18%;width:148px;background:rgba(247,236,222,.075);animation-duration:29s}
.hero-depth-hall .hb-b{left:43%;top:14%;width:104px;background:rgba(241,90,41,.26);animation-duration:21s}
.hero-depth-hall .hb-c{right:-3%;top:31%;width:194px;background:rgba(50,36,28,.78);animation-duration:31s}
.hero-depth-hall .hb-d{right:4%;top:65%;width:86px;background:rgba(247,236,222,.15);animation-duration:24s}
.hero-depth-hall .hn-a{left:49%;right:auto;top:-5%;width:4.2vw;height:43%;background:rgba(0,0,0,.72);animation-duration:28s}
.hero-depth-hall .hn-b{left:-3%;top:61%;width:31vw;height:82px;background:rgba(43,32,25,.76);animation-duration:37s}

/* MASZYNA ŚWIETLNA — światło i przesłony przechodzą przez całą przestrzeń,
   a ekran filmu działa jak nieprzezroczysta część urządzenia. */
.hero-light-machine .hero-light-extension{z-index:0}
.hero-light-machine .light-column{top:-8%;height:116%}
.hero-light-machine .lc-a{left:44%;width:7vw;opacity:.07}
.hero-light-machine .lc-b{left:67%;width:12vw;opacity:.075}
.hero-light-machine .lc-c{right:1%;width:5vw;opacity:.07}
.hero-light-machine .lt-a{left:38%;top:20%;width:43vw}
.hero-light-machine .lt-b{right:-2%;top:50%;width:36vw}
.hero-light-machine .lt-c{left:53%;top:76%;width:30vw}
.hero-light-machine .lp-a{left:45%;top:14%;width:220px}
.hero-light-machine .lp-b{right:4%;top:43%;width:270px}
.hero-light-machine .lp-c{left:66%;top:73%;width:148px}
.hero-light-machine .light-shutter{top:-5%;height:112%}
.hero-light-machine .ls-a{right:-1%;width:5vw}
.hero-light-machine .ls-b{left:47%;width:3vw;opacity:.48}

/* Istniejące warstwy maszyny również wracają do całej sceny. Duże formy są
   dalekie i spokojne; drobne obiekty mogą znikać za ekranem lub płaszczyzną
   tekstu. Rezerwujemy osobne, czytelne pole wyłącznie dla znaku GDS. */
@media(min-width:1121px){
  #gds-living-machine .hero-comparison .hero-monument{z-index:6;right:3%;top:calc(var(--hero-film-bottom) + 28px)!important;width:44%;opacity:.56}
  #gds-living-machine .hero-comparison .hero-core{right:4%;top:calc(var(--hero-film-bottom) + 248px)!important}
  #gds-living-machine .hero-comparison .hero-carriage{right:8%;top:calc(var(--hero-film-bottom) + 260px)!important}
  #gds-living-machine .hero-comparison .hero-mass{right:31%;top:calc(var(--hero-film-bottom) + 260px)!important}
  #gds-living-machine .hero-comparison .hero-morph{right:9%;top:calc(var(--hero-film-bottom) + 402px)!important}
  #gds-living-machine .hero-comparison .hero-hatch{right:18%;top:calc(var(--hero-film-bottom) + 430px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .dev-peek{right:27%;top:calc(var(--hero-film-bottom) + 454px)!important;bottom:auto}

  #gds-living-machine .hero-comparison .hs-orange{right:-2%;top:16%!important;bottom:auto;width:320px;background:rgba(241,90,41,.13)}
  #gds-living-machine .hero-comparison .hs-black{right:auto;left:43%;top:3%!important;bottom:auto;width:360px;background:rgba(0,0,0,.74)}
  #gds-living-machine .hero-comparison .hs-brown{left:39%;top:34%!important;bottom:auto;width:255px;background:rgba(60,43,33,.34)}
  #gds-living-machine .hero-comparison .hs-paper{right:auto;left:49%;top:54%!important;bottom:auto;width:118px;background:rgba(247,236,222,.075)}
  #gds-living-machine .hero-comparison .ghost-a{left:-20%;top:2%!important}
  #gds-living-machine .hero-comparison .ghost-b{right:-17%;top:42%!important;bottom:auto}
  #gds-living-machine .hero-comparison .smoked-a{left:53%;top:-9%!important;height:118%}
  #gds-living-machine .hero-comparison .solid-a{right:-8%;top:23%!important}
  #gds-living-machine .hero-comparison .near-blade{right:-5%;top:-10%!important;height:124%}
  #gds-living-machine .hero-comparison .leak-a{right:18%;top:22%!important}
  #gds-living-machine .hero-comparison .leak-b{right:42%;top:58%!important;bottom:auto}
}

@media(min-width:760px) and (max-width:1120px) and (orientation:landscape){
  #gds-living-machine .hero-comparison .hero-monument{z-index:6;right:1%;top:calc(var(--hero-film-bottom) + 24px)!important;width:54%;opacity:.54}
  #gds-living-machine .hero-comparison .hero-core{right:1%;top:calc(var(--hero-film-bottom) + 205px)!important;transform:scale(.84);transform-origin:right top}
  #gds-living-machine .hero-comparison .hero-carriage{right:4%;top:calc(var(--hero-film-bottom) + 212px)!important}
  #gds-living-machine .hero-comparison .hero-mass{right:31%;top:calc(var(--hero-film-bottom) + 212px)!important}
  #gds-living-machine .hero-comparison .hero-morph{right:7%;top:calc(var(--hero-film-bottom) + 362px)!important}
  #gds-living-machine .hero-comparison .hero-hatch{right:15%;top:calc(var(--hero-film-bottom) + 394px)!important;bottom:auto}
  #gds-living-machine .hero-comparison .dev-peek{right:26%;top:calc(var(--hero-film-bottom) + 418px)!important;bottom:auto}

  #gds-living-machine .hero-comparison .hs-orange{right:-7%;top:15%!important;bottom:auto;width:270px;background:rgba(241,90,41,.13)}
  #gds-living-machine .hero-comparison .hs-black{right:auto;left:42%;top:2%!important;bottom:auto;width:300px;background:rgba(0,0,0,.72)}
  #gds-living-machine .hero-comparison .hs-brown{left:39%;top:35%!important;bottom:auto;width:215px;background:rgba(60,43,33,.32)}
  #gds-living-machine .hero-comparison .hs-paper{right:auto;left:50%;top:54%!important;bottom:auto;width:98px;background:rgba(247,236,222,.07)}
  #gds-living-machine .hero-comparison .ghost-a{left:-20%;top:1%!important}
  #gds-living-machine .hero-comparison .ghost-b{right:-20%;top:43%!important;bottom:auto}
  #gds-living-machine .hero-comparison .smoked-a{left:53%;top:-8%!important;height:118%}
  #gds-living-machine .hero-comparison .solid-a{right:-16%;top:22%!important}
  #gds-living-machine .hero-comparison .near-blade{right:-6%;top:-9%!important;height:122%}
  #gds-living-machine .hero-comparison .leak-a{right:17%;top:21%!important}
  #gds-living-machine .hero-comparison .leak-b{right:41%;top:58%!important;bottom:auto}

  .hero-depth-hall .hp-d,.hero-depth-hall .hn-b,.hero-light-machine .lt-c,.hero-light-machine .lp-c{display:block}
}

@media(max-width:759px), (max-width:1120px) and (orientation:portrait){
  #gds-living-machine .hero-comparison .course-label{margin-bottom:42px!important}
}

/*
  ITERACJA 21 — wybrany kierunek „Maszyna świetlna”.
  Korekta otwarcia wynika z pomiaru iteracji 18: przy zerowym marginesie CSS
  naturalna odległość optyczna między etykietą i H1 wynosiła około 28 px.
  Docelowe około 60 px uzyskujemy przez dodanie 32 px, nie kolejnych 60 px.
*/
@media(min-width:1121px){
  #gds-living-machine .hero-comparison{min-height:1180px}
  #gds-living-machine .hero-comparison .hero-copy{top:87px!important;transform:none!important}
  #gds-living-machine .hero-comparison .course-label{margin-bottom:32px!important}
}

@media(min-width:760px) and (max-width:1120px) and (orientation:landscape){
  #gds-living-machine .hero-comparison{min-height:1040px}
  #gds-living-machine .hero-comparison .hero-copy{top:93px!important;transform:none!important}
  #gds-living-machine .hero-comparison .course-label{margin-bottom:32px!important}
}

/*
  Rodzina teł „Maszyna świetlna”. Zamiast jednego powielonego ornamentu każda
  sekcja korzysta z innej konfiguracji tych samych składników: pionowych pól
  światła, poziomych torów, prostokątnych odbić, przesłon oraz głębokich mas.
*/
.scene:not(.hero){
  --lm-column-cycle:31s;
  --lm-track-cycle:23s;
  --lm-column-opacity:.72;
  --lm-track-opacity:.52;
  --lm-column-dim:.48;
  --lm-track-dim:.28;
  --lm-track-top:30%;
  --lm-track-left:4%;
  --lm-track-width:68%;
  --lm-columns:linear-gradient(90deg,
    transparent 0 7%,rgba(247,236,222,.025) 7% 14%,transparent 14% 31%,
    rgba(175,145,117,.045) 31% 42%,transparent 42% 61%,
    rgba(241,90,41,.035) 61% 68%,transparent 68% 84%,
    rgba(247,236,222,.02) 84% 91%,transparent 91% 100%);
  --lm-track:linear-gradient(90deg,transparent 0,rgba(247,236,222,.08) 17%,rgba(247,236,222,.2) 49%,rgba(241,90,41,.11) 67%,transparent 100%);
}
.scene:not(.hero) .scene-lighting::before,
.scene:not(.hero) .scene-lighting::after{content:"";position:absolute;display:block;pointer-events:none;will-change:transform,opacity}
.scene:not(.hero) .scene-lighting::before{inset:-9% -4%;background:var(--lm-columns);opacity:var(--lm-column-opacity);filter:blur(7px);animation:gds-machine-columns var(--lm-column-cycle) ease-in-out -11s infinite alternate}
.scene:not(.hero) .scene-lighting::after{left:var(--lm-track-left);top:var(--lm-track-top);width:var(--lm-track-width);height:10px;background:var(--lm-track);box-shadow:0 19vh 0 rgba(247,236,222,.025),0 43vh 0 rgba(241,90,41,.022);opacity:var(--lm-track-opacity);filter:blur(2.6px);animation:gds-machine-tracks var(--lm-track-cycle) ease-in-out -7s infinite alternate}
.scene:not(.hero) .scene-reflection{border-radius:0;filter:blur(13px);box-shadow:inset 0 0 0 1px rgba(247,236,222,.018),22px 26px 0 rgba(0,0,0,.055)}
.scene:not(.hero) .scene-flare{border-radius:0;filter:blur(19px)}
@keyframes gds-machine-columns{0%{transform:translateX(-1.8%);opacity:var(--lm-column-dim)}100%{transform:translateX(2.4%);opacity:var(--lm-column-opacity)}}
@keyframes gds-machine-tracks{0%{transform:translateX(-5%) scaleX(.78);opacity:var(--lm-track-dim)}100%{transform:translateX(11%) scaleX(1.06);opacity:var(--lm-track-opacity)}}

/* 02 — jasny przekrój urządzenia: ciemne przesłony i ciepłe odbicie. */
.scene.principle{--lm-column-cycle:37s;--lm-track-cycle:26s;--lm-column-opacity:.54;--lm-track-opacity:.42;--lm-track-top:21%;--lm-track-left:-5%;--lm-track-width:57%;--lm-columns:linear-gradient(90deg,transparent 0 5%,rgba(50,36,28,.08) 5% 14%,transparent 14% 36%,rgba(175,145,117,.11) 36% 48%,transparent 48% 67%,rgba(241,90,41,.052) 67% 74%,transparent 74% 88%,rgba(50,36,28,.055) 88% 94%,transparent 94%);--lm-track:linear-gradient(90deg,transparent,rgba(50,36,28,.1) 24%,rgba(50,36,28,.24) 55%,rgba(241,90,41,.13) 72%,transparent)}
.principle .scene-lighting::after{box-shadow:0 32vh 0 rgba(50,36,28,.045),0 58vh 0 rgba(241,90,41,.03)}
.principle .scene-reflection{left:1%;top:16%;width:43%;height:61%;background:linear-gradient(90deg,rgba(50,36,28,.07),rgba(190,173,156,.11),transparent 76%);box-shadow:26px 30px 0 rgba(50,36,28,.035)}

/* 03 — głęboki szyb świetlny za równorzędnymi filarami. */
.scene.pillars{--lm-column-cycle:28s;--lm-track-cycle:19s;--lm-column-opacity:.9;--lm-track-opacity:.7;--lm-track-top:18%;--lm-track-left:23%;--lm-track-width:73%;--lm-columns:linear-gradient(90deg,rgba(0,0,0,.34) 0 11%,transparent 11% 27%,rgba(247,236,222,.035) 27% 36%,transparent 36% 53%,rgba(175,145,117,.075) 53% 66%,transparent 66% 79%,rgba(241,90,41,.05) 79% 85%,transparent 85% 100%)}
.pillars .scene-lighting::after{height:13px;box-shadow:0 25vh 0 rgba(247,236,222,.035),0 58vh 0 rgba(241,90,41,.045)}
.pillars .scene-reflection{right:-2%;top:9%;width:58%;height:72%;background:linear-gradient(90deg,transparent,rgba(190,173,156,.045) 28%,rgba(247,236,222,.105) 62%,transparent)}

/* 04 — matryca programu: szerokie przesłony i krótsze impulsy między polami. */
.scene.program{--lm-column-cycle:34s;--lm-track-cycle:21s;--lm-column-opacity:.82;--lm-track-opacity:.58;--lm-track-top:14%;--lm-track-left:35%;--lm-track-width:60%;--lm-columns:linear-gradient(90deg,rgba(0,0,0,.2) 0 16%,transparent 16% 33%,rgba(247,236,222,.028) 33% 39%,transparent 39% 57%,rgba(0,0,0,.15) 57% 72%,transparent 72% 83%,rgba(175,145,117,.055) 83% 94%,transparent 94%)}
.program .scene-lighting::after{height:8px;box-shadow:0 27vh 0 rgba(247,236,222,.032),0 54vh 0 rgba(0,0,0,.13),0 73vh 0 rgba(241,90,41,.035)}
.program .scene-reflection{right:4%;top:8%;width:47%;height:79%;background:linear-gradient(90deg,transparent,rgba(247,236,222,.055) 46%,rgba(241,90,41,.026) 68%,transparent)}

/* 05 — tunel światła prowadzący do galerii projektów. */
.scene.projects{--lm-column-cycle:29s;--lm-track-cycle:18s;--lm-column-opacity:.88;--lm-track-opacity:.68;--lm-track-top:24%;--lm-track-left:29%;--lm-track-width:70%;--lm-columns:linear-gradient(90deg,rgba(0,0,0,.3) 0 13%,transparent 13% 29%,rgba(175,145,117,.055) 29% 39%,transparent 39% 58%,rgba(247,236,222,.04) 58% 72%,transparent 72% 87%,rgba(241,90,41,.05) 87% 94%,transparent 94%)}
.projects .scene-lighting::after{height:11px;box-shadow:0 31vh 0 rgba(247,236,222,.032),0 62vh 0 rgba(241,90,41,.04)}
.projects .scene-reflection{right:-4%;top:12%;width:66%;height:67%;background:linear-gradient(90deg,transparent,rgba(175,145,117,.04) 23%,rgba(247,236,222,.085) 61%,transparent)}

/* 07 — jasny negatyw maszyny; geometria pozostaje widoczna bez brudzenia tekstu. */
.scene.faculty{--lm-column-cycle:41s;--lm-track-cycle:28s;--lm-column-opacity:.47;--lm-track-opacity:.38;--lm-track-top:19%;--lm-track-left:42%;--lm-track-width:55%;--lm-columns:linear-gradient(90deg,transparent 0 9%,rgba(50,36,28,.06) 9% 17%,transparent 17% 39%,rgba(175,145,117,.095) 39% 52%,transparent 52% 74%,rgba(241,90,41,.04) 74% 80%,transparent 80% 93%,rgba(50,36,28,.045) 93%)}
.faculty .scene-lighting::after{box-shadow:0 29vh 0 rgba(50,36,28,.04),0 55vh 0 rgba(241,90,41,.026)}
.faculty .scene-reflection{right:0;top:7%;width:49%;height:73%;background:linear-gradient(90deg,transparent,rgba(50,36,28,.055) 44%,rgba(190,173,156,.12) 72%,transparent);box-shadow:24px 28px 0 rgba(50,36,28,.028)}

/* Podstrona wybranych wykładowców. */
.faculty-directory-page{background:#000;color:var(--paper)}
.faculty-directory-page .site-header{position:relative}
.faculty-directory-page .header-logo{cursor:pointer}
.faculty-directory-page .nav{margin-left:auto}
.faculty-directory-page .nav a{color:var(--ink)}
.faculty-directory-main{min-height:100vh;overflow:hidden;background:#000}
.faculty-directory-hero{position:relative;min-height:440px;padding:clamp(72px,8vw,128px) 0 clamp(64px,7vw,112px);overflow:hidden;background:#000}
.faculty-directory-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(241,90,41,.1),transparent 29%),linear-gradient(180deg,transparent 62%,rgba(50,36,28,.42));pointer-events:none}
.faculty-directory-hero .content-wrap{position:relative;z-index:2}
.faculty-directory-kicker{display:flex;align-items:center;gap:16px;margin:0 0 28px;color:var(--orange);font:600 12px var(--display);letter-spacing:.14em;text-transform:uppercase}
.faculty-directory-kicker::before{content:"";width:14px;aspect-ratio:1;background:var(--orange)}
.faculty-directory-title{max-width:940px;margin:0;font-size:clamp(50px,6vw,96px);line-height:.92;color:var(--paper)}
.faculty-directory-intro{max-width:720px;margin:34px 0 0;color:rgba(247,236,222,.72);font-size:clamp(17px,1.4vw,21px);line-height:1.55}
.directory-ghost-mark{position:absolute;right:-2vw;bottom:-22%;width:min(54vw,860px);aspect-ratio:1;opacity:.07}
.directory-ghost-mark::before,.directory-ghost-mark::after{content:"";position:absolute;background:var(--paper)}
.directory-ghost-mark::before{left:0;top:0;width:72%;height:15%}
.directory-ghost-mark::after{right:0;bottom:0;width:15%;height:72%}
.directory-square{position:absolute;aspect-ratio:1;background:var(--orange);opacity:.75}
.directory-square.a{right:13%;top:19%;width:clamp(42px,5vw,82px)}
.directory-square.b{right:31%;bottom:16%;width:clamp(24px,3vw,48px);opacity:.32}
.faculty-directory-list{position:relative;padding:clamp(74px,8vw,132px) 0;background:var(--paper);color:var(--ink)}
.faculty-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,5vw,78px) clamp(26px,4vw,66px)}
.faculty-directory-card{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);align-items:start;border-top:1px solid rgba(23,16,13,.24);padding-top:20px;min-width:0}
.faculty-directory-card .portrait{aspect-ratio:1}
.faculty-directory-card .person-copy{padding:6px 0 0 clamp(22px,2.6vw,42px)}
.faculty-directory-card .person-copy h2{margin:0 0 12px;font-size:clamp(28px,2.6vw,42px);line-height:.96}
.faculty-directory-card .person-role{display:grid;gap:2px;margin:0 0 20px;color:var(--brown)}
.faculty-directory-card .person-role strong{font:600 13px var(--display);letter-spacing:.055em;text-transform:uppercase}
.faculty-directory-card .person-role span{font:600 11px var(--display);letter-spacing:.14em;text-transform:uppercase}
.faculty-directory-card .person-bio{margin:0;color:rgba(23,16,13,.7);font-size:15px;line-height:1.55}
.faculty-directory-card .person-projects{margin-top:22px}
.faculty-directory-card.artur .portrait img{object-position:50% 38%}
.faculty-directory-card.michal .portrait img{object-position:50% 38%}
.faculty-directory-card.aneta .portrait img{object-position:50% 24%}
.faculty-directory-card.michal .portrait,.faculty-directory-card.aneta .portrait,
.faculty-directory-card.michal .portrait img,.faculty-directory-card.aneta .portrait img{background:#fff}
.faculty-directory-card.michal .portrait img,.faculty-directory-card.aneta .portrait img{filter:grayscale(1) sepia(.25) saturate(.35) brightness(.94) contrast(1.04)}
.faculty-directory-card.michal .portrait:hover img,.faculty-directory-card.aneta .portrait:hover img{filter:none}
.faculty-directory-card .person-bio-followup{margin-top:1em}
.faculty-directory-placeholder{min-height:420px;grid-template-columns:1fr;place-content:center;background:rgba(50,36,28,.045);border:1px solid rgba(23,16,13,.16);padding:clamp(34px,4vw,62px)}
.faculty-directory-placeholder .placeholder-mark{width:min(48%,220px);aspect-ratio:1;margin:0 0 34px;background:linear-gradient(90deg,var(--orange) 0 24%,transparent 24% 38%,rgba(50,36,28,.18) 38% 100%);opacity:.75}
.faculty-directory-placeholder h2{font-size:clamp(28px,2.6vw,42px);margin:0 0 12px}
.faculty-directory-placeholder p{max-width:420px;margin:0;color:rgba(23,16,13,.62)}
.faculty-directory-return{display:flex;justify-content:flex-start;margin-top:clamp(56px,7vw,100px)}
.faculty-directory-return .button{background:var(--ink);color:var(--paper)}
.faculty-directory-return .button>span{background:var(--orange)}
@media(max-width:1180px){.faculty-directory-grid{grid-template-columns:1fr}.faculty-directory-card{grid-template-columns:minmax(220px,.68fr) minmax(0,1.32fr)}}
@media(max-width:680px){.faculty-directory-hero{min-height:390px}.faculty-directory-title{font-size:clamp(44px,13vw,66px)}.faculty-directory-card{grid-template-columns:1fr}.faculty-directory-card .person-copy{padding:24px 0 0}.faculty-directory-card .portrait{max-width:none}.faculty-directory-page .nav{display:flex;position:static;padding:0;background:transparent;box-shadow:none;border:0}.faculty-directory-page .nav a{font-size:11px}.faculty-directory-placeholder{min-height:360px}}

/* 08 — pionowe kanały za częścią informacyjną i spokojny skan poziomy. */
.scene.details{--lm-column-cycle:30s;--lm-track-cycle:22s;--lm-column-opacity:.86;--lm-track-opacity:.63;--lm-track-top:17%;--lm-track-left:45%;--lm-track-width:50%;--lm-columns:linear-gradient(90deg,rgba(0,0,0,.32) 0 9%,transparent 9% 26%,rgba(247,236,222,.03) 26% 33%,transparent 33% 48%,rgba(175,145,117,.065) 48% 58%,transparent 58% 76%,rgba(241,90,41,.045) 76% 82%,transparent 82% 100%)}
.details .scene-lighting::after{height:9px;box-shadow:0 26vh 0 rgba(247,236,222,.03),0 49vh 0 rgba(241,90,41,.038),0 70vh 0 rgba(247,236,222,.02)}
.details .scene-reflection{right:1%;top:11%;width:59%;height:74%;background:linear-gradient(90deg,transparent,rgba(175,145,117,.035) 31%,rgba(247,236,222,.075) 69%,transparent)}

/* Zakończenie — dwa pola światła domykają symetryczną, centralną kompozycję. */
.scene.application{--lm-column-cycle:33s;--lm-track-cycle:20s;--lm-column-opacity:.8;--lm-track-opacity:.6;--lm-track-top:23%;--lm-track-left:13%;--lm-track-width:74%;--lm-columns:linear-gradient(90deg,rgba(0,0,0,.2) 0 15%,transparent 15% 31%,rgba(247,236,222,.035) 31% 42%,transparent 42% 58%,rgba(175,145,117,.07) 58% 69%,transparent 69% 85%,rgba(0,0,0,.18) 85% 100%)}
.application .scene-lighting::after{height:12px;box-shadow:0 24vh 0 rgba(247,236,222,.035),0 47vh 0 rgba(241,90,41,.042)}
.application .scene-reflection{left:21%;right:auto;top:6%;width:58%;height:80%;background:linear-gradient(90deg,transparent,rgba(247,236,222,.045) 31%,rgba(241,90,41,.03) 50%,rgba(247,236,222,.045) 69%,transparent)}

@media(prefers-reduced-motion:reduce){
  .scene:not(.hero) .scene-lighting::before,.scene:not(.hero) .scene-lighting::after{animation:none!important}
}

/*
  ITERACJA 22 — korekta dolnej pustki i rozproszenie zespołu mechanicznego.
  Tylko znak GDS pozostaje fizycznie pod filmem. Pozostałe części mechanizmu
  wracają na wysokość hasła i ekranu, gdzie mogą być zasłaniane przez film
  oraz płaszczyznę tekstu. Dzięki temu nie tworzą odrębnego magazynu obiektów
  w prawym dolnym narożniku.
*/
@media(min-width:1121px){
  #gds-living-machine .hero-comparison{min-height:1040px}

  #gds-living-machine .hero-comparison .hero-core{
    z-index:8;left:44.5%;right:auto;
    top:calc(var(--hero-film-top) + 68px)!important;
    transform:scale(.92);transform-origin:left top
  }
  #gds-living-machine .hero-comparison .hero-carriage{
    z-index:7;left:42%;right:auto;
    top:calc(var(--hero-film-top) - 48px)!important
  }
  #gds-living-machine .hero-comparison .hero-mass{
    z-index:9;left:49%;right:auto;
    top:calc(var(--hero-film-top) + 154px)!important
  }
  #gds-living-machine .hero-comparison .hero-morph{
    z-index:7;left:43.5%;right:auto;
    top:calc(var(--hero-film-bottom) - 68px)!important
  }
  #gds-living-machine .hero-comparison .hero-hatch{
    z-index:7;left:49%;right:auto;
    top:calc(var(--hero-film-bottom) - 42px)!important;bottom:auto
  }
  #gds-living-machine .hero-comparison .dev-peek{
    z-index:8;left:55%;right:auto;
    top:calc(var(--hero-film-bottom) - 10px)!important;bottom:auto
  }
}

@media(min-width:760px) and (max-width:1120px) and (orientation:landscape){
  #gds-living-machine .hero-comparison{min-height:1040px}

  #gds-living-machine .hero-comparison .hero-core{
    z-index:8;left:48%;right:auto;
    top:calc(var(--hero-film-top) + 58px)!important;
    transform:scale(.68);transform-origin:left top
  }
  #gds-living-machine .hero-comparison .hero-carriage{
    z-index:7;left:45%;right:auto;
    top:calc(var(--hero-film-top) - 40px)!important;
    transform:scale(.82);transform-origin:left center
  }
  #gds-living-machine .hero-comparison .hero-mass{
    z-index:9;left:51%;right:auto;
    top:calc(var(--hero-film-top) + 126px)!important
  }
  #gds-living-machine .hero-comparison .hero-morph{
    z-index:7;left:45%;right:auto;
    top:calc(var(--hero-film-bottom) - 58px)!important;
    transform:scale(.82);transform-origin:left center
  }
  #gds-living-machine .hero-comparison .hero-hatch{
    z-index:7;left:50%;right:auto;
    top:calc(var(--hero-film-bottom) - 34px)!important;bottom:auto;
    transform:scale(.82);transform-origin:left top
  }
  #gds-living-machine .hero-comparison .dev-peek{
    z-index:8;left:57%;right:auto;
    top:calc(var(--hero-film-bottom) - 2px)!important;bottom:auto
  }
}

/* ITERACJA 34 — końcowe nadpisania muszą pozostać ostatnią warstwą kaskady. */
.casing-control{display:none!important}
.program .developer{display:none!important}
.program .scene-lighting::before{
  inset:auto -4% auto -4%;top:14%;height:64%;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)
}
.program .motion-field::after{top:9%;height:62%}
.program .scene-bar.bar-b{top:12%;height:56%}
.program .scene-bar.bar-c{top:25%;height:62%}
.program .scene-reflection{top:17%;height:64%}
.projects-mark{z-index:1;right:3.5%;top:49%;width:min(39vw,620px);opacity:.075;color:var(--paper)}

@media(min-width:941px){
  .projects-layout{grid-template-rows:auto auto 1fr}
  .projects-copy{display:contents}
  .projects-copy>.eyebrow{grid-column:1;grid-row:1;margin-bottom:20px}
  .projects-copy>h2{grid-column:1;grid-row:2;align-self:start}
  .projects-copy>.section-copy-rich{grid-column:1;grid-row:3;align-self:start}
  .project-gallery{grid-column:2;grid-row:2 / span 2;align-self:start;margin:0}
}
@media(min-width:1121px){
  #gds-living-machine .hero-comparison .hero-core{
    z-index:10;left:calc(53.5% - 54px);right:auto;
    top:calc(var(--hero-film-top) - 74px)!important
  }
}

/*
  ITERACJA 56
  Korekta bezpiecznego wyświetlania logo, pełne profile wykładowców
  oraz wspólny odstęp tytuł–treść w sekcji 05.
*/

/* Kontener zachowuje zatwierdzony kadr i geometrię dokowania splash screenu,
   ale nie odcina antyaliasingu ani kosmetycznych zmian mieszczących się
   na roboczym obszarze SVG. */
.logo-crop{overflow:visible}
.logo-crop img{pointer-events:none}

/* Pełne bio pozostają czytelne w trzech równorzędnych, kwadratowych profilach. */
.faculty-grid{
  align-items:stretch;
  margin-top:clamp(58px,5vw,82px)
}
.person{
  display:grid;
  grid-template-rows:auto 1fr;
  min-width:0;
  border-top:1px solid rgba(23,16,13,.28);
  background:rgba(255,255,255,.12)
}
.portrait{aspect-ratio:1/1}
.person-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:24px 2px 0
}
.person-copy h3{margin:0 0 14px;font-size:clamp(27px,2vw,32px)}
.person-copy .person-role{
  display:grid;
  gap:2px;
  min-height:50px;
  margin:0 0 20px;
  color:var(--brown);
  font-family:var(--display);
  line-height:1.25;
  text-transform:uppercase
}
.person-role strong{font-size:14px;letter-spacing:.055em}
.person-copy .person-role span{font-size:11px;letter-spacing:.14em}
.person-copy .person-bio{
  margin:0;
  color:rgba(23,16,13,.72);
  font-size:15px;
  line-height:1.55
}
.person-projects{
  margin-top:auto;
  padding-top:24px
}
.person-projects summary{
  position:relative;
  padding:16px 34px 16px 0;
  border-top:1px solid rgba(23,16,13,.24);
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  font:600 11px/1.3 var(--display);
  letter-spacing:.11em;
  text-transform:uppercase
}
.person-projects summary::-webkit-details-marker{display:none}
.person-projects summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  color:var(--orange);
  font:500 24px/1 var(--display);
  transform:translateY(-50%)
}
.person-projects[open] summary::after{content:"−"}
.person-projects ul{margin:16px 0 0;padding:0;list-style:none}
.person-projects li{
  padding:7px 0;
  border-bottom:1px solid rgba(23,16,13,.1);
  color:rgba(23,16,13,.67);
  font-size:13px;
  line-height:1.35
}
.person-projects>p{margin:16px 0 0;color:rgba(23,16,13,.67);font-size:13px;line-height:1.45}
.person-projects>p+p{margin-top:8px}

/* Wcześniejsze `gap:5vw` działało również między wierszami siatki,
   dodając drugi odstęp ponad wspólny margin sekcji-copy-rich. */
@media(min-width:941px){
  .projects-layout{column-gap:5vw;row-gap:0}
  .projects-copy>.section-copy-rich{margin-top:clamp(32px,2.25vw,44px)}
}

@media(min-width:681px) and (max-width:1120px){
  .faculty-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .person-copy .person-bio{font-size:14px}
  .person-projects li{font-size:12px}
}
@media(min-width:760px) and (max-width:1120px) and (orientation:landscape){
  #gds-living-machine .hero-comparison .hero-core{
    z-index:10;left:calc(57% - 46px);right:auto;
    top:calc(var(--hero-film-top) - 62px)!important;
    transform:scale(.84);transform-origin:left top
  }
}
@media(max-width:940px){
  .projects-mark{right:-9%;top:58%;width:min(72vw,560px);opacity:.055}
}
