@font-face{font-family:'Poppins';src:url('../assets/fonts/Poppins-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Inter';src:url('../assets/fonts/Inter-Variable.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
/* Coordinates follow the two supplied reference canvases independently.
   One unit equals one reference pixel: desktop 336 wide, mobile 165 wide. */
:root{--bg:#000;--fg:#fff;--accent:#ffe15a;--u:calc(min(100vw,1440px)/336)}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:'Inter',Arial,Helvetica,sans-serif;font-weight:400}main{width:min(100%,1440px);margin:auto;overflow:clip}img,video{display:block;width:100%;height:100%}a{color:inherit}h1,h2,h3,p{margin:0}.section{position:relative;width:100%}h1,h2,h3{font-family:'Poppins',Arial,Helvetica,sans-serif;font-weight:800;letter-spacing:-.085em;line-height:.86}h1,h2{text-transform:uppercase}.accent-mark{background:linear-gradient(to bottom,var(--accent) 0 24%,white 24%);background-clip:text;-webkit-background-clip:text;color:transparent}.micro-nav{display:flex;gap:calc(7*var(--u));font-size:calc(4.5*var(--u));line-height:1.4;flex-wrap:wrap}.micro-nav a{text-underline-offset:2px}.micro-nav a:focus-visible,[data-carousel]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.hero{height:calc(230*var(--u))}.hero-copy{position:absolute;inset:calc(39*var(--u)) auto auto calc(7*var(--u));z-index:2}.hero h1{font-size:calc(47*var(--u));line-height:.85;letter-spacing:-.085em}.hero h1>span{display:block;width:max-content;transform:scaleX(.94);transform-origin:left}.portfolio-tag{color:var(--accent);font-family:'Poppins',Arial,sans-serif;font-weight:800;font-size:calc(21*var(--u));letter-spacing:-.09em;line-height:.9;text-transform:lowercase;width:calc(194*var(--u));text-align:right;margin-top:calc(-1*var(--u))}.hero-subtitle{font-size:calc(11*var(--u));letter-spacing:-.055em;margin:calc(6*var(--u)) 0 calc(4*var(--u)) calc(7*var(--u))}.hero .micro-nav{margin-left:calc(8*var(--u))}.hero-photo{position:absolute;right:0;top:calc(12*var(--u));width:calc(195*var(--u));height:calc(156*var(--u));object-fit:contain}
.about{height:calc(210*var(--u))}.about-character{position:absolute;left:calc(-13*var(--u));top:calc(-4*var(--u));width:calc(143*var(--u));height:calc(192*var(--u));object-fit:contain}.about-copy h2{position:absolute;left:calc(77*var(--u));top:calc(8*var(--u));font-size:calc(37*var(--u));text-transform:none;line-height:.84;letter-spacing:-.08em;z-index:2}.about-copy h2>span{font-size:calc(23*var(--u));letter-spacing:-.075em}.about-copy h2 b{color:var(--accent);font-weight:inherit}.about-copy p{position:absolute;left:calc(198*var(--u));top:calc(29*var(--u));width:calc(96*var(--u));font-size:calc(4.4*var(--u));line-height:1.2}.logo-strip{position:absolute;left:calc(114*var(--u));top:calc(92*var(--u));width:calc(179*var(--u));height:calc(85*var(--u))}
.experience{height:calc(185*var(--u))}.text-block{position:absolute;left:calc(21*var(--u));top:calc(19*var(--u));width:calc(151*var(--u))}.experience h2{font-size:calc(24.2*var(--u));line-height:.87}.text-block p{font-size:calc(4.8*var(--u));line-height:1.22;margin-top:calc(7*var(--u));text-align:justify}.carousel.large{position:absolute;left:calc(191*var(--u));top:calc(19*var(--u));width:calc(115*var(--u));height:calc(115*var(--u))}
.events{height:calc(335*var(--u))}.events-title{position:absolute;left:calc(23*var(--u));top:calc(24*var(--u))}.events h2{font-size:calc(25.5*var(--u));line-height:.82}.events-video{position:absolute;left:calc(23*var(--u));top:calc(65*var(--u));width:calc(168*var(--u));height:calc(87*var(--u))}.events-copy{position:absolute;left:calc(199*var(--u));top:calc(27*var(--u));width:calc(111*var(--u))}.events-copy p{font-size:calc(4.6*var(--u));line-height:1.18;margin-bottom:calc(5*var(--u))}.events-copy h3{font-size:calc(8.5*var(--u));letter-spacing:-.065em;margin:calc(6*var(--u)) 0 calc(3*var(--u))}.events-carousel{position:absolute;left:calc(79*var(--u));top:calc(178*var(--u));width:calc(166*var(--u));height:calc(114*var(--u))}
.tv{height:calc(160*var(--u))}.tv h2{position:absolute;right:calc(17*var(--u));top:calc(17*var(--u));font-size:calc(25*var(--u));line-height:.8;text-align:right;z-index:2}.tv h2 span{color:var(--accent);letter-spacing:-.2em}.tv-video{position:absolute}.tv-video-1{left:calc(16*var(--u));top:calc(43*var(--u));width:calc(159*var(--u));height:calc(77*var(--u))}.tv-video-2{left:calc(185*var(--u));top:calc(66*var(--u));width:calc(67*var(--u));height:calc(46*var(--u))}.tv-copy{position:absolute;left:calc(254*var(--u));top:calc(101*var(--u));width:calc(65*var(--u));font-size:calc(4.5*var(--u));line-height:1.15}
.design{height:calc(195*var(--u))}.design h2{position:absolute;left:calc(5*var(--u));top:calc(19*var(--u));font-size:calc(34*var(--u));z-index:2}.design-character{position:absolute;left:calc(68*var(--u));top:calc(8*var(--u));width:calc(111*var(--u));height:calc(149*var(--u));object-fit:contain}.design-carousel{position:absolute;left:calc(162*var(--u));top:calc(15*var(--u));width:calc(165*var(--u));height:calc(140*var(--u))}
.ai{height:calc(415*var(--u))}.ai-heading{position:absolute;inset:0}.ai-heading h2{position:absolute;right:calc(11*var(--u));top:calc(23*var(--u));font-size:calc(34.3*var(--u));line-height:.87;text-align:right;z-index:2}.ai-portrait{position:absolute;left:calc(97*var(--u));top:calc(24*var(--u));width:calc(65*var(--u));height:calc(89*var(--u));object-fit:cover}.ai-icon{position:absolute;object-fit:contain}.ai-icon-2{left:calc(14*var(--u));top:calc(53*var(--u));width:calc(42*var(--u));height:calc(42*var(--u))}.ai-icon-3{left:calc(40*var(--u));top:calc(36*var(--u));width:calc(33*var(--u));height:calc(33*var(--u))}.ai-icon-4{left:calc(51*var(--u));top:calc(63*var(--u));width:calc(45*var(--u));height:calc(39*var(--u))}.ai-video-grid{position:absolute;left:calc(24*var(--u));top:calc(119*var(--u));display:grid;grid-template-columns:repeat(4,calc(60*var(--u)));gap:calc(15*var(--u))}.ai-video-grid .media-card{height:calc(116*var(--u))}.ai-carousel{position:absolute;left:calc(107*var(--u));top:calc(258*var(--u));width:calc(115*var(--u));height:calc(115*var(--u))}
.outro{height:calc(317*var(--u))}.outro>div{position:absolute;left:calc(31*var(--u));top:calc(41*var(--u));z-index:2}.outro h2{font-size:calc(53*var(--u));letter-spacing:-.085em}.outro h2 span{color:var(--accent)}.outro h3{font-size:calc(22*var(--u));margin:calc(7*var(--u)) 0 calc(9*var(--u)) calc(7*var(--u));letter-spacing:-.085em}.outro .micro-nav{margin-left:calc(10*var(--u))}.outro-character{position:absolute;left:calc(235*var(--u));top:calc(20*var(--u));width:calc(78*var(--u));height:calc(140*var(--u));object-fit:contain}
/* Media is supplied artwork, never the reference's gray DEV markers. */
.media-card{overflow:hidden;background:#000}.carousel-track{display:flex;width:100%;height:100%;transition:transform .5s ease}.carousel-slide{flex:0 0 100%;height:100%;min-width:0}.carousel-slide img{object-fit:cover}.logo-strip .carousel-slide img{object-fit:contain}.design-carousel .carousel-slide img,.ai-carousel .carousel-slide img{object-fit:contain}.video-card video{object-fit:cover}.tv-video video{object-fit:contain}.carousel,[data-carousel]{touch-action:pan-y}
@media(max-width:720px){
:root{--u:calc(100vw/165)}
.hero{height:calc(255*var(--u))}.hero-photo{top:calc(4*var(--u));left:0;width:calc(165*var(--u));height:calc(132*var(--u));object-fit:cover}.hero-copy{left:calc(4*var(--u));top:calc(119*var(--u));width:calc(157*var(--u))}.hero h1{font-size:calc(38*var(--u));line-height:.87}.hero h1>span{transform:scaleX(.94)}.portfolio-tag{font-size:calc(24*var(--u));width:calc(155*var(--u));margin-top:calc(-2*var(--u))}.hero-subtitle{font-size:calc(9*var(--u));letter-spacing:-.06em;margin:calc(8*var(--u)) 0 calc(5*var(--u)) calc(3*var(--u));white-space:nowrap}.hero .micro-nav{font-size:calc(4.2*var(--u));gap:calc(4.3*var(--u));justify-content:center;margin:0}
.about{height:calc(220*var(--u))}.about-character{left:calc(-13*var(--u));top:calc(-3*var(--u));width:calc(90*var(--u));height:calc(126*var(--u))}.about-copy h2{left:calc(46*var(--u));top:calc(8*var(--u));font-size:calc(29*var(--u));line-height:.87}.about-copy h2>span{font-size:calc(18*var(--u))}.about-copy p{left:calc(51*var(--u));top:calc(61*var(--u));width:calc(83*var(--u));font-size:calc(5.2*var(--u));line-height:1.25}.logo-strip{left:calc(12*var(--u));top:calc(132*var(--u));width:calc(140*var(--u));height:calc(50*var(--u))}
.experience{height:calc(250*var(--u))}.text-block{left:calc(25*var(--u));top:calc(9*var(--u));width:calc(119*var(--u))}.experience h2{font-size:calc(18.7*var(--u));line-height:.88}.text-block p{font-size:calc(5.6*var(--u));line-height:1.18;margin-top:calc(7*var(--u))}.carousel.large{left:calc(31*var(--u));top:calc(154*var(--u));width:calc(93*var(--u));height:calc(94*var(--u))}
.events{height:calc(442*var(--u))}.events-title{left:calc(17*var(--u));top:calc(12*var(--u))}.events h2{font-size:calc(20*var(--u));line-height:.82}.events-video{left:calc(17*var(--u));top:calc(102*var(--u));width:calc(134*var(--u));height:calc(70*var(--u))}.events-copy{display:contents}.events-copy p,.events-copy h3{position:absolute;margin:0}.events-copy p{left:calc(18*var(--u));width:calc(131*var(--u));font-size:calc(5.8*var(--u));line-height:1.2}.events-copy>p:first-child{top:calc(59*var(--u))}.events-copy h3{left:calc(27*var(--u));font-size:calc(12*var(--u));top:calc(189*var(--u))}.events-copy h3+p{top:calc(205*var(--u));left:calc(23*var(--u));width:calc(123*var(--u))}.events-copy h3:nth-of-type(2){top:calc(241*var(--u))}.events-copy h3:nth-of-type(2)+p{top:calc(257*var(--u))}.events-carousel{left:calc(31*var(--u));top:calc(321*var(--u));width:calc(108*var(--u));height:calc(107*var(--u))}
.tv{height:calc(188*var(--u))}.tv h2{right:calc(8*var(--u));top:calc(11*var(--u));font-size:calc(20*var(--u));line-height:.8}.tv-video-1{left:calc(8*var(--u));top:calc(47*var(--u));width:calc(128*var(--u));height:calc(62*var(--u))}.tv-video-2{left:calc(83*var(--u));top:calc(121*var(--u));width:calc(53*var(--u));height:calc(37*var(--u))}.tv-copy{left:calc(20*var(--u));top:calc(126*var(--u));width:calc(55*var(--u));font-size:calc(4.1*var(--u))}
.design{height:calc(148*var(--u))}.design h2{left:calc(16*var(--u));top:calc(11*var(--u));font-size:calc(28*var(--u))}.design-character{left:calc(15*var(--u));top:calc(48*var(--u));width:calc(67*var(--u));height:calc(90*var(--u))}.design-carousel{left:calc(73*var(--u));top:calc(44*var(--u));width:calc(80*var(--u));height:calc(79*var(--u))}
.ai{height:calc(221*var(--u))}.ai-heading h2{right:calc(2*var(--u));top:calc(9*var(--u));font-size:calc(19.6*var(--u));line-height:.86}.ai-portrait{left:calc(51*var(--u));top:calc(26*var(--u));width:calc(18*var(--u));height:calc(23*var(--u))}.ai-icon-2{left:calc(7*var(--u));top:calc(18*var(--u));width:calc(19*var(--u));height:calc(19*var(--u))}.ai-icon-3{left:calc(20*var(--u));top:calc(10*var(--u));width:calc(15*var(--u));height:calc(15*var(--u))}.ai-icon-4{left:calc(24*var(--u));top:calc(26*var(--u));width:calc(22*var(--u));height:calc(17*var(--u))}.ai-video-grid{left:calc(6*var(--u));top:calc(47*var(--u));grid-template-columns:repeat(4,calc(33*var(--u)));gap:calc(8*var(--u))}.ai-video-grid .media-card{height:calc(65*var(--u))}.ai-carousel{left:calc(41*var(--u));top:calc(127*var(--u));width:calc(82*var(--u));height:calc(82*var(--u))}
.outro{height:calc(324*var(--u))}.outro>div{left:calc(1*var(--u));top:calc(19*var(--u))}.outro h2{font-size:calc(32*var(--u))}.outro h3{font-size:calc(13.3*var(--u));margin:calc(5*var(--u)) 0 calc(7*var(--u)) calc(9*var(--u))}.outro .micro-nav{font-size:calc(3.6*var(--u));gap:calc(4*var(--u));margin-left:calc(11*var(--u))}.outro-character{left:calc(127*var(--u));top:calc(15*var(--u));width:calc(40*var(--u));height:calc(85*var(--u))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.carousel-track{transition:none}}
/* Poppins metrics are tuned independently from the previous system-font layout. */
h1,h2,h3{letter-spacing:-.075em;font-synthesis:none}
.hero h1>span{transform:none}
.hero h1>span:first-child{font-size:calc(47*var(--u));line-height:.79}
.hero h1>span:last-child{font-size:calc(54*var(--u));line-height:.80}
.portfolio-tag{font-size:calc(20*var(--u));letter-spacing:-.075em}
.hero-subtitle{font-size:calc(10.4*var(--u));letter-spacing:-.065em}
.about-copy h2>span{display:block;line-height:1}
.about-copy h2 br{display:none}
.experience h2,.events h2,.design h2{width:max-content}
.ai-carousel .carousel-slide img{object-fit:cover}
.tv h2 .accent-mark{color:transparent;letter-spacing:inherit}
.contact-info{display:flex;align-items:baseline;gap:calc(11*var(--u));font-size:calc(4.5*var(--u));font-style:normal;font-weight:400;line-height:1.4;letter-spacing:-.045em;white-space:nowrap}
.contact-line{display:flex;align-items:baseline;gap:calc(8*var(--u))}
.contact-label,.contact-info a{text-decoration:underline;text-underline-offset:.16em}
.contact-phone{text-decoration:none!important}
.hero .contact-info{margin-left:calc(8*var(--u))}
.contact-info a:focus-visible,.logo-strip:focus-visible{outline:2px solid var(--accent);outline-offset:4px}

/* ABOUT is native horizontal overflow, not a full-width slide track. */
.logo-strip{top:calc(101*var(--u));height:calc(55*var(--u));overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;cursor:grab}
.logo-strip::-webkit-scrollbar{display:none}
.logo-track{display:flex;align-items:center;gap:calc(6*var(--u));width:100%;height:100%}
.logo-item{flex:0 0 calc(45*var(--u));height:100%;min-width:0;display:flex;align-items:center}
.logo-item img{object-fit:contain;user-select:none;-webkit-user-drag:none}
.carousel{cursor:grab;user-select:none;touch-action:pan-y}
.carousel.is-dragging,.logo-strip.is-dragging{cursor:grabbing}
.carousel.is-dragging .carousel-track{transition:none}
.carousel-slide img{user-select:none;-webkit-user-drag:none}

/* Share an anchor so the character rests on the visible artwork edge. */
.design-composition{position:absolute;left:calc(68*var(--u));top:calc(8*var(--u));width:calc(259*var(--u));height:calc(149*var(--u))}
.design-character{left:0;top:0;width:calc(111*var(--u));height:calc(149*var(--u));z-index:2;pointer-events:none}
.design-carousel{left:calc(94*var(--u));top:calc(7*var(--u));width:calc(165*var(--u));height:calc(140*var(--u))}
/* Preserve the complete supplied DESIGN canvas and its rounded artwork edges. */
.design-carousel .carousel-slide{overflow:hidden}
.design-carousel .carousel-slide img{object-fit:contain}

/* The actual Poppins full stop stays on the word's baseline. */
.outro{height:calc(200*var(--u))}
.outro h2{position:relative;width:max-content;font-size:calc(53*var(--u));letter-spacing:-.075em;z-index:2}
.outro h2>span{color:var(--accent);letter-spacing:0;margin-left:-.035em}
.outro h3{position:relative;font-size:calc(22*var(--u));letter-spacing:-.075em;z-index:2}
.outro .contact-info{position:relative;display:flex;flex-direction:column;gap:calc(5*var(--u));margin-left:calc(10*var(--u));z-index:2}
.outro-character{left:calc(203*var(--u));top:calc(-23*var(--u));width:calc(82*var(--u));height:calc(147*var(--u));z-index:1;pointer-events:none}
@media(max-width:720px){
.hero-copy{top:calc(117*var(--u))}
.hero-photo{left:calc(-26*var(--u));top:calc(4*var(--u));width:calc(180*var(--u));height:calc(144*var(--u))}
.hero h1>span:first-child{font-size:calc(38*var(--u));line-height:.79;transform:none}
.hero h1>span:last-child{font-size:calc(43*var(--u));line-height:.83;transform:none}
.portfolio-tag{font-size:calc(20*var(--u))}
.hero-subtitle{font-size:calc(7.9*var(--u))}
.hero .contact-info{margin-left:0;display:flex;flex-direction:column;align-items:center;gap:calc(6*var(--u));font-size:calc(4.55*var(--u))}
.hero .contact-line{gap:calc(5*var(--u))}
.logo-strip{top:calc(132*var(--u));height:calc(46*var(--u))}
.logo-track{gap:calc(7*var(--u))}
.logo-item{flex-basis:calc(44*var(--u))}
.design-composition{left:calc(15*var(--u));top:calc(44*var(--u));width:calc(138*var(--u));height:calc(94*var(--u))}
.design-character{left:0;top:calc(4*var(--u));width:calc(67*var(--u));height:calc(90*var(--u))}
.design-carousel{left:calc(58*var(--u));top:0;width:calc(80*var(--u));height:calc(79*var(--u))}
.outro{height:calc(140*var(--u))}
.outro h2{font-size:calc(32*var(--u))}
.outro h3{font-size:calc(13.3*var(--u))}
.outro .contact-info{font-size:calc(3.6*var(--u));gap:calc(4*var(--u));margin-left:calc(11*var(--u))}
.outro .contact-line{gap:calc(4*var(--u))}
.outro-character{left:calc(123*var(--u));top:calc(-9*var(--u));width:calc(46*var(--u));height:calc(90*var(--u))}
}
.about-copy h2{font-size:calc(34*var(--u))}
.about-copy h2>span{font-size:calc(21.6*var(--u))}
.portfolio-tag{font-size:calc(18*var(--u))}
.hero-subtitle{font-size:calc(11.4*var(--u))}
@media(max-width:720px){
.hero h1>span:first-child{font-size:calc(37.5*var(--u))}
.hero-subtitle{font-size:calc(8.6*var(--u))}
.portfolio-tag{font-size:calc(20*var(--u))}
.about-copy h2{font-size:calc(27.5*var(--u))}
.about-copy h2>span{font-size:calc(17.5*var(--u))}
}
/* Final line widths measured with the loaded Poppins face. */
.experience h2{font-size:calc(23.8*var(--u));letter-spacing:-.12em}
.events h2{letter-spacing:-.115em}
.outro h2{font-size:calc(54*var(--u))}
.outro h3{font-size:calc(21.5*var(--u))}
@media(max-width:720px){
.hero .contact-info{font-size:calc(5.1*var(--u))}
.experience h2{font-size:calc(18.7*var(--u));letter-spacing:-.105em}
.events h2{letter-spacing:-.13em}
.logo-item{flex-basis:calc(46*var(--u))}
.outro h2{font-size:calc(32*var(--u))}
.outro h3{font-size:calc(13.3*var(--u))}
}
.media-fallback{object-fit:cover}
.design-carousel>.media-fallback{object-fit:contain}
.experience h2{font-size:calc(24.2*var(--u));letter-spacing:-.075em}
.events h2{letter-spacing:-.075em}
@media(max-width:720px){.experience h2{font-size:calc(18.7*var(--u))}}
/* Controlled pass: copy-sized editorial regions and explicit interactions. */
.contact-label,.contact-info a,.events-copy a{text-decoration:none}
.contact-info a,.events-copy a{cursor:pointer;transition:color .18s}
.contact-info a:hover,.events-copy a:hover{color:var(--accent)}
.contact-phone{display:inline-flex;align-items:center;gap:.3em}
.contact-phone img{width:1em;height:1em;object-fit:contain}
.portfolio-tag{position:relative;z-index:3;margin-top:calc(-7*var(--u))}
.hero-photo{mask-image:linear-gradient(#000 0 64%,transparent 100%)}
.hero h1>span{position:relative}
.hero-counter-mask{position:absolute;inset:0;pointer-events:none;z-index:-1}
.about-copy{position:absolute;left:calc(77*var(--u));top:calc(8*var(--u));right:calc(26*var(--u));display:grid;grid-template-columns:calc(137*var(--u)) 1fr;gap:calc(7*var(--u));align-items:start}
.about-copy h2{position:relative;left:auto;top:auto;font-size:calc(34*var(--u))}
.about-body{padding-top:calc(20*var(--u))}
.about-copy p{position:static;width:auto;font-size:calc(4*var(--u));line-height:1.3;margin-bottom:1em}
.text-block p{font-size:calc(3.8*var(--u));line-height:1.3;margin-top:calc(5*var(--u))}
.events-copy p{font-size:calc(3.8*var(--u));line-height:1.3}
.events-copy h3:nth-of-type(2){font-size:calc(5.3*var(--u));line-height:1.2;letter-spacing:-.04em}
.logo-strip{overflow:visible}
.logo-viewport{height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scroll-snap-type:x mandatory}
.logo-viewport::-webkit-scrollbar{display:none}
.logo-track{gap:0}
.logo-item{flex:0 0 calc(100% / 3);padding:0 calc(4*var(--u));scroll-snap-align:start}
.logo-viewport.is-dragging{scroll-snap-type:none}
.carousel-arrow{position:absolute;top:50%;translate:0 -50%;z-index:4;border:0;background:rgba(0,0,0,.55);color:white;width:30px;height:38px;font-size:24px;line-height:1;cursor:pointer;padding:0;opacity:.7}
.carousel-arrow:hover,.carousel-arrow:focus-visible{color:var(--accent);opacity:1}
.carousel-arrow:focus-visible{outline:2px solid var(--accent)}
.carousel-arrow.previous{left:4px}.carousel-arrow.next{right:4px}
.logo-strip>.previous{left:-30px}.logo-strip>.next{right:-30px}
.outro{height:calc(178*var(--u))}
/* Re-anchor the full canvas so its padded artwork edge still meets the character. */
.design-carousel{left:calc(69*var(--u))}
.design-carousel>.previous{left:calc(26*var(--u))}
@media(max-width:720px){
.portfolio-tag{margin-top:calc(-8*var(--u))}
.hero-photo{mask-image:linear-gradient(#000 0 72%,transparent 100%)}
.about-copy{left:calc(46*var(--u));right:calc(17*var(--u));top:calc(8*var(--u));display:block}
.about-copy h2{font-size:calc(27.5*var(--u))}
.about-body{padding:calc(7*var(--u)) calc(9*var(--u)) 0 calc(5*var(--u))}
.about-copy p{font-size:calc(4.6*var(--u));line-height:1.25}
.logo-item{flex-basis:50%;padding:0 calc(5*var(--u))}
.carousel-arrow{display:none}
.experience{height:auto;padding:calc(9*var(--u)) 0 calc(36*var(--u))}
.text-block{position:relative;left:calc(25*var(--u));top:0;width:calc(119*var(--u))}
.text-block p{font-size:calc(4.2*var(--u));line-height:1.27;margin-top:calc(5*var(--u))}
.carousel.large{position:relative;left:calc(31*var(--u));top:0;margin-top:calc(12*var(--u))}
.events{height:auto;display:grid;grid-template-columns:calc(17*var(--u)) calc(134*var(--u)) 1fr;padding-top:calc(12*var(--u));padding-bottom:calc(34*var(--u));row-gap:calc(9*var(--u))}
.events-title,.events-video,.events-copy>p,.events-copy>h3,.events-carousel{position:relative;left:auto!important;top:auto!important;grid-column:2;width:auto!important;margin:0}
.events-title{grid-row:1}.events-copy>p:first-child{grid-row:2;font-size:calc(4.6*var(--u))}
.events-video{grid-row:3}.events-copy h3:first-of-type{grid-row:4;margin-top:calc(7*var(--u));font-size:calc(12*var(--u))}
.events-copy h3:first-of-type+p{grid-row:5}
.events-copy h3:nth-of-type(2){grid-row:6;font-size:calc(6*var(--u));line-height:1.2}
.events-copy h3:nth-of-type(2)+p{grid-row:7}
.events-copy p{font-size:calc(4.6*var(--u));line-height:1.25}
.events-carousel{grid-row:8;width:calc(108*var(--u))!important;justify-self:center;margin-top:calc(5*var(--u))}
.outro{height:calc(108*var(--u))}
.design-carousel{left:calc(51*var(--u))}
}
@media(prefers-reduced-motion:reduce){.contact-info a,.events-copy a{transition:none}}
/* Targeted correction: the square frame does not dictate the media ratio. */
.events-carousel{height:calc(166*var(--u))}
.events{height:calc(387*var(--u))}
.events-carousel img,.design-carousel img{object-fit:contain;object-position:center;scale:none}
.design-carousel{width:calc(140*var(--u));height:calc(140*var(--u));left:calc(81.5*var(--u))}
.design-carousel>.previous{left:4px}.design-carousel>.next{right:4px}
.portfolio-tag{-webkit-text-stroke:1.25px #000;paint-order:stroke fill;text-shadow:0 1px #000}
.accent-mark{background-image:linear-gradient(to bottom,var(--accent) 0 var(--accent-split,22%),#fff var(--accent-split,22%) 100%);background-repeat:no-repeat}
.events-copy h3:nth-of-type(2){font-size:calc(8.5*var(--u));line-height:1;letter-spacing:-.065em}
.events-copy h3:nth-of-type(2)+p{margin-bottom:calc(3*var(--u))}
@media(max-width:720px){
.hero-photo{top:calc(12*var(--u));left:calc(-34*var(--u));width:calc(196*var(--u));height:calc(156.8*var(--u))}
.events{height:auto}
.events-copy h3:nth-of-type(2){font-size:calc(12*var(--u))}
.events-copy h3:nth-of-type(2)+p{grid-row:7;margin:0}
.events-copy>p:last-child{grid-row:8}
.events-carousel{grid-row:9;height:calc(108*var(--u))}
.design-composition{top:calc(34*var(--u))}
.design-character{top:calc(-1*var(--u))}
.design-carousel{left:calc(51*var(--u));width:calc(80*var(--u));height:calc(80*var(--u))}
}
/* Whole-section ferris-wheel transition. Internal controls/layout stay untouched. */
.section-stage{
  opacity:var(--section-opacity,1);
  transform:perspective(1200px) translate3d(0,var(--section-y,0px),0) scale(var(--section-scale,1)) rotateX(var(--section-rotate,0deg));
  transform-origin:center 45%;
}
@media(max-width:720px){
  .section-stage{transform:perspective(900px) translate3d(0,var(--section-y,0px),0) scale(var(--section-scale,1)) rotateX(var(--section-rotate,0deg));}
}
@media(prefers-reduced-motion:reduce){.section-stage{opacity:1!important;transform:none!important;will-change:auto}}
.ai-carousel .carousel-slide img,.ai-carousel>.media-fallback{object-fit:contain;object-position:center}
/* Supplied DESIGN canvases have transparent margins: inset both arrows equally. */
.design-carousel>.previous{left:calc(9% + 4px)}
.design-carousel>.next{right:calc(9% + 4px)}
