@font-face{font-family:Terminal;src:url('assets/fonts/terminal-grotesque.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Terminal Open';src:url('assets/fonts/terminal-grotesque-open.otf') format('opentype');font-display:swap}

:root{--paper:#eeede7;--ink:#181918;--orange:#cd744f;--line:#b7b7af;--background:#eeede7}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:var(--background);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
button{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
::selection{background:var(--orange);color:var(--ink)}
[hidden]{display:none!important}
.site-loader{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;background:#fafaf7;color:#2424a8;opacity:1;transition:opacity .42s ease;pointer-events:all;animation:loader-failsafe 0s linear 1.6s forwards}
.site-loader svg{width:clamp(64px,8vw,110px);height:clamp(64px,8vw,110px);animation:loader-spin 1.5s cubic-bezier(.55,.05,.45,.95) infinite}
.site-loader.is-ready{opacity:0;pointer-events:none}
@keyframes loader-spin{to{transform:rotate(360deg)}}
@keyframes loader-failsafe{to{visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.site-loader svg{animation:none}.site-loader{transition:none}}
.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:var(--paper);padding:12px}
.skip:focus{top:12px}
.scanlines{position:fixed;inset:0;z-index:8;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 5px,#00000005 5px 6px)}
.site-header{position:fixed;inset:0 0 auto;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:25px 4%;color:#fff;mix-blend-mode:difference;pointer-events:none}
.site-header>a,.site-header>nav,.site-header>button{pointer-events:auto}
.signature{display:flex;align-items:center;gap:10px;font:30px/.95 Terminal,sans-serif;white-space:nowrap;letter-spacing:-.03em}
.signature svg{height:30px;width:30px}
.desktop-nav{display:flex;gap:32px;align-items:center;font-size:14px}
.desktop-nav a{position:relative;padding:5px 0}
.desktop-nav a:after{content:'';position:absolute;bottom:0;left:0;right:100%;height:1px;background:currentColor;transition:right .25s}
.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{right:0}
.menu-toggle{display:none;background:none;border:0;padding:10px;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
.menu-toggle span{height:1px;width:22px;background:currentColor}
.work-section{padding:145px 4% 100px}
.work-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px;border-bottom:1px solid var(--line);padding-bottom:18px;gap:20px}
.work-intro h1{font:38px/1 Terminal,sans-serif;margin:0;letter-spacing:-.035em}
.accent{color:var(--orange)}
.work-intro>span,.section-top>span,.about-meta,.about-aside>span,.contact-meta,footer{font-size:11px;letter-spacing:.075em}
.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:72px 5%;align-items:start}
.project-preview{padding:0;border:0;display:block;width:100%;background:none;text-align:left;cursor:pointer}
.project-frame{display:block;position:relative;overflow:hidden;background:#141413;aspect-ratio:1.52}
.project-frame img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:opacity .5s,transform .8s cubic-bezier(.2,.7,.2,1)}
.project-frame .alternate{opacity:0;transform:scale(1.025)}
.project-preview:hover .alternate,.project-preview:focus-visible .alternate{opacity:1;transform:scale(1)}
.project-preview:hover .cover{transform:scale(1.025)}
.project-arrow{position:absolute;top:15px;right:16px;color:#fff;mix-blend-mode:difference;font-size:26px;opacity:0;transform:translate(-5px,5px);transition:.25s}
.project-preview:hover .project-arrow,.project-preview:focus-visible .project-arrow{opacity:1;transform:none}
.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:16px}
.project-name{font:26px/1.1 Terminal,sans-serif;letter-spacing:-.03em}
.project-category{font-size:10px;letter-spacing:.055em;opacity:.65;max-width:140px;text-align:right}
.project-1{margin-top:90px}
.project-1 .project-frame{aspect-ratio:1.12}
.project-2{margin-right:10%;margin-top:-25px}
.project-2 .project-frame{aspect-ratio:1.15}
.project-3{margin-top:65px}
.project-3 .project-frame{aspect-ratio:1.6}
.project-4{grid-column:1/3;width:65%;margin-left:18%;margin-top:15px}
.project-4 .project-frame{aspect-ratio:1.95}
.activities{margin:0 4%;padding:35px 0 80px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:8%}
.section-top h2{font:36px/1 Terminal,sans-serif;margin:0 0 14px}
.section-top>span{opacity:.6}
.activity-text{margin:0;line-height:1.7;white-space:pre-line;font-size:16px}
.about-section{padding:150px 4% 110px;min-height:0}
.about-meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}
.name-title{font:normal clamp(80px,19vw,310px)/.78 Terminal,sans-serif;letter-spacing:-.035em;margin:55px 0 65px;font-weight:400}
.name-title>span{display:block}
.name-title .name-bottom{display:flex;align-items:center;gap:.06em;margin-top:.09em}
.outlined-name{font-family:'Terminal Open',Terminal,sans-serif;font-weight:400}
.name-symbol{display:inline-flex;color:var(--orange);width:.63em;height:.63em;flex-shrink:0;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.name-symbol svg{width:100%;height:100%}
.name-title:hover .name-symbol{transform:rotate(-8deg)}
.about-details{border-top:1px solid var(--line);padding-top:35px;display:grid;grid-template-columns:1fr 1.8fr;gap:12%}
.about-aside>span{color:var(--orange)}
.education{font-size:16px;line-height:1.6;white-space:pre-line;max-width:330px;margin-top:25px}
.about-copy{max-width:720px}
.about-copy p{font-size:clamp(18px,2vw,27px);line-height:1.45;letter-spacing:-.02em;margin:0 0 25px}
.about-portrait{width:min(100%,245px);margin:34px 0 0;overflow:hidden;background:#e8ebe9}
.about-portrait img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:44% center;filter:saturate(.72) contrast(.94)}
.contact{margin:0 4%;padding:35px 0 25px;border-top:1px solid var(--line)}
.contact-meta{display:flex;justify-content:space-between;gap:25px;line-height:1.5}
.contact-caption{max-width:380px;text-align:right;white-space:pre-line}
.contact h2{font:normal clamp(60px,12vw,200px)/.8 Terminal,sans-serif;letter-spacing:-.025em;margin:70px 0 45px}
.contact-link{display:inline-block;position:relative}
.contact-line{display:block;transition:color .35s,transform .45s cubic-bezier(.2,.7,.2,1);transform-origin:left}
.contact-link:hover .contact-line,.contact-link:focus-visible .contact-line{color:var(--orange);transform:skewX(-5deg)}
.contact-link:hover .contact-line:last-child,.contact-link:focus-visible .contact-line:last-child{transform:translateX(.055em) skewX(-5deg)}
.contact-arrow{display:inline-block;transition:transform .4s}
.contact-link:hover .contact-arrow{transform:translate(.05em,-.035em)}
.contact-details{display:flex;justify-content:space-between;gap:25px;padding:15px 0;font-size:14px;line-height:1.5}
.contact-details>a:first-child{font-size:18px;text-decoration:underline;text-underline-offset:4px}
.email-placeholder{opacity:.55}
footer{margin:0 4%;padding:22px 0 50px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px}
.reading-progress{position:fixed;bottom:15px;left:4%;right:4%;z-index:12;display:flex;gap:14px;align-items:center;pointer-events:none;mix-blend-mode:difference;color:#fff}
.reading-progress input{pointer-events:auto;appearance:none;flex:1;min-width:50px;height:1px;background:linear-gradient(to right,#fff var(--progress,0%),#ffffff35 var(--progress,0%));margin:10px 0;cursor:pointer}
.reading-progress input::-webkit-slider-thumb{appearance:none;width:7px;height:7px;border-radius:50%;background:white}
.reading-progress input::-moz-range-thumb{width:7px;height:7px;background:#fff;border:0;border-radius:50%}
.reading-progress output{font-size:10px;font-variant-numeric:tabular-nums}
.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}
dialog{border:0;background:#171716;color:var(--paper);max-width:none;max-height:none}
dialog::backdrop{background:#111c;backdrop-filter:blur(8px)}
#viewer{inset:0;width:100%;height:100dvh;margin:0;padding:65px 5% 30px;overflow:auto}
#viewer>img{width:100%;height:65vh;object-fit:contain}
#viewer .close,#site-menu .menu-close{position:absolute;right:4%;top:20px;padding:9px 18px;border:1px solid #777;background:none;color:inherit;cursor:pointer;border-radius:25px;font-size:14px}
.viewer-copy{max-width:800px;margin:20px auto}
.viewer-copy h2{font:30px/1 Terminal;margin:0 0 15px}
.project-description{font-size:16px;line-height:1.6;white-space:pre-line}
.project-description:empty{display:none}
.viewer-nav{display:flex;gap:30px;justify-content:center;align-items:center;font-size:12px}
.viewer-nav button{background:none;border:1px solid #777;color:inherit;padding:8px 18px;cursor:pointer}
#site-menu{inset:0 0 0 auto;width:min(500px,100%);height:100dvh;margin:0;padding:100px 8% 40px}
#site-menu nav{display:flex;flex-direction:column}
#site-menu nav a{font:50px/1.4 Terminal;border-bottom:1px solid #ffffff25}
#site-menu nav a:hover{color:var(--orange)}
.menu-foot{display:block;margin-top:50px;font-size:11px;line-height:1.8}
.private-badge{font-size:10px;letter-spacing:.06em;color:var(--orange);text-decoration:underline;text-underline-offset:4px}
.content-error{font-size:12px;color:#a44e32}
.contact-line+.contact-line{margin-top:.055em}
body.about-view{--background:#e7e5dd}
@media(max-width:900px){.signature{font-size:25px}
.desktop-nav{gap:22px}
.project-name{font-size:23px}
.project-meta{gap:10px}
.project-category{font-size:9px}
.name-title{font-size:20vw}
}
@media(max-width:650px){html{scroll-padding-top:95px}
.site-header{padding:18px 6%}
.signature{font-size:25px;gap:7px}
.signature svg{width:25px;height:25px}
.desktop-nav{display:none}
.menu-toggle{display:flex}
.work-section{padding:110px 6% 65px}
.work-intro{margin-bottom:25px;align-items:baseline;padding-bottom:15px}
.work-intro h1{font-size:29px}
.work-intro>span{font-size:9px;max-width:125px;text-align:right;line-height:1.5}
.project-grid{grid-template-columns:1fr;gap:37px}
.project-1,.project-2,.project-3,.project-4{margin:0;width:100%;grid-column:auto}
.project-frame,.project-1 .project-frame,.project-2 .project-frame,.project-3 .project-frame,.project-4 .project-frame{aspect-ratio:1.5}
.project-meta{margin-top:12px}
.project-name{font-size:24px}
.project-category{font-size:10px}
.project-arrow{opacity:1;font-size:22px}
.activities{margin:0 6%;padding:28px 0 55px;display:block}
.activity-text{margin-top:25px}
.section-top h2{font-size:30px}
.section-top>span{font-size:10px}
.about-section{padding:115px 6% 65px}
.about-meta{font-size:9px;gap:20px}
.name-title{font-size:20vw;margin:40px 0}
.name-symbol{width:.6em;height:.6em}
.about-details{grid-template-columns:1fr;gap:25px;padding-top:25px}
.about-copy p{font-size:20px}
.about-portrait{width:min(62vw,280px);margin-top:8px}
.education{margin-top:15px}
.contact{margin:0 6%;padding-top:25px}
.contact-meta{font-size:9px;gap:20px}
.contact-caption{max-width:45%}
.contact h2{font-size:18vw;margin:45px 0 30px}
.contact-details{font-size:12px;flex-wrap:wrap}
.contact-details>a:first-child{font-size:16px}
footer{margin:0 6%;font-size:9px;flex-wrap:wrap;padding-bottom:40px}
.reading-progress{left:6%;right:6%;bottom:8px}
#viewer>img{height:55vh}
.scanlines{opacity:.7}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important;transform:none!important}
}

/* Compact collection wall, with scroll-driven depth and a darker atmosphere. */
:root{--background:#141514;--ink:#e8e7df;--line:#ffffff26}
body{background:var(--background);color:var(--ink)}
.work-section{padding-top:125px}
.work-intro{margin-bottom:45px}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px;align-items:start;max-width:1450px;margin:auto}
.project{margin:0!important;width:auto!important;grid-column:auto!important;will-change:transform;transform:translate3d(0,var(--drift,0px),0)}
.project-1{padding-top:85px}
.project-2{padding-top:25px}
.project-3{padding-top:0}
.project-4{padding-top:65px}
.project-frame,.project-1 .project-frame,.project-2 .project-frame,.project-3 .project-frame,.project-4 .project-frame{aspect-ratio:1.08;background:#10111060;border:1px solid #d3ccc529;border-radius:5px}
.project-frame .cover{object-fit:contain;transform:scale(.78);transition:transform .7s,opacity .6s}
.project-frame .alternate{object-fit:cover;opacity:0;transform:scale(1.05)}
.project-preview:hover .cover,.project-preview:focus-visible .cover{opacity:0;transform:scale(.72)}
.project-preview:hover .alternate,.project-preview:focus-visible .alternate{opacity:1;transform:scale(1)}
.project-preview:hover .project-frame,.project-preview:focus-visible .project-frame{border-color:#cd744f}
.project-frame{transition:border-color .4s}
.project-meta{margin-top:13px;gap:10px;align-items:start}
.project-name{font-size:23px}
.project-category{font-size:9px;max-width:100px}
.work-section{padding-bottom:150px}
.scanlines{background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff04 5px 6px)}
body.about-view{--background:#191b1a}
.contact{padding-bottom:40px}
.activity-text{max-width:650px}
.name-symbol{color:#cd744f}
.reading-progress{background:none}
@media(min-width:1500px){.project-grid{gap:45px}
.project-frame{max-height:390px}
}
@media(max-width:900px){.project-grid{gap:30px 20px}
.project-name{font-size:21px}
.project-meta{flex-direction:column;gap:5px}
.project-category{text-align:left;max-width:none}
}
@media(max-width:650px){.work-section{padding-top:110px;padding-bottom:95px}
.work-intro{margin-bottom:30px}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}
.project-1{padding-top:48px}
.project-2{padding-top:0}
.project-3{padding-top:48px}
.project-4{padding-top:0}
.project-frame,.project-1 .project-frame,.project-2 .project-frame,.project-3 .project-frame,.project-4 .project-frame{aspect-ratio:.87}
.project-name{font-size:20px;overflow-wrap:anywhere}
.project-category{font-size:8px}
.project-arrow{font-size:19px;top:9px;right:9px}
.project-frame .cover{transform:scale(.86)}
}
@media(prefers-reduced-motion:reduce){.project{transform:none!important}
}

/* Vertical scrolling drives a continuous horizontal work reel. */
:root{--orange:#ff4d00;--background:#0a0a09;--ink:#f5f1e8;--line:#f5f1e82e}
.work-section{padding:125px 0 0;min-height:calc(100vh + var(--track-distance,1900px) + 170px)}
.work-intro{margin:0 4%;position:relative;z-index:2}
.project-stage{position:sticky;top:0;height:100vh;overflow:hidden;margin-top:0}
.project-grid{display:flex;align-items:center;gap:clamp(24px,4vw,70px);width:max-content;max-width:none;height:100%;padding:105px 11vw 55px 18vw;margin:0;transform:translate3d(var(--track-x,0px),0,0);will-change:transform}
.project{flex:0 0 clamp(260px,30vw,460px);padding:0!important;transform:none!important}
.project:nth-child(even){margin-top:12vh!important}
.project:nth-child(3){margin-top:-10vh!important}
.project:nth-child(5){margin-top:7vh!important}
.project-frame,.project-1 .project-frame,.project-2 .project-frame,.project-3 .project-frame,.project-4 .project-frame{aspect-ratio:1.22;border:1px solid #ffffff40;border-radius:0;background:#0a0a09}
.project-frame .cover{transform:scale(.84)}
.project-preview:hover .project-frame,.project-preview:focus-visible .project-frame{border-color:var(--orange);box-shadow:0 0 0 5px var(--orange)}
.project-name{font-size:clamp(23px,2.2vw,34px)}
.project-category{font-size:11px;max-width:190px;line-height:1.35}
.activities{position:relative;z-index:3;margin-top:0;padding-top:45px}
body.about-view{--background:#0a0a09;--ink:#f5f1e8}
@media(max-width:900px){.project-grid{padding-left:12vw;padding-right:12vw}.project{flex-basis:34vw}.project-category{font-size:10px}}
@media(max-width:650px){.work-section{padding-top:105px;min-height:calc(100vh + var(--track-distance,1400px) + 145px)}.work-intro{margin:0 6%}.project-stage{height:88vh;top:6vh}.project-grid{display:flex;gap:18px;height:100%;padding:80px 12vw 35px}.project{flex:0 0 72vw;padding:0!important}.project:nth-child(even){margin-top:9vh!important}.project:nth-child(3){margin-top:-7vh!important}.project:nth-child(5){margin-top:5vh!important}.project-frame,.project-1 .project-frame,.project-2 .project-frame,.project-3 .project-frame,.project-4 .project-frame{aspect-ratio:1.12}.project-meta{flex-direction:column}.project-name{font-size:26px}.project-category{font-size:10px}}
@media(prefers-reduced-motion:reduce){.project-grid{transform:none!important;overflow-x:auto;width:100%;scroll-snap-type:x mandatory}.project{scroll-snap-align:center}}
.site-header{color:var(--ink);mix-blend-mode:normal}

/* White gallery with a distinct colour identity for each work. */
:root{--orange:#ff5b35;--background:#f7f7f3;--ink:#111210;--line:#1112102b}
body{background:var(--background);color:var(--ink);transition:background-color .18s linear}
.scanlines{opacity:.28;background:repeating-linear-gradient(0deg,transparent 0 6px,var(--scanline,#68705a12) 6px 7px);transition:background .45s ease}
.site-header{background:linear-gradient(#f7f7f3e8,#f7f7f300);color:#111210}
.work-intro{border-color:#11121033}
.project{--project-color:#cad7a1}
.project:nth-child(2){--project-color:#ff7654}
.project:nth-child(3){--project-color:#936cff}
.project:nth-child(4){--project-color:#ffdc48}
.project:nth-child(5){--project-color:#6fd2e3}
.project-frame,.project-1 .project-frame,.project-2 .project-frame,.project-3 .project-frame,.project-4 .project-frame{background:#eceeea;border-color:#11121045}
.project-preview:hover .project-frame,.project-preview:focus-visible .project-frame{border-color:#111210;box-shadow:0 0 0 5px var(--project-color)}
.project-meta{display:block;margin-top:0;padding:20px 22px 22px;background:var(--project-color);color:#10110f;min-height:112px}
.project-name{display:block;margin-bottom:10px}
.project-category{display:block;text-align:left;max-width:260px;opacity:.72}
.accent{color:#5b43ff}
.activities{display:grid;grid-template-columns:.7fr 1.7fr;gap:8%;margin:0;padding:72px 4% 85px;border:0;background:#2424a8;color:#f7f7f3}
.section-top h2{font-size:clamp(44px,6vw,88px)}
.event-board{display:grid;grid-template-columns:.72fr 1.35fr;gap:18px}
.event-column{min-height:285px;padding:22px;color:#111210}
.upcoming-events{background:#dfff63;display:flex;flex-direction:column;justify-content:space-between}
.upcoming-copy{display:flex;flex-direction:column;gap:18px;margin-top:30px}
.upcoming-events h3{margin:0;font:clamp(27px,2.5vw,42px)/.98 Terminal,sans-serif;letter-spacing:-.035em}
.upcoming-events p{margin:0}
.event-date{font:16px/1.25 Terminal,sans-serif;letter-spacing:.015em}
.event-venue{font-size:13px;line-height:1.45;opacity:.72}
.event-link,.detail-link{width:max-content;font:12px/1 Terminal,sans-serif;letter-spacing:.07em;border-bottom:1px solid currentColor;padding-bottom:4px}
.event-link{margin-top:6px}
.event-link:hover,.detail-link:hover,.event-link:focus-visible,.detail-link:focus-visible{color:transparent;-webkit-text-stroke:1px #111210}
.past-events{background:#f7f7f3}
.event-label{font-size:11px;letter-spacing:.09em}
.event-item{border-top:1px solid #111210;margin-top:0}
.event-item:last-child{border-bottom:1px solid #111210}
.event-item summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:17px 0;cursor:pointer;font:22px/1.05 Terminal}
.event-item summary::-webkit-details-marker{display:none}
.event-detail,.activity-text{padding:0 0 22px;line-height:1.55;font-size:15px}
.event-detail>span{font-size:11px;letter-spacing:.08em;opacity:.58}
.event-detail p{margin:8px 0 12px}
.activity-text{margin:0;white-space:pre-line}
body.about-view{--background:#f7f7f3;--ink:#111210}
.name-symbol{color:#5b43ff}
#viewer{--project-color:#cad7a1;background:var(--project-color);color:#111210}
#viewer>img{background:#10110f;padding:2vw;height:62vh}
.viewer-video{position:relative;display:block;width:100%;height:62vh;overflow:hidden;background:#10110f;padding:0;color:#fff;text-decoration:none}.viewer-video img{display:block;width:100%;height:100%;object-fit:cover;opacity:.84;transition:transform .5s ease,opacity .5s ease}.viewer-video::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#05010a20,#0800147a)}.viewer-video-play{position:absolute;z-index:1;left:50%;top:50%;display:grid;place-items:center;width:82px;height:58px;transform:translate(-50%,-50%);border-radius:16px;background:#ff003c;color:#fff;font-size:28px;line-height:1;padding-left:4px}.viewer-video-label{position:absolute;z-index:1;left:22px;bottom:19px;font:12px/1 Terminal,sans-serif;letter-spacing:.08em}.viewer-video:hover img,.viewer-video:focus-visible img{transform:scale(1.025);opacity:1}.viewer-video:focus-visible{outline:3px solid #fff;outline-offset:4px}

/* Overlap: two stationary projection planes with a continuously rising TV-signal raster. */
#viewer.viewer--overlap{background:#030307;color:#e9f8ff}#viewer.viewer--overlap .close{background:#05060a;color:#e9f8ff;border-color:#7bf5ff}#viewer.viewer--overlap .viewer-copy{background:#090b12;color:#e9f8ff;box-shadow:0 12px 45px #0009}#viewer.viewer--overlap .viewer-nav button{border-color:#7bf5ff;color:#e9f8ff}.overlap-signal{position:relative;display:block;width:100%;height:62vh;min-height:470px;overflow:hidden;background:radial-gradient(circle at 50% 48%,#191045 0,#080816 36%,#010104 76%);color:#dffcff;text-decoration:none;isolation:isolate}.overlap-signal::before{content:"";position:absolute;inset:0;opacity:.25;background:repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 4px);mix-blend-mode:screen}.overlap-panel{position:absolute;display:block;overflow:hidden;filter:drop-shadow(0 0 12px #385cff88)}.overlap-panel::before,.overlap-core::before{content:"";position:absolute;inset:-140% 0;background:repeating-linear-gradient(0deg,transparent 0 13px,#315cff 14px 16px,transparent 17px 24px,#51e7ff 25px 27px,transparent 28px 35px);animation:overlap-signal-rise 2.9s linear infinite}.overlap-panel--left{left:10%;bottom:8%;width:39%;height:47%;background:#151133;clip-path:polygon(0 0,100% 0,100% 100%,8% 100%)}.overlap-panel--left::before{background:repeating-linear-gradient(0deg,transparent 0 13px,#2f52ff 14px 16px,transparent 17px 25px,#ff4d54 26px 28px,transparent 29px 36px)}.overlap-panel--right{right:10%;top:8%;width:47%;height:62%;background:#10144b;clip-path:polygon(0 0,100% 0,100% 89%,0 100%)}.overlap-panel--right::before{transform:skewY(-9deg);transform-origin:center}.overlap-core{position:absolute;left:42%;top:34%;width:23%;height:39%;overflow:hidden;clip-path:polygon(0 0,100% 13%,100% 89%,0 100%);background:#260d38;mix-blend-mode:screen}.overlap-core::before{background:repeating-linear-gradient(0deg,transparent 0 11px,#75efff 12px 14px,transparent 15px 19px,#fd4154 20px 23px,transparent 24px 29px);animation-duration:1.7s}.overlap-caption{position:absolute;z-index:2;left:24px;bottom:20px;font:13px/1.25 Terminal,sans-serif;letter-spacing:.09em}.overlap-caption small{color:#78edff;font-size:10px}.overlap-signal:hover .overlap-panel::before,.overlap-signal:focus-visible .overlap-panel::before{animation-duration:1.25s}.overlap-signal:focus-visible{outline:2px solid #7bf5ff;outline-offset:4px}@keyframes overlap-signal-rise{to{transform:translateY(-36px)}}

/* Overlap is its own immersive project page: two broad, level projector planes. */
.overlap-page{min-height:100vh;padding:116px 4% 64px;background:#030307;color:#e9f8ff}.overlap-page-head{display:flex;justify-content:space-between;gap:20px;margin:0 0 24px;padding-bottom:12px;border-bottom:1px solid #71e8ff55;font:11px/1 Terminal,sans-serif;letter-spacing:.09em}.overlap-page-head a{color:#75f4ff;text-decoration:none}.overlap-page-head a:hover{text-decoration:underline}.overlap-signal--page{height:calc(100vh - 230px);min-height:550px;background:radial-gradient(circle at 53% 48%,#3a0b6c 0,#0a071d 37%,#010104 78%)}.overlap-signal--page .overlap-panel{filter:drop-shadow(0 0 22px #4d48ffbb) drop-shadow(0 0 5px #ff2ec8)}.overlap-signal--page .overlap-panel--left{left:4%;bottom:7%;width:52%;height:54%;clip-path:none;background:#180845}.overlap-signal--page .overlap-panel--right{right:3%;top:6%;width:58%;height:70%;clip-path:none;background:#081352}.overlap-signal--page .overlap-panel--right::before{transform:none}.overlap-signal--page .overlap-panel--left::before{background:repeating-linear-gradient(0deg,transparent 0 10px,#634cff 11px 14px,transparent 15px 19px,#ff265b 20px 23px,transparent 24px 29px,#ffbd2e 30px 32px,transparent 33px 38px);animation-duration:2.2s}.overlap-signal--page .overlap-panel--right::before{background:repeating-linear-gradient(0deg,transparent 0 9px,#00e7ff 10px 13px,transparent 14px 18px,#7854ff 19px 22px,transparent 23px 27px,#ff23d5 28px 30px,transparent 31px 35px);animation-duration:2.6s}.overlap-signal--page .overlap-core{left:41%;top:29%;width:25%;height:46%;clip-path:none;background:#28062f}.overlap-signal--page .overlap-caption{left:26px;bottom:23px;font-size:14px}.overlap-signal--page .overlap-caption strong{font-size:clamp(28px,4vw,58px);line-height:.8;color:#f0fdff}.overlap-notes{margin:28px 0 0;max-width:1040px;font-size:15px;line-height:1.55}.overlap-notes>p{max-width:900px;margin:0}.overlap-credits{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:28px 64px;margin-top:38px;padding-top:18px;border-top:1px solid #71e8ff44}.overlap-credits h2{margin:0 0 10px;color:#75f4ff;font:11px/1.2 Terminal,sans-serif;letter-spacing:.09em;text-transform:uppercase}.overlap-credits p{margin:0}@media(max-width:650px){.overlap-page{padding:104px 5% 46px}.overlap-page-head{font-size:9px}.overlap-signal--page{min-height:430px;height:62vh}.overlap-notes{font-size:13px}.overlap-credits{grid-template-columns:1fr;margin-top:28px;gap:24px}}
#viewer .close{border-color:#111210;color:#111210;background:#f7f7f3}
.viewer-copy{position:relative;z-index:1;max-width:760px;margin:-24px 5% 28px auto;padding:30px 34px;background:#f7f7f3;color:#111210;box-shadow:0 12px 45px #0002}
.viewer-copy h2{font-size:42px}
.viewer-nav button{border-color:#111210;color:#111210}
.contact{background:#f7f7f3;margin:0;padding:55px 4% 40px;border:0;color:#111210}
footer{background:#f7f7f3;margin:0;padding:22px 4% 50px;color:#111210}
@media(max-width:900px){.activities{grid-template-columns:1fr}.event-board{grid-template-columns:1fr 1.2fr}}
@media(max-width:650px){.site-header{background:linear-gradient(#f7f7f3f2,#f7f7f300)}.project-meta{min-height:118px;padding:18px}.activities{padding:55px 6% 65px;gap:35px}.event-board{grid-template-columns:1fr}.event-column{min-height:220px}.event-item summary{font-size:20px}.viewer-copy{margin:-14px 5% 25px;padding:24px}.viewer-copy h2{font-size:34px}#viewer>img{height:54vh;padding:3vw}}

/* Ice-field revision: colour supports the work instead of becoming the work. */
:root{--background:#fafaf7;--ink:#111310;--line:#11131029;--orange:#3d8d9b}
.site-header{background:linear-gradient(#fafaf7f3 0%,#fafaf7d9 55%,#fafaf700 100%)}
.work-section{padding-top:115px;min-height:calc(84vh + var(--track-distance,1700px) + 150px)}
.work-intro{margin:0 4%}
.project-stage{height:84vh;top:8vh}
.project-grid{padding:52px 10vw 32px 14vw;gap:clamp(28px,4.5vw,72px)}
.project{flex-basis:clamp(250px,28vw,420px);--project-color:#cfe8ed}
.project:nth-child(2){--project-color:#b9dde4}
.project:nth-child(3){--project-color:#d8eef1}
.project:nth-child(4){--project-color:#9fcdd7}
.project:nth-child(5){--project-color:#6fc8d8}
.project:nth-child(even){margin-top:6vh!important}
.project:nth-child(3){margin-top:-5vh!important}
.project:nth-child(5){margin-top:4vh!important}
.project-frame,.project-1 .project-frame,.project-2 .project-frame,.project-3 .project-frame,.project-4 .project-frame{aspect-ratio:1.3;background:#f1f3f1;border-color:#1113102e}
.project-preview:hover .project-frame,.project-preview:focus-visible .project-frame{border-color:#276f7c;box-shadow:0 0 0 3px var(--project-color)}
.project-meta{position:relative;background:transparent;color:#111310;margin:0;padding:14px 2px 0;min-height:88px;border-top:7px solid var(--project-color)}
.project-name{font-size:clamp(22px,2vw,31px);margin-bottom:7px}
.project-category{font-size:10px;max-width:280px}
.accent{color:#276f7c}
.contact{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4%;margin:0;padding:30px 4%;background:#dceff3;border-top:1px solid #1113102b;color:#111310}
.contact-meta{display:block;font-size:10px}
.contact-caption{display:block;text-align:left;margin-top:6px;max-width:300px}
.contact h2{font-size:clamp(40px,4.5vw,72px);line-height:.9;margin:0;white-space:nowrap}
.contact-line{display:inline}
.contact-line:first-child:after{content:' '}
.contact-details{padding:0;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;text-align:right}
.contact-details>a:first-child{font-size:16px}
footer{background:#dceff3;border-top:1px solid #1113102b;padding-top:18px;padding-bottom:26px}
.name-symbol{color:#276f7c}
@media(max-width:900px){.project{flex-basis:32vw}.contact{grid-template-columns:1fr auto}.contact-details{grid-column:1/3;flex-direction:row;justify-content:space-between;align-items:center;text-align:left}}
@media(max-width:650px){.work-section{padding-top:102px;min-height:calc(82vh + var(--track-distance,1350px) + 130px)}.project-stage{height:82vh;top:8vh}.project-grid{padding:44px 12vw 28px}.project{flex-basis:70vw}.project:nth-child(even){margin-top:5vh!important}.project:nth-child(3){margin-top:-4vh!important}.project-meta{min-height:92px;padding:13px 1px 0;border-top-width:6px}.contact{display:block;padding:28px 6%}.contact-meta{margin-bottom:22px}.contact h2{font-size:44px;margin:0 0 24px;white-space:normal}.contact-details{display:flex;flex-direction:row;align-items:center;text-align:left}.contact-caption{max-width:none}}

/* The ice-blue strip is the interaction: it pulls down across the card caption. */
.desktop-nav{margin-left:auto}
.language-switch{display:flex;align-items:center;gap:7px;margin-left:26px;font:12px/1 Terminal,sans-serif;letter-spacing:.06em;position:relative;z-index:30;pointer-events:auto}
.language-switch a{display:block;color:inherit;padding:8px 3px;cursor:pointer;opacity:.38;pointer-events:auto}
.language-switch a[aria-current="true"]{opacity:1;text-decoration:underline;text-underline-offset:4px}
.work-intro{justify-content:flex-end;border:0;padding-bottom:0;margin-bottom:0}
.project-preview{position:relative}
.project-preview::before,.project-preview::after{display:none}
.project-meta{overflow:hidden;isolation:isolate;border-top:7px solid var(--project-color);transition:border-color .32s ease}
.project-meta::after{content:"";position:absolute;z-index:0;left:0;right:0;top:-7px;height:7px;background:var(--project-color);transition:height .48s cubic-bezier(.2,.78,.2,1);pointer-events:none}
.project-meta>span{position:relative;z-index:1;transition:color .26s ease}
.project-preview:hover .project-meta::after,.project-preview:focus-visible .project-meta::after{height:calc(100% + 7px)}
.project-preview:hover .project-meta>span,.project-preview:focus-visible .project-meta>span{color:#111310}
.project-preview:hover .project-frame,.project-preview:focus-visible .project-frame{box-shadow:none}
@media(max-width:650px){.language-switch{margin-left:auto;margin-right:14px;font-size:11px}.work-intro{min-height:24px}}
@media(prefers-reduced-motion:reduce){.project-meta::after,.project-meta>span{transition:none}}

/* The signature briefly turns into an outline when it becomes an invitation. */
.signature>span{transition:color .24s ease,-webkit-text-stroke-color .24s ease}
.signature:hover>span,.signature:focus-visible>span{color:transparent;-webkit-text-stroke:1px #111310}
.signature:focus-visible{outline:1px solid currentColor;outline-offset:6px}
.contact{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4%;padding:22px 4%;background:#dceff3;border-top:1px solid #1113102b;color:#111310}
.contact h2{font-size:clamp(28px,3vw,48px);line-height:.92;margin:0;white-space:nowrap}
.contact-details{padding:0;align-items:flex-end}
@media(max-width:650px){.signature:hover>span{color:inherit;-webkit-text-stroke:0}.contact{display:block;padding:24px 6%}.contact h2{font-size:38px;margin:16px 0}.contact-details{align-items:flex-start}}
.event-item summary span,.contact-link .contact-line{transition:color .22s ease,-webkit-text-stroke-color .22s ease}
.event-item summary:hover span,.event-item summary:focus-visible span,.contact-link:hover .contact-line,.contact-link:focus-visible .contact-line{color:transparent;-webkit-text-stroke:1px #111210;transform:none}
.contact-link:hover .contact-line:last-child,.contact-link:focus-visible .contact-line:last-child{transform:none}

/* The quiet ice-blue footer becomes the site's imprint rather than a call to action. */
.imprint{display:grid;grid-template-columns:.8fr 1.7fr;gap:8%;margin:0;padding:54px 4% 44px;background:#dceff3;border-top:1px solid #1113102b;color:#111310}
.imprint-kicker{margin:0 0 20px;font:11px/1.35 Terminal,sans-serif;letter-spacing:.08em;color:#276f7c}
.imprint h2{margin:0;font:clamp(46px,6vw,90px)/.8 Terminal,sans-serif;letter-spacing:-.05em}
.imprint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #1113104d}
.imprint-item{min-height:106px;padding:16px 18px 17px 0;border-bottom:1px solid #1113104d}
.imprint-item:nth-child(odd){padding-right:26px;border-right:1px solid #1113104d}
.imprint-item:nth-child(even){padding-left:26px}
.imprint-item span{display:block;margin-bottom:22px;font-size:10px;letter-spacing:.09em;color:#276f7c}
.imprint-item p,.imprint-item a{margin:0;font-size:14px;line-height:1.42}
.imprint-item a{display:inline-block;text-decoration:underline;text-underline-offset:4px}
.imprint-item a:hover,.imprint-item a:focus-visible{color:transparent;-webkit-text-stroke:1px #111310}
footer{background:#dceff3;margin:0;padding:16px 4% 26px;border-top:1px solid #1113102b}
@media(max-width:800px){.imprint{grid-template-columns:1fr;gap:34px}.imprint-grid{grid-template-columns:1fr}.imprint-item,.imprint-item:nth-child(odd),.imprint-item:nth-child(even){min-height:0;padding:16px 0;border-right:0}.imprint-item span{margin-bottom:12px}}

/* Imprint stays a small footer entry; the detail has its own quiet page. */
footer{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:20px;min-height:118px;padding:22px 4% 18px;background:#dceff3;color:#276f7c}
.imprint-trigger{font:clamp(18px,1.5vw,25px)/1 Terminal,sans-serif;letter-spacing:-.03em;justify-self:start}
.imprint-trigger:hover,.imprint-trigger:focus-visible{color:transparent;-webkit-text-stroke:1px #276f7c}
.imprint-page{min-height:100vh;padding:120px 4% 72px;background:#dceff3;color:#111310}
.imprint-page-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:2px solid #276f7c;font:11px/1 Terminal,sans-serif;letter-spacing:.09em;color:#276f7c}
.imprint-return{border-bottom:1px solid currentColor;padding-bottom:3px}
.imprint-page h1{margin:48px 0 30px;font:clamp(72px,15vw,240px)/.72 Terminal,sans-serif;letter-spacing:-.075em;color:#276f7c}
.imprint-page-rule{height:7px;background:#2424a8;margin-bottom:42px}
.imprint-page-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1170px}
.imprint-page-content section{padding:24px 34px 32px 0;border-top:1px solid #1113105c}
.imprint-page-content section:nth-child(even){padding-left:34px;border-left:1px solid #1113105c;padding-right:0}
.imprint-page-content h2{font:clamp(24px,2.1vw,37px)/1 Terminal,sans-serif;letter-spacing:-.035em;margin:0 0 15px}
.imprint-page-content p{font-size:17px;line-height:1.43;max-width:520px;margin:0}
.imprint-page-content a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:650px){footer{grid-template-columns:1fr auto;min-height:88px;padding:18px 6%}footer .edit-link{display:none}.imprint-page{padding:102px 6% 54px}.imprint-page h1{margin:42px 0 24px;font-size:25vw}.imprint-page-rule{height:5px;margin-bottom:28px}.imprint-page-content{grid-template-columns:1fr}.imprint-page-content section,.imprint-page-content section:nth-child(even){padding:20px 0 25px;border-left:0}.imprint-page-content p{font-size:16px}}

/* Imprint is a reading page, not a grid. */
.imprint-page{padding-top:105px}
.imprint-page h1{margin:34px 0 22px;font-size:clamp(42px,5vw,72px);line-height:.85;letter-spacing:-.045em}
.imprint-page-rule{height:2px;margin-bottom:36px;background:#276f7c}
.imprint-page-content{display:block;max-width:980px}
.imprint-page-content section,.imprint-page-content section:nth-child(even){padding:0 0 34px;border:0}
.imprint-page-content h2{margin:0 0 10px;color:#276f7c;font-size:clamp(22px,2vw,30px)}
.imprint-page-content p{max-width:900px;font-size:18px;line-height:1.5}
@media(max-width:650px){.imprint-page{padding-top:94px}.imprint-page h1{font-size:46px;margin:32px 0 18px}.imprint-page-rule{margin-bottom:28px}.imprint-page-content section,.imprint-page-content section:nth-child(even){padding-bottom:28px}.imprint-page-content p{font-size:16px;line-height:1.48}}

/* MOO(?) / a fixed archive of seventeen bottle families. */
.moo-page{min-height:100vh;padding:105px 4% 80px;background:#f6f5f1;color:#111310}
.moo-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-bottom:14px;border-bottom:1px solid #11131042;font:11px/1 Terminal,sans-serif;letter-spacing:.08em}
.moo-head>span:last-child{text-align:right}.moo-back{color:#276f7c;border-bottom:1px solid currentColor;padding-bottom:3px;width:max-content}.moo-back:hover,.moo-back:focus-visible{color:transparent;-webkit-text-stroke:1px #276f7c}
.moo-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:42px 0 32px}.moo-intro h1{margin:0;font:clamp(70px,13vw,206px)/.72 Terminal,sans-serif;letter-spacing:-.075em;color:#2424a8}.moo-intro p{margin:0 0 7px;font-size:12px;line-height:1.4;letter-spacing:.06em;text-align:right}
.moo-grid-wrap{overflow-x:auto;overflow-y:visible;padding:12px 9px 20px;margin:0 -9px;scrollbar-color:#276f7c #e3e4e1;scrollbar-width:thin}
.moo-grid{display:grid;grid-template-columns:repeat(17,minmax(92px,1fr));grid-template-rows:repeat(3,clamp(185px,15vw,255px));gap:1px;min-width:1600px;background:#dedfdd;border:1px solid #dedfdd}
.moo-bottle{position:relative;display:block;overflow:hidden;border:0;padding:0;background-color:#fbfbfa;background-image:var(--family-image);background-size:403% 105%;background-position:var(--crop) 100%;background-repeat:no-repeat;cursor:pointer;isolation:isolate;transform:translate3d(var(--moo-x,0),var(--moo-y,0),0) scale(var(--moo-scale,1));transition:transform .25s cubic-bezier(.2,.75,.2,1),filter .25s ease,box-shadow .25s ease;will-change:transform}
.moo-bottle--enlightenment{background:#fbfbfa}.moo-bottle--enlightenment img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.moo-detail-sizes.is-enlightenment{display:block;background:transparent;border:0}.moo-product-hero{position:relative;margin:0;background:#fff;border:1px solid #dedfdd}.moo-product-hero img{display:block;width:100%;aspect-ratio:1.76/1;object-fit:cover}.moo-product-hero figcaption{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);padding:11px;background:#ffffffd8;color:#276f7c;font:10px/1 Terminal,sans-serif;letter-spacing:.08em}.moo-product-hero figcaption span:nth-child(2){text-align:center}.moo-product-hero figcaption span:last-child{text-align:right}
.moo-bottle::before,.moo-detail-bottle::before{content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:18px;background:#fbfbfa;pointer-events:none}.moo-bottle::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid transparent;transition:border-color .2s ease,background .2s ease}.moo-bottle-number,.moo-bottle-size{position:absolute;z-index:1;left:7px;font:9px/1 Terminal,sans-serif;letter-spacing:.08em;opacity:0;transition:opacity .18s ease}.moo-bottle-number{top:7px}.moo-bottle-size{bottom:7px;color:#276f7c}
.moo-bottle[data-relation=active]{z-index:4;--moo-scale:1.115!important;filter:contrast(1.06);box-shadow:0 0 0 2px #2424a8}.moo-bottle[data-relation=active]::after{border-color:#2424a8;background:#2424a808}.moo-bottle[data-relation=sibling]{z-index:3;--moo-scale:1.065!important;filter:contrast(1.03);box-shadow:0 0 0 1px #276f7c}.moo-bottle[data-relation=near]{z-index:2;--moo-scale:1.025!important;filter:brightness(.99)}.moo-bottle:hover .moo-bottle-number,.moo-bottle:hover .moo-bottle-size,.moo-bottle:focus-visible .moo-bottle-number,.moo-bottle:focus-visible .moo-bottle-size{opacity:1}.moo-bottle:focus-visible{outline:2px solid #2424a8;outline-offset:2px}
.moo-detail{width:min(820px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 32px);margin:auto;border:0;padding:18px 22px 22px;overflow-y:auto;background-color:#cfe8ed;background-image:url('assets/moo/cow-pattern.png');background-size:560px auto;background-position:center;background-blend-mode:screen;color:#111310;box-shadow:0 25px 80px #0004}.moo-detail::backdrop{background:#111310cc;backdrop-filter:blur(5px)}
.moo-close{position:sticky;z-index:8;float:right;top:0;margin:0 -6px 0 12px;border:0;background:#dfff63;color:#111310;padding:8px;cursor:pointer;font:11px/1 Terminal,sans-serif;letter-spacing:.08em}.moo-detail-head{display:flex;justify-content:space-between;gap:24px;padding:5px 0 18px;border-bottom:1px solid #11131042;font:10px/1 Terminal,sans-serif;letter-spacing:.08em;color:#276f7c}.moo-detail-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;background:#dedfdd;border:1px solid #dedfdd}.moo-detail-bottle{position:relative;aspect-ratio:400/785;background:#fff var(--family-image) var(--crop) 100%/403% 105% no-repeat}.moo-detail-bottle span{position:absolute;left:10px;bottom:10px;font:10px/1 Terminal,sans-serif;letter-spacing:.08em;color:#276f7c}.moo-detail-copy{padding:22px 3% 6px}.moo-product-name{display:flex;flex-direction:column;align-items:flex-start;gap:5px;border:0;padding:0;background:transparent;color:#2424a8;text-align:left;cursor:pointer}.moo-product-name span{font:clamp(32px,5vw,66px)/.82 Terminal,sans-serif;letter-spacing:-.055em}.moo-product-name small{font:10px/1 Terminal,sans-serif;letter-spacing:.08em;color:#276f7c}.moo-product-name:hover span,.moo-product-name:focus-visible span{color:transparent;-webkit-text-stroke:1px #2424a8}.moo-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.65fr);gap:28px;margin-top:22px;padding-top:20px;border-top:1px solid #11131042}.moo-emotion{margin:0;font-size:15px;line-height:1.45;max-width:480px}.moo-facts-card{width:100%;max-height:430px;object-fit:contain;object-position:top;background:#fff}.moo-info dl{grid-column:1/3;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.moo-info dl div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #11131042;font-size:11px}.moo-info dt{font-weight:normal;color:#276f7c}.moo-info dd{margin:0;text-align:right}.moo-detail-bottle>img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.moo-detail-sizes.is-enlightenment .moo-detail-bottle{background:#fff}
@media(max-width:850px){.moo-grid{grid-template-columns:repeat(17,92px);grid-template-rows:repeat(3,185px);min-width:1564px}.moo-info{grid-template-columns:1fr}.moo-info dl{grid-column:1;grid-template-columns:1fr}.moo-emotion{grid-column:1}}
@media(max-width:600px){.moo-detail{width:calc(100vw - 18px);max-height:calc(100vh - 18px);padding:14px}.moo-detail-sizes{grid-template-columns:repeat(3,1fr)}.moo-page{padding:92px 6% 55px}.moo-head{grid-template-columns:1fr auto}.moo-head>span:nth-child(2){display:none}.moo-intro{display:block;padding:36px 0 25px}.moo-intro h1{font-size:27vw}.moo-intro p{text-align:left;margin-top:24px;font-size:10px}.moo-grid{grid-template-columns:repeat(17,74px);grid-template-rows:repeat(3,145px);min-width:1258px}.moo-detail{width:calc(100vw - 18px);min-height:0;padding:14px}.moo-detail-sizes{margin-top:22px}.moo-detail-copy{padding:22px 0}.moo-detail-copy h2{font-size:48px}.moo-detail-head{padding-right:60px}.moo-detail-copy dl div{font-size:11px}}

/* About is composed as a poster: name, portrait and statement answer one another. */
.about-section{position:relative;min-height:850px;padding:138px 4% 74px;overflow:hidden}
.about-meta{position:relative;z-index:4;border:0;padding:0}
.name-title{position:relative;z-index:2;margin:46px 0 0;font-size:clamp(94px,15.5vw,270px);line-height:.7;pointer-events:none}
.name-title .name-bottom{margin-left:18vw;margin-top:.18em}
.about-details{position:relative;z-index:3;display:block;min-height:440px;margin:0;border:0;padding:0}
.about-aside>span{position:absolute;right:5%;top:42px;color:#276f7c}
.about-aside .education{position:absolute;right:5%;top:56px;margin:0;text-align:right}
.about-portrait{position:absolute;z-index:2;left:8.5%;top:-82px;width:clamp(210px,23vw,342px);margin:0;box-shadow:16px 18px 0 #dceff3;transition:transform .55s cubic-bezier(.2,.76,.2,1),box-shadow .55s cubic-bezier(.2,.76,.2,1)}
.about-portrait img{aspect-ratio:3/4;transition:transform .7s cubic-bezier(.2,.76,.2,1),filter .5s ease}
.about-copy{position:absolute;z-index:4;left:51%;top:84px;width:38%;max-width:560px}
.about-copy p{font-size:clamp(19px,1.85vw,29px);line-height:1.36;margin:0 0 26px}
.about-portrait:hover{transform:translate(18px,30px);box-shadow:3px 4px 0 #dceff3}
.about-portrait:hover img{transform:scale(1.045);filter:saturate(.96) contrast(1)}
.about-section:has(.about-portrait:hover) .name-title{color:transparent;-webkit-text-stroke:1px #111310}
.about-section:has(.about-portrait:hover) .name-symbol{color:#276f7c;transform:rotate(-12deg)}
.name-symbol,.about-aside>span{color:#2424a8}
.about-section:has(.about-portrait:hover) .name-symbol{color:#2424a8}
@media(max-width:650px){.about-section{min-height:0;padding:112px 6% 64px}.about-meta{position:relative}.name-title{font-size:clamp(76px,22vw,132px);margin:36px 0 0;line-height:.73}.name-title .name-bottom{margin-left:8vw}.about-details{min-height:0;margin-top:34px;display:grid;grid-template-columns:1fr;gap:28px}.about-aside>span{position:relative;right:auto;top:auto}.about-portrait{position:relative;left:auto;top:auto;width:min(58vw,280px);margin:0 0 0 13vw;box-shadow:10px 11px 0 #dceff3}.about-copy{position:relative;left:auto;top:auto;width:auto}.about-copy p{font-size:20px}.about-section:has(.about-portrait:hover) .name-title{color:#111310;-webkit-text-stroke:0}}

/* About returns to a clear reading order while retaining the staggered name and portrait. */
.about-section{min-height:0;padding:132px 4% 84px;overflow:visible}
.about-meta{border-bottom:1px solid #1113102b;padding-bottom:14px}
.name-title{margin:38px 0 34px;font-size:clamp(86px,13.5vw,220px);line-height:.73}
.name-title .name-bottom{margin-left:12vw;margin-top:.12em}
.about-details{display:grid;grid-template-columns:minmax(200px,28%) minmax(0,1fr);gap:12%;min-height:0;border-top:1px solid #1113102b;padding-top:26px}
.about-aside>span{position:static;display:block;color:#2424a8}
.about-aside .education{position:static;margin:18px 0 0;text-align:left}
.about-portrait{position:relative;left:auto;top:auto;width:100%;max-width:310px;margin:24px 0 0;box-shadow:11px 12px 0 #dceff3;transform:none}
.about-copy{position:relative;left:auto;top:auto;width:auto;max-width:660px;padding-top:0}
.about-copy p{font-size:11px;line-height:1.6;letter-spacing:.03em;margin:0 0 22px}
.about-aside .education{display:none!important}
.about-portrait:hover{transform:translate(8px,10px);box-shadow:4px 5px 0 #dceff3}
.about-section:has(.about-portrait:hover) .name-title{color:#111310;-webkit-text-stroke:0}
@media(max-width:650px){.about-section{padding:112px 6% 60px}.name-title{font-size:clamp(72px,21vw,126px);margin:34px 0 28px}.name-title .name-bottom{margin-left:7vw}.about-details{display:grid;grid-template-columns:1fr;gap:26px;padding-top:22px}.about-portrait{width:min(62vw,280px);margin:0 0 0 11vw}.about-copy p{font-size:11px;line-height:1.65;margin-bottom:18px}}

/* Final About tuning: portrait crosses ZHANG, while the large name takes the chapter blue. */
.name-title{color:#2424a8}
.about-aside>span{position:relative;z-index:4}
.about-portrait{z-index:3;margin:-150px 0 0 8vw}
.about-copy p{font-size:13px;line-height:1.62}
@media(max-width:650px){.about-portrait{margin:0 0 0 11vw}.about-copy p{font-size:12px;line-height:1.65}}

/* Enlightenment Milk opens as a field note rather than a pasted fact-sheet. */
.moo-info{display:block}.moo-info>dl{margin:22px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.moo-info>dl div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #11131042;font-size:11px}.moo-product-intro{max-width:680px;font-size:17px;line-height:1.4}.moo-product-intro p{margin:0}.moo-notes{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px}.moo-notes section{border-top:1px solid #11131073;padding-top:10px}.moo-notes p:last-child{margin:12px 0 0;font-size:14px;line-height:1.45}.moo-kicker{margin:0;color:#276f7c;font:10px/1 Terminal,sans-serif;letter-spacing:.08em}.moo-supplement{margin-top:34px;background:#f8fbfb;border:1px solid #111310;border-radius:2px;padding:17px 18px 8px;max-width:620px}.moo-supplement-title{display:flex;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:4px solid #111310;font:16px/1 Terminal,sans-serif;letter-spacing:.025em}.moo-supplement-title small{font:10px/1.2 Terminal,sans-serif;text-align:right}.moo-facts-group{padding-top:13px}.moo-facts-group>p{margin:0 0 6px;font:10px/1 Terminal,sans-serif;letter-spacing:.08em;color:#276f7c}.moo-facts-group dl{margin:0}.moo-facts-group div{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #111310;padding:6px 0;font:12px/1.15 Terminal,sans-serif}.moo-facts-group dt{color:#111310}.moo-facts-group dd{font-size:16px}.moo-field-images{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.moo-field-images figure{margin:0}.moo-field-images img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) contrast(1.15)}.moo-field-images figcaption{margin-top:8px;color:#276f7c;font:10px/1 Terminal,sans-serif;letter-spacing:.08em}@media(max-width:850px){.moo-notes,.moo-field-images{grid-template-columns:1fr}.moo-info>dl{grid-template-columns:1fr}}
.moo-info--enlightenment,.moo-info--peace{position:relative;isolation:isolate}.moo-info--enlightenment::before,.moo-info--peace::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background-repeat:no-repeat;background-position:center top;background-size:contain;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}.moo-info--enlightenment::before{background-image:url('assets/moo/enlightenment/outline.png')}.moo-info--peace::before{background-image:url('assets/moo/peace/outline.png')}
.moo-supplement{margin-left:0;max-width:720px}.moo-supplement .moo-facts-group dl{display:block;margin:0}.moo-supplement .moo-facts-group div{display:flex;align-items:baseline;justify-content:space-between;width:100%;padding:8px 0;border-top:1px solid #111310}.moo-supplement .moo-facts-group dt{max-width:78%}.moo-supplement .moo-facts-group dd{min-width:54px;text-align:right}.moo-volumes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;padding-top:10px;border-top:2px solid #111310;font:10px/1.2 Terminal,sans-serif;letter-spacing:.05em}.moo-volumes span{display:flex;flex-direction:column;gap:5px;color:#276f7c}.moo-volumes b{color:#111310;font-size:14px;font-weight:normal;letter-spacing:0}.moo-source-card{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr);gap:28px;margin-top:30px;padding:16px;border:1px solid #11131042;background:#ffffffa6}.moo-source-card .moo-field-images{margin:0;gap:8px}.moo-source-card .moo-field-images img{aspect-ratio:1/1;filter:grayscale(1) contrast(1.15)}.moo-source-card .moo-notes,.moo-source-card section{border:0;padding:0;margin:0}.moo-source-card section{align-self:center}.moo-source-card p:last-child{margin:12px 0 0;font-size:14px;line-height:1.45}.moo-milk-change{max-width:680px;margin:28px 0 0;padding-top:10px;border-top:1px solid #11131073}.moo-milk-change p:last-child{margin:12px 0 0;font-size:14px;line-height:1.45}@media(max-width:850px){.moo-volumes,.moo-source-card{grid-template-columns:1fr}.moo-source-card .moo-field-images{grid-template-columns:1fr 1fr}}
.moo-milk-change{margin-top:54px}@media(max-width:850px){.moo-milk-change{margin-top:38px}}
.moo-info--joy{position:relative;isolation:isolate}.moo-info--joy::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background:url('assets/moo/joy/outline.png') center top/contain no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}.moo-product-name small{font-size:12px}.moo-product-name span{font-size:clamp(38px,5.6vw,74px)}
.moo-bottle[data-family="2"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) scaleX(calc(.76 * var(--edit-scale-x,1))) scaleY(calc(.76 * var(--edit-scale-y,1)));transform-origin:center center}
.moo-page{background:#fbfbfa}.moo-bottle[data-family="2"][data-size="2"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) scaleX(calc(.85 * var(--edit-scale-x,1))) scaleY(calc(.85 * var(--edit-scale-y,1)))}
/* Love Milk: fourth family uses its own source material and remains readable over the field. */
.moo-page{background:#fff}
.moo-bottle--enlightenment,.moo-bottle::before{background:#fff}
.moo-info--love{position:relative;isolation:isolate}
.moo-info--love::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background:url('assets/moo/love/outline.png') center top/contain no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}
.moo-detail-nav{position:sticky;z-index:8;float:right;top:0;display:flex;gap:3px;margin:0 6px 0 0}.moo-detail-nav button{width:30px;height:31px;border:1px solid #276f7c;background:#fff;color:#276f7c;cursor:pointer;font:25px/.8 Arial,sans-serif}.moo-detail-nav button:hover,.moo-detail-nav button:focus-visible{background:#276f7c;color:#fff}.moo-close{margin-left:6px}
/* Love Milk grid: retain the same visual scale for small and medium bottles. */
.moo-bottle[data-family="3"][data-size="0"] img,.moo-bottle[data-family="3"][data-size="1"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) scaleX(calc(.85 * var(--edit-scale-x,1))) scaleY(calc(.85 * var(--edit-scale-y,1)));transform-origin:center center}
/* Browse directly along the two edges of the product image. */
.moo-detail{position:relative}
.moo-detail-nav{position:absolute;z-index:7;top:clamp(175px,47%,420px);left:8px;right:8px;display:flex;justify-content:space-between;pointer-events:none;margin:0;float:none}
.moo-detail-nav button{pointer-events:auto;width:34px;height:42px;border:1px solid #276f7c;background:#ffffffdf;color:#276f7c;font-size:31px}
.moo-info--reason{position:relative;isolation:isolate}.moo-info--reason::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background:url('assets/moo/reason/outline.png') center top/contain no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}
.moo-info--acceptance{position:relative;isolation:isolate}.moo-info--acceptance::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background:url('assets/moo/acceptance/outline.png') center top/contain no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}
.moo-info--willingness{position:relative;isolation:isolate}.moo-info--willingness::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background:url('assets/moo/willingness/outline.png') center top/contain no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}
.moo-info--neutrality{position:relative;isolation:isolate}.moo-info--neutrality::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background:url('assets/moo/neutrality/outline.png') center top/contain no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}
.moo-info--courage{position:relative;isolation:isolate}.moo-info--courage::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background:url('assets/moo/courage/outline.png') center top/contain no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}
.moo-info--pride,.moo-info--anger{position:relative;isolation:isolate}.moo-info--pride::before,.moo-info--anger::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background-position:center top;background-size:contain;background-repeat:no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}.moo-info--pride::before{background-image:url('assets/moo/pride/outline.png')}.moo-info--anger::before{background-image:url('assets/moo/anger/outline.png')}
.moo-info--desire,.moo-info--fear{position:relative;isolation:isolate}.moo-info--desire::before,.moo-info--fear::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background-position:center top;background-size:contain;background-repeat:no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}.moo-info--desire::before{background-image:url('assets/moo/desire/outline.png')}.moo-info--fear::before{background-image:url('assets/moo/fear/outline.png')}
.moo-info--grief,.moo-info--apathy{position:relative;isolation:isolate}.moo-info--grief::before,.moo-info--apathy::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background-position:center top;background-size:contain;background-repeat:no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}.moo-info--grief::before{background-image:url('assets/moo/grief/outline.png')}.moo-info--apathy::before{background-image:url('assets/moo/apathy/outline.png')}
.moo-info--guilt,.moo-info--shame{position:relative;isolation:isolate}.moo-info--guilt::before,.moo-info--shame::before{content:"";position:absolute;inset:14px 8% 0 auto;width:min(42%,410px);background-position:center top;background-size:contain;background-repeat:no-repeat;mix-blend-mode:multiply;opacity:.18;z-index:-1;pointer-events:none}.moo-info--guilt::before{background-image:url('assets/moo/guilt/outline.png')}.moo-info--shame::before{background-image:url('assets/moo/shame/outline.png')}

/* The family controls remain reachable throughout the scrolling product card. */
.moo-detail-nav{position:sticky;top:calc(50% - 21px);z-index:12;height:0;left:auto;right:auto;margin:0 -16px;display:flex;justify-content:space-between;pointer-events:none}.moo-detail-nav button{pointer-events:auto}

.moo-bottle--enlightenment img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) scaleX(var(--edit-scale-x,1)) scaleY(var(--edit-scale-y,1));transform-origin:center center}.moo-arrange{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:14px 0 4px;color:#276f7c;font:10px/1.35 Terminal,sans-serif;letter-spacing:.08em}.moo-arrange-toggle,.moo-arrange button{border:1px solid #276f7c;background:#fff;color:#276f7c;padding:8px 10px;font:inherit;letter-spacing:inherit;cursor:pointer}.moo-arrange-toggle:hover,.moo-arrange button:hover{background:#276f7c;color:#fff}.moo-arrange-panel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}.moo-arrange-panel p{width:100%;margin:0;text-align:right;color:#111310;letter-spacing:0}.moo-arrange-panel label{display:flex;gap:6px;align-items:center}.moo-arrange-panel input{accent-color:#276f7c;width:95px}.moo-arrange-panel output{min-width:34px}.moo-grid.is-arranging .moo-bottle{cursor:move}.moo-grid.is-arranging .moo-bottle::after{border-color:#276f7c55}.moo-grid.is-arranging .moo-bottle.is-arrange-selected{z-index:9;box-shadow:inset 0 0 0 2px #2424a8}.moo-grid.is-arranging .moo-bottle:hover{z-index:8}.moo-grid.is-arranging .moo-bottle img{pointer-events:none}@media(max-width:700px){.moo-arrange{display:block}.moo-arrange-panel{margin-top:10px;justify-content:flex-start}.moo-arrange-panel p{text-align:left}}
.moo-bottle[data-family="2"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) scaleX(calc(.76 * var(--edit-scale-x,1))) scaleY(calc(.76 * var(--edit-scale-y,1)))}.moo-bottle[data-family="2"][data-size="2"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) scaleX(calc(.85 * var(--edit-scale-x,1))) scaleY(calc(.85 * var(--edit-scale-y,1)))}.moo-bottle[data-family="3"][data-size="0"] img,.moo-bottle[data-family="3"][data-size="1"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) scaleX(calc(.85 * var(--edit-scale-x,1))) scaleY(calc(.85 * var(--edit-scale-y,1)))}
.moo-bottle-size{max-width:calc(100% - 14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.moo-bottle--enlightenment img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) rotate(var(--edit-rotate,0deg)) scaleX(var(--edit-scale-x,1)) scaleY(var(--edit-scale-y,1))}.moo-bottle[data-family="2"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) rotate(var(--edit-rotate,0deg)) scaleX(calc(.76 * var(--edit-scale-x,1))) scaleY(calc(.76 * var(--edit-scale-y,1)))}.moo-bottle[data-family="2"][data-size="2"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) rotate(var(--edit-rotate,0deg)) scaleX(calc(.85 * var(--edit-scale-x,1))) scaleY(calc(.85 * var(--edit-scale-y,1)))}.moo-bottle[data-family="3"][data-size="0"] img,.moo-bottle[data-family="3"][data-size="1"] img{transform:translate(var(--edit-x,0px),var(--edit-y,0px)) rotate(var(--edit-rotate,0deg)) scaleX(calc(.85 * var(--edit-scale-x,1))) scaleY(calc(.85 * var(--edit-scale-y,1)))}
/* Fixed overview arrangement. */
.moo-bottle[data-family="3"][data-size="0"]{--edit-x:-7px;--edit-y:-8px;--edit-scale-x:0.92;--edit-scale-y:0.97;--edit-rotate:1deg}
.moo-bottle[data-family="4"][data-size="0"]{--edit-x:-8px;--edit-y:-8px;--edit-scale-x:0.89;--edit-scale-y:0.85;--edit-rotate:0deg}
.moo-bottle[data-family="5"][data-size="0"]{--edit-x:-9px;--edit-y:1px;--edit-scale-x:0.79;--edit-scale-y:0.79;--edit-rotate:0deg}
.moo-bottle[data-family="6"][data-size="0"]{--edit-x:-16px;--edit-y:-9px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="7"][data-size="0"]{--edit-x:-10px;--edit-y:-7px;--edit-scale-x:1;--edit-scale-y:0.91;--edit-rotate:1deg}
.moo-bottle[data-family="8"][data-size="0"]{--edit-x:-4px;--edit-y:1px;--edit-scale-x:0.68;--edit-scale-y:0.78;--edit-rotate:0deg}
.moo-bottle[data-family="9"][data-size="0"]{--edit-x:-4px;--edit-y:6px;--edit-scale-x:0.73;--edit-scale-y:0.74;--edit-rotate:0deg}
.moo-bottle[data-family="10"][data-size="0"]{--edit-x:-11px;--edit-y:15px;--edit-scale-x:1;--edit-scale-y:1.29;--edit-rotate:3deg}
.moo-bottle[data-family="11"][data-size="0"]{--edit-x:-12px;--edit-y:5px;--edit-scale-x:1.05;--edit-scale-y:1.02;--edit-rotate:3deg}
.moo-bottle[data-family="12"][data-size="0"]{--edit-x:-9px;--edit-y:10px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="13"][data-size="0"]{--edit-x:-7px;--edit-y:-5px;--edit-scale-x:0.91;--edit-scale-y:0.83;--edit-rotate:2deg}
.moo-bottle[data-family="14"][data-size="0"]{--edit-x:-14px;--edit-y:-9px;--edit-scale-x:0.93;--edit-scale-y:0.79;--edit-rotate:0deg}
.moo-bottle[data-family="15"][data-size="0"]{--edit-x:-10px;--edit-y:10px;--edit-scale-x:1;--edit-scale-y:0.79;--edit-rotate:0deg}
.moo-bottle[data-family="16"][data-size="0"]{--edit-x:-12px;--edit-y:8px;--edit-scale-x:0.92;--edit-scale-y:0.83;--edit-rotate:0deg}
.moo-bottle[data-family="0"][data-size="1"]{--edit-x:-3px;--edit-y:-2px;--edit-scale-x:1;--edit-scale-y:0.96;--edit-rotate:0deg}
.moo-bottle[data-family="2"][data-size="1"]{--edit-x:0px;--edit-y:0px;--edit-scale-x:1;--edit-scale-y:1.03;--edit-rotate:0deg}
.moo-bottle[data-family="3"][data-size="1"]{--edit-x:-8px;--edit-y:5px;--edit-scale-x:1;--edit-scale-y:1.12;--edit-rotate:0deg}
.moo-bottle[data-family="4"][data-size="1"]{--edit-x:-5px;--edit-y:-5px;--edit-scale-x:0.92;--edit-scale-y:0.9;--edit-rotate:0deg}
.moo-bottle[data-family="5"][data-size="1"]{--edit-x:-7px;--edit-y:9px;--edit-scale-x:0.96;--edit-scale-y:0.91;--edit-rotate:2deg}
.moo-bottle[data-family="6"][data-size="1"]{--edit-x:-9px;--edit-y:-11px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="7"][data-size="1"]{--edit-x:-7px;--edit-y:-2px;--edit-scale-x:1;--edit-scale-y:0.94;--edit-rotate:0deg}
.moo-bottle[data-family="8"][data-size="1"]{--edit-x:-6px;--edit-y:-4px;--edit-scale-x:1;--edit-scale-y:0.92;--edit-rotate:0deg}
.moo-bottle[data-family="9"][data-size="1"]{--edit-x:-5px;--edit-y:-1px;--edit-scale-x:0.82;--edit-scale-y:0.78;--edit-rotate:0deg}
.moo-bottle[data-family="10"][data-size="1"]{--edit-x:-10px;--edit-y:-2px;--edit-scale-x:1;--edit-scale-y:1.29;--edit-rotate:0deg}
.moo-bottle[data-family="11"][data-size="1"]{--edit-x:-16px;--edit-y:3px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="12"][data-size="1"]{--edit-x:-17px;--edit-y:-8px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="13"][data-size="1"]{--edit-x:-10px;--edit-y:9px;--edit-scale-x:0.88;--edit-scale-y:0.81;--edit-rotate:0deg}
.moo-bottle[data-family="14"][data-size="1"]{--edit-x:-16px;--edit-y:-1px;--edit-scale-x:1;--edit-scale-y:0.98;--edit-rotate:0deg}
.moo-bottle[data-family="15"][data-size="1"]{--edit-x:-10px;--edit-y:1px;--edit-scale-x:1;--edit-scale-y:0.82;--edit-rotate:0deg}
.moo-bottle[data-family="16"][data-size="1"]{--edit-x:-7px;--edit-y:4px;--edit-scale-x:0.83;--edit-scale-y:0.89;--edit-rotate:0deg}
.moo-bottle[data-family="0"][data-size="2"]{--edit-x:-6px;--edit-y:-2px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="1"][data-size="2"]{--edit-x:-13px;--edit-y:2px;--edit-scale-x:0.91;--edit-scale-y:0.99;--edit-rotate:0deg}
.moo-bottle[data-family="2"][data-size="2"]{--edit-x:-7px;--edit-y:0px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="3"][data-size="2"]{--edit-x:-10px;--edit-y:4px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="4"][data-size="2"]{--edit-x:-7px;--edit-y:0px;--edit-scale-x:0.87;--edit-scale-y:0.86;--edit-rotate:0deg}
.moo-bottle[data-family="5"][data-size="2"]{--edit-x:-12px;--edit-y:0px;--edit-scale-x:1.11;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="6"][data-size="2"]{--edit-x:-6px;--edit-y:-3px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="7"][data-size="2"]{--edit-x:-6px;--edit-y:-7px;--edit-scale-x:1.12;--edit-scale-y:0.89;--edit-rotate:0deg}
.moo-bottle[data-family="8"][data-size="2"]{--edit-x:-11px;--edit-y:0px;--edit-scale-x:1;--edit-scale-y:1.07;--edit-rotate:0deg}
.moo-bottle[data-family="9"][data-size="2"]{--edit-x:-12px;--edit-y:-2px;--edit-scale-x:0.87;--edit-scale-y:0.9;--edit-rotate:0deg}
.moo-bottle[data-family="10"][data-size="2"]{--edit-x:-13px;--edit-y:-3px;--edit-scale-x:0.92;--edit-scale-y:1.25;--edit-rotate:0deg}
.moo-bottle[data-family="11"][data-size="2"]{--edit-x:-9px;--edit-y:0px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="12"][data-size="2"]{--edit-x:-17px;--edit-y:-6px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="13"][data-size="2"]{--edit-x:-12px;--edit-y:0px;--edit-scale-x:1;--edit-scale-y:1;--edit-rotate:0deg}
.moo-bottle[data-family="14"][data-size="2"]{--edit-x:-10px;--edit-y:0px;--edit-scale-x:1;--edit-scale-y:0.93;--edit-rotate:0deg}
.moo-bottle[data-family="15"][data-size="2"]{--edit-x:-11px;--edit-y:0px;--edit-scale-x:1;--edit-scale-y:0.83;--edit-rotate:0deg}
.moo-bottle[data-family="16"][data-size="2"]{--edit-x:-15px;--edit-y:-1px;--edit-scale-x:1;--edit-scale-y:0.99;--edit-rotate:0deg}

/* Final Overlap composition. The projector geometry stays fixed; compact
   two- or three-colour groups interpolate every five seconds. */
@property --overlap-line-a{syntax:"<color>";inherits:false;initial-value:#2748ff}
@property --overlap-line-b{syntax:"<color>";inherits:false;initial-value:#ff425c}
@property --overlap-line-c{syntax:"<color>";inherits:false;initial-value:#55e9ff}
.overlap-page{
  --left-x:14%;--left-y:7%;--left-width:55%;--left-height:69.5%;
  --right-x:43%;--right-y:31%;--right-width:51%;--right-height:72.5%;
  --left-shape:-20% -20%,120% 6.53%,120% 88.76%,-20% 96.08%;
  --right-shape:-17.14% 51.54%,100% 0,100.04% 120%,-16.11% 120%;
  padding-bottom:180px;
}
.overlap-view footer{background:#030307;color:#e9f8ff;border-color:#71e8ff44}
.overlap-view footer a{color:#75f4ff}
.overlap-signal--page{contain:layout paint;transform:translateZ(0)}
.overlap-signal--page .overlap-core{display:none}
.overlap-signal--page .overlap-panel{
  overflow:hidden;
  contain:paint;
  filter:drop-shadow(0 0 9px #314dff70);
}
.overlap-signal--page .overlap-panel::before{
  content:"";
  position:absolute;
  inset:-24%;
  pointer-events:none;
  background:repeating-linear-gradient(0deg,
    transparent 0 4px,var(--overlap-line-a) 5px 6px,
    transparent 7px 11px,var(--overlap-line-b) 12px 15px,
    transparent 16px 22px,var(--overlap-line-c) 23px 25px,
    transparent 26px 34px,var(--overlap-line-a) 35px 35px,
    transparent 36px 44px);
  transform-origin:center;
  background-position:0 0;
  will-change:background-position;
}
.overlap-signal--page .overlap-panel::after{display:none}
.overlap-signal--page .overlap-panel--left{
  left:var(--left-x);bottom:var(--left-y);width:var(--left-width);height:var(--left-height);
  clip-path:polygon(var(--left-shape));
  background:rgb(22 17 66 / .72);
}
.overlap-signal--page .overlap-panel--left::before{
  transform:none;
  animation:overlap-page-lines-rise 2.7s linear infinite,overlap-left-palette 20s linear infinite;
}
.overlap-signal--page .overlap-panel--right{
  left:var(--right-x);bottom:var(--right-y);right:auto;top:auto;width:var(--right-width);height:var(--right-height);
  clip-path:polygon(var(--right-shape));
  background:rgb(17 21 78 / .43);
}
.overlap-signal--page .overlap-panel--right::before{
  transform:rotate(-15deg) scale(1.18);
  animation:overlap-page-lines-rise 2.7s linear infinite,overlap-right-palette 20s linear -2.5s infinite;
}
.overlap-signal--page .overlap-caption{z-index:3}
@keyframes overlap-page-lines-rise{
  to{background-position:0 -44px}
}
@keyframes overlap-left-palette{
  0%,100%{--overlap-line-a:#2748ff;--overlap-line-b:#ff425c;--overlap-line-c:#55e9ff}
  25%{--overlap-line-a:#ff66ba;--overlap-line-b:#ffd64f;--overlap-line-c:#ff66ba}
  50%{--overlap-line-a:#8d5cff;--overlap-line-b:#70ffb1;--overlap-line-c:#45dfff}
  75%{--overlap-line-a:#ff7a3d;--overlap-line-b:#bcecff;--overlap-line-c:#ff7a3d}
}
@keyframes overlap-right-palette{
  0%,100%{--overlap-line-a:#2f45ff;--overlap-line-b:#55e9ff;--overlap-line-c:#ff4fa3}
  25%{--overlap-line-a:#ff4fa3;--overlap-line-b:#ffe06b;--overlap-line-c:#ff4fa3}
  50%{--overlap-line-a:#bd5cff;--overlap-line-b:#5dffcf;--overlap-line-c:#62b8ff}
  75%{--overlap-line-a:#ff934f;--overlap-line-b:#8edcff;--overlap-line-c:#ff934f}
}
@media(prefers-reduced-motion:reduce){
  .overlap-signal--page .overlap-panel::before{animation:none}
}

/* Overlap text and live-output credits align to the caption and echo its signal language. */
.overlap-notes{max-width:none;margin-left:26px;margin-right:26px}
.overlap-notes>p{max-width:1120px}
.overlap-notes>p+p{margin-top:1em}
.overlap-credits{grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);align-items:start;gap:clamp(36px,6vw,110px);border-top:0;padding-top:0}
.performance-credit{position:relative;padding-top:15px;border-top:1px solid #75f4ff66}
.performance-credit::before{content:"";position:absolute;left:0;top:-2px;width:31%;height:3px;background:linear-gradient(90deg,#ff536d,#705cff 52%,#75f4ff);box-shadow:0 0 12px #6e62ff99}
.performance-credit h2{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:15px!important}
.performance-credit h2>span{order:2;color:#e9f8ff77;font-size:9px;letter-spacing:.13em}
.performance-log{list-style:none;margin:0;padding:0;border-bottom:1px solid #75f4ff2c}
.performance-log li{display:grid;grid-template-columns:32px 105px minmax(56px,1fr) minmax(210px,1.15fr);align-items:center;gap:14px;min-height:88px;border-top:1px solid #75f4ff2c}
.performance-index{align-self:start;margin-top:15px;color:#75f4ff88;font:9px/1 Terminal,sans-serif;letter-spacing:.12em}
.performance-log time{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:8px;font-family:Terminal,sans-serif}
.performance-log time b{font-size:36px;line-height:.78;font-weight:400;letter-spacing:-.06em}
.performance-log time span{padding-bottom:1px;color:#75f4ff;font-size:9px;line-height:1.2;letter-spacing:.08em}
.performance-pulse{height:11px;background:linear-gradient(180deg,transparent 0 2px,#ff5f79 2px 4px,transparent 4px 7px,#675cff 7px 8px,transparent 8px);opacity:.9}
.performance-log li:nth-child(2) .performance-pulse{background:linear-gradient(180deg,transparent 0 1px,#75f4ff 1px 3px,transparent 3px 6px,#ffe36c 6px 9px,transparent 9px)}
.performance-place{display:grid;gap:4px}
.performance-place strong{font-size:16px;font-weight:400;line-height:1.2}
.performance-place small{color:#e9f8ff88;font:10px/1.2 Terminal,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.technical-credit{position:relative;min-height:145px;padding:15px 0 0 24px;border-top:1px solid #75f4ff66;border-left:1px solid #75f4ff38}
.technical-credit::before,.technical-credit::after{content:"";position:absolute;border-radius:50%;background:#75f4ff;box-shadow:0 0 9px #75f4ff}
.technical-credit::before{width:5px;height:5px;left:-3px;top:-3px}
.technical-credit::after{width:3px;height:3px;left:-2px;bottom:0}
.technical-credit p{margin-top:28px;font-size:19px;letter-spacing:.02em}
@media(max-width:780px){
  .overlap-notes{margin-left:26px;margin-right:12px}
  .overlap-credits{grid-template-columns:1fr}
  .performance-log li{grid-template-columns:28px 96px minmax(40px,1fr);gap:10px;padding:10px 0}
  .performance-place{grid-column:2/4;padding-bottom:8px}
  .technical-credit{min-height:110px}
}

/* Image-led Overlap archive: live documentation replaces the former interface-like credits. */
.overlap-documentation{margin-top:44px;padding-top:18px;border-top:1px solid #75f4ff3d}
.performance-documentation>header{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:18px}
.performance-documentation h2,.technical-documentation h2{margin:0;color:#75f4ff;font:11px/1.2 Terminal,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.performance-documentation>header>span{color:#e9f8ff66;font:9px/1 Terminal,sans-serif;letter-spacing:.12em}
.performance-records{display:grid;gap:3px;margin:10px 0 0!important;color:#e9f8ffb8;font:10px/1.35 Terminal,sans-serif;letter-spacing:.04em}
.performance-images{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;min-height:clamp(470px,55vw,790px)}
.performance-image{position:relative;margin:0;background:#090817;box-shadow:0 0 0 1px #75f4ff26,0 22px 65px #000a}
.performance-image img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04)}
.performance-image--one{grid-column:1/9;grid-row:1;aspect-ratio:3/2}
.performance-image--two{z-index:2;grid-column:7/13;grid-row:1;margin-top:31%;aspect-ratio:3/2}
.performance-image--three{z-index:1;grid-column:2/8;grid-row:2;margin-top:-8%;aspect-ratio:16/9}
.performance-image figcaption{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:34px 94px 1fr auto;align-items:end;gap:12px;padding:13px 15px;background:linear-gradient(90deg,#05050de8 0%,#05050dcf 72%,#05050d9c);border-top:1px solid #ff5f7970;font-family:Terminal,sans-serif}
.performance-image--two figcaption{border-color:#75f4ff70}
.performance-image figcaption>span{color:#75f4ff;font-size:9px;letter-spacing:.12em}
.performance-image figcaption time{font-size:10px;letter-spacing:.06em}
.performance-image figcaption strong{font-size:14px;font-weight:400;line-height:1.05}
.performance-image figcaption small{color:#e9f8ff88;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.technical-documentation{width:min(58%,760px);margin:-1.5vw 0 0 auto}
.technical-documentation figure{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(180px,.55fr);margin:0;border-top:1px solid #ff5f796b;background:#080711}
.technical-documentation img{display:block;width:100%;height:100%;min-height:230px;object-fit:cover;filter:saturate(.82) contrast(1.08)}
.technical-documentation figcaption{position:relative;padding:18px 18px 22px;border-left:1px solid #75f4ff38}
.technical-documentation figcaption::before{content:"";position:absolute;left:-3px;top:-3px;width:5px;height:5px;border-radius:50%;background:#75f4ff;box-shadow:0 0 10px #75f4ff}
.technical-documentation p{margin:30px 0 0;font-size:19px;line-height:1.2}
.technical-documentation figcaption>span{position:absolute;left:18px;right:12px;bottom:16px;color:#e9f8ff66;font:8px/1.35 Terminal,sans-serif;letter-spacing:.08em}
@media(max-width:780px){
  .overlap-documentation{margin-top:32px}
  .performance-images{display:block;min-height:0}
  .performance-image--two{margin:18px 0 0 12%}
  .performance-image--three{margin:18px 8% 0 0}
  .performance-image figcaption{grid-template-columns:24px 82px 1fr;gap:8px;padding:10px}
  .performance-image figcaption small{grid-column:3}
  .technical-documentation{width:88%;margin:28px 0 0 auto}
  .technical-documentation figure{grid-template-columns:1fr}
  .technical-documentation figcaption{border-left:0;border-top:1px solid #75f4ff38}
}

/* Moo's white product field ends before the descent into the black subject field. */
.moo-page{--moo-gutter:4vw;padding-bottom:0;background:#fff}
.moo-page .moo-head{display:flex;border:0;padding-bottom:0}
.moo-page .moo-back{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding:0;border:0}
.moo-page .moo-back:hover,.moo-page .moo-back:focus-visible{color:#111310;-webkit-text-stroke:0}
.moo-page .moo-intro{justify-content:flex-end;padding:12px 0 22px}
.moo-descent{margin:40px calc(-1 * var(--moo-gutter)) 0;background:#000}
.moo-descent-gradient{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:105vh;overflow:hidden;background:linear-gradient(to bottom,#fff 0%,#fdfdfd 8%,#f4f4f4 17%,#dedede 27%,#b9b9b9 37%,#888 47%,#555 57%,#2c2c2c 67%,#111 77%,#030303 89%,#000 100%)}
.moo-descent-gradient::before{content:"";position:absolute;inset:12% -20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 36% 42%,#fff7,transparent 64%);opacity:var(--moo-glow,.12);transform:translate3d(0,var(--moo-drift,0px),0);transition:transform .18s ease-out,opacity .18s ease-out}
.moo-title-stage{position:relative;display:flex;flex-direction:column;align-items:center;transform:translate3d(0,var(--moo-title-y,35px),0) scale(var(--moo-title-scale,.97));transition:transform .18s ease-out}
.moo-descent-gradient h1{margin:0;white-space:nowrap;color:#fff;opacity:var(--moo-reveal,0);transition:opacity .16s ease-out;font:clamp(100px,24vw,460px)/.85 Terminal,sans-serif;letter-spacing:-.075em;user-select:none}
.moo-question{position:absolute;top:62%;left:50%;width:96vw;margin:0;color:#fff;opacity:var(--moo-question-reveal,0);transform:translate3d(-50%,var(--moo-question-y,90px),0);transition:opacity .16s ease-out,transform .18s ease-out;font:clamp(26px,5vw,92px)/.9 Terminal,sans-serif;letter-spacing:-.025em;text-align:center;white-space:nowrap;user-select:none}
.moo-subject-pattern{position:relative;padding:32px 0 clamp(80px,12vw,180px);background:#000}
.moo-subject-pattern img{display:block;width:100%;height:auto}
.pattern-introduction{position:absolute;top:calc(32px + 2vw);left:1.3%;right:1.3%;margin:0;white-space:nowrap;color:#b9b9b9;font:.78vw/1.4 Arial,sans-serif;z-index:1}
.pattern-exhibit{position:relative;color:#a6a6a6}
.pattern-map{position:relative}
.pattern-hotspot{position:absolute;top:18%;bottom:8%;left:calc(var(--column) * 5.88%);width:5.88%;padding:0;border:0;background:transparent;color:#fff;cursor:crosshair}
.pattern-hotspot::before{content:"";position:absolute;inset:0 8%;border:1px solid #fff0;transition:border-color .2s}
.pattern-hotspot[aria-expanded="true"]::before,.pattern-hotspot:focus-visible::before{border-color:#ffffff66}
.pattern-hotspot span{position:absolute;top:100%;left:0;right:0;padding-top:6px;font:10px/1 monospace;letter-spacing:.12em;color:#888}
.pattern-hotspot:focus-visible{outline:1px solid #fff;outline-offset:3px}
.pattern-leader{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .2s}
.pattern-record-space{padding:54px 0 0;min-height:310px}
.pattern-record{position:relative;width:min(280px,88vw);margin:0 0 0 var(--record-left,6%);visibility:hidden;opacity:0;transform:translateY(7px);transition:opacity .22s,transform .22s,visibility .22s,left .2s}
.pattern-record figcaption{display:grid;grid-template-columns:36px 1fr;gap:8px 12px;border-top:1px solid #999;padding:14px 0;color:#ddd;font:12px/1.4 monospace;letter-spacing:.1em}
.pattern-record-name{font-weight:400}
.pattern-record img{border:1px solid #ffffff30;filter:grayscale(1)}
.pattern-exhibit[data-selected] .pattern-record{visibility:visible;opacity:1;transform:none}
.pattern-exhibit[data-selected] .pattern-leader{opacity:1}
@media(max-width:600px){.pattern-introduction{margin-bottom:30px}.pattern-hotspot{min-height:44px}.pattern-record-space{padding-top:45px;min-height:290px}.pattern-record figcaption{font-size:10px;grid-template-columns:25px 1fr}}
@media(prefers-reduced-motion:reduce){.pattern-record,.pattern-leader{transition:none;transform:none}}
.moo-physical{height:260vh;position:relative;margin:0 calc(-1 * var(--moo-gutter));background:#000}
.moo-physical-stage{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden;background:rgb(var(--physical-gray,0),var(--physical-gray,0),var(--physical-gray,0))}
.moo-physical-frame{position:relative;margin:0;width:var(--physical-width,28vw);height:var(--physical-height,65vh);overflow:hidden;opacity:var(--physical-opacity,0)}
.moo-physical-frame img{position:absolute;left:50%;top:50%;width:var(--physical-image-width,90vw);max-width:none;height:auto;transform:translate(-50%,-50%) translateX(var(--physical-pan,0px)) scale(var(--physical-scale,1));will-change:transform}
@media(prefers-reduced-motion:reduce){.moo-physical{height:auto;background:#aaa;padding:60px 0}.moo-physical-stage{position:relative;height:auto;background:#aaa}.moo-physical-frame{width:90vw;height:auto;opacity:1}.moo-physical-frame img{position:static;display:block;width:100%;transform:none}}
.moo-about{margin:0 calc(-1 * var(--moo-gutter));padding:35px 7vw 100px;background:#aaa;color:#222;font-family:Arial,sans-serif}
.moo-about h2{margin:0 0 28px;font-size:20px;font-weight:400;letter-spacing:.04em}
.moo-team-photo{float:right;width:35%;height:auto;margin:0 0 32px 6%}
.moo-about:after{content:"";display:block;clear:both}
.moo-about-copy{max-width:920px;font-size:16px;line-height:1.65}
@media(max-width:650px){.moo-team-photo{float:none;width:100%;margin:0 0 28px}}
.moo-about-copy p{margin:0 0 18px}
.moo-credits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:54px;max-width:920px}
.moo-credits h3{font-size:12px;font-weight:600;letter-spacing:.06em;margin:0 0 16px}
.moo-credits p{font-size:14px;line-height:1.7;margin:0}
@media(max-width:650px){.moo-about{padding:30px 7vw 65px}.moo-about-copy{font-size:14px}.moo-credits{grid-template-columns:1fr;gap:30px;margin-top:36px}}
.moo-collage{position:relative;height:130vw;margin:0 calc(-1 * var(--moo-gutter));background:#aaa;overflow:hidden}
.moo-collage img{position:absolute;display:block;height:auto;max-width:none;border:0}
.moo-collage .collage-a{left:0;top:12vw;width:31%}
.moo-collage .collage-b{left:37%;top:3vw;width:16%}
.moo-collage .collage-c{left:62%;top:8vw;width:17%}
.moo-collage .collage-d{left:82%;top:30vw;width:16%}
.moo-collage .collage-e{left:34%;top:35vw;width:32%}
.moo-collage .collage-f{left:7%;top:49vw;width:18%}
.moo-collage .collage-g{left:32%;top:65vw;width:27%}
.moo-collage .collage-h{left:75%;top:56vw;width:20%}
.moo-collage .collage-i{left:3%;top:92vw;width:40%}
.moo-collage .collage-j{left:53%;top:96vw;width:34%}
@media(max-width:650px){.moo-collage{height:250vw}.moo-collage .collage-a{top:10vw;width:53%}.moo-collage .collage-b{left:65%;top:2vw;width:27%}.moo-collage .collage-c{left:8%;top:61vw;width:28%}.moo-collage .collage-d{left:57%;top:58vw;width:39%}.moo-collage .collage-e{left:45%;top:99vw;width:52%}.moo-collage .collage-f{left:6%;top:119vw;width:29%}.moo-collage .collage-g{left:51%;top:146vw;width:42%}.moo-collage .collage-h{left:65%;top:187vw;width:28%}.moo-collage .collage-i{left:0;top:179vw;width:55%}.moo-collage .collage-j{left:10%;top:220vw;width:40%}}
body.moo-view>footer{background:rgb(var(--physical-gray,0),var(--physical-gray,0),var(--physical-gray,0));color:#555;border-color:#ffffff24}
body.moo-view>footer a{color:inherit}
@media(max-width:600px){.moo-page{--moo-gutter:6vw;padding-bottom:0}.moo-page .moo-intro p{margin-top:0}.moo-descent{margin-top:32px}.moo-descent-gradient{min-height:95vh}}
@media(prefers-reduced-motion:reduce){.moo-title-stage{transform:none;transition:none}.moo-descent-gradient h1{opacity:.13;transition:none}.moo-descent-gradient::before{display:none}.moo-question{opacity:.35;transform:translate3d(-50%,30px,0);transition:none}}

/* Courage: the product surface gives way to a subject file. */
.moo-product-name .courage-trace-label{color:inherit;border:1px solid currentColor;padding:9px 12px;margin-top:12px;letter-spacing:.12em}
.moo-detail[data-trace]{background:#101010;color:#eee;background-image:none;padding:22px}
.moo-detail[data-trace]>.moo-detail-head,.moo-detail[data-trace]>.moo-detail-nav,.moo-detail[data-trace]>.moo-detail-sizes,.moo-detail[data-trace]>.moo-detail-copy{display:none}
.moo-detail[data-trace]>.moo-close{background:#222;color:#eee;border:1px solid #666}
.trace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 70px 24px 0;font:10px/1.5 monospace;letter-spacing:.1em;color:#aaa}
.trace-toolbar button{border:0;background:none;color:inherit;padding:0;cursor:pointer;font:inherit;min-height:30px}
.trace-contact{position:relative;background:#050505}
.trace-photo{display:block;position:relative;width:100%;padding:0;border:0;background:#050505;cursor:pointer;color:#fff;text-align:left}
.trace-photo img{display:block;width:100%;height:clamp(300px,60vh,610px);object-fit:cover;filter:brightness(.72) saturate(.55)}
.trace-photo>span{position:absolute;bottom:24px;left:24px;font:11px/1.4 monospace;letter-spacing:.12em;text-shadow:0 1px 5px #000}
.trace-switch{position:absolute;right:16px;top:calc(50% - 24px);width:48px;height:48px;border:1px solid #aaa;background:#111c;color:#fff;font-size:25px;cursor:pointer}
.trace-tagline{margin:0;padding:22px 0 10px;color:#eee;background:transparent;font:clamp(16px,2.5vw,23px)/1.4 Terminal,monospace;letter-spacing:.03em}
.courage-trace .moo-supplement{margin-top:28px;filter:grayscale(1);background:#e8e8e8;color:#111;padding:22px}
.trace-file-heading{padding:38px 0 42px;border-top:1px solid #555;border-bottom:1px solid #555}
.trace-file-heading p{font:14px/1 monospace;letter-spacing:.3em;margin:0}
.trace-file-heading h2{font:clamp(100px,19vw,170px)/1 Terminal,monospace;margin:12px 0 20px;letter-spacing:-.05em}
.trace-file-heading>span,.trace-end{font:10px/1.6 monospace;letter-spacing:.14em;color:#999}
.trace-stage{padding:36px 0;border-bottom:1px solid #555}
.trace-stage h3{margin:0 0 20px;font:14px/1.5 monospace;letter-spacing:.13em;font-weight:400}
.trace-stage figure{margin:0;background:#ddd}
.trace-stage img{display:block;width:100%;max-height:560px;object-fit:contain;filter:grayscale(1) contrast(1.12)}
.trace-stage>p{font:15px/1.7 Arial,sans-serif;max-width:560px;margin:22px 0 0;color:#c6c6c6}
.trace-end{padding:30px 0 10px}
.courage-trace button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:600px){.moo-detail[data-trace]{padding:14px}.trace-toolbar{font-size:9px;gap:10px}.trace-toolbar>span{max-width:130px}.trace-photo img{height:55vh}.trace-photo>span{left:14px}.trace-photo-caption{font-size:10px}.trace-stage>p{font-size:14px}}

/* Equal-sized performance documentation, presented without overlap. */
.performance-documentation h2{font-size:14px}
.performance-records{gap:7px!important;margin-top:15px!important;font-size:17px!important;line-height:1.45!important;letter-spacing:.01em!important}
.performance-documentation>header{align-items:start;margin-bottom:28px}
.performance-documentation>header>span{padding-top:3px}
.performance-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 22px;min-height:0;padding-bottom:28px}
.performance-images .performance-image{grid-column:auto;grid-row:auto;z-index:auto;margin:0;aspect-ratio:3/2}
.performance-image{box-shadow:0 0 0 1px #75f4ff2e}
.performance-image figcaption{grid-template-columns:30px 92px 1fr auto;padding:12px 14px}
.performance-image figcaption>.performance-photo-credit{position:absolute;top:100%;left:0;padding-top:10px;color:#e9f8ff99;font:12px/1.4 Arial,sans-serif;letter-spacing:.02em}
.performance-image--three figcaption,.performance-image--four figcaption{border-color:#75f4ff70}
.technical-documentation{width:100%;margin:42px 0 0;padding:18px 0 0;border-top:1px solid #75f4ff3d}
.technical-documentation h2{font-size:11px}
.technical-documentation>p{margin:12px 0 0;font-size:19px}
@media(max-width:780px){
  .performance-documentation>header{display:block}
  .performance-documentation>header>span{display:block;margin-top:14px}
  .performance-images{grid-template-columns:1fr;gap:44px}
  .performance-image--two,.performance-image--three,.performance-image--four{margin:0}
  .technical-documentation{width:100%;margin-top:30px}
}
