/* uMAGZ source accent #b300cc, lightened for readable text on charcoal. */
:root{--accent:#cf5edf;--yellow:var(--accent)}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans.ttf') format('truetype');font-weight:400;font-display:swap}
.site-header{position:relative}.site-header .site-logo img{height:61.7px;max-width:145px}.page-controls{display:flex;align-items:center;gap:24px;font:14px var(--bungee)}.page-controls a,.page-controls>.disabled{display:flex;align-items:center;gap:12px;min-height:48px;border-bottom:2px solid var(--yellow)}.page-controls a:hover{color:var(--yellow)}.page-controls .disabled{opacity:.28;border-color:transparent}.page-number{color:var(--yellow);font:14px var(--body);font-variant-numeric:tabular-nums}.film{height:calc(100svh - 112px);min-height:360px;position:relative;overflow:hidden;background:#171717}.film video{position:absolute;width:100%;height:100%;object-fit:cover}.film lottie-player{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.video-toggle{position:absolute;left:32px;bottom:28px;color:white;background:#24242388;border:1px solid #ffffff80;border-radius:4px;padding:10px 15px;font:14px var(--body);cursor:pointer}.editorial{padding:115px 0 120px;scroll-margin-top:30px}.editorial h1{font:clamp(42px,6.4vw,90px)/1.03 var(--bungee);letter-spacing:-.035em;max-width:1100px;margin:30px 0 80px}.copy-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-left:20%}.copy-columns h2{font:clamp(25px,2.8vw,36px)/1.1 var(--bungee);color:var(--yellow);margin:0 0 26px}.copy-columns p{font-size:18px;line-height:1.75;margin:0}.copy-columns a{text-decoration:underline;text-underline-offset:5px}.next-spread{border-top:1px solid #65665f;padding:45px 0 65px;display:flex;justify-content:space-between;gap:35px;align-items:center}.next-spread>span{font:14px var(--body);white-space:nowrap;color:#aeb0a7}.next-spread a{font:clamp(20px,3vw,38px)/1.2 var(--bungee);color:var(--yellow);text-align:right}.programme a{display:grid;grid-template-columns:190px 1fr 30px;gap:40px;padding:35px 0;border-top:1px solid #65665f;align-items:center}.programme img{width:190px;aspect-ratio:4/3;object-fit:cover}.programme h2{font:clamp(22px,3vw,38px)/1.15 var(--bungee);margin:10px 0}.programme p{line-height:1.6}.programme a:hover h2{color:var(--yellow)}.archive-label{margin:-40px 0 50px;color:#c3c4bb}.performance{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;padding:70px 0 100px}.performance-image img{width:100%;display:block}.performance h1{font:clamp(32px,4.2vw,58px)/1.05 var(--bungee);margin:24px 0}.performance .subtitle{font-size:21px;line-height:1.4;color:var(--yellow)}.body-copy{font-size:18px;line-height:1.75}.performance-meta{font-size:16px;line-height:1.7;border-top:1px solid #65665f;margin-top:30px;padding-top:25px}.text-link{display:inline-block;font:14px var(--bungee);color:var(--yellow);border-bottom:2px solid;padding:8px 0}.contact-page{min-height:70vh}#page-content{outline:none;transition:opacity .22s ease,transform .3s cubic-bezier(.2,.7,.2,1)}body.leaving #page-content{opacity:0;transform:translateX(var(--shift, -24px))}body.entering #page-content{animation:page-in .45s cubic-bezier(.2,.7,.2,1)}@keyframes page-in{from{opacity:0;transform:translateX(var(--entry,24px))}}:focus-visible{outline:2px solid var(--yellow);outline-offset:6px}.linkt-footer .footer-copyright{font-size:12px}
@media(max-width:800px){.site-header .site-logo img{height:49px;max-width:105px}.page-controls{gap:15px;font-size:12px}.page-controls a,.page-controls>.disabled{gap:6px}.film{height:calc(100svh - 88px)}.editorial{padding:75px 0}.editorial h1{font-size:clamp(37px,9vw,65px);margin-bottom:45px}.copy-columns{margin-left:0;grid-template-columns:1fr;gap:45px}.performance{grid-template-columns:1fr;gap:32px;padding-top:32px}.performance-image img{max-height:55svh;object-fit:contain}.programme a{grid-template-columns:90px 1fr;gap:20px}.programme img{width:90px}.programme a>span{display:none}.programme .overline{font-size:12px}.programme h2{font-size:23px}.archive-label{margin:0 0 35px}.video-toggle{left:18px;bottom:24px}.next-spread{padding:32px 0 45px}}@media(max-width:420px){.page-controls a span,.page-controls>.disabled span{display:none}.page-controls a,.page-controls>.disabled{font-size:26px;min-width:38px;justify-content:center}.page-controls{gap:13px}}@media(prefers-reduced-motion:reduce){#page-content{transition:none}}

.site-contact-title .contact-question,.site-contact-title .contact-keep{font-size:1em}
@media(min-width:801px){.site-contact-title .contact-keep{white-space:nowrap}}

/* Shared portfolio referral and compact navigation beside the logo. */
.brand-navigation{display:flex;align-items:center;gap:24px}.home-navigation{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.home-navigation>a:first-child{font:14px/1 var(--bungee);color:var(--accent)}.home-navigation .portfolio-nav-link{font:500 10px/1 var(--body);letter-spacing:.14em;padding:3px 0}.home-navigation a:hover{color:var(--white)}.umagz-portfolio{background:var(--cream);color:var(--charcoal);scroll-margin-top:32px}.umagz-portfolio .overline{color:var(--charcoal)}.umagz-portfolio a:hover{color:#843093}
@media(max-width:800px){.brand-navigation{gap:14px}.home-navigation>a:first-child{font-size:12px}.site-header{gap:16px}.page-controls a span,.page-controls>.disabled span{display:none}.page-controls a,.page-controls>.disabled{font-size:24px;min-width:32px;justify-content:center}.page-controls{gap:10px}.site-header .site-logo img{max-width:85px;height:auto}}

/* Fixed demo marker; Linkt yellow is deliberate and independent of uMAGZ pink. */
.demo-badge{position:fixed;z-index:30;right:36px;top:50%;transform:translateY(-50%) rotate(-10deg);width:180px;height:180px;border-radius:50%;background:#f7cc57;color:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;box-shadow:0 5px 24px #0002;pointer-events:none;font:14px/1.3 var(--bungee)}
.demo-badge strong{font:26px/1.1 var(--bungee);margin-bottom:10px}.demo-badge span{display:block;max-width:140px}
@media(max-width:800px){.demo-badge{width:140px;height:140px;right:20px;padding:17px;font-size:12px}.demo-badge strong{font-size:22px;margin-bottom:6px}}

.portfolio-referral .portfolio-intro{font:400 18px/1.65 var(--body);max-width:none;margin:24px 0 0}
