:root{color-scheme:dark;--bg:#0b0e0c;--ink:#f1f2eb;--muted:#bdc3b9;--accent:#d1fc79;--line:#65705c70;font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
html{scrollbar-width:none}html::-webkit-scrollbar{display:none}
.skip{position:fixed;top:-100px;left:100px;z-index:30;background:var(--accent);color:#101211;padding:14px}.skip:focus{top:15px}
/* Three independent depth planes. The shade is BELOW the moving text. */
#layer3,#layer2,.veil{position:fixed;inset:0;pointer-events:none;overflow:hidden}#layer3{z-index:0;opacity:1;background:#28382b}.veil{z-index:1;background:rgba(7,10,8,.62)}#layer2{z-index:2;opacity:1}.photo-scene{position:absolute;inset:0 auto auto 0;will-change:transform}.photo-tile{position:absolute;left:0;top:0;width:100%;will-change:transform;overflow:hidden;opacity:1}.photo-tile img{display:block;width:100%;height:100%;object-fit:fill}.photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;background:repeating-linear-gradient(25deg,#354838 0,#354838 40px,#1c2923 41px,#1c2923 90px);font:12px monospace;color:var(--muted)}
.moving-text{position:absolute;top:0;left:0;white-space:nowrap;color:#e4eccf;font-weight:500;font-family:Arial,Helvetica,sans-serif;letter-spacing:-.7px;line-height:1.15;will-change:transform;text-shadow:0 2px 12px #0009;padding:5px 0;border-top:1px solid #edf6da50}.moving-text[data-category="Technical Product"]{color:#ddf5be}.moving-text[data-category="Production"]{font-family:monospace;font-weight:400;letter-spacing:-1px}.moving-text[data-category="Venue"]{font-family:monospace}
#layer1,footer{position:relative;z-index:3}#layer1{max-width:1700px;margin:auto;padding:0 7% 0 150px}section{position:relative;padding:85px 0;border-top:1px solid var(--line);scroll-margin-top:10px}section:not(#hero){background:linear-gradient(90deg,#0b0e0ce8 0,#0b0e0cd9 65%,#0b0e0c00 100%);padding-left:28px;padding-right:28px}#hero{min-height:100svh;padding-top:185px;padding-bottom:35px;display:flex;flex-direction:column;border:0}.hero-logo{margin:0 0 38px}.wordmark{font-size:28px;font-weight:900;letter-spacing:-1.8px;white-space:nowrap}.wordmark span{font-weight:400}.placeholder-label{display:block;font:9px monospace;color:var(--muted);letter-spacing:1.2px;margin-top:8px}.brand{display:flex;flex-direction:column}.logo{width:180px;height:40px;object-fit:contain;object-position:left}.hero-logo .wordmark{font-size:46px;letter-spacing:-2.8px}.hero-logo .logo{width:300px;height:80px}h1{font-size:clamp(48px,5.9vw,90px);font-weight:500;line-height:1.03;letter-spacing:-.055em;margin:0 0 32px;max-width:880px;width:78%;text-shadow:0 3px 24px #000c}h2{font-size:clamp(36px,4.2vw,66px);font-weight:500;line-height:1.08;letter-spacing:-.045em;max-width:900px;margin:30px 0;text-shadow:0 2px 15px #0009}h3{font-size:25px}p{line-height:1.7}.body{max-width:720px;font-size:18px}.body p{margin:15px 0}.section-label{display:flex;gap:26px;font:12px monospace;letter-spacing:2px;color:var(--accent)}.section-label span{color:var(--muted)}.scroll-link{display:flex;gap:30px;align-items:center;color:var(--accent);font:11px monospace;letter-spacing:1px;margin-top:10px}.scroll-link span{font-size:25px}.hero-note{display:flex;justify-content:space-between;margin-top:auto;padding-top:100px;font:10px monospace;letter-spacing:1px;color:var(--muted)}.background-note{font:9px monospace;letter-spacing:1px;margin-top:15px;color:var(--muted)}
header{position:fixed;inset:0 0 auto;padding:22px 7% 20px 130px;z-index:10;background:linear-gradient(#0b0e0cdb,#0b0e0c00);pointer-events:none;display:flex;justify-content:space-between;align-items:start}header .brand,header button{pointer-events:auto}#motion-control{font:10px monospace;letter-spacing:.5px;color:var(--ink);padding:11px 14px;border:1px solid #ffffff30;border-radius:18px;background:#121914ad;backdrop-filter:blur(16px)}#motion-control:disabled{color:var(--muted);cursor:default}
ul,ol{list-style:none;padding:0}.equipment{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px}.equipment li{padding:15px 12px 15px 0;border-bottom:1px solid var(--line);font-size:16px}.artists{display:grid;grid-template-columns:repeat(3,1fr);column-gap:36px;margin-top:40px}.artists li{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:20px;letter-spacing:-.5px}.artists small{font:10px monospace;color:var(--accent);padding-top:6px}.productions{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;column-gap:45px}.productions li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:baseline;font-size:18px;line-height:1.45}.index{font:10px monospace;color:var(--accent)}.contacts{max-width:850px;margin-top:40px}.contacts div{display:grid;grid-template-columns:170px 1fr;padding:17px 0;border-bottom:1px solid var(--line)}dt{font:11px monospace;color:var(--muted);padding-top:6px}dd{margin:0;font-size:18px;line-height:1.5}.missing{color:var(--muted);font-size:14px}.experts article{border-top:1px solid var(--line);padding:20px 0}footer{padding:45px 7% 45px 150px;background:#0b0e0ceb;border-top:1px solid var(--line)}footer p{color:var(--muted);font-size:14px}.footer-links{display:flex;flex-wrap:wrap;gap:23px;font:11px monospace;margin:25px 0}footer>small{font:10px monospace;color:var(--muted)}
/* Neutral translucent icon dock. */
.dock{position:fixed;left:24px;top:50%;transform:translateY(-50%);z-index:15;padding:12px 8px;width:68px;border:1px solid #ffffff28;border-radius:24px;background:linear-gradient(145deg,#ffffff17,#171a18b8 60%,#ffffff09);box-shadow:inset 0 1px 0 #ffffff40,0 15px 60px #0008,0 0 28px #ffffff08;backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3)}.dock #navigation{display:flex;flex-direction:column;gap:8px}.dock-item,.dock-brand{width:50px;height:50px;border-radius:15px;display:flex;align-items:center;justify-content:center;position:relative;transition:background 180ms,box-shadow 180ms;color:#d9dcda}.dock-item svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 3px #fff3)}.dock-item:hover,.dock-item:focus-visible{color:#fff;background:#ffffff12;box-shadow:inset 0 1px 0 #ffffff35,0 0 20px #ffffff14}.dock-item[aria-current]{color:#fff;background:linear-gradient(135deg,#ffffff26,#ffffff0b);box-shadow:inset 0 0 0 1px #ffffff45,0 0 23px #ffffff18}.dock-item[aria-current]:before{content:'';position:absolute;left:-8px;top:20px;height:10px;width:3px;border-radius:3px;background:#fff;box-shadow:0 0 10px #fff8}.dock-label{position:absolute;left:65px;top:50%;transform:translateY(-50%);padding:12px 15px;font:11px monospace;letter-spacing:1px;white-space:nowrap;border-radius:12px;background:#202422ee;border:1px solid #ffffff28;backdrop-filter:blur(20px);color:var(--ink);box-shadow:0 5px 25px #0006;opacity:0;visibility:hidden;transition:opacity 150ms;pointer-events:none}.dock-item:hover .dock-label,.dock-item:focus-visible .dock-label{opacity:1;visibility:visible}.dock-brand{flex-direction:column;background:#ffffff0d;border:1px solid #ffffff15}.dock-brand>span{font-size:27px;font-weight:700;line-height:1}.dock-brand>small{font:6px monospace;letter-spacing:1px;color:var(--muted)}.dock-brand img{width:38px;height:38px;object-fit:contain}.dock-divider{height:1px;background:#ffffff25;margin:12px 8px}
@media(max-width:1100px){.artists{grid-template-columns:repeat(2,1fr)}.equipment{grid-template-columns:repeat(2,1fr)}h1{width:88%;font-size:clamp(45px,6.5vw,72px)}}
@media(max-width:760px){header{padding:18px 5% 15px 74px}.wordmark{font-size:24px}#motion-control{font-size:8px;padding:9px 10px}#layer1{padding:0 5% 0 74px}#hero{padding-top:170px;padding-bottom:25px}.hero-logo .wordmark{font-size:32px}.hero-logo{margin-bottom:30px}h1{width:100%;font-size:clamp(33px,7.3vw,48px)}h2{font-size:clamp(30px,6.4vw,43px)}section{padding:65px 0}section:not(#hero){padding-left:12px;padding-right:12px;background:linear-gradient(90deg,#0b0e0cf2,#0b0e0cdc 85%,#0b0e0c50)}.body{font-size:16px}.hero-note{flex-direction:column;gap:9px;font-size:9px;padding-top:180px}.background-note{font-size:8px}.artists{grid-template-columns:1fr}.equipment{grid-template-columns:1fr}.productions{grid-template-columns:1fr}.contacts div{grid-template-columns:1fr;gap:8px}.section-label{font-size:10px;gap:16px}.veil{background:rgba(7,10,8,.62)}footer{padding:35px 5% 35px 74px}.dock{left:8px;width:46px;border-radius:18px;padding:9px 4px}.dock #navigation{gap:7px}.dock-item,.dock-brand{width:36px;height:39px;border-radius:11px}.dock-item svg{width:20px;height:20px}.dock-label{left:44px;font-size:10px;padding:10px}.dock-brand>span{font-size:21px}.dock-brand img{width:30px;height:30px}.dock-divider{margin:10px 4px}.dock-item[aria-current]:before{left:-4px;top:15px}.dock-brand{height:35px}}
@media(max-height:650px){.dock{padding-top:7px;padding-bottom:7px}.dock-item{height:33px}.dock #navigation{gap:4px}.dock-brand{height:33px}.dock-divider{margin:8px 4px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled){scroll-behavior:auto}html:not(.motion-enabled) .dock-item,html:not(.motion-enabled) .dock-label{transition:none}html:not(.motion-enabled) #layer2,html:not(.motion-enabled) .moving-text,html:not(.motion-enabled) .photo-scene,html:not(.motion-enabled) .photo-tile{will-change:auto}}
.static-photo{width:108vw;height:108vh;object-fit:cover}.static-label{left:65%;top:14%;font-size:30px;opacity:.65}.static-label:nth-child(2){left:25%;top:70%}.static-label:nth-child(3){left:40%;top:85%}.hero-logo{align-self:flex-start;background:#0b0e0c8c;padding:7px 10px;margin-left:-10px}.hero-note{background:linear-gradient(transparent,#0b0e0cc0);padding-bottom:8px}.moving-text{border-top:0}
@media(min-width:540px) and (max-width:760px){.artists{grid-template-columns:1fr 1fr;column-gap:24px}.artists li{font-size:16px}}
@media(max-width:760px){.hero-note{padding-top:140px}.hero-logo{margin-bottom:30px}}
.hero-note{padding-top:0;background:none;align-items:flex-start}.hero-note span,.background-note{background:#0b0e0cc9;padding:5px 7px;border-radius:3px}.background-note{align-self:flex-start}
/* Local copy shading instead of an opaque section hiding the other planes. */
section:not(#hero){background:none}.body p{background:#0b0e0ca6;padding:8px 12px;margin:12px 0}.artists li,.equipment li,.productions li{background:#0b0e0c59}.contacts{background:#0b0e0ccc;padding:0 16px}.section-label{background:#0b0e0cbb;display:inline-flex;padding:7px 10px}.hero-logo .placeholder-label{color:#d0d6c8}
#layer2{perspective:1200px;perspective-origin:50% 50%}#layer1{will-change:transform}.moving-text{backface-visibility:hidden;transform-style:preserve-3d}@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) #layer1{will-change:auto}}
.moving-text{transition:opacity 220ms ease}@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .moving-text{transition:none}}

/* Photo-inspired monochrome typography, with roomy tracking from the FLOW reference. */
:root{--accent:#eee;--muted:#b6b7b8;--line:#ffffff20}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:#0c0c0d;color:#f4f4f3}
h1{font-weight:300;font-size:clamp(36px,4.4vw,72px);line-height:1.26;letter-spacing:.025em;max-width:1050px;width:92%}
h2{font-weight:300;letter-spacing:.08em;font-size:clamp(28px,3.5vw,52px);line-height:1.25}
.section-label,.scroll-link,.hero-note,.placeholder-label{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.22em;font-weight:400}
.moving-text,.moving-text[data-category="Production"],.moving-text[data-category="Venue"]{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;letter-spacing:.09em;color:#eeeeef;text-shadow:0 2px 16px #000c}
.moving-text[data-category="Technical Product"]{color:#eeeeef}
.photo-tile.blended-photo{mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 86%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 86%,transparent)}
.photo-tile.blended-photo img{object-fit:cover}
#layer3{background:#101014}/* Retain 80% of the previous photo darkening: 0.56 × 0.8. */
.veil{background:rgba(5,6,8,.448)}
.logo-sheet{display:block;position:relative;width:180px;aspect-ratio:2.65;overflow:hidden;background:#000}
.logo-sheet img{position:absolute;left:-100%;top:0;width:200%;height:auto;max-width:none}
.hero-logo .logo-sheet{width:320px}.hero-logo{background:transparent;padding:0;margin-left:0}.brand{width:180px}
@media(max-width:760px){h1{font-size:34px;width:100%;letter-spacing:.015em}.hero-logo .logo-sheet{width:220px}.brand .logo-sheet{width:145px}h2{letter-spacing:.05em}}

.dock-brand .logo-sheet{width:38px;min-height:15px}.dock-brand .logo-sheet img{width:200%;height:auto;max-width:none;left:-100%;top:0}
/* Original PNG lower-right quadrant: white artwork with its original alpha. */
.logo-sheet{aspect-ratio:3424/1229;background:transparent}
.logo-sheet img,.dock-brand .logo-sheet img{width:214.14%;height:auto;left:-111.94%;top:-184.30%;max-width:none}

.full-list{margin-top:24px;border-top:1px solid #ffffff25;padding-top:20px}.full-list summary{cursor:pointer;display:list-item;font-size:13px;letter-spacing:.12em;width:fit-content;padding:10px 14px;background:#0b0e0cbf}.full-list[open] summary{margin-bottom:22px}

/* Place the primary logo upper-right; motion controls belong to the glass dock. */
header{justify-content:flex-end}header .brand{width:300px}header .brand .logo-sheet{width:300px}header .brand .logo{width:300px;height:105px}
.dock-brand .logo-sheet{width:38px;min-height:0;height:auto;flex:none}
#motion-control{width:50px;height:50px;padding:0;border:0;border-radius:15px;background:transparent;backdrop-filter:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
#motion-control:hover,#motion-control:focus-visible{background:#ffffff12;box-shadow:inset 0 1px 0 #ffffff35,0 0 20px #ffffff14}
#motion-control .play-icon{display:none}#motion-control[aria-pressed="true"] .pause-icon{display:none}#motion-control[aria-pressed="true"] .play-icon{display:block}
@media(max-width:760px){header .brand,header .brand .logo-sheet{width:200px}header .brand .logo{width:200px;height:72px}.dock-brand .logo-sheet{width:30px;min-height:0}#motion-control{width:36px;height:39px;border-radius:11px}}
@media(max-height:650px){#motion-control{height:33px}}

/* Secondary names recede behind the primary typography. */
.moving-text,.moving-text[data-category="Production"],.moving-text[data-category="Venue"],.moving-text[data-category="Technical Product"]{color:#d2d7dc;text-shadow:0 1px 8px #0006;letter-spacing:.07em}

.photo-fade{pointer-events:none}@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .photo-fade{transition:none}}
/* One translucent surface per content group, matching the illuminated dock. */
#layer1{max-width:1440px;padding:0 7% 0 150px}
#layer1>section{
  padding:48px 54px;margin:0 0 72px;border:1px solid #ffffff26;border-radius:28px;
  background:linear-gradient(135deg,#ffffff13 0%,#191d2587 40%,#11151dc4 100%);
  backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12);
  box-shadow:inset 0 1px 0 #ffffff38,inset 0 -1px 0 #ffffff07,0 22px 65px #0003;
  scroll-margin-top:140px;
}
#layer1>#hero{min-height:0;margin-top:185px;padding:58px 54px 38px;display:flex;flex-direction:column}
#hero h1{font-size:clamp(36px,4.2vw,64px);line-height:1.18;letter-spacing:.01em;width:100%;margin:0 0 32px;text-shadow:none}
#hero .scroll-link{align-self:flex-start;gap:18px;font-size:10px;padding:12px 0;margin:0}
#hero .hero-note{margin-top:40px;padding-top:22px;border-top:1px solid #ffffff20;gap:18px;color:#d2d4da}
.hero-note span,.background-note{background:none;padding:0;border-radius:0}
#layer1 .section-label{background:none;padding:0;display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.2em;color:#dce0e7}
#layer1 .section-label>span{font-size:10px;color:#b4bac5;border:1px solid #ffffff25;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;letter-spacing:0}
#layer1 h2{font-size:clamp(30px,3.5vw,48px);line-height:1.2;letter-spacing:.015em;margin:24px 0 28px;text-shadow:none;max-width:880px}
#layer1 .body{max-width:800px;font-size:17px;color:#e1e3e9}
#layer1 .body p{background:none;padding:0;margin:16px 0;line-height:1.75}
#layer1 .artists,#layer1 .productions{margin:26px 0 0;column-gap:30px}
#layer1 .artists li,#layer1 .productions li,#layer1 .equipment li{background:none;border-bottom:1px solid #ffffff18}
#layer1 .artists li{font-size:18px;padding:16px 0;letter-spacing:.015em}
#layer1 .artists small,#layer1 .index{color:#aab2c1}
#layer1 .productions li{font-size:16px;gap:14px;padding:16px 0}
#layer1 .full-list{margin-top:26px;padding-top:18px;border-color:#ffffff18}
#layer1 .full-list summary{font-size:11px;letter-spacing:.1em;background:#ffffff07;border:1px solid #ffffff20;border-radius:12px;padding:13px 18px}
#layer1 .full-list summary:hover{background:#ffffff10}
#layer1 .contacts{background:none;padding:0;margin-top:24px;max-width:none}
#layer1 .contacts div{border-color:#ffffff18;padding:18px 0;grid-template-columns:150px 1fr}
#layer1 dt{font-family:inherit;letter-spacing:.08em;font-size:11px;color:#aab2c1}
#layer1 dd{font-size:17px}.missing{color:#c4c8d0}
footer{background:#0b0e0caa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#layer1>section{background:#171c23ef}}
@media(max-width:1100px){#layer1>section{padding:38px 36px}#layer1>#hero{padding:42px 36px 32px}}
@media(max-width:760px){
 #layer1{padding:0 16px 0 66px}#layer1>section{padding:28px 22px;margin-bottom:38px;border-radius:22px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
 #layer1>#hero{margin-top:140px;padding:30px 22px 26px}#hero h1{font-size:30px;line-height:1.22;margin-bottom:20px}
 #hero .hero-note{margin-top:28px;padding-top:18px;gap:10px;font-size:8px;letter-spacing:.14em}
 #layer1 h2{font-size:28px;line-height:1.23;margin:22px 0;overflow-wrap:anywhere}
 #layer1 .body{font-size:15px}#layer1 .section-label{font-size:9px;gap:10px;letter-spacing:.12em}
 #layer1 .artists{grid-template-columns:1fr}#layer1 .artists li{font-size:16px}
 #layer1 .productions li{font-size:15px}#layer1 .contacts div{grid-template-columns:1fr;gap:8px}
 #layer1 dd{font-size:16px}#layer1 .full-list summary{font-size:10px;padding:11px 12px}
}
/* Avoid promoting the entire long glass surface to a single huge texture. */
#layer1{will-change:auto}

/* Cached photo diffusion keeps the illuminated surface smooth while the camera moves. */
#layer1>section{isolation:isolate;overflow:hidden;backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(135deg,#ffffff13,#151a239e 40%,#10141dc9)}
#layer1>section::before{content:"";position:absolute;inset:-24px;z-index:-1;background-image:var(--glass-photo);background-size:cover;background-position:center;filter:blur(18px);opacity:.32;pointer-events:none}
footer{backdrop-filter:none;-webkit-backdrop-filter:none}
#layer1{will-change:transform}
@media(max-width:760px){#layer1>section{backdrop-filter:none;-webkit-backdrop-filter:none}#layer1>section::before{filter:blur(12px);opacity:.28}}
#layer1>section{background:linear-gradient(135deg,#303641cc,#141923e6 70%,#10151eea)}
#layer1>section::before{opacity:.28}

#layer1{will-change:auto}#layer1>section::before{visibility:hidden}#layer1>section.glass-visible::before{visibility:visible}

#layer1{will-change:transform}#layer1>section::before{filter:none}@media(max-width:760px){#layer1>section::before{filter:none}}

#layer1>section{isolation:auto;overflow:visible;background-image:linear-gradient(135deg,#303641bf,#141923d9 70%,#10151ee3),var(--glass-photo);background-size:cover;background-position:center}#layer1>section::before{content:none}

/* Nearly clear glass: no photo diffusion and no backdrop blur on the content panels. */
#layer1>section{background:linear-gradient(135deg,#ffffff09,#0c11181a 60%,#0c111824);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#ffffff24;box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 0 #ffffff08,0 16px 45px #0002}
#layer1>section::before{content:none}
#hero h1,#layer1 h2{text-shadow:0 2px 16px #0008}
#layer1 .body,#layer1 .artists,#layer1 .productions,#layer1 .contacts{text-shadow:0 1px 8px #000a}
/* Slightly darker, subtly raised glass surfaces. */
#layer1>section{
 background:linear-gradient(135deg,#20283246,#0c111855 60%,#090e1665);
 border-color:#ffffff29;
 box-shadow:inset 0 1px 0 #ffffff45,inset 1px 0 0 #ffffff10,inset 0 -2px 0 #00000045,0 5px 0 -2px #080d1438,0 22px 50px #00000040;
 transform:perspective(2200px) rotateX(.6deg);transform-origin:center center;
}
#layer1>section::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(150deg,#ffffff05,transparent 35%,#00000008)}
@media(max-width:760px){#layer1>section{transform:none;box-shadow:inset 0 1px 0 #ffffff40,inset 0 -2px 0 #00000040,0 15px 35px #0003}}

/* Foreground groups: three rows per column, with a steady frame during fades. */
#layer1 .rotating-names{display:grid;grid-template-rows:repeat(3,minmax(72px,auto));grid-auto-flow:column;gap:0 24px}
#layer1 .artists.rotating-names{grid-template-columns:repeat(3,minmax(0,1fr))}
#layer1 .productions.rotating-names{grid-template-columns:repeat(2,minmax(0,1fr))}
#layer1 .rotating-names li{min-width:0;display:flex;align-items:center;padding:12px 0}
.name-content{display:grid;align-items:center;width:100%;min-width:0}
.name-entry{grid-area:1/1;display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;opacity:1}
.name-entry>span{overflow-wrap:anywhere}
.name-entry.entering{animation:name-in 250ms ease both}
.name-entry.leaving{animation:name-out 500ms ease both}
@keyframes name-in{from{opacity:0}to{opacity:1}}
@keyframes name-out{from{opacity:1}to{opacity:0}}
.semantic-names{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){
 #layer1 .rotating-names{column-gap:10px;grid-template-rows:repeat(3,minmax(90px,auto))}
 #layer1 .artists.rotating-names li,#layer1 .productions.rotating-names li{font-size:clamp(10px,2.8vw,15px);letter-spacing:0;line-height:1.4}
 .artists.rotating-names .name-entry{flex-direction:column;gap:3px}
 .artists.rotating-names small{padding-top:0;font-size:8px}
}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .name-entry{animation:none!important}}

/* Country codes follow the artist name as a quieter inline suffix. */
#layer1 .artists.rotating-names .name-entry{display:block}
#layer1 .artists.rotating-names small{display:inline;margin-left:.45em;padding:0;font-family:inherit;font-size:.68em;letter-spacing:.035em;color:#969ca6;white-space:nowrap}

/* New names arrive emphasized, then settle for 300 ms after fading in. */
.name-entry{transform:scale(1);transform-origin:left center;filter:brightness(1);transition:transform 300ms ease-out,filter 300ms ease-out,text-shadow 300ms ease-out}
.name-entry.highlighted{transform:scale(1.14);filter:brightness(1.2);text-shadow:0 0 9px #ffffff40;transition:none}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .name-entry{transition:none!important;transform:none!important;filter:none!important}}

/* Equipment shares the artists' three-column, three-row name treatment. */
#layer1 .products.rotating-names{grid-template-columns:repeat(3,minmax(0,1fr));margin:26px 0 0;column-gap:30px;text-shadow:0 1px 8px #000a}
#layer1 .products.rotating-names li{background:none;border-bottom:1px solid #ffffff18;font-size:18px;letter-spacing:.015em;line-height:1.45}
#layer1 .products.rotating-names .name-entry{display:block}
@media(max-width:760px){
 #layer1 .products.rotating-names{column-gap:10px}
 #layer1 .products.rotating-names li{font-size:clamp(10px,2.8vw,15px);letter-spacing:0;line-height:1.4}
}

/* Restore the original text wordmark in the upper header. */
header .brand{width:auto}
header .wordmark{font-family:Arial,Helvetica,sans-serif;font-size:28px;font-weight:900;letter-spacing:-1.8px}
header .wordmark span{font-weight:400}
@media(max-width:760px){header .wordmark{font-size:24px}}

/* Align the header wordmark with the glass dock's left edge. */
header{justify-content:flex-start;padding-left:24px}
@media(max-width:760px){header{padding-left:8px}}

/* Logo-style E: three horizontal strokes, preserving the original text metrics. */
header .wordmark .wordmark-e{position:relative;font-weight:900;color:transparent}
header .wordmark .wordmark-e::before{content:"";position:absolute;left:.025em;right:.015em;top:.18em;height:.12em;background:var(--ink);box-shadow:0 .3em 0 var(--ink),0 .6em 0 var(--ink)}

#team .experts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:28px}
#team .experts article{padding:22px 0;border-top:1px solid #ffffff18}
#team .experts h3{font-size:24px;font-weight:500;margin:0 0 12px}
#team .experts p{font-size:15px;margin:7px 0;color:#c2c7ce}
@media(max-width:760px){#team .experts{grid-template-columns:1fr}}

/* Foreground slides between groups while the photo plane stays continuous. */
#layer1,footer{translate:0 0;transition:opacity 600ms ease,translate 600ms cubic-bezier(.22,1,.36,1)}
#layer2{transition:opacity 400ms ease}
#layer3{transition:none}
body.is-navigating #layer1,body.is-navigating footer{translate:0 -48px;opacity:0;transition-duration:200ms}
body.is-navigating #layer2{opacity:0;transition-duration:200ms}
body.is-arriving #layer1,body.is-arriving footer{translate:0 48px;opacity:0;transition:none}
body.is-arriving #layer2{opacity:0;transition:none}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) #layer1,html:not(.motion-enabled) footer,html:not(.motion-enabled) #layer2{transition:none;translate:none}}
/* Team profiles share the glass surface, with quieter individual cards. */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}
.team-card{min-width:0;overflow:hidden;border:1px solid #ffffff20;border-radius:18px;background:linear-gradient(145deg,#ffffff0a,#070c143b);box-shadow:inset 0 1px #ffffff18,0 14px 30px #0002}
.team-card>.team-photo-frame,.portrait-placeholder{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:linear-gradient(145deg,#ffffff08,#ffffff02)}
.team-photo-frame{position:relative;overflow:hidden}
.team-photo-frame>img{width:100%;height:100%;object-fit:cover;display:block}
.portrait-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#a5abb7}
.portrait-placeholder svg{width:55px;height:55px;fill:none;stroke:currentColor;stroke-width:.7;opacity:.4}
.portrait-placeholder span{font-size:8px;letter-spacing:.16em}.team-copy{padding:22px}.team-copy h3{font-size:23px;font-weight:500;letter-spacing:-.025em;margin:0 0 10px;overflow-wrap:anywhere}.team-role{font-size:13px;color:#c1c8d1;margin:0 0 18px}.team-skills{font-size:13px;color:#aeb7c5;min-height:58px}.team-skills p{margin:6px 0}.team-contact{display:flex;flex-direction:column;gap:8px;padding:18px 0;border-top:1px solid #ffffff14;font-size:12px;overflow-wrap:anywhere}.team-card .missing{font-size:12px}
.inquiry-button{display:inline-flex;align-items:center;justify-content:center;background:#ffffff0e;border:1px solid #ffffff34;border-radius:11px;color:#e8ebf1;padding:12px 18px;font-size:12px;transition:background .2s,box-shadow .2s}.inquiry-button:hover{background:#ffffff1c;box-shadow:inset 0 1px #ffffff20}.inquiry-button:disabled{opacity:.5}#contact>.inquiry-button{margin-top:24px}
#inquiry-dialog{position:fixed;width:min(650px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;border:1px solid #ffffff30;border-radius:24px;padding:36px;color:#edf0f5;background:linear-gradient(145deg,#19212bf5,#0d121bf8);box-shadow:0 35px 100px #0008,inset 0 1px #ffffff30;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
#inquiry-dialog::backdrop{background:#0508108c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}#inquiry-dialog h2{font-size:30px;margin:20px 0 28px}.dialog-close{position:absolute;right:18px;top:14px;background:none;border:0;color:#c3cbd8;font-size:28px;padding:4px 10px}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.inquiry-fields label{font-size:12px;display:block;color:#d8dfe9}.inquiry-fields small{font-size:10px;color:#8e99aa;margin-left:5px}.inquiry-fields input,.inquiry-fields textarea{display:block;width:100%;margin-top:9px;background:#0003;border:1px solid #ffffff20;border-radius:10px;color:#edf0f5;padding:12px;font-size:14px;color-scheme:dark}.inquiry-fields textarea{resize:vertical}.inquiry-fields ::placeholder{color:#8590a2;opacity:1}.inquiry-fields .wide{grid-column:1/-1}.inquiry-note,#inquiry-status{font-size:12px;color:#a5b0c1;line-height:1.5}body:has(#inquiry-dialog[open]){overflow:hidden}
@media(max-width:1050px){.team-grid{gap:12px}.team-copy{padding:15px}.team-copy h3{font-size:20px}}
@media(max-width:760px){.team-grid{grid-template-columns:1fr}.team-card>.team-photo-frame,.team-card>.portrait-placeholder{aspect-ratio:5/4}.team-copy{padding:20px}#inquiry-dialog{padding:30px 22px}.inquiry-fields{grid-template-columns:1fr;gap:15px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .inquiry-button{transition:none}}

/* Compact team card copy keeps the photo and information balanced. */
.team-copy{padding:14px 16px}.team-copy h3{font-size:18px;line-height:1.2;margin:0 0 6px}.team-role{font-size:12px;line-height:1.4;margin:0 0 8px}.team-skills{font-size:12px;line-height:1.4;min-height:0;margin-bottom:10px}.team-skills p{line-height:1.4;margin:3px 0}.team-contact{gap:4px;padding:10px 0;font-size:11px;line-height:1.4}.team-card .missing{font-size:11px;line-height:1.4}.team-card .inquiry-button{padding:8px 12px;font-size:11px;width:100%}
@media(max-width:760px){.team-copy{padding:14px 16px}.team-copy h3{font-size:18px}}

.date-field{position:relative}.date-control{display:flex;align-items:stretch;gap:6px}.date-control input{min-width:0;cursor:pointer}.date-control button{margin-top:9px;border:1px solid #ffffff25;border-radius:10px;background:#ffffff0b;color:#dbe2ec;width:44px;font-size:22px;flex-shrink:0}.date-calendar{position:absolute;z-index:5;top:100%;left:0;width:290px;max-width:calc(100vw - 80px);margin-top:8px;padding:18px;border:1px solid #ffffff30;border-radius:16px;background:#151e2b;box-shadow:0 18px 50px #0008}.date-calendar[hidden]{display:none}.date-calendar>label{margin-bottom:12px}.date-calendar select{display:block;width:100%;margin-top:5px;padding:8px;border:1px solid #ffffff25;border-radius:8px;color:#edf0f5;background:#0e1520;color-scheme:dark}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}.calendar-weekdays{font-size:10px;color:#8794a8;margin:12px 0 7px}.calendar-days button{padding:8px 0;background:transparent;border:1px solid transparent;border-radius:8px;color:#dce3ee;font-size:12px}.calendar-days button:hover,.calendar-days button[aria-pressed=true]{background:#ffffff22;border-color:#ffffff30}.calendar-days button.is-today{border-color:#ffffff40}.inquiry-fields .date-field>label{font-size:12px;color:#d8dfe9}@media(max-width:760px){.date-calendar{width:100%}}
.photo-tile.blended-photo[data-format="landscape"]{mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent)}

.photo-tile .depth-foreground{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;pointer-events:none;will-change:transform}.photo-tile .depth-foreground[hidden]{display:none}.photo-tile.depth-photo{perspective:1200px}.photo-tile.depth-photo>img:first-child{will-change:transform}@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .photo-tile.depth-photo>img{will-change:auto}}

/* Section titles are already presented by the main headings. */
#layer1>section>.section-label{display:none}
/* Clear glass with a lightly filtered centre and stronger optical edges. */
#layer1>section{isolation:isolate;background:linear-gradient(125deg,#25313d38,#10192350 55%,#0a121d63);border:1px solid #ffffff30;backdrop-filter:blur(1.3px) saturate(1.08) contrast(1.025);-webkit-backdrop-filter:blur(1.3px) saturate(1.08) contrast(1.025);box-shadow:inset 0 1px 0 #ffffff60,inset 1px 0 0 #ffffff18,inset 0 -1px 1px #0009,0 8px 30px #0003;transform:none}
#layer1>section::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at top left,#d9eafa25,transparent 65%),radial-gradient(ellipse at bottom right,#c1daef17,transparent 65%);backdrop-filter:blur(5px) saturate(1.25) contrast(1.12);-webkit-backdrop-filter:blur(5px) saturate(1.25) contrast(1.12);mask-image:radial-gradient(circle 100px at 0 0,#000 15%,transparent 100%),radial-gradient(circle 80px at 100% 0,#000 10%,transparent 100%),radial-gradient(circle 80px at 0 100%,#000 10%,transparent 100%),radial-gradient(circle 100px at 100% 100%,#000 15%,transparent 100%);-webkit-mask-image:radial-gradient(circle 100px at 0 0,#000 15%,transparent 100%),radial-gradient(circle 80px at 100% 0,#000 10%,transparent 100%),radial-gradient(circle 80px at 0 100%,#000 10%,transparent 100%),radial-gradient(circle 100px at 100% 100%,#000 15%,transparent 100%)}
#layer1>section::after{inset:0;z-index:0;border:1px solid transparent;border-top-color:#ffffff29;border-left-color:#ffffff12;background:linear-gradient(135deg,#ffffff05,transparent 25%,transparent 75%,#b2d0e609);box-shadow:inset 2px 2px 8px #cde6ff0d,inset -2px -2px 6px #00000024}
#layer1>section>:not(.section-label){position:relative;z-index:1}
#layer1>section>.semantic-names{position:absolute}
#hero h1,#layer1 h2{font-family:Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.035em;text-wrap:balance;text-shadow:0 1px 12px #0005}
#hero h1{font-size:clamp(34px,4.4vw,62px);line-height:1.12;max-width:950px}
#layer1 h2{font-size:clamp(30px,3.35vw,46px);line-height:1.14;margin:0 0 28px;max-width:850px}
#layer1 .body{font-size:16px;max-width:700px;color:#e0e5eb}
#layer1 .body p{line-height:1.65;margin:12px 0}
#layer1 .rotating-names{margin-top:30px}#layer1 .rotating-names li{font-size:17px;letter-spacing:-.01em;line-height:1.45}
.name-entry.highlighted{transform:scale(1.065);filter:brightness(1.08);text-shadow:0 0 5px #ffffff20}
#layer2 .moving-text{transition:opacity 160ms ease,filter 450ms ease}
@media(max-width:760px){
 header{padding:20px 18px}header .wordmark{font-size:26px}
 #layer1{padding:0 16px}#layer1>#hero{margin-top:108px;padding:28px 24px}#layer1>section{padding:28px 24px;margin-bottom:28px}
 #hero h1{font-size:clamp(29px,7.8vw,40px);line-height:1.16}#layer1 h2{font-size:29px;margin:0 0 22px}#layer1 .body{font-size:15px}
 .dock{left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;width:auto;padding:6px;display:flex;align-items:center;gap:4px;border-radius:20px;background:linear-gradient(140deg,#2b3547c9,#111722d9);box-shadow:inset 0 1px 0 #ffffff48,0 8px 30px #0007}
 .dock>.dock-brand,.dock>.dock-divider:first-of-type{display:none}.dock #navigation{flex:1;min-width:0;display:flex;flex-direction:row;gap:1px;overflow-x:auto;scrollbar-width:none}.dock #navigation::-webkit-scrollbar{display:none}
 .dock .dock-item{width:40px;height:44px;flex:0 0 40px;border-radius:13px}.dock .dock-item svg{width:21px;height:21px}
 .dock>.dock-divider{width:1px;height:24px;flex:0 0 1px;margin:0 3px}.dock #motion-control{flex:0 0 40px}
 .dock .dock-item[aria-current]:before{top:auto;bottom:2px;left:18px;width:4px;height:3px}
 .dock .dock-label{display:none}
 #layer1 .artists.rotating-names,#layer1 .products.rotating-names{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(68px,auto));column-gap:20px}
 #layer1 .productions.rotating-names{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(78px,auto));column-gap:20px}
 #layer1 .rotating-names li{font-size:14px;line-height:1.4;padding:12px 0}#layer1 .artists.rotating-names small{font-size:.72em}
 footer{padding:32px 24px calc(110px + env(safe-area-inset-bottom))}.skip{left:16px}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#layer1>section{background:#14202de0}}
@media(max-width:760px){#layer1 .artists.rotating-names li,#layer1 .productions.rotating-names li,#layer1 .products.rotating-names li{font-size:14px;line-height:1.4;letter-spacing:-.01em}}

/* Selected productions use compact, non-interactive photo cards. */
#layer1 .production-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
#layer1 .production-card{position:relative;aspect-ratio:1;min-width:0;overflow:hidden;display:block;background:transparent;border:1px solid #ffffff32;border-radius:13px;box-shadow:inset 0 1px #ffffff26,0 12px 32px #0005;transition:border-color 150ms ease,box-shadow 150ms ease}
#layer1 .production-card::after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:linear-gradient(150deg,#17212ac9,#0b1016e8);opacity:1;pointer-events:none;transition:opacity 150ms ease}
#layer1 .production-card-changing{border-color:#9fa5aa;box-shadow:none;transition-duration:1000ms}
#layer1 .production-card-changing::after{opacity:0;transition-duration:1000ms}
.production-card-face{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;opacity:1;transition:opacity 200ms ease}
.production-card-outgoing{z-index:2;transition:opacity 1000ms ease}
.production-card-outgoing-fade{opacity:0}
.production-card-incoming{opacity:0}
.production-card-incoming-visible{opacity:1}
.production-card-photo{position:relative;flex:1;min-height:0;overflow:hidden;background:transparent}
.production-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.production-card-placeholder{display:grid;place-items:center;background:transparent}
.production-card-placeholder span{font:10px monospace;letter-spacing:.1em;color:#bfc5c7b0;text-align:center;padding:12px}
.production-card-copy{flex:0 0 auto;min-height:76px;padding:11px 7px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px}
#layer1 .production-card-copy h3{font-family:Arial,Helvetica,sans-serif;font-size:clamp(13px,1.05vw,16px);font-weight:500;line-height:1.2;letter-spacing:-.035em;margin:0;color:#f4f5f3;text-wrap:balance}
#layer1 .production-card-copy p{font:300 11px/1.1 Arial,Helvetica,sans-serif;letter-spacing:-.01em;color:#bcc6c7;margin:0;padding:0;background:none}
@media(max-width:900px){#layer1 .production-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){#layer1 .production-card-grid{gap:9px}#layer1 .production-card-copy{min-height:66px;padding:8px 5px}#layer1 .production-card-copy h3{font-size:12px}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .production-card-face{transition:none}}
.language-menu{position:fixed;z-index:20;left:24px;top:calc(50% + 320px);width:max-content;max-width:calc(100vw - 32px);min-height:66px;padding:7px;border:1px solid #ffffff30;border-radius:22px;background:linear-gradient(145deg,#ffffff1d,#171a18db 65%,#ffffff0b);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);box-shadow:inset 0 1px #ffffff40,0 15px 45px #0008,0 0 25px #ffffff08}
.language-menu[open]{display:flex;align-items:center;gap:5px}
.language-menu summary{list-style:none;width:50px;height:50px;display:grid;place-items:center;cursor:pointer;border-radius:15px;color:#fff;font-size:25px;line-height:1}
.language-menu summary::-webkit-details-marker{display:none}
.language-menu summary:hover,.language-menu summary:focus-visible,.language-menu[open] summary{background:#ffffff1b;box-shadow:inset 0 1px #ffffff30}
.language-menu nav{display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:none;animation:language-reveal 210ms ease-out both}
.language-menu nav::-webkit-scrollbar{display:none}
.language-menu nav a{display:grid;place-items:center;flex:0 0 42px;height:46px;border-radius:12px;font-size:23px;line-height:1}
.language-menu nav a:hover,.language-menu nav a:focus-visible,.language-menu nav a[aria-current]{background:#ffffff22}
@keyframes language-reveal{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@media(max-width:760px){.language-menu{left:12px;top:auto!important;bottom:calc(86px + env(safe-area-inset-bottom));min-height:55px;padding:5px;border-radius:17px;max-width:calc(100vw - 24px)}.language-menu summary{width:43px;height:43px;font-size:22px;border-radius:12px}.language-menu nav a{flex-basis:38px;height:42px;font-size:21px}}
@media(min-width:761px) and (max-height:1050px){.dock{top:calc(50% - 55px);padding-top:8px;padding-bottom:8px}.dock #navigation{gap:4px}.dock .dock-item,.dock .dock-brand,#motion-control{height:40px}.dock-divider{margin-top:7px;margin-bottom:7px}}
@media(min-width:2601px){.dock,.language-menu{left:calc(24px + (100vw - 2600px)/2)}header{padding-left:calc(24px + (100vw - 2600px)/2)}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .language-menu nav{animation:none}}

/* Keep the footer in document flow, anchored to the page bottom. */
footer,body.is-navigating footer,body.is-arriving footer{transform:none;translate:none;opacity:1;transition:none}
/* Shared Helvetica Neue typography across the public website. */
body,body input,body textarea,body select,body button,
body header .wordmark,body header .wordmark span,
body #hero h1,body #layer1 h2,body #contact h2,
body .moving-text,body .moving-text[data-category],
body .section-label,body .scroll-link,body .hero-note,
body .dock-label,body .index,body .footer-links,body footer small,
body dt,body .placeholder-label,body .background-note,
body .wordmark,body .wordmark span{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:400;
  letter-spacing:.04em;
}
body #layer1,body footer{font-weight:400;letter-spacing:.04em}
body #layer1 p,body #layer1 li,body #layer1 a,body #layer1 small,
body #layer1 h3,body #layer1 dt,body #layer1 dd{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:400;
  letter-spacing:.04em;
}

body #hero h1,body #layer1 h2,body #contact h2,body #layer1 h3,body header .wordmark,body header .wordmark span{font-weight:400}

/* Slightly stronger headings; keep body copy light. */
body #hero h1,body #layer1 h2,body #contact h2,body #layer1 h3{font-weight:400}

/* Slightly stronger headings; body copy stays at regular weight. */
body #layer1 .body,body #layer1 .body p{font-weight:300}
body #hero h1,body #layer1 h2,body #contact h2,body #layer1 h3{font-weight:460}

/* The custom E strokes depend on the original wordmark's font metrics. */
body header .wordmark,body header .wordmark span{font-family:Arial,Helvetica,sans-serif;letter-spacing:-1.2px}
body header .wordmark,body header .wordmark .wordmark-e{font-weight:900}
body header .wordmark>span:not(.wordmark-e){font-weight:400}

/* Language picker is the final control inside the navigation dock. */
.dock .language-menu{position:relative;inset:auto!important;display:block;width:50px;min-height:0;max-width:none;margin-top:6px;padding:0;border:0;border-radius:15px;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.dock .language-menu nav{position:absolute;left:calc(100% + 14px);top:50%;transform:translateY(-50%);padding:7px;border:1px solid #ffffff30;border-radius:18px;background:linear-gradient(145deg,#ffffff1d,#171a18ed);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 12px 35px #0007;width:max-content;max-width:calc(100vw - 115px)}
.dock .language-menu:not([open]) nav{display:none}
.footer-links button{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.footer-links button:hover{text-decoration:underline}
@media(min-width:761px){.dock{top:50%;transform:translateY(-50%);transition:none}}
@media(min-width:761px) and (max-height:1050px){.dock .language-menu summary{height:40px}}
@media(max-width:760px){.dock .language-menu{width:36px;margin:0;flex:0 0 36px}.dock .language-menu summary{width:36px;height:39px;font-size:22px}.dock .language-menu nav{left:auto;right:0;top:auto;bottom:calc(100% + 16px);transform:none;max-width:calc(100vw - 32px)}}

#site-loader{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;justify-items:center;gap:32px;background:radial-gradient(ellipse at 35% 30%,#303944,#101419 55%,#080b0f);color:#dce3ea;pointer-events:none;animation:loader-safety 0s 15s forwards}
#site-loader span{font:270 18px "Helvetica Neue",Arial,sans-serif;letter-spacing:.108em}
.loading-orbit{width:92px;height:92px;border:2px solid #ffffff16;border-top:3px solid #eff8ff;border-right:3px solid #b4d8f59c;border-radius:50%;box-shadow:inset 0 0 16px #cde6ff25,0 0 25px #cde6ff20;animation:orbit-turn 1.8s linear infinite;transform:rotateZ(0deg)}
#site-loader.is-ready{opacity:0;transition:opacity 650ms ease;animation:none}
.page-loader-managed #site-loader{animation:none}
@keyframes orbit-turn{from{transform:rotateZ(0deg)}to{transform:rotateZ(360deg)}}
@keyframes loader-safety{to{visibility:hidden;opacity:0}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .loading-orbit{animation:none}html:not(.motion-enabled) #site-loader.is-ready{transition:none}}

/* Keep the selected theme while the first photograph is decoded. */
:root{--photo-fallback-bg:#1c2229}
html[data-theme="light"]{--photo-fallback-bg:#c6c9cd}
.photo-fallback #layer3{background:var(--photo-fallback-bg)}
#layer3::after{content:"";position:absolute;inset:0;z-index:5;background:var(--photo-fallback-bg);opacity:0;pointer-events:none;transition:opacity 3s cubic-bezier(.4,0,.2,1)}
.photo-fallback #layer3::after{opacity:1}
.photo-fallback .veil{opacity:0}
.layer2-pending #layer2{visibility:hidden}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) #layer3::after{transition:none}}

html[data-theme="light"].photo-fallback #hero h1,html[data-theme="light"].photo-fallback #hero .scroll-link,html[data-theme="light"].photo-fallback #hero .hero-note{color:#252c35;text-shadow:none}
html[data-theme="light"].photo-fallback header{--ink:#252c35;color:#252c35}

#site-loader span strong{font-weight:700;letter-spacing:.02em}
.veil{transition:opacity 3s cubic-bezier(.4,0,.2,1)}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .veil{transition:none}}

/* Temporary comparison with the loading-screen wordmark. */
body header .brand .wordmark-comparison{display:block;margin-top:14px;font:270 19.8px "Helvetica Neue",Arial,sans-serif;letter-spacing:.0972em;color:var(--ink)}
body header .brand .wordmark-comparison strong{font-weight:700;letter-spacing:.018em}
/* Header wordmark refinement: slightly more air in STEREO, lighter sound. */
body header .wordmark{letter-spacing:-1.08px}
body header .wordmark>span:not(.wordmark-e){font-weight:340}
body header .wordmark,body header .wordmark .wordmark-e{font-weight:810}
body header .wordmark>span:not(.wordmark-e){font-weight:306}
body header .wordmark .wordmark-e{margin-left:.0585em;margin-right:.0315em}
body header .wordmark,body header .wordmark .wordmark-e{font-weight:729}
body header .wordmark>span:not(.wordmark-e){font-weight:260}
body header .wordmark>span:not(.wordmark-e){font-weight:208}
body header .wordmark>span:not(.wordmark-e){font-weight:180;letter-spacing:2px}
body header .wordmark>span:not(.wordmark-e){font-weight:160;letter-spacing:1.9px}
body header .wordmark>span:not(.wordmark-e){font-weight:130;letter-spacing:1.8px}
body header .wordmark>span:not(.wordmark-e){font-weight:100;letter-spacing:1.4px}
body header .wordmark>span:not(.wordmark-e){font-weight:60}
body header .wordmark>span:not(.wordmark-e){font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;letter-spacing:1.4px}

/* Use the loading screen's text wordmark as the single top-left brand. */
body header .brand .loading-wordmark{display:inline-block;margin:0;font:270 19.8px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.0972em;color:var(--ink);white-space:nowrap}
body header .brand .loading-wordmark strong{font-weight:700;letter-spacing:.018em}

footer .brand .footer-wordmark{display:inline-block;font:270 19.8px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.0972em;color:var(--ink);white-space:nowrap}footer .brand .footer-wordmark strong{font-weight:700;letter-spacing:.018em}

/* Contact heading uses the exact loading-screen wordmark proportions. */
body #contact .contact-wordmark{display:block;margin:0 0 1.35rem;font:270 clamp(29px,3.35vw,46px)/1.14 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.0972em;color:var(--ink);white-space:nowrap}
body #contact .contact-wordmark strong{font-weight:700;letter-spacing:.018em}
body .brand-word-gap{display:inline-block;width:.03em;overflow:hidden;line-height:0;letter-spacing:0;color:transparent;vertical-align:baseline}
body .brand-word-gap-ou{width:.18em}
body .brand-word-light{font-weight:270;letter-spacing:.0972em}
#site-loader>span{font:270 18px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.0972em;white-space:nowrap}
#site-loader>span strong{font-weight:700;letter-spacing:.018em}
.contact-facebook-wordmark{display:inline-block;font:270 16px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.0972em;color:inherit;text-decoration:none}
.contact-facebook-wordmark strong{font-weight:700;letter-spacing:.018em}
.contact-facebook-wordmark .facebook-arrow{font-size:.72em;letter-spacing:0;opacity:.75}
.footer-links>:not(:first-child){position:relative}
.footer-links>:not(:first-child)::before{content:"/";position:absolute;left:-23px;width:23px;text-align:center;color:#8c959e;pointer-events:none}
.footer-links{align-items:center}

.team-languages{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:10px 0 12px}.team-languages span{font-size:19px;line-height:1.2;letter-spacing:normal}

/* Keep each row's profile contact details aligned below variable-length copy. */
.team-card{display:flex;flex-direction:column}
.team-card>.team-photo-frame,.team-card>.portrait-placeholder{flex-shrink:0}
.team-card>.team-copy{display:flex;flex-direction:column;flex:1}
.team-card .team-role:empty{min-height:1.4em}
.team-card .team-contact{margin-top:auto}

/* Four compact profiles per desktop row; keep portrait crop square. */
.team-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.team-card>.team-photo-frame,.team-card>.portrait-placeholder{width:76%;aspect-ratio:1;margin:12px auto 0;border-radius:12px;overflow:hidden}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.team-grid{grid-template-columns:1fr}}

/* A quiet frosted portrait placeholder, with no missing-photo message. */
.team-card>.portrait-placeholder{display:flex;position:relative;background:radial-gradient(ellipse at 25% 15%,#e2e8ef20,transparent 70%),linear-gradient(145deg,#b4c0cf20,#72809312 55%,#26324130);border:1px solid #ffffff29;box-shadow:inset 0 1px 0 #ffffff30,inset 0 -12px 32px #00000012;backdrop-filter:blur(14px) saturate(.75);-webkit-backdrop-filter:blur(14px) saturate(.75)}
.team-card>.portrait-placeholder svg{width:54%;height:60%;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;opacity:.6;color:#d0d7df;filter:drop-shadow(0 1px 2px #0002)}

.team-card>.team-photo-frame,.team-card>.portrait-placeholder{width:68%;margin-top:10px}
.team-card>.team-copy{padding:12px 14px}
.team-email{display:flex;align-items:center;gap:6px;min-width:0}.team-email>a{min-width:0;overflow-wrap:anywhere}
.email-copy{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:5px;border:1px solid #ffffff20;border-radius:7px;background:#ffffff08;color:inherit;cursor:pointer;line-height:1}
.email-copy svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4}.email-copy:hover,.email-copy:focus-visible{background:#ffffff18;border-color:#ffffff50}
.team-contact>a,.team-contact>.team-phone{min-height:28px;display:flex;align-items:center}

/* Tighter profile copy without changing contact alignment or portrait cropping. */
.team-card>.team-copy{padding:10px 12px}
.team-card .team-copy h3{line-height:1.15;margin-bottom:4px}
.team-card .team-role{line-height:1.25;margin-bottom:5px}
.team-card .team-skills{line-height:1.25;margin-bottom:6px}
.team-card .team-skills p{line-height:1.25;margin:2px 0}
.team-card .team-languages{gap:6px;margin:6px 0 8px}
.team-card .team-contact{gap:2px;padding:7px 0 2px;line-height:1.25}

#layer1 .rotating-names li.mobile-name-slot{display:none}
@media(max-width:760px){#layer1 .rotating-names li.mobile-name-slot{display:flex}}

/* Theme control follows the language selector on all screen sizes. */
#theme-control .theme-moon{display:none}
html[data-theme="light"] #theme-control .theme-sun{display:none}
html[data-theme="light"] #theme-control .theme-moon{display:block}
html[data-theme="light"]{color-scheme:light;--bg:#edf0f2;--ink:#17202a;--muted:#535f6b;--line:#53617240}
html[data-theme="light"] body{color:#17202a;background:#edf0f2}
html[data-theme="light"] .veil{background:rgba(225,232,238,.12)}
html[data-theme="light"] #layer1>section{background:linear-gradient(125deg,#f9fbfce0,#e9eef1cd);border-color:#ffffffb0;box-shadow:inset 0 1px #fff,0 8px 30px #0002}
html[data-theme="light"] #layer1 h1,html[data-theme="light"] #layer1 h2,html[data-theme="light"] #layer1 h3,html[data-theme="light"] #layer1 .body,html[data-theme="light"] #layer1 .body p{color:#17202a;text-shadow:none}
html[data-theme="light"] #layer1 .rotating-names li,html[data-theme="light"] .name-entry{color:#25303c;text-shadow:none;border-color:#17202a25}
html[data-theme="light"] #layer1 .artists.rotating-names small,html[data-theme="light"] .team-role,html[data-theme="light"] .team-skills,html[data-theme="light"] .team-card .missing,html[data-theme="light"] #layer1 .production-card-copy p{color:#526170}
html[data-theme="light"] .team-card{background:linear-gradient(145deg,#ffffff60,#dbe3eb55);border-color:#5e6e7e35;box-shadow:inset 0 1px #fff8,0 8px 20px #0001}
html[data-theme="light"] .team-card>.portrait-placeholder{background:linear-gradient(145deg,#fff8,#b8c8d338);border-color:#5e6e7e30}
html[data-theme="light"] .team-card>.portrait-placeholder svg{color:#536575}
html[data-theme="light"] .team-contact{border-color:#53617235;color:#243444}
html[data-theme="light"] .email-copy{border-color:#53617240;background:#fff4}
html[data-theme="light"] .contacts div{border-color:#53617235}
html[data-theme="light"] #layer1 #contact .contacts,html[data-theme="light"] #layer1 #contact .contacts dt,html[data-theme="light"] #layer1 #contact .contacts dd,html[data-theme="light"] #layer1 #contact .contacts a{color:#17202a;text-shadow:none}
html[data-theme="light"] .dock,html[data-theme="light"] .dock .language-menu nav{background:linear-gradient(145deg,#ffffffd9,#e5ebf0e8);border-color:#fff9;box-shadow:inset 0 1px #fff,0 12px 35px #0002;color:#263544}
html[data-theme="light"] .dock-item,html[data-theme="light"] .dock-brand{color:#263544}
html[data-theme="light"] .dock-item:hover,html[data-theme="light"] .dock-item[aria-current]{background:#53617220}
html[data-theme="light"] .dock-divider{background:#53617230}
html[data-theme="light"] .dock-label{background:#edf1f5f5;color:#263544;border-color:#53617230}
html[data-theme="light"] footer{background:#edf1f5eb;color:#263544;border-color:#53617235}
html[data-theme="light"] footer p,html[data-theme="light"] footer small,html[data-theme="light"] .footer-links{color:#435362}
html[data-theme="light"] #layer1 .production-card{border-color:#53617250}
html[data-theme="light"] #layer1 .production-card::after{background:linear-gradient(150deg,#ffffff90,#dae3ebc0)}
html[data-theme="light"] #layer1 .production-card-copy h3{color:#17202a}
html[data-theme="light"] #inquiry-dialog{color:#17202a;background:#edf1f5f7}
html[data-theme="light"] .inquiry-fields label,html[data-theme="light"] .inquiry-note,html[data-theme="light"] #inquiry-status{color:#435362}
html[data-theme="light"] .inquiry-fields input,html[data-theme="light"] .inquiry-fields textarea{color-scheme:light;color:#17202a;background:#ffffff90;border-color:#53617240}

@media(min-width:761px){.dock #theme-control{display:none}}

/* Compact mobile contacts and let more of the photographs through light glass. */
@media(max-width:760px){
 .team-card .team-contact{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:8px}
 .team-card .team-contact>a,.team-card .team-phone{white-space:nowrap}
 .team-card .team-email{justify-content:flex-end;text-align:right;gap:4px}
 #layer1>#contact{padding-top:19px;padding-bottom:19px}
 body #contact .contact-wordmark{margin-bottom:.9rem}
 #layer1 #contact .contacts{margin-top:16px;margin-bottom:11px}
 #layer1 #contact .contacts div{padding:12px 0;gap:5px}
 #contact .contacts dt{padding-top:4px}
 #contact>.inquiry-button{margin-top:16px}
 html[data-theme="light"] #layer1>section{background:linear-gradient(125deg,#f9fbfca8,#e9eef18f)}
}

/* Give the opening photograph more room before the mobile introduction. */
@media(max-width:760px){#layer1>#hero{margin-top:190px}}

/* Dark contact text needs no shadow against light glass. */
html[data-theme="light"] #layer1 .contacts{ text-shadow:none; }

/* Header fading is limited to individual mobile panels below. */
#layer1{-webkit-mask-image:none;mask-image:none}

/* A subtle light halo keeps dark light-mode branding readable over photos. */
html[data-theme="light"] body header .brand .loading-wordmark{color:#17202a;text-shadow:0 0 2px #ffffffe6,0 0 4px #ffffff99}

/* Compact company details on phones: label and value share each row. */
@media(max-width:760px){
 #layer1 #contact .contacts{margin-top:10px;margin-bottom:8px}
 #layer1 #contact .contacts div{grid-template-columns:80px minmax(0,1fr);align-items:baseline;column-gap:10px;row-gap:0;padding:7px 0}
 #layer1 #contact .contacts dt{padding-top:0;line-height:1.3}
 #layer1 #contact .contacts dd{font-size:15px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
 #layer1 #contact .contact-facebook-wordmark{font-size:15px;line-height:1.3}
 body #contact .contact-wordmark{margin-bottom:.65rem}
 #contact>.inquiry-button{margin-top:10px}
}

/* Leave a photograph-only breathing space between contacts and the footer. */
#layer1>#contact{margin-bottom:clamp(160px,24svh,280px)}

/* Mobile language choices open upward as a complete vertical list. */
@media(max-width:760px){
 .dock .language-menu nav{display:flex;flex-direction:column;left:50%;right:auto;top:auto;bottom:calc(100% + 16px);transform:translateX(-50%);width:max-content;max-width:none;max-height:none;overflow:visible;gap:3px}
 .dock .language-menu nav a{flex:0 0 auto;width:42px;height:42px}
}

/* Mobile header fade stays local to the panel crossing the top edge. */
@media(max-width:760px){
 #layer1{-webkit-mask-image:none;mask-image:none}
 #layer1>section.top-edge-fading{
  -webkit-mask-image:linear-gradient(to bottom,transparent var(--panel-fade-edge),#000 calc(var(--panel-fade-edge) + 64px));
  mask-image:linear-gradient(to bottom,transparent var(--panel-fade-edge),#000 calc(var(--panel-fade-edge) + 64px));
 }
}

/* Embedded flag drawings avoid platform-dependent emoji lettering. */
.dock .language-menu summary>span,.dock .language-menu nav a>span{display:inline-block;width:27px;height:18px;flex:0 0 27px;font-size:0;line-height:0;vertical-align:middle;background-size:100% 100%;background-repeat:no-repeat;border-radius:2px;box-shadow:0 0 0 1px #ffffff30}
html[lang="en"] .dock .language-menu summary>span,.dock .language-menu nav a[lang="en"]>span{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2020%22%3E%3Cpath%20fill%3D%22%23012169%22%20d%3D%22M0%200h30v20H0z%22%2F%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-width%3D%225%22%20d%3D%22m0%200%2030%2020M30%200%200%2020%22%2F%3E%3Cpath%20stroke%3D%22%23c8102e%22%20stroke-width%3D%222%22%20d%3D%22m0%200%2030%2020M30%200%200%2020%22%2F%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-width%3D%227%22%20d%3D%22M15%200v20M0%2010h30%22%2F%3E%3Cpath%20stroke%3D%22%23c8102e%22%20stroke-width%3D%224%22%20d%3D%22M15%200v20M0%2010h30%22%2F%3E%3C%2Fsvg%3E")}
html[lang="et"] .dock .language-menu summary>span,.dock .language-menu nav a[lang="et"]>span{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2020%22%3E%3Cpath%20fill%3D%22%234891d9%22%20d%3D%22M0%200h30v7H0z%22%2F%3E%3Cpath%20d%3D%22M0%207h30v6H0z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%2013h30v7H0z%22%2F%3E%3C%2Fsvg%3E")}
html[lang="ru"] .dock .language-menu summary>span,.dock .language-menu nav a[lang="ru"]>span{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2020%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h30v7H0z%22%2F%3E%3Cpath%20fill%3D%22%230039a6%22%20d%3D%22M0%207h30v6H0z%22%2F%3E%3Cpath%20fill%3D%22%23d52b1e%22%20d%3D%22M0%2013h30v7H0z%22%2F%3E%3C%2Fsvg%3E")}
html[lang="fi"] .dock .language-menu summary>span,.dock .language-menu nav a[lang="fi"]>span{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2020%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h30v20H0z%22%2F%3E%3Cpath%20stroke%3D%22%23003580%22%20stroke-width%3D%225%22%20d%3D%22M10%200v20M0%2010h30%22%2F%3E%3C%2Fsvg%3E")}
html[lang="lv"] .dock .language-menu summary>span,.dock .language-menu nav a[lang="lv"]>span{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2020%22%3E%3Cpath%20fill%3D%22%239e1b34%22%20d%3D%22M0%200h30v20H0z%22%2F%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%208h30v4H0z%22%2F%3E%3C%2Fsvg%3E")}
html[lang="lt"] .dock .language-menu summary>span,.dock .language-menu nav a[lang="lt"]>span{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2030%2020%22%3E%3Cpath%20fill%3D%22%23fdb913%22%20d%3D%22M0%200h30v7H0z%22%2F%3E%3Cpath%20fill%3D%22%23006a44%22%20d%3D%22M0%207h30v6H0z%22%2F%3E%3Cpath%20fill%3D%22%23c1272d%22%20d%3D%22M0%2013h30v7H0z%22%2F%3E%3C%2Fsvg%3E")}

/* Desktop loading feedback runs in CSS before any photo scripts finish. */
@media(any-hover:hover) and (any-pointer:fine){
 html:not(.motion-enabled) .loading-orbit,html.motion-enabled .loading-orbit{animation:orbit-turn 1.8s linear infinite}
}

/* Shared horizontal anchor: the footer follows the unchanged desktop dock. */
:root{--dock-left:24px;--dock-width:68px;font-size:17.6px}
@media(min-width:761px){
 .dock{left:var(--dock-left);width:var(--dock-width);border-radius:24px}
 header{padding-left:var(--dock-left)}
 footer{padding-left:calc(var(--dock-left) + var(--dock-width)/2)}
}
@media(min-width:2601px){:root{--dock-left:calc(24px + (100vw - 2600px)/2)}}

/* Ten percent larger copy and panels; leave camera and crop geometry unscaled. */
#layer1{max-width:1584px}
#layer1>section{padding:52.8px 59.4px;border-radius:30.8px}
#layer1>#hero{padding:63.8px 59.4px 41.8px}
#hero h1{font-size:clamp(37.4px,4.84vw,68.2px);max-width:1045px}
#layer1 h2{font-size:clamp(33px,3.685vw,50.6px);max-width:935px}
#layer1 .body{font-size:17.6px;max-width:770px}
#hero .scroll-link{font-size:11px}.scroll-link span{font-size:27.5px}
#hero .hero-note{font-size:11px}.background-note{font-size:9.9px}
.production-card-placeholder span{font-size:11px}.missing{font-size:15.4px}
#layer1 .rotating-names li{font-size:18.7px}
#layer1 .products.rotating-names li{font-size:19.8px}
#layer1 dt{font-size:12.1px}#layer1 dd{font-size:18.7px}
.team-copy h3{font-size:19.8px}
.team-role,.team-skills{font-size:13.2px}
.team-contact,.team-card .missing{font-size:12.1px}
.team-card>.team-copy{padding:11px 13.2px}
.team-languages span{font-size:20.9px}
.production-card-copy{min-height:83.6px;padding:12.1px 7.7px 11px}
#layer1 .production-card-copy h3{font-size:clamp(14.3px,1.155vw,17.6px)}
#layer1 .production-card-copy p{font-size:12.1px}
body header .brand .loading-wordmark,footer .brand .footer-wordmark{font-size:21.78px}
body #contact .contact-wordmark{font-size:clamp(31.9px,3.685vw,50.6px)}
#site-loader>span{font-size:19.8px}
.contact-facebook-wordmark{font-size:17.6px}
footer p{font-size:15.4px}.footer-links{font-size:12.1px}footer>small{font-size:11px}
.dock-label{font-size:12.1px}
.inquiry-button{font-size:13.2px;padding:13.2px 19.8px}
#inquiry-dialog{width:min(715px,calc(100% - 32px));padding:39.6px}
#inquiry-dialog h2{font-size:33px}
.inquiry-fields label,.inquiry-fields .date-field>label,.inquiry-note,#inquiry-status{font-size:13.2px}
.inquiry-fields small,.calendar-weekdays{font-size:11px}
.inquiry-fields input,.inquiry-fields textarea{font-size:15.4px}
.calendar-days button{font-size:13.2px}
@media(max-width:1100px){
 #layer1>section{padding:41.8px 39.6px}
 #layer1>#hero{padding:46.2px 39.6px 35.2px}
}
@media(max-width:760px){
 #layer1>section,#layer1>#hero{padding:30.8px 26.4px;border-radius:24.2px}
 #hero h1{font-size:clamp(31.9px,8.58vw,44px)}
 #layer1 h2{font-size:31.9px}
 #layer1 .body{font-size:16.5px}
 #hero .hero-note,.background-note{font-size:8.8px}
 #layer1 .artists.rotating-names li,#layer1 .productions.rotating-names li,#layer1 .products.rotating-names li{font-size:15.4px}
 #layer1 #contact .contacts dd,#layer1 #contact .contact-facebook-wordmark{font-size:16.5px}
 #layer1>#contact{padding-top:20.9px;padding-bottom:20.9px}
 #inquiry-dialog{padding:33px 24.2px}
 .team-copy h3{font-size:19.8px}
}
@media(max-width:480px){
 #layer1 .production-card-copy{min-height:72.6px;padding:8.8px 5.5px}
 #layer1 .production-card-copy h3{font-size:13.2px}
}

/* Short contact labels keep the compact mobile column on one line. */
#contact .contact-label-mobile{display:none}
@media(max-width:760px){
 #contact .contact-label-full{display:none}
 #contact .contact-label-mobile{display:inline}
}

/* Translations fade only copy; the glass, portraits and photo camera keep running. */
.language-copy{transition:opacity 180ms ease}
body.is-changing-language{overflow-anchor:none}
body.is-changing-language .language-copy{opacity:0}
.language-status:empty{display:none}
.language-status{position:absolute;left:calc(100% + 14px);bottom:0;width:230px;padding:12px 15px;border:1px solid #ffffff30;border-radius:12px;background:#1a222bf5;color:#edf0f5;font-size:12px;line-height:1.4;box-shadow:0 8px 24px #0005}
@media(max-width:760px){.language-status{left:auto;right:0;bottom:calc(100% + 14px);max-width:calc(100vw - 32px)}}
@media(prefers-reduced-motion:reduce){html:not(.motion-enabled) .language-copy{transition:none}}
