:root{--ink:#101010;--paper:#fcfcfc;--line:#d9d9d9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #6565ff;outline-offset:5px}.skip{position:absolute;top:-60px;background:white;padding:15px;z-index:100}.skip:focus{top:0}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;border-bottom:1px solid var(--line);background:rgba(252,252,252,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.brand{font-size:30px;font-weight:900;letter-spacing:-1.8px;line-height:.9}.brand span{display:block;letter-spacing:1.3px;font-size:8px;margin-top:8px}nav{display:flex;gap:34px;font-size:14px}nav a{padding:8px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--ink)}.contact-pill{padding:12px 22px;border:1px solid var(--ink);border-radius:40px;font-size:14px}.contact-pill:hover{background:var(--ink);color:white}.hero{padding:32px 4.5% 0;overflow:hidden}.eyebrow{font-size:12px;letter-spacing:1.2px;font-weight:500}.hero>.eyebrow{display:flex;justify-content:space-between}.hero-layout{display:grid;grid-template-columns:1.12fr 1fr;min-height:590px;align-items:center}.hero-copy{position:relative;z-index:2;padding:35px 0 55px}h1{font-size:clamp(62px,6.8vw,112px);font-weight:700;letter-spacing:-.075em;line-height:.98;margin:0 0 26px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.065em}p{line-height:1.6}.hero-copy p{font-size:18px;line-height:1.45;margin-bottom:28px}.button{display:inline-flex;padding:17px 26px;border-radius:50px;font-size:14px;border:1px solid var(--ink);transition:transform .2s}.button:hover{transform:translateY(-3px)}.dark{background:var(--ink);color:white}.light{background:white;color:var(--ink)}.hero-art{position:relative;height:590px}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center 49%;mix-blend-mode:multiply}.art-caption{position:absolute;bottom:42px;right:12px;font-size:11px;letter-spacing:1.4px;background:var(--paper);padding:9px}.hero-foot{border-top:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.3px}.section{padding:90px 4.5%}.section-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:45px}.section-top p{margin:0;font-size:16px;line-height:1.4}.work{background:#f1f1f1}.work-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}h2{font-size:clamp(42px,5vw,76px);letter-spacing:-.065em;line-height:1.03;margin:0}.work-title h2{font-size:clamp(36px,4vw,60px)}.count{font-size:13px;vertical-align:top;margin-left:13px;border:1px solid #aaa;padding:5px 8px;border-radius:50%;display:inline-block;letter-spacing:0}.text-link{font-size:14px;border-bottom:1px solid;padding-bottom:6px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.filters button{border:1px solid #c5c5c5;border-radius:35px;padding:11px 18px;background:transparent;font-size:14px}.filters button.active,.filters button:hover{background:var(--ink);color:white;border-color:var(--ink)}.filters small{margin-left:9px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:45px 24px}.project{border:0;padding:0;background:none;text-align:left;color:var(--ink);min-width:0}.project-image{height:clamp(240px,33vw,530px);background:#e4e4e4;overflow:hidden;position:relative}.project img{width:100%;height:100%;object-fit:contain;transition:transform .6s}.project:hover img{transform:scale(1.025)}.project-view{position:absolute;bottom:20px;right:20px;background:white;padding:12px 18px;font-size:13px;border-radius:40px;opacity:0;transform:translateY(8px);transition:.2s}.project:hover .project-view,.project:focus-visible .project-view{opacity:1;transform:none}.project-info{display:flex;justify-content:space-between;padding-top:16px;gap:12px}.project h3{font-size:24px;margin:0;letter-spacing:-.8px;font-weight:600}.project-info span{font-size:13px;padding-top:5px}.project-scope{font-size:12px;color:#555;margin:8px 0 0;line-height:1.5}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.studio h2{font-size:clamp(64px,7vw,108px)}.studio-grid img{width:65%;margin-top:30px;max-height:400px;object-fit:cover;object-position:bottom}.studio-text .big{font-size:clamp(25px,2.6vw,38px);line-height:1.25;letter-spacing:-1px;margin-top:0}.studio-text p{max-width:530px}.manifesto{border-top:1px solid var(--line);font-size:clamp(27px,3.4vw,48px);font-weight:700;line-height:1.15;letter-spacing:-1.7px;margin-top:35px;padding-top:28px}.services{background:#ededed}.services h2{margin-bottom:50px}.service-list details{border-top:1px solid #bbb}.service-list details:last-child{border-bottom:1px solid #bbb}summary{list-style:none;display:flex;align-items:center;gap:30px;padding:26px 0;cursor:pointer;font-size:clamp(34px,4vw,55px);letter-spacing:-2px}summary::-webkit-details-marker{display:none}.service-number{font-size:12px;letter-spacing:0;width:40px}.plus{margin-left:auto;font-weight:300}.service-list details[open] .plus{transform:rotate(45deg)}.service-content{padding:0 0 35px 70px;display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}.service-content p{margin-top:0;max-width:390px}.service-content ul{grid-column:1;line-height:1.9;font-size:14px;padding-left:18px}.service-content img{grid-column:2;grid-row:1/3;align-self:center;width:100%;mix-blend-mode:multiply}.contact{background:var(--ink);color:white;padding-bottom:20px}.contact h2{font-size:clamp(60px,8.2vw,130px);margin:45px 0 40px;line-height:1}.contact-bottom{display:flex;justify-content:space-between;align-items:center}.contact-bottom p{font-size:18px}.footer-word{font-size:clamp(65px,16.3vw,280px);font-weight:900;letter-spacing:-.075em;line-height:1.05;border-top:1px solid #555;margin-top:75px;padding-top:35px;text-align:center}footer{display:flex;justify-content:space-between;border-top:1px solid #555;padding:24px 0;font-size:11px;letter-spacing:.7px}dialog{width:min(1120px,96vw);height:92vh;max-height:92vh;padding:0;border:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}.dialog-toolbar{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 25px;z-index:1;font-size:12px;letter-spacing:1px}.dialog-toolbar button{border:1px solid var(--line);border-radius:30px;padding:10px 18px;background:white;font-size:14px;letter-spacing:0}.case-head{padding:45px 6%}.case-head h2{margin:18px 0 25px}.case-head>p{max-width:760px}.case-head #case-scope{font-size:13px;color:#666;border-top:1px solid var(--line);padding-top:15px}#case-gallery{padding:0 4%}#case-gallery img{display:block;width:100%;height:auto;margin-bottom:25px}.case-bottom{display:flex;justify-content:space-between;padding:25px 6% 45px;gap:20px}.case-bottom button{background:transparent;padding:14px;border:1px solid var(--line);border-radius:30px;font-size:14px}body:has(dialog[open]){overflow:hidden}@media(max-width:760px){header{height:76px}.brand{font-size:23px}.brand span{font-size:6px}nav{gap:14px;font-size:12px}.contact-pill{display:none}.hero>.eyebrow span{display:none}.hero-layout{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:40px 0 0}h1{font-size:clamp(57px,11.4vw,84px)}.hero-art{height:360px;margin-top:0}.hero-art img{object-fit:contain}.art-caption{bottom:15px;font-size:10px}.hero-foot{font-size:9px;gap:24px;line-height:1.5}.section{padding:60px 5%}.section-top{margin-bottom:30px;gap:20px}.section-top .eyebrow{font-size:10px}.section-top p{font-size:13px}.work-title{align-items:flex-start;gap:18px;flex-direction:column}.work-title h2{font-size:38px}.projects{grid-template-columns:1fr;gap:32px}.project-image{height:350px}.project-view{opacity:1;transform:none;bottom:12px;right:12px;font-size:12px}.project h3{font-size:23px}.filters button{padding:10px 14px;font-size:13px}.studio-grid{grid-template-columns:1fr;gap:30px}.studio-grid img{display:none}.studio-text .big{font-size:29px}.studio h2{font-size:64px}.service-content{padding-left:0;grid-template-columns:1fr}.service-content img{grid-column:1;grid-row:auto}.service-content ul{grid-column:1}.service-number{width:20px}summary{gap:20px;font-size:37px}.contact h2{font-size:clamp(53px,10.5vw,80px)}.contact-bottom{align-items:flex-start;flex-direction:column;gap:10px}.contact-bottom p{font-size:16px}.footer-word{margin-top:55px;font-size:15.6vw}footer{font-size:9px;flex-wrap:wrap;gap:18px}footer span:nth-child(2){display:none}.case-head{padding:30px 6%}.case-head h2{font-size:40px}.dialog-toolbar{padding:12px 15px;font-size:10px}.case-bottom button{font-size:12px}dialog{height:95vh;max-height:95vh}}

.instagram-contact{max-width:340px}.instagram-contact #instagram-hint{font-size:13px;color:#c4c4c4;margin:12px 0 0}.message-preview{margin-top:35px;padding-top:24px;border-top:1px solid #555;max-width:780px}.message-preview label{font-size:12px;letter-spacing:1.2px}.message-row{display:flex;gap:16px;align-items:center;margin-top:12px}.message-row textarea{font:inherit;font-size:16px;line-height:1.5;background:transparent;color:white;border:1px solid #555;border-radius:8px;padding:14px;resize:none;flex:1;min-width:0}.message-row button{font:inherit;font-size:14px;color:white;border:1px solid #888;background:transparent;border-radius:30px;padding:13px 20px;white-space:nowrap}.message-row button:hover{background:white;color:#111}#instagram-copy-status{font-size:13px;min-height:21px;color:#dedede;margin:12px 0 0}@media(max-width:760px){.message-row{flex-direction:column;align-items:flex-start}.message-row textarea{width:100%}.instagram-contact{max-width:100%}}

/* Original Microbio artwork, used consistently across every brand mention. */
.brand{display:block;width:215px;line-height:1}.brand>img{display:block;width:100%;height:auto}.brand span{display:none}.wordmark-inline{width:3.7em;height:auto;vertical-align:baseline}.wordmark-small{width:78px;height:auto;vertical-align:middle;filter:invert(1);margin:0 4px}.footer-word{font-size:inherit;padding:55px 0 42px}.footer-word img{display:block;width:100%;height:auto;filter:invert(1)}.dialog-brand{display:flex;align-items:center;gap:12px}.dialog-brand img{width:96px;height:auto}.menu-toggle{display:none}.mobile-contact-link{display:none}.instagram-profile{display:inline-block;font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.project{border-radius:0}.project-image{transition:box-shadow .25s}.project:hover .project-image{box-shadow:0 8px 28px #0002}.project img{height:100%}.project h3 .wordmark-inline{width:140px;max-width:100%;height:auto}.case-head h2 .wordmark-inline{width:min(65%,440px);vertical-align:baseline}summary{min-height:74px}.case-bottom button:hover{background:var(--ink);color:white}.contact-pill{min-height:44px;display:inline-flex;align-items:center}.filters button{min-height:44px}.dialog-toolbar button{min-height:44px}.case-bottom button{min-height:44px}.message-row button{min-height:44px}.hero-art img{width:100%;height:100%}#case-gallery img{background:#eee}#case-gallery .image-error{font-size:14px;padding:25px;background:#eee;border:1px solid #ccc}.project-scope{font-size:13px}.project-info span{flex-shrink:0}
@media(max-width:760px){header{gap:15px}.brand{width:145px;flex-shrink:0}.contact-pill{display:inline-flex;margin-left:auto;padding:10px 14px;font-size:13px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid #ccc;border-radius:50%;flex-shrink:0}header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 5% 20px;flex-direction:column;gap:0;box-shadow:0 15px 25px #0001;font-size:16px}header nav.is-open{display:flex}header nav a{padding:14px 0}.mobile-contact-link{display:block}.footer-word{padding:35px 0}.wordmark-small{width:66px}.dialog-brand{gap:8px}.dialog-brand img{width:85px}.project-info{flex-wrap:wrap}.project-image{height:auto;aspect-ratio:1/1}.hero-foot{font-size:10px}.art-caption{font-size:11px}footer{font-size:10px}.service-content ul{font-size:16px}.section-top .eyebrow{font-size:12px}.filters button{font-size:14px}.brand>img{height:auto}.case-head h2 .wordmark-inline{width:70%}}@media(max-width:359px){header{gap:8px;padding:0 4%}.brand{width:125px}.contact-pill{padding:10px;font-size:12px}.hero-copy h1{font-size:52px}}

.footer-signoff{margin-top:70px;padding:45px 0 40px;border-top:1px solid #555;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.footer-signoff p{margin:0;font-size:clamp(48px,6vw,88px);line-height:1.02;letter-spacing:-.055em}.footer-signoff em{letter-spacing:-.045em}.footer-signoff>span{font-size:12px;letter-spacing:1.4px;line-height:1.5;color:#c4c4c4;padding-bottom:5px}@media(max-width:760px){.footer-signoff{margin-top:45px;padding:30px 0;align-items:flex-start;flex-direction:column;gap:25px}.footer-signoff p{font-size:clamp(44px,10vw,70px)}.footer-signoff>span{font-size:11px}}

/* Three versions of the approved cellular mark dissolve every two seconds. */
.hero-art-cycle .hero-phase{position:absolute;inset:0;animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;will-change:opacity}.hero-art-cycle .hero-phase-1{animation-name:hero-phase-one;opacity:1}.hero-art-cycle .hero-phase-2{animation-name:hero-phase-two;opacity:0}.hero-art-cycle .hero-phase-3{animation-name:hero-phase-three;opacity:0}.hero-art-cycle .art-caption{z-index:2}
@keyframes hero-phase-one{0%,20%{opacity:1}33.333%,86.667%{opacity:0}100%{opacity:1}}
@keyframes hero-phase-two{0%,20%{opacity:0}33.333%,53.333%{opacity:1}66.667%,100%{opacity:0}}
@keyframes hero-phase-three{0%,53.333%{opacity:0}66.667%,86.667%{opacity:1}100%{opacity:0}}

/* Native swipe gallery: full pieces, with the next slide visible. */
.visual-gallery{margin-top:0;border-top:1px solid var(--line);min-width:0;scroll-margin-top:110px}.gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.gallery-heading h2{font-size:clamp(32px,4vw,60px);font-weight:400;letter-spacing:-.04em;margin:0 0 12px}.gallery-heading p{font-size:14px;margin:0;color:#555}.gallery-controls{display:flex;align-items:center;gap:18px;white-space:nowrap}.gallery-controls button{width:48px;height:48px;border:1px solid #222;border-radius:50%;background:transparent;color:#111;font-size:24px;cursor:pointer}.gallery-controls button:hover:not(:disabled){background:#111;color:#fff}.gallery-controls button:disabled{opacity:.25;cursor:default}#gallery-position{font-size:12px;font-variant-numeric:tabular-nums}.studio-gallery{display:flex;gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#222 #eee;padding-bottom:20px;cursor:grab}.studio-gallery:focus-visible{outline:2px solid #111;outline-offset:6px}.studio-gallery.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}.studio-slide{flex:0 0 auto;width:min(440px,78vw);margin:0;scroll-snap-align:start;scroll-snap-stop:always}.studio-slide img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain;pointer-events:none}.studio-slide figcaption{margin-top:12px;font-size:11px;letter-spacing:.12em;color:#666}
@media(max-width:760px){.visual-gallery{margin-top:0}.gallery-heading{align-items:flex-start;flex-direction:column;gap:20px}.gallery-controls{align-self:flex-end}.studio-gallery{gap:16px}.gallery-controls button{width:44px;height:44px}}


@media(min-width:761px) and (max-width:1000px){header{gap:16px}.brand{width:175px}header nav{gap:18px}}

.projects[data-odd="true"]::after{content:"";align-self:start;height:clamp(240px,33vw,530px);background:url("assets/microbio-logo-new.png") center / 48% auto no-repeat,radial-gradient(ellipse at center,#101010 0,transparent 65%);opacity:.24;border:1px solid #101010;border-radius:50% 45% 48% 44%;filter:drop-shadow(0 0 16px #101010)}
.studio-network{margin-top:30px;width:65%;aspect-ratio:1.65;background:url("assets/microbio-case-16.webp") center bottom / 100% auto no-repeat}
@media(max-width:760px){.projects[data-odd="true"]::after{height:160px;background-size:180px auto}.studio-network{display:none}}
/* Local typefaces: the slanted identity, with a quieter lab voice for controls. */
@font-face{font-family:Studio Display;src:url('assets/fonts/mb-display.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:Studio Mono;src:url('assets/fonts/mb-mono.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.button,.contact-pill,.project-view{font-family:Studio Display,Arial,sans-serif;font-weight:700;font-style:italic;font-size:17px;letter-spacing:.055em;text-transform:uppercase;line-height:1.2}
button:not(.project),.filters button,.dialog-toolbar button,.case-bottom button,.message-row button{font-family:Studio Mono,monospace;font-weight:400;letter-spacing:.015em;line-height:1.35}
.gallery-controls button{font-size:24px;line-height:1}.filters small{font-family:Studio Mono,monospace}.project{font-family:inherit}.project h3,.project-scope,.project-info span{font-family:Arial,Helvetica,sans-serif}
.bio-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;color:#101010;font-family:Studio Mono,monospace;font-size:11px;letter-spacing:.06em}
.bio-overlay svg{position:absolute;inset:0;width:100%;height:100%;stroke:currentColor;stroke-width:.8;vector-effect:non-scaling-stroke;opacity:.52}.bio-overlay .bio-grid{opacity:.38}.bio-scan{animation:bio-scan 6s linear infinite}.bio-stage{position:absolute;inset:0;animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.bio-stage-1{animation-name:hero-phase-one;opacity:1}.bio-stage-2{animation-name:hero-phase-two;opacity:0}.bio-stage-3{animation-name:hero-phase-three;opacity:0}.bio-label{position:absolute;background:#fcfcfce8;padding:5px 7px;line-height:1.4}.bio-label-top{top:18%;left:12%}.bio-label-side{bottom:17%;right:12%;font-size:10px}.bio-trace{stroke-dasharray:700;stroke-dashoffset:700;animation:bio-draw 6s ease-in-out infinite}.bio-stage-2 .bio-trace{animation-delay:2s}.bio-stage-3 .bio-trace{animation-delay:4s}.bio-nodes{fill:#fcfcfc;animation:bio-breathe 3s ease-in-out infinite}.bio-orbit{stroke-dasharray:3 9;transform-origin:250px 300px;animation:bio-orbit 24s linear infinite}.bio-node-pulse{animation:bio-breathe 2s ease-in-out infinite}.bio-progress{position:absolute;top:7%;left:12%;right:12%;display:flex;align-items:center;gap:12px;font-size:10px;opacity:.65}.bio-progress>div{flex:1;height:1px;background:#101010;overflow:hidden}.bio-progress i{display:block;width:100%;height:1px;background:currentColor;transform-origin:left;animation:bio-progress 6s linear infinite}
@keyframes bio-scan{0%{transform:translateY(145px);opacity:0}8%{opacity:.6}90%{opacity:.6}100%{transform:translateY(455px);opacity:0}}
@keyframes bio-draw{0%{stroke-dashoffset:700}25%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:700}}
@keyframes bio-breathe{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes bio-orbit{to{transform:rotate(360deg)}}
@keyframes bio-progress{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@media(max-width:760px){.button{font-size:16px}.contact-pill{font-size:14px}.bio-label-top{top:17%;left:10%}.bio-label-side{bottom:17%;right:8%;font-size:9px}.bio-progress{left:10%;right:10%;font-size:9px}.bio-overlay{font-size:10px}.bio-overlay svg{stroke-width:1}.art-caption{max-width:90%;text-align:right}}

/* The mark, animated specimen and caption each have their own space. */
.hero-art-cycle{display:flex;flex-direction:column;gap:0;padding:12px 0 0;min-width:0}
.hero-art-brand{flex:0 0 48px;display:flex;align-items:center;padding:0 10%;position:relative;z-index:2}
.hero-art .hero-art-brand img{display:block;width:145px;height:auto;object-fit:contain;mix-blend-mode:normal}
.hero-visual{position:relative;flex:1;min-height:0;overflow:hidden;isolation:isolate}
.hero-visual>.hero-phase{width:100%;height:100%;overflow:hidden;mix-blend-mode:multiply}
.hero-art-cycle .art-caption{position:static;flex:0 0 auto;align-self:flex-end;max-width:100%;padding:16px 10% 12px;margin:0;line-height:1.5;text-align:right;background:transparent}
.hero-visual .bio-progress{top:3%}.hero-visual .bio-label-top{top:12%}
@media(max-width:760px){.hero-art-cycle{height:400px;margin-top:16px}.hero-art-brand{flex-basis:40px;padding-left:10%}.hero-art .hero-art-brand img{width:126px}.hero-art-cycle .art-caption{padding:14px 8% 8px;font-size:10px}.hero-visual .bio-label-top{top:12%}}
@font-face{font-family:Studio Heading;src:url('assets/fonts/mb-editorial.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
/* A deliberate two-line headline: strong upright type, then forward motion. */
.hero-copy .hero-title{font-family:Studio Heading,Arial,sans-serif;font-weight:700;font-size:clamp(68px,7.4vw,118px);line-height:.9;letter-spacing:-.035em;margin:0 0 32px;text-transform:uppercase;max-width:100%}
.hero-title-line,.hero-title-evolution{display:block}.hero-title-evolution{font-family:Studio Display,Arial,sans-serif;font-style:italic;font-size:.83em;letter-spacing:-.02em;margin-top:8px}.title-dot{color:#101010}.hero-copy .hero-title-line{position:relative;padding-left:0}.hero-title-evolution{padding-right:.07em}
.services-title{font-family:Studio Heading,Arial,sans-serif;font-weight:700;font-size:clamp(60px,6.7vw,102px);letter-spacing:-.035em;line-height:.95}.services-title>span{display:block}.services-title .services-title-action{font-family:Studio Display,Arial,sans-serif;font-style:italic;color:#101010;margin-top:5px}
.services summary{font-family:Studio Heading,Arial,sans-serif;font-size:clamp(36px,4.4vw,64px);font-weight:700;letter-spacing:-.02em;padding:28px 0;line-height:1.1}.services summary .service-number{font-family:Studio Mono,monospace;font-size:13px;font-weight:400;color:#101010;letter-spacing:.04em;align-self:flex-start;padding-top:9px}.services summary .plus{font-family:Studio Mono,monospace;font-weight:400;font-size:32px;letter-spacing:0}.services .service-content p{font-size:18px;line-height:1.55;max-width:440px}.services .service-content ul{font-size:16px;line-height:1.85}.services details[open] summary>span:nth-child(2){font-family:Studio Display,Arial,sans-serif;font-style:italic}.services .service-content{padding-top:10px}
.footer-signoff.footer-lab{display:block;padding:28px 0 38px;margin-top:80px;border-top:1px solid #555}.footer-lab-top,.footer-lab-bottom{display:flex;justify-content:space-between;gap:24px}.footer-lab-top{font-family:Studio Mono,monospace;font-size:12px;letter-spacing:.05em;color:#101010;line-height:1.5}.footer-lab-art{position:relative;margin:30px 0;min-height:180px;padding:54px 7%;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18;background:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:36px 36px}.footer-lab-art img{display:block;width:100%;height:auto;filter:invert(1);mix-blend-mode:screen}.lab-coordinate{position:absolute;font-family:Studio Mono,monospace;font-size:10px;color:#101010;letter-spacing:.04em}.lab-coordinate-left{left:0;top:12px}.lab-coordinate-right{right:0;bottom:12px}.footer-lab-art::before,.footer-lab-art::after{content:"";position:absolute;width:18px;height:18px;border-color:#101010;border-style:solid;pointer-events:none}.footer-lab-art::before{left:0;top:0;border-width:1px 0 0 1px}.footer-lab-art::after{right:0;bottom:0;border-width:0 1px 1px 0}.footer-lab-bottom{align-items:flex-end}.footer-lab-bottom p{font-family:Studio Heading,Arial,sans-serif;font-size:clamp(34px,4vw,60px);line-height:.98;letter-spacing:-.015em;margin:0}.footer-lab-bottom p>span{font-family:Studio Display,Arial,sans-serif;font-style:italic;color:#101010}.footer-lab-bottom .lab-signature{font-family:Studio Mono,monospace;font-size:12px;line-height:1.7;letter-spacing:.025em;text-align:right;color:#101010}
@media(max-width:760px){.hero-copy .hero-title{font-size:clamp(58px,12.4vw,90px);letter-spacing:-.03em;line-height:.92;margin-bottom:26px}.hero-title-evolution{font-size:.83em}.services-title{font-size:clamp(54px,10.8vw,82px)}.services summary{font-size:clamp(33px,7.7vw,48px);gap:18px;padding:24px 0}.services summary .service-number{padding-top:5px;width:22px;font-size:12px}.services summary .plus{font-size:27px}.services .service-content p{font-size:16px}.footer-signoff.footer-lab{margin-top:48px;padding:24px 0}.footer-lab-top{font-size:10px;gap:16px}.footer-lab-top span:last-child{text-align:right}.footer-lab-art{padding:48px 4%;margin:24px 0;min-height:0;background-size:24px 24px}.footer-lab-bottom{align-items:flex-start;flex-direction:column;gap:24px}.footer-lab-bottom p{font-size:42px}.footer-lab-bottom .lab-signature{text-align:left;font-size:11px}}
@media(max-width:359px){.hero-copy .hero-title{font-size:55px}.hero-title-evolution{font-size:.78em}.services summary{font-size:32px;gap:14px}}
/* Brand-weight lettering, scaled to share the opening with the living specimen. */
.hero-copy .hero-project-title{font-family:Studio Display,Arial,sans-serif;font-style:italic;font-weight:700;font-size:clamp(60px,6.2vw,94px);line-height:.9;letter-spacing:-.012em;margin:0 0 23px;padding-right:16px;max-width:100%;text-transform:uppercase}
.hero-project-title>span{display:block;width:fit-content;max-width:100%}.hero-project-title .project-title-intro{font-size:.37em;line-height:1.1;letter-spacing:.045em;margin-bottom:16px}.hero-project-title .project-title-next{font-size:.84em;line-height:.98;margin-bottom:2px}.hero-project-title .project-title-main{font-size:1em;line-height:.95;letter-spacing:.005em}
.hero-lab-welcome{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 25px;padding-top:13px;border-top:1px solid #101010;max-width:360px;line-height:1.25}.hero-lab-welcome>span{font-family:Studio Mono,monospace;font-size:13px;letter-spacing:.015em;color:#101010}.hero-lab-welcome strong{font-family:Studio Display,Arial,sans-serif;font-weight:700;font-style:italic;font-size:25px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
@media(max-width:760px){.hero-copy .hero-project-title{font-size:clamp(59px,11.8vw,85px);line-height:.94;padding-right:10px;margin-bottom:20px}.hero-project-title .project-title-intro{font-size:.4em;margin-bottom:14px;letter-spacing:.035em}.hero-project-title .project-title-next{font-size:.84em}.hero-lab-welcome{margin-bottom:22px;max-width:330px;gap:9px}.hero-lab-welcome>span{font-size:12px}.hero-lab-welcome strong{font-size:23px}}
@media(max-width:359px){.hero-copy .hero-project-title{font-size:55px}.hero-lab-welcome strong{font-size:21px}}
/* A separate artwork column keeps lettering and live graphics unobstructed. */
.hero-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.65fr) minmax(0,1.05fr);gap:clamp(20px,2.5vw,40px)}
.hero-feature{margin:0;align-self:center;min-width:0;position:relative;padding:14px 0;border-top:1px solid #101010;border-bottom:1px solid #101010}
.hero-feature img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:1122/1402}
.hero-copy .hero-project-title{font-size:clamp(56px,5.4vw,86px)}.hero-lab-welcome{gap:8px}.hero-lab-welcome strong{font-size:22px}
@media(min-width:761px) and (max-width:1099px){.hero-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 36px;padding-top:35px}.hero-copy{grid-column:1 / -1;padding:0 0 16px}.hero-copy .hero-project-title{font-size:76px}.hero-feature{grid-column:1;width:70%;max-width:300px;justify-self:center}.hero-art-cycle{grid-column:2;height:430px}.hero-copy p{max-width:520px}}
@media(max-width:760px){.hero-layout{grid-template-columns:minmax(0,1fr);gap:26px}.hero-copy{padding-bottom:0}.hero-copy .hero-project-title{font-size:clamp(59px,11.8vw,85px)}.hero-feature{width:74%;max-width:320px;justify-self:center;margin:4px 0;padding:12px 0}.hero-art-cycle{width:100%;margin-top:0}.hero-lab-welcome strong{font-size:23px}}
@media(max-width:359px){.hero-copy .hero-project-title{font-size:55px}.hero-lab-welcome strong{font-size:21px}}
/* The headline follows the broad, heavy, slanted lettering of the wordmark. */
@font-face{font-family:Studio Brand Title;src:url('assets/fonts/mb-display.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap}
.hero-project-title .project-title-next,.hero-project-title .project-title-main{font-family:Studio Brand Title,Arial,sans-serif;font-weight:700;font-style:italic;letter-spacing:-.05em;-webkit-text-stroke:.012em currentColor;paint-order:stroke fill;line-height:1.04;font-size:clamp(34px,3.4vw,54px)}
.hero-project-title .project-title-main{font-size:clamp(36px,3.7vw,59px);margin-top:1px;letter-spacing:-.045em}.hero-project-title .project-title-next{margin-bottom:0}
@media(min-width:761px) and (max-width:1099px){.hero-project-title .project-title-next{font-size:58px}.hero-project-title .project-title-main{font-size:64px}}
@media(max-width:760px){.hero-project-title .project-title-next{font-size:clamp(36px,8.7vw,53px)}.hero-project-title .project-title-main{font-size:clamp(39px,9.4vw,58px)}}
@media(max-width:359px){.hero-project-title .project-title-next{font-size:34px}.hero-project-title .project-title-main{font-size:37px}}
.gallery-open{display:block;border:0;padding:0;background:transparent;width:100%;cursor:zoom-in;touch-action:pan-x pan-y}.gallery-open:focus-visible{outline:3px solid #101010;outline-offset:4px}.studio-gallery.is-dragging .gallery-open{cursor:grabbing}
#gallery-lightbox{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;background:#101010;color:#fff;overflow:hidden;border:0}
#gallery-lightbox[open]{display:flex;flex-direction:column}#gallery-lightbox::backdrop{background:#101010}
.lightbox-bar{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:16px 24px;gap:16px;border-bottom:1px solid #ffffff25;font-family:Studio Mono,monospace;font-size:13px}
.lightbox-bar button,.lightbox-stage>button{background:transparent;color:white;border:1px solid #ffffff70;border-radius:30px;min-height:44px;padding:10px 18px}
.lightbox-stage{flex:1;min-height:0;display:grid;grid-template-columns:60px minmax(0,1fr) 60px;gap:20px;align-items:center;padding:18px 24px 24px}.lightbox-image-wrap{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}#lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;margin:0;background:transparent}
.lightbox-stage>button{padding:0;width:52px;height:52px;font-size:26px}.lightbox-stage>button:disabled{opacity:.25;cursor:default}.lightbox-stage>button:hover:not(:disabled),.lightbox-bar button:hover{background:#fff;color:#111}
@media(max-width:760px){.lightbox-bar{padding:12px 16px}.lightbox-stage{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) 48px;gap:12px;padding:14px 12px max(16px,env(safe-area-inset-bottom))}.lightbox-image-wrap{grid-column:1 / -1;grid-row:1}.lightbox-stage>button{grid-row:2;justify-self:center;width:48px;height:48px}.lightbox-stage #lightbox-prev{grid-column:1}.lightbox-stage #lightbox-next{grid-column:2}}
/* Transparent full-screen viewer lets the underlying page remain present. */
#gallery-lightbox{background:transparent;color:#101010}#gallery-lightbox::backdrop{background:rgba(240,245,242,.26);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#gallery-lightbox[open]{animation:lightbox-reveal .22s ease-out both}.lightbox-bar{border-bottom:1px solid #10101015;background:rgba(252,252,252,.6)}
.lightbox-bar button,.lightbox-stage>button{color:#101010;background:rgba(252,252,252,.75);border:1px solid #10101025;box-shadow:0 3px 16px #10101008;transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
#lightbox-close{display:inline-flex;align-items:center;gap:12px;font-size:13px;padding:10px 17px}.lightbox-close-icon{display:inline-block;font-family:Arial,sans-serif;font-size:21px;font-weight:300;line-height:1;transition:transform .25s ease;color:#101010}
.lightbox-bar #lightbox-close:hover{background:rgba(255,255,255,.95);color:#101010;border-color:#101010;transform:translateY(-2px);box-shadow:0 6px 20px #10101010}.lightbox-bar #lightbox-close:hover .lightbox-close-icon{transform:rotate(90deg)}.lightbox-bar #lightbox-close:active{transform:translateY(0) scale(.98)}.lightbox-stage>button:hover:not(:disabled){background:white;color:#101010;transform:translateY(-2px)}
@keyframes lightbox-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* Two scales turn the service headline into an editorial composition. */
.services .services-title-power{position:relative;margin:0 0 64px;padding:0 0 26px;border-bottom:1px solid #10101030;max-width:100%;text-transform:uppercase;line-height:.9}
.services-title-power .services-title-origin{font-family:Studio Heading,Arial,sans-serif;font-style:normal;font-size:clamp(42px,5.2vw,82px);letter-spacing:-.02em;line-height:1}.services-title-origin>span{font-family:Studio Brand Title,Arial,sans-serif;font-style:italic;font-weight:700;-webkit-text-stroke:1px currentColor;letter-spacing:-.055em}
.services-title-power .services-title-action{display:flex;align-items:baseline;gap:clamp(16px,2.3vw,38px);margin-top:10px;color:var(--ink);min-width:0}.services-title-power .services-title-bridge{font-family:Studio Mono,monospace;font-size:clamp(18px,2.1vw,32px);font-weight:400;font-style:normal;letter-spacing:-.025em;white-space:nowrap}.services-title-power .services-title-impact{display:block;font-family:Studio Brand Title,Arial,sans-serif;font-weight:700;font-style:italic;font-size:clamp(72px,12.4vw,190px);letter-spacing:-.055em;line-height:.98;-webkit-text-stroke:.01em currentColor;paint-order:stroke fill}.services-title-stop{color:#101010}.services-title-power::after{content:"";position:absolute;bottom:-1px;left:0;width:18%;height:3px;background:#101010}
@media(max-width:760px){.services .services-title-power{margin-bottom:42px;padding-bottom:22px}.services-title-power .services-title-origin{font-size:clamp(37px,8.8vw,62px)}.services-title-power .services-title-action{gap:12px;margin-top:14px}.services-title-power .services-title-bridge{font-size:16px}.services-title-power .services-title-impact{font-size:clamp(56px,13.9vw,104px)}.services-title-power::after{width:26%}}
@media(max-width:359px){.services-title-power .services-title-impact{font-size:52px}.services-title-power .services-title-bridge{font-size:14px}.services-title-power .services-title-action{gap:9px}}
/* Portfolio and gallery share the same editorial typography as Services. */
.work-title,.gallery-heading{align-items:flex-end;gap:24px;flex-wrap:wrap}
.work-title .section-title-power,.gallery-heading .section-title-power{position:relative;display:block;font-weight:700;line-height:.95;letter-spacing:-.03em;text-transform:uppercase;padding:0 0 26px;margin:0;min-width:0;max-width:100%;border-bottom:1px solid #10101030}
.section-title-power .section-title-intro{display:block;font-family:Studio Heading,Arial,sans-serif;font-weight:700;font-style:normal;font-size:clamp(38px,4.5vw,70px);line-height:1;letter-spacing:-.02em;margin-bottom:10px}
.section-title-power .section-title-impact{display:block;font-family:Studio Brand Title,Arial,sans-serif;font-weight:700;font-style:italic;font-size:clamp(58px,8.5vw,132px);line-height:1.04;letter-spacing:-.055em;-webkit-text-stroke:.01em currentColor;paint-order:stroke fill}
.section-title-power::after{content:"";position:absolute;bottom:-1px;left:0;width:26%;height:3px;background:#101010}.section-title-stop{color:#101010}.section-title-power .count{font-family:Studio Mono,monospace;font-size:13px;letter-spacing:0;font-style:normal;font-weight:400;-webkit-text-stroke:0;vertical-align:top;margin:8px 0 0 16px;line-height:1.1;background:transparent}
.work-title .text-link{margin-bottom:12px}.gallery-heading>div:first-child{min-width:0;max-width:100%}.gallery-heading #gallery-hint{margin-top:20px}.gallery-heading .gallery-controls{margin-bottom:6px}.gallery-heading .visual-title .section-title-impact{font-size:clamp(76px,11.5vw,178px)}
@media(max-width:760px){.work-title .section-title-power,.gallery-heading .section-title-power{padding-bottom:22px}.section-title-power .section-title-intro{font-size:clamp(35px,8.6vw,60px);margin-bottom:10px}.section-title-power .section-title-impact{font-size:clamp(41px,10.2vw,73px)}.section-title-power .count{font-size:12px;margin:4px 0 0 10px;padding:4px 6px}.gallery-heading .visual-title .section-title-impact{font-size:clamp(64px,16vw,112px)}.work-title .text-link{margin-bottom:0}.gallery-heading .gallery-controls{margin-bottom:0}}
@media(max-width:359px){.section-title-power .section-title-impact{font-size:38px}.section-title-power .count{margin-left:7px}.gallery-heading .visual-title .section-title-impact{font-size:60px}}
/* Finishing marks stay inside the existing section margins. */
main>.section:not(.contact){position:relative}
.lab-registration{position:absolute;bottom:23px;left:4.5%;right:4.5%;display:flex;align-items:center;gap:14px;height:12px;color:#101010;pointer-events:none;user-select:none}
.lab-register-cross{position:relative;width:11px;height:11px;flex:0 0 11px}.lab-register-cross::before,.lab-register-cross::after{content:"";position:absolute;background:currentColor}.lab-register-cross::before{height:1px;width:11px;left:0;top:5px}.lab-register-cross::after{width:1px;height:11px;left:5px;top:0}
.lab-register-line{height:1px;flex:1;background:linear-gradient(90deg,#101010,transparent 55%)}.lab-register-code{font-family:Studio Mono,monospace;font-size:10px;letter-spacing:.12em;line-height:1;white-space:nowrap}.lab-register-bars{width:29px;height:9px;background:repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 4px);opacity:.55}
.button,.contact-pill{position:relative;overflow:hidden;isolation:isolate}.button::after,.contact-pill::after{content:"";position:absolute;top:-35%;bottom:-35%;left:-45%;width:20%;background:linear-gradient(90deg,transparent,#94afa32a,transparent);transform:skewX(-22deg);pointer-events:none;opacity:0}.button:hover::after,.contact-pill:hover::after{animation:lab-button-reflection .65s ease-out both}
@keyframes lab-button-reflection{0%{left:-45%;opacity:0}20%{opacity:1}100%{left:130%;opacity:0}}
.hero-art-brand::after{content:"";width:23px;height:5px;margin-left:auto;background:repeating-linear-gradient(90deg,#101010 0 1px,transparent 1px 5px);opacity:.55;pointer-events:none}
@media(max-width:760px){.lab-registration{left:5%;right:5%;bottom:18px;gap:10px}.lab-register-code{font-size:9px}.lab-register-bars{width:21px}}

/* Small lab notations occupy their own space, never the artwork or copy. */
.lab-entry-note{display:flex;align-items:center;gap:9px;max-width:360px;margin:0 0 15px;font-family:Studio Mono,monospace;font-size:9px;letter-spacing:.07em;line-height:1.5;color:#101010}.lab-entry-rule{height:1px;background:#101010;flex:1;min-width:10px}.lab-signal{display:inline-block;width:4px;height:4px;flex:0 0 4px;background:#101010;border-radius:50%;animation:lab-signal-breathe 5s ease-in-out infinite}
.lab-specimen-note{display:flex;align-items:center;justify-content:space-between;gap:8px;font-family:Studio Mono,monospace;font-size:8px;letter-spacing:.04em;line-height:1.6;color:#101010;padding:0 0 10px}.lab-specimen-note i{width:10px;height:4px;background:repeating-linear-gradient(90deg,#101010 0 1px,transparent 1px 3px);flex:0 0 10px}
.lab-final-data{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;color:#101010;font-family:Studio Mono,monospace;font-size:10px;letter-spacing:.07em;line-height:1.6}.lab-final-data>span:first-child{display:flex;align-items:center;gap:9px}.lab-final-data .lab-signal{background:#101010}.lab-data-bars{width:42px;height:7px;background:repeating-linear-gradient(90deg,#101010 0 1px,transparent 1px 4px)}
.lab-process-detail{display:flex;align-items:center;gap:16px;margin:0 0 28px;color:#101010;font-family:Studio Mono,monospace;font-size:10px;letter-spacing:.08em;line-height:1.5}.lab-process-detail i{flex:1;height:1px;background:linear-gradient(90deg,#101010,transparent)}
@keyframes lab-signal-breathe{0%,100%{opacity:.35}50%{opacity:.9}}
/* Motion keeps the established positions and uses one gentle response curve. */
a,button,summary{transition:color .28s ease,background-color .28s ease,border-color .28s ease,box-shadow .32s ease,transform .32s cubic-bezier(.2,.65,.3,1)}.button{transition:color .28s ease,background-color .28s ease,border-color .28s ease,transform .35s cubic-bezier(.2,.65,.3,1)}.project-image{transition:box-shadow .4s ease}.project img{transition:transform .8s cubic-bezier(.2,.65,.3,1)}.project-view{transition:opacity .35s ease,transform .4s cubic-bezier(.2,.65,.3,1)}.plus{transition:transform .35s cubic-bezier(.2,.65,.3,1)}.bio-stage,.hero-art-cycle .hero-phase{animation-timing-function:cubic-bezier(.4,0,.2,1)}.gallery-open{transition:filter .3s ease,box-shadow .3s ease}
@media(hover:hover) and (pointer:fine){.gallery-open:hover{box-shadow:0 6px 20px #10101013;filter:brightness(1.015)}.services summary:hover{color:#101010}.text-link:hover,.instagram-profile:hover,footer>a:hover{color:#101010}.filters button:hover{box-shadow:0 2px 8px #10101010}.menu-toggle:hover{background:#e8eeea}.button:hover{transform:translateY(-2px)}}
@media(max-width:1099px){.lab-specimen-note{font-size:9px}}
@media(max-width:760px){.lab-entry-note{max-width:330px;font-size:8px;gap:7px}.lab-final-data{flex-wrap:wrap;gap:10px 20px;font-size:9px}.lab-final-data .lab-data-bars{margin-left:auto}.lab-process-detail{gap:9px;font-size:8px;letter-spacing:.02em;margin-bottom:24px}.lab-process-detail i{min-width:6px}.lab-specimen-note{font-size:9px}}

/* Case titles become the opening of an editorial lab file. */
.case-head{position:relative;padding:38px 6% 48px;overflow:hidden}.case-lab-data{display:flex;justify-content:space-between;gap:18px;padding-bottom:17px;margin-bottom:25px;border-bottom:1px solid #101010;font-family:Studio Mono,monospace;font-size:10px;letter-spacing:.09em;color:#101010;line-height:1.6}.case-head #case-category{font-family:Studio Mono,monospace;font-size:12px;letter-spacing:.04em;margin:0 0 18px;color:#101010}.case-head #case-title{font-family:Studio Brand Title,Arial,sans-serif;font-weight:700;font-style:italic;font-size:clamp(42px,7vw,92px);letter-spacing:-.055em;line-height:1.04;text-transform:uppercase;margin:0 0 24px;max-width:100%;overflow-wrap:anywhere;text-wrap:balance;-webkit-text-stroke:.008em currentColor;paint-order:stroke fill}.case-head #case-description{font-size:clamp(18px,2vw,24px);line-height:1.5;max-width:820px;margin-top:28px}.case-head #case-scope{font-family:Studio Mono,monospace;font-size:12px;line-height:1.7;border-color:#101010;color:#101010;padding-top:20px;margin-top:25px}.case-lab-spectrum{display:flex;align-items:center;gap:22px;max-width:100%;pointer-events:none}.case-lab-spectrum svg{display:block;width:42%;height:28px;stroke:#101010;stroke-width:.7;opacity:.4}.case-lab-spectrum span{font-family:Studio Mono,monospace;font-size:9px;letter-spacing:.08em;color:#101010;line-height:1.5}.case-head::after{content:"";position:absolute;right:3%;bottom:21px;width:22px;height:8px;background:repeating-linear-gradient(90deg,#101010 0 1px,transparent 1px 4px);pointer-events:none}
.hero-layout{position:relative}.hero-link{position:absolute;top:50%;height:180px;width:22px;transform:translateY(-50%);color:#101010;opacity:.36;pointer-events:none;z-index:0}.hero-link-a{left:calc(38.18% - 18px)}.hero-link-b{left:calc(61.82% - 4px)}.hero-link svg{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:.8}.hero-link>span{position:absolute;top:100%;left:50%;writing-mode:vertical-rl;margin-top:9px;font-family:Studio Mono,monospace;font-size:8px;letter-spacing:.08em;white-space:nowrap}.hero-link-pulse{animation:hero-link-signal 7s ease-in-out infinite;opacity:.6}.hero-link-b .hero-link-pulse{animation-delay:-3.5s}
@keyframes hero-link-signal{0%,100%{transform:translateY(0);opacity:0}25%{opacity:.7}65%{opacity:.7}90%{transform:translateY(90px);opacity:0}}
@media(max-width:1099px){.hero-link{display:none}}
@media(max-width:760px){.case-head{padding:28px 6% 34px}.case-lab-data{font-size:9px;letter-spacing:.04em;gap:12px;margin-bottom:22px}.case-head #case-category{font-size:11px}.case-head #case-title{font-size:clamp(37px,9.3vw,58px);margin-bottom:20px}.case-lab-spectrum{gap:14px}.case-lab-spectrum svg{width:32%}.case-lab-spectrum span{font-size:8px;letter-spacing:.03em}.case-head #case-description{font-size:18px}.case-head #case-scope{font-size:11px}}

:root{--lab-accent:#d3f823;--lab-accent-ink:#101010;--lab-accent-dark:#101010}
/* Two full, independent plates; the live specimen keeps its own column. */
.hero-feature>img{max-height:250px;aspect-ratio:auto;object-fit:contain}.hero-culture-plate{margin-top:17px;padding-top:13px;border-top:1px solid #101010}.culture-plate-label{display:block;margin-bottom:8px;font-family:Studio Mono,monospace;font-size:8px;letter-spacing:.05em;color:#101010;line-height:1.5}.hero-feature .hero-culture-plate img{display:block;width:100%;height:auto;max-height:280px;aspect-ratio:auto;object-fit:contain}.hero-culture-plate{position:relative}.hero-culture-plate::after{content:"";position:absolute;left:0;top:13px;width:2px;height:8px;background:var(--lab-accent);transform:translateX(-8px)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--lab-accent-dark)}.contact a:focus-visible,.contact button:focus-visible{outline-color:var(--lab-accent)}
@media(hover:hover) and (pointer:fine){.button:hover,.contact-pill:hover,.filters button:hover,.case-bottom button:hover,.dialog-toolbar button:hover,.message-row button:hover,.gallery-controls button:hover:not(:disabled),.lightbox-stage>button:hover:not(:disabled),.lightbox-bar #lightbox-close:hover,.menu-toggle:hover{background:var(--lab-accent);color:var(--lab-accent-ink);border-color:var(--lab-accent);box-shadow:0 4px 18px #101010}.project:hover .project-view{background:var(--lab-accent);color:var(--lab-accent-ink)}.project:hover .project-image{box-shadow:0 8px 28px #10101014,0 0 0 2px var(--lab-accent)}nav a:hover{border-color:var(--lab-accent-dark);color:var(--lab-accent-dark)}.services summary:hover{color:var(--lab-accent-dark)}.services summary:hover .plus{color:#101010;background:var(--lab-accent);border-radius:50%;box-shadow:0 0 0 8px var(--lab-accent)}.gallery-open:hover{box-shadow:0 6px 20px #10101013,0 0 0 2px var(--lab-accent)}.text-link:hover,.instagram-profile:hover,footer>a:hover{color:var(--lab-accent-dark);border-color:var(--lab-accent-dark)}.contact .instagram-profile:hover,.contact footer>a:hover{color:var(--lab-accent)}.lightbox-bar #lightbox-close:hover .lightbox-close-icon{color:var(--lab-accent-ink)}}
@media(max-width:1099px){.hero-feature>img{max-height:220px}.hero-feature .hero-culture-plate img{max-height:250px}}
@media(max-width:760px){.hero-feature>img{max-height:260px}.hero-feature .hero-culture-plate img{max-height:320px}.culture-plate-label{font-size:9px}}
/* Four material studies: full proportions and independent enlargement. */
.hero-plate-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;position:relative;overflow:visible}.hero-plate-collection .lab-specimen-note{grid-column:1/-1;margin:0;padding-bottom:0}.hero-plate{min-width:0;position:relative}.hero-art-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;position:relative;z-index:1;transform-origin:center;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}.hero-art-open img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;max-height:none;object-fit:contain}.hero-plate-code{display:block;margin-top:9px;font-family:Studio Mono,monospace;font-size:9px;letter-spacing:.06em;color:#101010}.hero-art-open:focus-visible{outline:2px solid #101010;outline-offset:5px}.hero-plate:focus-within{z-index:5}
.work .section-title-power::after,.section-title-stop,.services-title-stop,.title-dot{background:var(--lab-accent)}.work .lab-register-cross,.work .lab-register-code{color:var(--lab-accent)}.work .lab-register-bars{opacity:1;background:repeating-linear-gradient(90deg,var(--lab-accent) 0 1px,transparent 1px 4px)}
.contact .footer-lab-top,.contact .lab-final-data,.contact .lab-process-detail,.contact .lab-coordinate,.contact .lab-signature,.contact .footer-lab-bottom p>span{color:var(--lab-accent);opacity:1}.contact .lab-data-bars,.contact .lab-final-data .lab-signal,.contact .lab-process-detail i{background:var(--lab-accent);opacity:1;animation:none}.contact .footer-lab-art::before,.contact .footer-lab-art::after{border-color:var(--lab-accent);opacity:1}
@media(hover:hover) and (pointer:fine){.hero-plate:hover{z-index:5}.hero-art-open:hover{transform:scale(1.14);z-index:4;box-shadow:0 12px 28px #0002}nav a:hover,.text-link:hover{border-color:var(--lab-accent)}}

/* Clean punctuation, a quiet closing specimen, and identity ink on hover. */
.section-title-stop,.services-title-stop,.title-dot{background:transparent;color:var(--ink)}
.projects[data-odd="true"]::after{content:none}.portfolio-seal{display:flex;align-items:center;justify-content:center;position:relative;align-self:start;height:clamp(240px,33vw,530px);background:transparent;border:1px solid #10101012}.portfolio-seal .brand-flash{width:48%}.portfolio-seal::before,.portfolio-seal::after{content:"";position:absolute;width:12px;height:12px;border:1px solid var(--lab-accent);pointer-events:none}.portfolio-seal::before{left:18px;top:18px;border-width:1px 0 0 1px}.portfolio-seal::after{right:18px;bottom:18px;border-width:0 1px 1px 0}
.brand-filter-defs{position:absolute;overflow:hidden;pointer-events:none}.brand-flash{position:relative;display:inline-block;vertical-align:middle;line-height:0;isolation:isolate}.brand-flash>img:not(.brand-flash-ink){display:block;width:100%;height:auto}.brand-flash>.brand-flash-ink{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;object-fit:contain!important;filter:url(#brand-lime-ink)!important;mix-blend-mode:normal!important;opacity:0;pointer-events:none;transition:opacity .65s cubic-bezier(.2,.65,.3,1)}
.brand>.brand-flash{width:100%}.studio-text .big>.brand-flash{width:3.7em;vertical-align:baseline}.dialog-brand>.brand-flash{width:96px}.footer-lab-art>.brand-flash{display:block;width:100%}footer .brand-flash{width:78px;margin:0 4px}footer .brand-flash .wordmark-small{margin:0;width:100%}.portfolio-seal .brand-flash>img{width:100%;height:auto}
.footer-lab-art{overflow:hidden}.footer-lab-art{background-image:radial-gradient(circle,var(--lab-accent) .55px,transparent .8px),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:47px 43px,36px 36px,36px 36px;background-position:17px 21px,0 0,0 0}.contact .lab-data-bars{background:repeating-linear-gradient(90deg,var(--lab-accent) 0 1px,transparent 1px 4px)}
@media(hover:hover) and (pointer:fine){.brand-flash:hover>.brand-flash-ink{opacity:1;transition-duration:.4s}}
@media(max-width:760px){.portfolio-seal{height:160px}.portfolio-seal .brand-flash{width:min(180px,65%)}.footer-lab-art{background-size:47px 43px,24px 24px,24px 24px}}

.brand-flash>img{margin:0}.studio-text .big .brand-flash>img{margin:0;max-height:none}

/* Header identity must override the old hidden brand subtitle rule. */
header .brand>.brand-flash{display:block;width:100%;margin:0;font-size:inherit;letter-spacing:normal}header .brand{flex-shrink:0}header .brand .brand-flash>img{display:block;width:100%;height:auto}
/* The two studies share a column and keep independent typography lanes. */
.hero-animation-stack{display:flex;flex-direction:column;gap:28px;min-width:0;padding:16px 0 30px;align-self:center}.hero-animation-stack>.hero-art-cycle{width:100%;margin:0}.lab-motion-panel{margin:0;min-width:0;padding:18px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);contain:layout style}.lab-motion-heading{display:flex;justify-content:space-between;gap:14px;font-family:Studio Mono,monospace;font-size:9px;line-height:1.6;letter-spacing:.04em}.lab-motion-heading>span:last-child{color:#101010}.lab-motion-stage{position:relative;aspect-ratio:4/3;overflow:hidden;isolation:isolate}.lab-motion-specimen{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:multiply;animation:lab-specimen-drift 12s ease-in-out infinite}.lab-motion-measure{position:absolute;inset:0;width:100%;height:100%;stroke:var(--lab-accent);stroke-width:1.2;pointer-events:none}.lab-motion-orbit{stroke-dasharray:3 8;animation:lab-orbit-trace 18s linear infinite}.lab-motion-wave{stroke-dasharray:500;animation:lab-wave-trace 6s ease-in-out infinite}.lab-motion-coordinate{position:absolute;left:8%;top:10%;font-family:Studio Mono,monospace;font-size:9px;color:#101010;background:var(--paper);padding:4px 6px}.lab-moving-name{padding:16px 8% 12px;overflow:hidden;border-top:1px solid var(--lab-accent)}.lab-moving-name img{display:block;width:70%;max-width:260px;height:auto;animation:lab-name-drift 9s cubic-bezier(.45,0,.55,1) infinite}.lab-moving-name>span{display:block;margin-top:15px;font-family:Studio Mono,monospace;font-size:9px;letter-spacing:.08em;line-height:1.5}.lab-motion-panel figcaption{font-family:Studio Mono,monospace;font-size:10px;text-align:right;letter-spacing:.04em;line-height:1.5;padding:8px 8% 0}.hero-layout>*{min-width:0}.project-info{flex-wrap:wrap}.project-info h3{min-width:0;overflow-wrap:anywhere}
@keyframes lab-name-drift{0%,100%{transform:translateX(0)}50%{transform:translateX(25%)}}
@keyframes lab-specimen-drift{0%,100%{transform:translateY(0) rotate(-2deg) scale(.96)}50%{transform:translateY(-4px) rotate(2deg) scale(1)}}
@keyframes lab-orbit-trace{to{stroke-dashoffset:-110}}
@keyframes lab-wave-trace{0%,100%{stroke-dashoffset:500}45%,65%{stroke-dashoffset:0}}
@media(min-width:761px) and (max-width:1099px){.hero-animation-stack{grid-column:2}.hero-animation-stack>.hero-art-cycle{grid-column:auto;height:430px}.hero-feature{align-self:center}}
@media(max-width:760px){.hero-animation-stack{width:100%;gap:24px;padding-top:0}.hero-animation-stack>.hero-art-cycle{height:400px}.lab-motion-panel{width:100%;max-width:460px;align-self:center}.lab-motion-heading{font-size:10px}.lab-moving-name>span{font-size:10px}}

.motion-paused *{animation-play-state:paused!important}
@media(min-width:1100px){.hero-animation-stack{align-self:start}.hero-copy{align-self:start;padding-top:80px}.hero-feature{align-self:start;margin-top:80px}}
@media(min-width:761px) and (max-width:1099px){.hero-feature{align-self:start;margin-top:36px}}
/* A moving light band stays clipped to the original identity silhouette. */
.brand-flash>.brand-flash-ink{clip-path:inset(0 100% 0 0);transition:opacity .7s cubic-bezier(.2,.65,.3,1),clip-path .95s cubic-bezier(.2,.65,.3,1)}
@media(hover:hover) and (pointer:fine){.brand-flash:hover>.brand-flash-ink{opacity:1;clip-path:inset(0 0 0 0);animation:brand-ink-reveal 1.15s cubic-bezier(.2,.65,.3,1) both;transition-duration:.45s,.95s}}
@keyframes brand-ink-reveal{0%{clip-path:inset(0 100% 0 0);opacity:0}35%{opacity:1}70%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0);opacity:1}}
/* Two balanced columns replace the tall third column's empty lower cells. */
@media(min-width:1100px){.hero-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto auto;align-items:start;column-gap:clamp(32px,5vw,76px);row-gap:22px;min-height:0;padding:24px 0 28px}.hero-copy{grid-column:1;grid-row:1;padding:12px 0 0;align-self:start}.hero-copy .hero-project-title{font-size:clamp(64px,5.6vw,90px);margin-bottom:18px}.hero-copy p{margin:18px 0 22px}.hero-feature{grid-column:1;grid-row:2;width:100%;max-width:560px;margin:0;align-self:start;justify-self:start;padding:12px 0}.hero-plate-collection{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}.hero-plate-code{margin-top:6px}.hero-animation-stack{grid-column:2;grid-row:1 / 3;padding:0;gap:20px;align-self:stretch;justify-content:space-between}.hero-animation-stack>.hero-art-cycle{height:clamp(370px,32vw,460px);flex:0 0 auto}.lab-motion-panel{padding-top:14px}.lab-motion-stage{aspect-ratio:1.5}.hero-link{display:none}.lab-moving-name{padding-top:12px;padding-bottom:8px}.lab-motion-panel figcaption{padding-top:5px}}
@media(min-width:761px) and (max-width:1099px){.hero-layout{row-gap:22px;padding-top:24px}.hero-copy{padding-bottom:0}.hero-feature{width:92%;max-width:400px;margin-top:0}.hero-animation-stack{gap:18px;padding:0}.hero-animation-stack>.hero-art-cycle{height:370px}.lab-motion-stage{aspect-ratio:1.5}}
@media(max-width:760px){.hero-layout{gap:22px}.hero-animation-stack{gap:18px;padding-bottom:20px}.hero-animation-stack>.hero-art-cycle{height:360px}.hero-copy p{margin-bottom:22px}.lab-motion-panel{padding:14px 0 10px}}

/* Remove the dark source beneath the lime ink, including anti-aliased edges. */
.brand-flash>img:not(.brand-flash-ink){transition:opacity .55s cubic-bezier(.2,.65,.3,1)}
@media(hover:hover) and (pointer:fine){.brand-flash:hover>img:not(.brand-flash-ink){opacity:0;transition-duration:.75s}.brand-flash:hover>.brand-flash-ink{clip-path:inset(0);animation:none;opacity:1;transition:opacity .75s cubic-bezier(.2,.65,.3,1),clip-path .7s cubic-bezier(.2,.65,.3,1)}h1,h2,h3,.services summary>span:nth-child(2){transition:color .55s cubic-bezier(.2,.65,.3,1)}h1:hover,h2:hover,h3:hover,.services summary:hover>span:nth-child(2){color:var(--lab-accent)}h1:hover span,h2:hover em,h2:hover .services-title-action,h2:hover .services-title-stop,h2:hover .section-title-stop{color:var(--lab-accent)}h2:hover .count{color:var(--ink)}}
.lab-motion-specimen.lab-morph-frame{animation:lab-morph-cycle 12s cubic-bezier(.4,0,.2,1) infinite,lab-morph-drift 16s ease-in-out infinite;transform-origin:center;opacity:0}.lab-motion-specimen.lab-morph-frame-1{animation-delay:0s,0s}.lab-motion-specimen.lab-morph-frame-2{animation-delay:-8s,-5s}.lab-motion-specimen.lab-morph-frame-3{animation-delay:-4s,-10s}.lab-morph-readout{position:absolute;left:8%;right:8%;bottom:2%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;font-family:Studio Mono,monospace;font-size:8px;letter-spacing:.04em;line-height:1.5;color:#101010;background:var(--paper);padding:5px 0;border-top:1px solid var(--lab-accent)}.lab-motion-measure{z-index:1}.lab-motion-coordinate,.lab-morph-readout{z-index:2}.lab-motion-stage{padding-bottom:30px}.lab-motion-measure .lab-motion-orbit{stroke-width:1.4}.lab-moving-name{position:relative}.lab-moving-name::after{content:"";display:block;width:32%;height:2px;background:var(--lab-accent);margin-top:10px;animation:lab-readout-signal 8s ease-in-out infinite;transform-origin:left}
@keyframes lab-morph-cycle{0%,25%{opacity:1}33.333%,91.666%{opacity:0}100%{opacity:1}}
@keyframes lab-morph-drift{0%,100%{transform:translateY(0) rotate(-3deg) scale(.92)}50%{transform:translateY(-5px) rotate(4deg) scale(.98)}}
@keyframes lab-readout-signal{0%,100%{transform:scaleX(.45)}50%{transform:scaleX(1)}}
@media(max-width:760px){.lab-morph-readout{font-size:9px;gap:5px 9px}}

/* Identity remains behind the work: quiet, full-resolution, and sans serif. */
.work{position:relative;isolation:isolate;background:#f3f3f3}.work::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/microbio-logo-new.png') right -12% top 170px / min(1100px,90vw) auto repeat-y;opacity:.035}.work .section-top,.work .work-title,.work .filters,.work .projects{position:relative;z-index:1}.work .work-title .section-title-power{border-bottom:0;padding-bottom:18px}.work .section-title-intro{font-family:Studio Heading,Arial,sans-serif;font-style:normal;font-weight:700;letter-spacing:-.04em;font-size:clamp(30px,4vw,58px);line-height:1;margin-bottom:6px}.work .section-title-impact{font-family:Studio Brand Title,Arial,sans-serif;font-size:clamp(60px,9.3vw,144px);line-height:1.02}.work-title .section-title-power::after{height:2px;width:32%;bottom:0}.work .project-info{align-items:baseline;padding-top:19px;gap:10px 18px}.work .project h3{font-family:Studio Brand Title,Arial,sans-serif;font-style:italic;font-weight:700;text-transform:uppercase;font-size:clamp(26px,3vw,42px);line-height:1.05;letter-spacing:-.035em;flex:1;min-width:170px}.work .project-info>span{font-family:Studio Mono,monospace;font-size:11px;letter-spacing:.035em;padding-top:0}.work .project-scope{font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.5;padding-top:10px;margin-top:12px;border-top:1px solid #10101025;color:#454545}.work .project-image{background:#e9e9e9;border:1px solid #10101010}.work .project-info>span::before{content:"";display:inline-block;width:5px;height:5px;background:var(--lab-accent);margin:0 7px 1px 0}.work .filters{padding:16px 0;border-top:1px solid #10101020;border-bottom:1px solid #10101020;margin-bottom:30px}.work .project:focus-visible{outline-color:#101010}.work .project-view{font-family:Studio Mono,monospace;letter-spacing:.025em}.work .portfolio-seal{border-color:#10101018;background:transparent}
@media(max-width:760px){.work::before{background-position:right -60px top 190px;background-size:720px auto;opacity:.03}.work .section-title-intro{font-size:clamp(32px,8vw,54px)}.work .section-title-impact{font-size:clamp(43px,10.6vw,76px)}.work .project h3{font-size:32px}.work .project-info{padding-top:15px}.work .project-scope{margin-top:10px}.work .filters{margin-bottom:26px}.work .project-info>span{font-size:11px}}
@media(max-width:359px){.work .section-title-impact{font-size:39px}}
/* An opening triptych floats above the existing page, with no layout changes. */
#lab-opening{width:min(1200px,94vw);height:auto;max-height:94dvh;padding:18px;border:0;background:#fcfcfcf5;border-radius:4px;overflow:auto;box-shadow:0 20px 70px #0002}#lab-opening::backdrop{background:#fcfcfc55;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}#lab-opening[open]{animation:lab-opening-enter .35s cubic-bezier(.2,.65,.3,1)}.lab-opening-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:2px 0 16px}.lab-opening-toolbar h2{font-family:Studio Heading,Arial,sans-serif;font-weight:700;font-size:clamp(14px,2vw,24px);letter-spacing:-.02em;line-height:1.15;margin:0;color:var(--ink)}.lab-opening-pointer{width:70px;height:24px;flex:0 0 70px;stroke:var(--ink);stroke-width:1}.lab-opening-toolbar button{width:44px;height:44px;flex:0 0 44px;border:1px solid #10101030;border-radius:50%;padding:11px;background:transparent;color:var(--ink);transition:background-color .35s ease,transform .45s cubic-bezier(.2,.65,.3,1)}.lab-opening-toolbar button svg{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1.5;transition:transform .45s cubic-bezier(.2,.65,.3,1)}.lab-opening-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lab-opening-images img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain;max-height:calc(94dvh - 108px)}
#instagram-scroll-strip{position:fixed;bottom:0;left:0;right:0;height:30px;display:flex;align-items:center;z-index:35;background:var(--lab-accent);color:#101010;overflow:hidden;white-space:nowrap;opacity:0;transform:translateY(100%);pointer-events:none;transition:opacity .4s ease,transform .45s cubic-bezier(.2,.65,.3,1);font-family:Studio Mono,monospace;font-size:11px;letter-spacing:.065em;line-height:1}#instagram-scroll-strip>span{display:block;flex:0 0 auto}#instagram-scroll-strip.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}body:has(dialog[open]) #instagram-scroll-strip{opacity:0;transform:translateY(100%);pointer-events:none}
@keyframes lab-opening-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.lab-opening-toolbar button:hover{background:var(--lab-accent);border-color:var(--lab-accent)}.lab-opening-toolbar button:hover svg{transform:rotate(90deg)}}
@media(max-width:760px){#lab-opening{padding:10px;width:96vw}.lab-opening-toolbar{gap:9px;padding-bottom:12px}.lab-opening-toolbar h2{font-size:14px}.lab-opening-pointer{width:28px;flex-basis:28px}.lab-opening-images{gap:6px}#instagram-scroll-strip{height:28px;font-size:10px}}

/* Edge-to-edge opening images: no white frame or contain gutters. */
#lab-opening{padding:0;border-radius:0;background:#101010;width:min(1200px,94vw,calc((94dvh - 68px)*2.4));max-height:94dvh;overflow:hidden}.lab-opening-toolbar{padding:12px 18px;gap:14px;background:#101010}.lab-opening-toolbar h2{color:white}.lab-opening-pointer{stroke:var(--lab-accent)}.lab-opening-toolbar button{border-color:#ffffff40;color:white}.lab-opening-images{gap:0}.lab-opening-images img{width:100%;height:auto;max-height:none;object-fit:contain}.lab-opening-toolbar button svg{transform:none}.case-lab-data{justify-content:flex-end}
header .brand,header .brand>.brand-flash{border:0;background:transparent;box-shadow:none;border-radius:0}header .brand:focus-visible{outline:none;text-decoration:none;border-bottom:2px solid var(--lab-accent)}
.hero-content-stack{display:flex;flex-direction:column;gap:24px;min-width:0}.hero-media-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:center;min-width:0}.hero-campaign-slider{position:relative;aspect-ratio:1122/1402;width:100%;overflow:hidden;background:#101010;isolation:isolate}.campaign-frame{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;animation:campaign-crossfade 30s cubic-bezier(.4,0,.2,1) infinite;opacity:0}
@keyframes campaign-crossfade{0%,15%{opacity:1}16.666667%,98.333333%{opacity:0}100%{opacity:1}}
@media(min-width:1100px){.hero-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:auto;align-items:start;row-gap:0}.hero-content-stack{grid-column:1;grid-row:1}.hero-copy{padding:12px 0 0}.hero-media-row .hero-feature{grid-column:auto;grid-row:auto;width:100%;max-width:none;margin:0;align-self:center}.hero-media-row .hero-plate-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.hero-animation-stack{grid-column:2;grid-row:1;justify-content:flex-start;gap:24px}.hero-media-row .lab-specimen-note{font-size:8px;flex-wrap:wrap;gap:4px 8px}.hero-media-row .hero-plate-code{font-size:8px}.hero-media-row .hero-art-open:hover{transform:scale(1.08)}}
@media(min-width:761px) and (max-width:1099px){.hero-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}.hero-content-stack{grid-column:1;grid-row:1}.hero-copy{grid-column:auto;max-width:100%}.hero-copy .hero-project-title{font-size:clamp(52px,6.8vw,70px)}.hero-media-row{grid-template-columns:minmax(0,1fr);gap:20px}.hero-media-row .hero-feature{width:100%;max-width:none;margin:0;grid-column:auto}.hero-media-row .hero-plate-collection{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-campaign-slider{width:72%;justify-self:center}.hero-animation-stack{grid-column:2;grid-row:1}}
@media(max-width:760px){#lab-opening{width:96vw}.lab-opening-toolbar{padding:8px 10px;gap:9px}.lab-opening-toolbar h2{font-size:13px}.lab-opening-images{gap:0}.hero-content-stack{gap:22px}.hero-media-row{grid-template-columns:minmax(0,1fr);gap:20px}.hero-media-row .hero-feature{width:100%;max-width:none;margin:0}.hero-media-row .hero-plate-collection{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-campaign-slider{width:min(100%,360px);justify-self:center}.hero-media-row .lab-specimen-note{font-size:9px}.hero-media-row .hero-plate-code{font-size:8px}}
@media(hover:hover) and (pointer:fine){.lab-opening-toolbar button:hover svg{transform:translateX(2px)}}

/* Content defines the opening size; neither fixed height nor a dark image frame. */
#lab-opening{display:none;box-sizing:border-box;min-width:0;min-height:0;padding:0!important;border:0!important;outline:0;background:transparent!important;box-shadow:none;width:min(1200px,94vw,calc((94dvh - 72px)*2.4008));height:fit-content!important;max-height:94dvh;overflow:visible}#lab-opening[open]{display:flex;flex-direction:column}.lab-opening-images{order:0;flex:none;line-height:0;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:transparent}.lab-opening-images img{margin:0!important;padding:0!important;border:0!important;outline:0;height:auto!important;max-height:none!important;width:100%;object-fit:fill;aspect-ratio:1122/1402}.lab-opening-toolbar{order:1;margin:0;flex:none;min-height:64px;padding:10px 18px}.lab-opening-toolbar button{background:transparent}
.hero-introduction{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);align-items:center;gap:clamp(18px,2.3vw,32px);min-width:0}.hero-introduction>.hero-campaign-slider{width:100%;max-width:none;align-self:center;grid-column:1;grid-row:1}.hero-introduction>.hero-copy{grid-column:2;grid-row:1;min-width:0;padding:0}.hero-media-row{display:block}.hero-media-row .hero-feature{width:100%;max-width:none;align-self:auto}.hero-media-row .hero-plate-collection{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.work::before{background-image:url('assets/portfolio-symbol-field.svg');background-position:right -130px top 180px;background-size:760px 760px;opacity:.045}.footer-lab-art{background-image:url('assets/lime-grain.svg'),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:256px 256px,36px 36px,36px 36px;background-position:0 0,0 0,0 0}
header{transition:background-color .65s cubic-bezier(.2,.65,.3,1)}
@media(hover:hover) and (pointer:fine){header:hover{background:#f5fbdc}header:has(.brand:hover){background:var(--paper)}}
@media(min-width:1100px){.hero-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);column-gap:clamp(28px,3vw,48px)}.hero-content-stack{gap:24px}.hero-introduction .hero-project-title{font-size:clamp(55px,4.7vw,78px)}.hero-introduction .hero-copy p{font-size:16px;line-height:1.5}.hero-introduction .hero-lab-welcome strong{font-size:clamp(23px,2vw,30px)}.hero-animation-stack>.hero-art-cycle{height:clamp(340px,28vw,420px)}.hero-media-row .hero-plate-collection{gap:14px 12px}}
@media(min-width:761px) and (max-width:1099px){.hero-layout{grid-template-columns:minmax(0,1fr)}.hero-content-stack{grid-column:1;grid-row:1}.hero-introduction{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}.hero-introduction .hero-project-title{font-size:clamp(58px,7vw,78px)}.hero-animation-stack{grid-column:1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px;margin-top:22px}.hero-animation-stack>.hero-art-cycle{height:390px}.hero-media-row .hero-feature{width:100%}}
@media(max-width:760px){#lab-opening{width:min(96vw,calc((94dvh - 64px)*2.4008))}.lab-opening-toolbar{min-height:60px;padding:8px 10px}.hero-introduction{grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:14px}.hero-introduction .hero-project-title{font-size:clamp(38px,8vw,62px)}.hero-introduction .hero-copy p{font-size:14px;line-height:1.45}.hero-introduction .hero-lab-welcome{margin-top:14px}.hero-introduction .hero-lab-welcome strong{font-size:21px}.hero-introduction .lab-entry-note{font-size:7px;flex-wrap:wrap}.hero-introduction .button{font-size:13px;padding:13px 16px}.work::before{background-size:560px 560px;background-position:right -140px top 220px}.footer-lab-art{background-size:256px 256px,24px 24px,24px 24px}}
@media(max-width:359px){.hero-introduction{gap:10px}.hero-introduction .hero-project-title{font-size:35px}.hero-introduction .hero-copy p{font-size:14px}.hero-introduction .hero-lab-welcome strong{font-size:18px}.hero-introduction .button{font-size:12px;padding:12px}.hero-introduction .lab-entry-note{display:none}}


/* Identity archive: a full-width, lightweight reader. */
.manual-section{scroll-margin-top:100px;padding-top:100px;padding-bottom:100px;border-top:1px solid #555}.manual-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;align-items:end;margin-bottom:48px}.manual-heading h2{font-family:Studio Heading,Arial,sans-serif;font-size:clamp(64px,9vw,140px);line-height:.94;letter-spacing:-.035em;margin:24px 0 0}.manual-heading h2 em{font-family:Studio Display,Arial,sans-serif;font-weight:400}.manual-intro p{font-size:clamp(18px,2vw,25px);line-height:1.45;margin:0 0 24px}.manual-intro .manual-note{font-size:14px;line-height:1.6;opacity:.75;margin-bottom:18px}.manual-intro .text-link{font-size:13px}.manual-reader{width:100%;max-width:1200px;margin:0 auto}.manual-toolbar,.manual-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:Studio Mono,monospace;font-size:11px;letter-spacing:.04em}.manual-toolbar{padding:18px 0;border-top:1px solid #555}.manual-controls{display:flex;align-items:center;gap:16px;flex-shrink:0}.manual-controls button{color:inherit;background:transparent;border:1px solid currentColor;width:40px;height:40px;cursor:pointer;font-size:22px}.manual-controls button:hover{background:#d3f823;color:#101010}.manual-controls button:disabled{opacity:.25;cursor:default}.manual-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.manual-track::-webkit-scrollbar{display:none}.manual-page{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always}.manual-page button{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in}.manual-page img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#101010}.manual-page figcaption{font-family:Studio Mono,monospace;font-size:11px;padding:16px 0;letter-spacing:.04em}.manual-bottom{border-top:1px solid #555;padding:18px 0;opacity:.65}.manual-page button:focus-visible,.manual-controls button:focus-visible,.manual-track:focus-visible{outline:2px solid #d3f823;outline-offset:-2px}@media(max-width:760px){.manual-section{padding-top:64px;padding-bottom:64px;scroll-margin-top:80px}.manual-heading{grid-template-columns:1fr;gap:28px;margin-bottom:32px}.manual-heading h2{font-size:clamp(64px,14vw,100px)}.manual-toolbar>span{font-size:9px;max-width:110px;line-height:1.6}.manual-controls{gap:10px}.manual-controls button{width:36px;height:36px}.manual-bottom{font-size:9px}.manual-bottom span:last-child{text-align:right}.manual-page figcaption{font-size:10px}}

header nav a.manual-nav-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #10101022;border-radius:999px;transition:border-color .2s,box-shadow .2s}.manual-nav-dot{width:6px;height:6px;background:#d3f823;border:1px solid #10101044;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px #d3f82318}header nav a.manual-nav-link:hover,header nav a.manual-nav-link:focus-visible{border-color:#10101055;box-shadow:0 0 14px #d3f82355}@media(max-width:760px){header nav a.manual-nav-link{align-self:flex-start;padding:10px 14px}.manual-nav-dot{width:7px;height:7px}}

.footer-manual-finale{max-width:none;width:auto;margin:48px calc(-100% / 91 * 4.5) 0}.footer-manual-finale img{display:block;width:100%;height:auto}@media(max-width:760px){.footer-manual-finale{margin:30px calc(-100% / 90 * 5) 0}}

/* Brand typography for navigation and identity introduction. */
header nav{gap:26px}header nav a{font-family:Studio Brand Title,Arial,sans-serif;font-weight:700;font-style:italic;text-transform:uppercase;font-size:16px;letter-spacing:-.015em;line-height:1.15}.manual-intro>p:first-child{font-family:Studio Heading,Arial,sans-serif;font-weight:700;font-size:clamp(26px,2.8vw,40px);line-height:1.1;letter-spacing:-.02em;max-width:19ch}.manual-intro .manual-note,.manual-intro .text-link{font-family:Studio Mono,monospace;font-weight:400;font-style:normal}.manual-intro .manual-note{font-size:12px;line-height:1.65;opacity:.8}.manual-intro .text-link{font-size:11px;letter-spacing:.025em}.manual-intro .manual-voice-accent{font-family:Studio Brand Title,Arial,sans-serif;font-style:italic}@media(min-width:761px) and (max-width:1050px){header nav{gap:16px}header nav a{font-size:14px}}@media(max-width:760px){header nav{gap:0}header nav a{font-size:22px;letter-spacing:-.015em}.manual-intro>p:first-child{font-size:30px;max-width:22ch}.manual-intro .manual-note{font-size:12px}}

/* Fit complete pages to the screen; keep hover still. */
.manual-reader{scroll-margin-top:10px}.manual-page img{height:max(160px,calc(100svh - 270px));max-height:860px;aspect-ratio:auto;object-fit:contain}.manual-page .hero-art-open,.manual-page .hero-art-open:hover,.manual-page .hero-art-open:focus-visible{transform:none;box-shadow:none}.manual-controls button{width:44px;height:44px}.manual-controls select{font-family:Studio Mono,monospace;font-size:11px;color:inherit;background:transparent;border:1px solid #10101035;border-radius:0;padding:11px 26px 11px 10px;min-height:44px;max-width:165px;cursor:pointer}.manual-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.manual-page figcaption{padding:12px 0}.manual-bottom{padding:12px 0}@media(max-width:760px){.manual-reader{scroll-margin-top:0}.manual-page img{height:max(130px,calc(100svh - 240px));max-height:760px}.manual-toolbar{gap:8px;padding:10px 0}.manual-toolbar>span{max-width:80px;font-size:8px}.manual-controls{gap:6px}.manual-controls select{font-size:10px;max-width:135px;padding-left:8px}.manual-controls button{width:44px;height:44px}.manual-bottom{font-size:8px}}@media(max-width:359px){.manual-toolbar>span{display:none}.manual-controls{width:100%;justify-content:space-between}}

/* Independent color explorations, within the existing gallery section. */
.color-gallery-block{margin-top:clamp(44px,6vw,88px);padding-top:32px;border-top:1px solid var(--line);min-width:0}
.color-gallery-heading h3{font-size:clamp(28px,4vw,52px);line-height:1.05;letter-spacing:-.04em;margin:14px 0 18px;font-weight:400}
.color-gallery-heading .eyebrow{font-size:11px}.color-gallery-heading p{max-width:38em;line-height:1.5}
#color-gallery-position{font-size:12px;font-variant-numeric:tabular-nums}
.color-gallery-open{overflow:hidden;isolation:isolate}.color-gallery-open img{transition:transform .55s cubic-bezier(.2,.65,.3,1);transform-origin:center}
@media(hover:hover) and (pointer:fine){.color-gallery-open:hover img{transform:scale(1.035)}.color-gallery.is-dragging .color-gallery-open img{transform:none}}


/* Brand cursor: native 20 × 20 px, centered hotspot, desktop hover only. */
@media (hover:hover) and (pointer:fine){
 :is(a[href],button:not(:disabled),summary,select:not(:disabled),[role="button"]):hover{cursor:url("assets/microbio-cursor-lime-20.png") 10 10,pointer}
 .studio-gallery.is-dragging,.studio-gallery.is-dragging *{cursor:grabbing!important}
}

.hero-art-open>picture,.gallery-open>picture,.manual-page button>picture,.project-image>picture,.footer-manual-finale>picture{display:block;width:100%}.project-image>picture{height:100%}

/* Stable opening geometry before image decoding, including landscape phones. */
#lab-opening{width:min(1200px,94vw,calc((94dvh - 88px)*2.4008));max-width:94vw;max-height:94dvh;height:auto!important;overflow:hidden;isolation:isolate}
.lab-opening-images>picture{display:block;min-width:0;width:100%;aspect-ratio:1122/1402;overflow:hidden}
.lab-opening-images>picture>img{display:block;width:100%;height:100%!important;aspect-ratio:1122/1402;object-fit:cover}
.lab-opening-toolbar{min-width:0;min-height:64px;position:relative}.lab-opening-toolbar h2{min-width:0;overflow-wrap:break-word}
.lab-opening-toolbar::before{content:"";position:absolute;top:0;left:0;width:34%;height:2px;background:var(--lab-accent);pointer-events:none}
.hero-campaign-slider>picture{display:block}.gallery-open>picture,.hero-art-open>picture{min-width:0}.studio-gallery,.manual-track{min-width:0;max-width:100%}
.manual-reader{scroll-margin-top:110px}
header::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--lab-accent);transform-origin:left;transform:scaleX(var(--page-progress,0));pointer-events:none}
@media(max-width:760px){#lab-opening{width:min(96vw,calc((94dvh - 84px)*2.4008));max-width:96vw}.lab-opening-toolbar{min-height:60px}.manual-reader{scroll-margin-top:90px}}
@media(max-height:450px) and (orientation:landscape){#lab-opening{width:min(96vw,calc((94dvh - 76px)*2.4008))}.lab-opening-toolbar{min-height:52px;padding:4px 10px}.lab-opening-toolbar h2{font-size:13px}.lab-opening-pointer{width:28px;flex-basis:28px}}

body.has-open-dialog{overflow:hidden}body.has-open-dialog #instagram-scroll-strip{opacity:0;transform:translateY(100%);pointer-events:none}

/* Method: reuse the identity reader with complete portrait artwork. */
.method-reader{max-width:700px}.method-section .manual-page img{height:auto;max-height:none;aspect-ratio:4/5;object-fit:contain}.method-section .manual-page figcaption{line-height:1.6}.method-section .manual-bottom{align-items:start;flex-wrap:wrap;line-height:1.7}.method-section .manual-controls select{max-width:170px}.method-section .manual-toolbar>span{max-width:160px}.method-section .manual-page button{background:#101010}.method-section .manual-intro>p:first-child{max-width:23ch}@media(min-width:761px){.method-section .manual-page img{height:min(875px,calc(100svh - 230px));min-height:360px;aspect-ratio:auto}}@media(max-width:400px){.method-section .manual-toolbar>span{display:none}}

/* Proportional artwork: no lateral matte, no crop, no viewport-driven jumps. */
.method-reader{max-width:700px}
.method-section .manual-page button{background:transparent}
.method-section .manual-page img{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/5;object-fit:contain;background:transparent}
.manual-track{overflow-anchor:none}
html{scrollbar-gutter:stable}
/* Quiet laboratory notation. Decorative signals, never visitor measurements. */
.bio-console{width:100%;min-width:0;border-top:1px solid #10101028;border-bottom:1px solid #10101028;padding:12px 0;font-family:Studio Mono,monospace;color:var(--ink)}
.bio-console-top,.bio-console-bottom{display:flex;justify-content:space-between;gap:12px;font-size:8px;letter-spacing:.06em;line-height:1.6}
.bio-console-top i{display:inline-block;width:5px;height:5px;background:var(--lab-accent);border-radius:50%;margin-right:5px}
.bio-console-body{display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;gap:22px;padding:14px 0}
.bio-console-body svg{width:100%;height:32px;stroke:currentColor;stroke-width:1;overflow:hidden}
.bio-console-body>span{font-size:8px;line-height:1.8;letter-spacing:.03em}
.bio-fingerprint{width:44px;height:50px;border-radius:45% 45% 40% 40%;background:repeating-radial-gradient(ellipse at 50% 65%,transparent 0 3px,#10101066 3px 4px,transparent 4px 6px);transform:rotate(15deg);opacity:.55}
.bio-console-bottom{color:#555}.bio-section-index{display:flex;align-items:center;gap:12px;max-width:100%;margin:0 0 28px;font-family:Studio Mono,monospace;font-size:8px;letter-spacing:.08em;line-height:1.6;color:inherit;opacity:.6;pointer-events:none}
.bio-index-mark{color:var(--lab-accent);font-size:20px;line-height:1}.bio-index-ruler{flex:1;height:6px;max-width:180px;margin-left:auto;border-bottom:1px solid currentColor;background:repeating-linear-gradient(90deg,currentColor 0 1px,transparent 1px 12px);opacity:.4}
@media(max-width:760px){.bio-console-top,.bio-console-bottom{font-size:7px;flex-wrap:wrap}.bio-console-body{gap:12px;grid-template-columns:minmax(0,1fr) auto 32px}.bio-fingerprint{width:30px;height:38px}.bio-console-body>span{font-size:7px}.bio-section-index{font-size:7px;margin-bottom:20px;gap:8px}.bio-index-ruler{max-width:70px}}

/* Fullscreen single-artwork welcome, retaining uncropped artwork at every viewport. */
#lab-opening{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh!important;max-height:100dvh;overflow:hidden;background:#c1ff00!important}
#lab-opening::backdrop{background:#c1ff00;backdrop-filter:none;-webkit-backdrop-filter:none}
#lab-opening[open]{display:flex;flex-direction:column}
#lab-opening .lab-opening-images{display:block;flex:1;min-height:0;width:100%;background:#c1ff00}
#lab-opening .lab-opening-images>picture{display:block;width:100%;height:100%;aspect-ratio:auto;overflow:hidden}
#lab-opening .lab-opening-images>picture>img{display:block;width:100%;height:100%!important;aspect-ratio:auto;object-fit:contain}
#lab-opening .lab-opening-toolbar{order:1;display:flex;flex:none;min-height:64px;padding:8px max(20px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom));background:#c1ff00;border-top:1px solid #10101035;gap:16px}
#lab-opening .lab-opening-toolbar h2{color:#101010;font-size:13px;letter-spacing:.08em}
#lab-opening .lab-opening-toolbar::before{display:none}
#lab-opening .lab-opening-pointer{stroke:#101010}
#lab-opening .lab-opening-toolbar button{color:#101010;border-color:#10101070;background:transparent;cursor:pointer}
#lab-opening .lab-opening-toolbar button:focus-visible{outline:2px solid #101010;outline-offset:3px}
@media(max-width:760px){#lab-opening .lab-opening-toolbar{min-height:64px;padding-left:16px;padding-right:16px}#lab-opening .lab-opening-toolbar h2{font-size:11px}#lab-opening .lab-opening-pointer{width:28px;flex-basis:28px}}


/* Prominent welcome call to action. */
#lab-opening .lab-opening-toolbar{min-height:88px;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
#lab-opening .lab-opening-toolbar h2{margin-right:auto}
#lab-opening .lab-opening-pointer{display:none}
#lab-opening .lab-opening-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:24px;width:auto;min-width:292px;min-height:60px;flex:0 0 auto;padding:16px 24px;border:2px solid #101010;border-radius:4px;background:#101010;color:#c1ff00;box-shadow:0 5px 0 #10101025;font-family:Studio Mono,monospace;font-size:14px;font-weight:700;line-height:1.25;letter-spacing:.04em;transition:background-color .2s,color .2s,transform .2s}
#lab-opening .lab-opening-toolbar button span{white-space:nowrap}
#lab-opening .lab-opening-toolbar button svg{width:26px;height:26px;flex:none;stroke-width:2}
#lab-opening .lab-opening-toolbar button:focus-visible{outline:3px solid #101010;outline-offset:4px}
@media(hover:hover){#lab-opening .lab-opening-toolbar button:hover{background:#fff;color:#101010;transform:translateY(-2px)}}
@media(max-width:760px){#lab-opening .lab-opening-toolbar{justify-content:center;min-height:92px;padding:12px 16px max(12px,env(safe-area-inset-bottom))}#lab-opening .lab-opening-toolbar h2{display:none}#lab-opening .lab-opening-toolbar button{width:100%;min-width:0;max-width:420px;min-height:64px;gap:18px;font-size:13px;padding:16px}}

/* Edge-to-edge artwork with a softly blurred page behind spare viewport space. */
#lab-opening{background:transparent!important}
#lab-opening::backdrop{background:rgba(255,255,255,.12);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
#lab-opening .lab-opening-images{position:absolute;inset:0;width:100%;height:100%;background:transparent}
#lab-opening .lab-opening-images>picture{height:100%;background:transparent}
#lab-opening .lab-opening-images>picture>img{object-fit:contain}
#lab-opening .lab-opening-toolbar{position:absolute;right:clamp(16px,3vw,48px);bottom:max(20px,env(safe-area-inset-bottom));z-index:2;display:flex;width:auto;min-height:0;margin:0;padding:0;background:transparent;border:0}
#lab-opening .lab-opening-toolbar h2{display:none}
#lab-opening .lab-opening-toolbar button{box-shadow:0 8px 30px #0003}
@media(max-width:760px){#lab-opening .lab-opening-toolbar{left:16px;right:16px;bottom:max(20px,env(safe-area-inset-bottom));width:auto;min-height:0;padding:0;justify-content:center}}

.method-reader{max-width:1200px}.method-reader #method-track{gap:20px;padding:4px 0 12px;scroll-padding-left:0;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;cursor:grab}.method-reader #method-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}.method-reader .manual-page{flex:0 0 calc((100% - 40px)/3);scroll-snap-stop:normal}.method-reader .manual-page img{width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain;min-height:0;background:transparent}.method-reader .manual-page img{pointer-events:none}.method-reader .manual-page figcaption{font-size:10px;line-height:1.5}.method-reader .manual-sr-only{position:static;width:auto;height:auto;margin:0;clip-path:none;overflow:visible;white-space:nowrap}.method-overview{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:8px;margin:14px 0 20px}.method-thumb{display:block;min-width:0;padding:3px;border:1px solid #10101030;background:transparent;color:inherit;cursor:pointer}.method-thumb img{display:block;width:100%;height:auto;aspect-ratio:1122/1402;object-fit:contain}.method-thumb span{display:block;font:10px monospace;padding:5px 0 2px}.method-thumb[aria-current="true"]{border-color:#101010;background:#c1ff00}.method-thumb:focus-visible{outline:2px solid #101010;outline-offset:3px}.method-thumb:hover{border-color:#101010}.method-reader .manual-toolbar{flex-wrap:wrap}.method-reader .manual-controls{max-width:100%}
@media(max-width:1100px){.method-reader .manual-page{flex-basis:calc((100% - 20px)/2)}.method-overview{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:760px){.method-reader .manual-page{flex-basis:82%}.method-reader #method-track{gap:12px}.method-overview{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.method-reader .manual-controls{gap:6px;width:100%;justify-content:space-between}.method-reader .manual-controls select{min-width:0;max-width:170px;flex:1}.method-reader .manual-toolbar>span{max-width:none}.method-reader .manual-sr-only{font-size:10px}}

/* Navigation as a compact Microbio control panel. */
#main-nav{align-items:center;gap:6px}
#main-nav .nav-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 13px;border:1px solid #10101028;border-radius:999px;background:#ffffffc9;color:#101010;font-family:Studio Brand Title,Arial,sans-serif;font-size:14px;font-style:italic;font-weight:700;letter-spacing:-.015em;line-height:1.1;text-transform:uppercase;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
#main-nav .nav-mark{position:relative;width:7px;height:7px;flex:0 0 7px;border:1px solid #1010108a;border-radius:50%;background:var(--lab-accent);box-shadow:0 0 0 3px #d3f82325;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}
#main-nav .nav-pill:hover{transform:translateY(-1px);border-color:#101010;background:var(--lab-accent);color:#101010;box-shadow:0 4px 14px #10101014}
#main-nav .nav-pill:hover .nav-mark{transform:scale(1.18);box-shadow:0 0 0 4px #10101014}
#main-nav .nav-pill[aria-current="location"]{border-color:#101010;background:#101010;color:#fff;box-shadow:0 4px 14px #10101016}
#main-nav .nav-pill[aria-current="location"] .nav-mark{border-color:var(--lab-accent);background:var(--lab-accent);box-shadow:0 0 0 4px #d3f82330}
#main-nav .nav-pill:focus-visible,.contact-pill:focus-visible,#menu-toggle:focus-visible{outline:2px solid #101010;outline-offset:3px;box-shadow:0 0 0 5px #d3f82370}
.contact-pill{gap:10px;min-height:44px;padding:0 16px;border:1px solid #101010;border-radius:999px;background:var(--lab-accent);color:#101010;font-family:Studio Mono,monospace;font-size:12px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}
.contact-pill svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;transition:transform .2s ease}
.contact-pill:hover{transform:translateY(-1px);background:#101010;color:var(--lab-accent);box-shadow:0 5px 16px #10101025}
.contact-pill:hover svg{transform:translateX(3px)}
@media(min-width:761px) and (max-width:1100px){header{gap:10px}.brand{width:160px}#main-nav{gap:4px}#main-nav .nav-pill{min-height:40px;padding:0 9px;gap:6px;font-size:12px}.contact-pill{display:none!important}#main-nav .mobile-contact-link{display:inline-flex}}
@media(max-width:760px){header nav#main-nav{display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;padding:16px 5% 20px;border:0;border-bottom:1px solid #10101030;background:#fcfcfcf5;box-shadow:0 18px 32px #10101018;backdrop-filter:blur(18px)}header nav#main-nav.is-open{display:grid}#main-nav .nav-pill{justify-content:flex-start;min-height:48px;padding:0 14px;font-size:14px}#main-nav .nav-pill[aria-current="location"]{box-shadow:inset 0 0 0 1px #d3f823,0 4px 14px #10101016}.contact-pill{min-height:42px;margin-left:auto;padding:0 12px;font-size:11px}.menu-toggle{border-color:#10101044;background:#ffffffb8}.menu-toggle:hover{background:var(--lab-accent);border-color:#101010}.mobile-contact-link{display:inline-flex}}
@media(max-width:359px){#main-nav .nav-pill{gap:7px;padding:0 10px;font-size:12px}.contact-pill{font-size:10px;padding:0 9px}}

#main-nav .mobile-contact-link{display:none}
@media(min-width:761px) and (max-width:850px){.brand{width:140px}#main-nav .nav-pill{min-height:38px;padding:0 6px;gap:5px;font-size:10px}#main-nav .nav-mark{width:6px;height:6px;flex-basis:6px}}

/* Five launch plates followed by the water/travertine exploration; 5s per image. */
.campaign-frame-1{animation-delay:0s;}
.campaign-frame-2{animation-delay:-25s;}
.campaign-frame-3{animation-delay:-20s;}
.campaign-frame-4{animation-delay:-15s;}
.campaign-frame-5{animation-delay:-10s;}
.campaign-frame-6{animation-delay:-5s;}

/* Three distinct motion studies confined to the existing right-hand column. */
.hero-animation-stack.hero-lab-studies{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:20px;padding:0;align-self:stretch;min-height:0}
.lab-study{position:relative;display:grid;grid-template-rows:auto minmax(180px,1fr) auto;min-width:0;min-height:0;margin:0;overflow:hidden;border-top:1px solid #10101035;background:var(--paper);contain:layout style}
.lab-study-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0 0;font-family:Studio Mono,monospace;font-size:9px;line-height:1.4;letter-spacing:.04em;color:#101010}
.lab-study-header>span:last-child{font-size:8px;color:#62685d}
.lab-study-stage{position:relative;min-height:0;isolation:isolate;overflow:hidden}
.lab-study-canvas,.lab-study-field,.lab-study-fallback{position:absolute;inset:0;width:100%;height:100%;display:block}
.lab-study-field{stroke:#101010;stroke-width:.65;opacity:.18;pointer-events:none;z-index:0}
.lab-study-membrane .lab-study-field{stroke:#839548;opacity:.35}
.lab-study-network .lab-study-field{stroke:#101010;opacity:.22}
.lab-study-fallback{z-index:1;transition:opacity .3s}.lab-study.is-ready .lab-study-fallback{opacity:0}
.lab-study-canvas{z-index:2;pointer-events:none;opacity:0;transition:opacity .45s}.lab-study.is-ready .lab-study-canvas{opacity:1}
.lab-study-index,.lab-study-state{position:absolute;bottom:10px;z-index:3;font-family:Studio Mono,monospace;font-size:8px;line-height:1.3;letter-spacing:.04em;pointer-events:none;background:#fcfcfce8;padding:3px 4px;color:#555c4e}
.lab-study-index{left:0}.lab-study-state{right:0}
.lab-study figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0 12px;font-family:Studio Mono,monospace;font-size:9px;line-height:1.4;color:#101010;letter-spacing:.015em}
.lab-study-progress{display:block;width:46px;height:2px;overflow:hidden;background:#10101020;flex-shrink:0}.lab-study-progress i{display:block;width:100%;height:100%;background:var(--lab-accent);transform-origin:left;transform:scaleX(.35)}
@media(min-width:1100px){.hero-animation-stack.hero-lab-studies{grid-column:2;grid-row:1;align-self:stretch;height:100%}.lab-study{min-height:260px}}
@media(min-width:761px) and (max-width:1099px){.hero-animation-stack.hero-lab-studies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(240px,auto);gap:16px;grid-column:1;grid-row:2;margin-top:22px}.lab-study-header{font-size:8px;gap:6px}.lab-study-header>span:last-child{display:none}.lab-study figcaption{font-size:8px}.lab-study-state{font-size:6px}.lab-study-index{font-size:7px}.lab-study-progress{width:24px}}
@media(max-width:760px){.hero-animation-stack.hero-lab-studies{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,290px);gap:16px;padding-bottom:18px;width:100%}.lab-study-header{font-size:10px}.lab-study figcaption{font-size:10px}.lab-study-stage{min-height:180px}.lab-study-index,.lab-study-state{font-size:8px}}


/* Soft specimen surfaces and quiet technical marks, scoped to the three studies. */
.hero-lab-studies .lab-study-field{stroke:#aab59e;opacity:.22}
.hero-lab-studies .lab-study-progress i{background:#cbdcaa}
.hero-lab-studies .lab-study-fallback{filter:grayscale(.85);opacity:.24}
.hero-lab-studies .lab-study.is-ready .lab-study-fallback{opacity:0}

/* The two opening films play in sequence; keep all source artwork visible. */
.hero-campaign-slider.video-slider-run .campaign-frame{animation:none;opacity:0;transition:opacity .35s ease}
.hero-campaign-slider.video-slider-run .campaign-frame.is-active{opacity:1;z-index:1}
.hero-campaign-slider video.campaign-frame{object-fit:contain;background:#0b0b09}
.hero-campaign-slider video.campaign-frame-2{background:#fffdf7}


/* Match both supplied film proportions; preserve every edge without filler strips. */
.hero-campaign-slider.video-slider-run{aspect-ratio:1080/1392;background:var(--paper)}
.hero-campaign-slider.video-slider-run .campaign-frame{transition:opacity .75s cubic-bezier(.4,0,.2,1);z-index:0}
.hero-campaign-slider.video-slider-run .campaign-frame.is-active{opacity:1;z-index:1}
.hero-campaign-slider.video-slider-run .campaign-frame.is-incoming{opacity:1;z-index:2}
.hero-campaign-slider.video-slider-run video.campaign-frame{object-fit:contain;background:transparent}



