/* AuraLyze v0.7 — motion with a purpose, a stable layout, and protected imagery.
   Retained v0.7 base layer; composition.css supplies v0.8 overrides. No external fonts, animation libraries or paid runtime required. */
:root{--aura-out:cubic-bezier(.22,1,.36,1);--aura-soft:cubic-bezier(.25,.6,.3,1)}
/* Navigation: one hover/focus region, not a chevron-only target. */
.nav{gap:clamp(18px,2.1vw,36px)}
.site-header:focus-within{transform:none!important}
.site-header:has(.service-nav-group.is-open){transform:none!important}
.service-nav-group{gap:4px;align-self:stretch;align-items:center}
.service-nav-group:after{content:"";position:absolute;top:100%;left:-24px;right:-24px;height:18px}
.service-menu-toggle{width:30px;min-height:44px;display:grid;place-items:center;transition:transform .3s}
.service-menu-toggle[aria-expanded=true]{transform:rotate(180deg)}
.services-menu{top:calc(100% + 12px);right:-155px;width:min(620px,calc(100vw - 48px));padding:24px;background:#f8f7f4;color:#111;border:1px solid #00000014;box-shadow:0 24px 50px #00000020;z-index:100;animation:aura-menu-in .3s var(--aura-out) both}
.services-menu[hidden]{display:none!important}
.services-menu-head{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #0002;padding-bottom:16px;margin-bottom:10px}
.services-menu-head strong{font-size:20px;font-weight:500;letter-spacing:-.04em;line-height:1.1}
.services-menu-head span{font-size:8px;letter-spacing:.13em;color:#2f5d8c}
.services-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.nav .services-menu a{display:grid;grid-template-columns:20px 1fr 14px;gap:8px;align-items:center;padding:16px 0;min-height:59px;font-size:12px;line-height:1.45;letter-spacing:0;border-bottom:1px solid #00000014;color:#161616;transition:color .2s,padding .2s}
.nav .services-menu a:after{display:none}
.services-menu a small{font-size:8px;color:#2f5d8c}
.services-menu a i{font-style:normal;color:#2f5d8c}
.nav .services-menu a:hover,.nav .services-menu a:focus-visible{color:#2f5d8c;padding-left:4px}
.nav .services-menu .all-services{grid-column:1/-1;display:flex;justify-content:space-between;border:0;color:#2f5d8c;min-height:44px;padding-bottom:0}
@keyframes aura-menu-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.mobile-menu{overflow-y:auto;overscroll-behavior:contain}
.mobile-links{padding-block:28px}
.mobile-services{margin:5px 0 12px 36px;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25}
.mobile-services summary{display:flex;align-items:center;justify-content:space-between;min-height:46px;font-size:12px;cursor:pointer;list-style:none;letter-spacing:.02em}
.mobile-services summary::-webkit-details-marker{display:none}
.mobile-services summary span{font-size:20px;margin:0;transition:transform .25s}
.mobile-services[open] summary span{transform:rotate(45deg)}
.mobile-services>div{display:grid;padding-bottom:10px}
.mobile-menu .mobile-services a{font-size:13px;letter-spacing:0;line-height:1.4;padding:12px 0;font-weight:400;min-height:44px}
/* Portrait-safe portfolio crops. Headroom stays visible, including on hover. */
.work-grid .project-card:nth-child(n) .project-media.portrait-safe img{object-position:50% 6%;transform-origin:50% 6%}
.project-media.portrait-safe{background:#eeedeb}
/* Film cards: one transform owner; lifting a card does not reflow the grid. */
#films .film-grid{gap:clamp(20px,2.4vw,38px);isolation:isolate;perspective:1600px}
#films .film-card{min-width:0;position:relative}
#films .film-card:hover,#films .film-card:focus-within{z-index:3}
.film-surface{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:#14202b;isolation:isolate;transform:perspective(1600px) translate3d(0,0,0) scale(1) rotateX(0) rotateY(0);transform-origin:50% 56%;transition:transform .8s var(--aura-out),box-shadow .8s var(--aura-out),border-color .5s;border:1px solid #ffffff20}
.film-surface>img,.film-surface>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 27%;transform:scale(1);transform-origin:50% 27%;transition:transform 1.1s var(--aura-out),opacity .4s,filter .6s}
.film-surface>video{opacity:0}
.film-surface.is-playing>video{opacity:1}
.film-surface:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#08131fcc,transparent 32%);pointer-events:none;z-index:1}
.film-surface .film-cover-label{top:18px;right:16px;font-size:8px;z-index:3;pointer-events:none}
.film-surface .film-number{position:absolute;top:16px;left:18px;font-size:21px;letter-spacing:-.04em;color:white;z-index:3;pointer-events:none}
.film-open-cover{position:absolute;inset:0;display:grid;place-items:center;color:#fff;z-index:2}
.film-open-cover:focus-visible{outline:2px solid #fff;outline-offset:-6px}
.film-open-cover .film-play{display:grid;place-items:center;width:66px;height:66px;border:1px solid #ffffffbb;border-radius:50%;color:#fff;background:#10213733;backdrop-filter:blur(8px);font-size:17px;transition:transform .6s var(--aura-out),opacity .35s,background .3s}
.film-open-label{position:absolute;bottom:26px;right:18px;font-size:9px;letter-spacing:.08em}
.film-remote .film-open-label{left:18px;border-top:1px solid #ffffff55;padding-top:20px}
.film-surface .preview-toggle{left:16px;bottom:16px;padding:11px 12px;z-index:4;font-size:10px;backdrop-filter:blur(12px)}
.film-surface .preview-feedback{top:auto;bottom:75px;padding:8px;z-index:5;font-size:11px}
.film-surface.is-playing .film-play{opacity:0;transform:scale(.85)}
.film-surface.is-playing:focus-within .film-play{opacity:1;transform:scale(1)}
.film-playback-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff25;z-index:5;opacity:0;transition:opacity .3s;pointer-events:none}
.film-playback-track i{display:block;height:100%;background:#dce3e6;transform-origin:left;transform:scaleX(var(--film-progress,0))}
.film-surface.is-playing .film-playback-track{opacity:1}
#films .film-card h3{margin-top:12px;font-weight:500;letter-spacing:-.035em;line-height:1.15}
#films .film-note{line-height:1.6;font-size:12px;margin-top:25px;color:#adbac5}
@media(hover:hover) and (pointer:fine){
 .motion-ready .film-surface:hover,.motion-ready .film-surface:focus-within{transform:perspective(1600px) translate3d(0,-12px,28px) scale(1.025) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));box-shadow:0 30px 55px #0007;border-color:#c0cfdd77}
 .motion-ready .film-surface:hover>img,.motion-ready .film-surface:hover>video{transform:scale(1.035)}
 .film-open-cover:hover .film-play{background:#17314966;transform:scale(1.1)}
}
/* Moving contact sheet. Real supplied frames, captions outside the image. */
#frames{background:#0b0e11;padding-block:clamp(64px,6.5vw,104px)}
#frames>.container>.section-head{margin-bottom:32px;align-items:end}
#frames .section-head .lead{max-width:340px;color:#b8c1c8}
.lens-gallery{position:relative}
.lens-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:14px;min-height:48px}
.lens-eyebrow{font-size:9px;letter-spacing:.15em;color:#a9b5bf}
.lens-sequence{border:1px solid #ffffff30;background:none;color:#e8edef;padding:10px 14px;min-height:44px;font-size:10px;letter-spacing:.03em}
.lens-sequence[hidden]{display:none}
.lens-viewport{display:block;position:relative;height:clamp(280px,37vw,550px);overflow:hidden;background:#151b21;isolation:isolate;cursor:zoom-in}
.lens-image{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s var(--aura-soft),visibility .9s;z-index:0}
.lens-image.is-active{opacity:1;visibility:visible;z-index:1}
.lens-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 43%;transform-origin:50% 43%;transform:scale(1.02);filter:none}
.motion-ready .lens-image.is-active img{animation:lens-breathe 7s var(--aura-soft) both;animation-play-state:paused}
.motion-ready .lens-gallery.in-view .lens-image.is-active img{animation-play-state:running}
.lens-gallery.is-paused .lens-image.is-active img{animation-play-state:paused!important}
@keyframes lens-breathe{from{transform:scale(1.055) translate3d(-.25%,0,0)}to{transform:scale(1.005) translate3d(.25%,0,0)}}
.lens-corners{position:absolute;inset:22px;z-index:2;pointer-events:none;opacity:.6;transform:scale(.97);transition:transform 1.3s var(--aura-out),opacity 1s}
.lens-gallery.in-view .lens-corners{opacity:1;transform:scale(1)}
.lens-corners i{position:absolute;width:24px;height:24px;border-color:#ffffffa0;border-style:solid;border-width:0}
.lens-corners i:nth-child(1){top:0;left:0;border-top-width:1px;border-left-width:1px}.lens-corners i:nth-child(2){top:0;right:0;border-top-width:1px;border-right-width:1px}.lens-corners i:nth-child(3){bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}.lens-corners i:nth-child(4){bottom:0;left:0;border-bottom-width:1px;border-left-width:1px}
.lens-open{position:absolute;right:36px;bottom:34px;z-index:3;font-size:9px;letter-spacing:.1em;color:#fff;background:#0b131b99;backdrop-filter:blur(8px);padding:12px 14px;transition:transform .4s}
.lens-viewport:hover .lens-open{transform:translateY(-3px)}
.lens-caption-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0}
.lens-caption-row>div:first-child{display:flex;align-items:baseline;gap:28px;min-width:0}
.lens-count{font-size:11px;color:#a7b7c6;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.06em}
.lens-caption{font-size:clamp(24px,2.7vw,38px);letter-spacing:-.045em;line-height:1.15;font-weight:400;margin:0}
.lens-controls{display:flex;gap:8px;flex-shrink:0}
.lens-controls button{width:44px;height:44px;border:1px solid #ffffff55;border-radius:50%;color:#fff;background:none;font-size:20px;transition:background .3s,transform .3s}
.lens-controls button:hover{background:#ffffff17;transform:translateX(2px)}
.lens-controls .lens-prev:hover{transform:translateX(-2px)}
.lens-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.lens-thumb{position:relative;display:block;min-width:0;color:#aaa;outline-offset:5px}
.lens-thumb-image{display:block;overflow:hidden;aspect-ratio:2.15/1;background:#192129;position:relative}
.lens-thumb-image:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:#bed1e0;transform-origin:left;transform:scaleX(0);transition:transform .4s}
.lens-thumb.is-active .lens-thumb-image:after{transform:scaleX(var(--sequence-progress,1))}
.lens-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.5;transform:scale(1);transition:opacity .5s,transform .7s var(--aura-out)}
.lens-thumb:hover img,.lens-thumb:focus-visible img,.lens-thumb.is-active img{opacity:1}
.motion-ready .lens-thumb:hover img{transform:scale(1.045)}
.lens-thumb-caption{display:flex;align-items:center;gap:12px;padding-top:12px;font-size:11px;letter-spacing:.02em}
.lens-thumb-caption>span{font-size:9px;color:#879dac;font-variant-numeric:tabular-nums}
.lens-thumb-caption i{font-style:normal;margin-left:auto;font-size:15px;transition:transform .3s}
.lens-thumb.is-active{color:#fff}
.lens-thumb:hover i{transform:translate(2px,-2px)}
.lens-footnote{display:flex;justify-content:space-between;gap:24px;margin-top:26px;padding-top:16px;border-top:1px solid #ffffff22;font-size:10px;color:#97a6b2;line-height:1.6}
.lens-footnote a{min-height:44px;display:inline-flex;align-items:flex-start;color:#d7e0e7}
/* Four distinct animated concepts; nothing relies on hovering to be legible. */
.difference-list{border:0}
.difference-item:nth-child(n){position:relative;overflow:hidden;min-height:380px;transition:transform .65s var(--aura-out),box-shadow .65s,border-color .45s}
.difference-item:before{content:"";position:absolute;left:24px;right:24px;top:0;height:2px;background:#416789;transform:scaleX(0);transform-origin:left;transition:transform .65s var(--aura-out)}
.difference-item:hover:before{transform:scaleX(1)}
.difference-item:nth-child(2):before{background:#b9cddc}
.difference-item .idx:after{content:"";display:block;width:5px;height:5px;border:1px solid currentColor;border-radius:50%;opacity:.5}
.difference-item:hover .idx:after{background:currentColor;opacity:1}
.difference-symbol{min-height:172px;overflow:visible}
.difference-symbol svg{max-width:220px;height:160px;transform:none!important;will-change:auto;stroke-width:1.05}
.difference-symbol svg *{vector-effect:non-scaling-stroke}
.difference-symbol svg g{transform-box:view-box;transform-origin:100px 80px}
.difference-item:hover{box-shadow:0 18px 38px #182a3b0c}
.difference-item>div:last-child{transition:transform .65s var(--aura-out)}
.difference-item:hover>div:last-child{transform:translateY(-3px)}
.strategy-sweep{animation:orbit-turn 11s linear infinite paused}
.strategy-rings{animation:ring-breathe 4s ease-in-out infinite paused}
.pulse-core{transform-origin:100px 80px;animation:core-breathe 3.5s ease-in-out infinite paused}
.orbit-a{transform:rotate(-28deg);animation:creative-a 14s linear infinite paused}
.orbit-b{transform:rotate(28deg);animation:creative-b 17s linear infinite paused}
.creative-halo{stroke-dasharray:3 8;transform-origin:100px 80px;animation:orbit-turn 15s linear infinite paused}
.connected-tile{animation:tile-connect 5s ease-in-out infinite paused}
.tile-a{--tile-x:-5px;--tile-y:-5px}.tile-b{--tile-x:5px;--tile-y:-5px;animation-delay:-.2s}.tile-c{--tile-x:-5px;--tile-y:5px;animation-delay:-.4s}.tile-d{--tile-x:5px;--tile-y:5px;animation-delay:-.6s}
.connection-lines{stroke-dasharray:14 6;animation:connection-travel 6s linear infinite paused;opacity:.5}
.connection-core{fill:currentColor;stroke:none;transform-origin:100px 80px;animation:core-turn 7s ease-in-out infinite paused}
.partner-circle{animation:partner-bond 5s ease-in-out infinite paused}.partner-left{--bond-x:9px}.partner-right{--bond-x:-9px}
.partner-ripple{transform-origin:100px 80px;animation:partner-ripple 4s ease-out infinite paused}
.motion-ready .difference-section.in-view .difference-symbol *{animation-play-state:running}
@keyframes orbit-turn{to{transform:rotate(360deg)}}
@keyframes ring-breathe{50%{transform:scale(1.06)}}
@keyframes core-breathe{50%{transform:scale(.75);opacity:.65}}
@keyframes creative-a{from{transform:rotate(-28deg)}to{transform:rotate(332deg)}}
@keyframes creative-b{from{transform:rotate(28deg)}to{transform:rotate(-332deg)}}
@keyframes tile-connect{0%,100%{transform:translate(0,0)}50%{transform:translate(var(--tile-x),var(--tile-y))}}
@keyframes connection-travel{to{stroke-dashoffset:-80}}
@keyframes core-turn{0%,30%{transform:rotate(45deg)}70%,100%{transform:rotate(135deg)}}
@keyframes partner-bond{50%{transform:translateX(var(--bond-x))}}
@keyframes partner-ripple{0%{transform:scale(.3);opacity:0}25%{opacity:.7}100%{transform:scale(1.5);opacity:0}}
/* Process storyboard: the container never zooms, snaps or changes size. */
.process{background:#15232e}
.process .process-grid{grid-template-columns:1.05fr 1fr;gap:6vw;align-items:start}
.process .process-title{display:block;position:sticky;top:98px;min-width:0;transform:none!important}
.process-stage-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;font-size:9px;letter-spacing:.1em;color:#b8c8d5}
.process-stage-number{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;color:#8299a9}
.process-stage-number b{font-weight:400;color:#fff;font-size:25px;letter-spacing:-.03em;margin-right:4px}
.process .process-visual{height:min(46svh,510px);min-height:270px;aspect-ratio:auto;max-height:none;background:#0e1922;overflow:hidden;transform:none!important;border:1px solid #ffffff16}
.process-shot{position:absolute;inset:0;opacity:0;z-index:0;pointer-events:none}
.process-shot.is-active{opacity:1}
.process-shot img{width:100%;height:100%;object-fit:cover;transform:scale(1.015);display:block;will-change:transform}
.process-focus-frame{position:absolute;inset:18px;border:1px solid #ffffff24;z-index:5;pointer-events:none}
.process-caption-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 18px;min-height:76px}
.process-caption-bar h3{font-size:clamp(24px,2.7vw,38px);letter-spacing:-.05em;line-height:1.05;font-weight:400;margin:0}
.process-caption-arrow{font-size:30px;font-weight:300;color:#a9c1d2}
.process-progress{height:1px;background:#ffffff24;overflow:hidden}
.process-progress i{display:block;background:#bed2e0;transform-origin:left;height:1px;width:100%;transform:scaleX(.25)}
.process .process-jumps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:9px 0 4px;font-size:10px}
.process-jumps a{display:flex;align-items:center;gap:8px;min-height:46px;color:#7e96a8;text-decoration:none;transition:color .3s}
.process-jumps a span{font-size:8px}
.process .process-jumps [aria-current]{text-decoration:none;color:#fff}
.process-jumps a:hover{color:#fff}
.process-start{font-size:10px;color:#d3dee5;min-height:44px}
.process .steps{border-top:0}
.process .step{position:relative;min-height:50svh;padding:40px 0;opacity:.38!important;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:22px;transform:none!important;transition:opacity .4s;scroll-margin-top:110px}
.process .step.is-active{opacity:1!important}
.process .step h3{font-size:clamp(38px,4vw,62px);font-weight:500;line-height:1.05}
.process .step p{font-size:16px;line-height:1.7;color:#c0ccd5}
.process .step .step-num{width:32px;height:32px;display:grid;place-items:center;font-size:10px;border:1px solid #96afc555;border-radius:50%;background:transparent;color:#b2c6d5}
.process .step.is-active .step-num{background:#f8f7f4;color:#172b3b;border-color:#f8f7f4}
.process .step:after{display:none!important}
/* Industry images are pictures, not backgrounds for a text box. */
.industry-preview,.motion-ready .industry-preview{transform:none!important}
.industry-preview>.industry-kicker{position:static;display:block;background:none;color:#2f5d8c;max-width:none;padding:0;margin:0 0 15px;font-size:10px;letter-spacing:.1em;line-height:1.7;text-transform:uppercase}
.industry-media{position:relative;overflow:hidden;background:#edece8;border:1px solid #0000000a;height:clamp(340px,40vw,560px);isolation:isolate}
.industry-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;transform:none!important;opacity:0;transition:opacity .5s}
.industry-media img.is-active,.industry-media>#industryImage:first-child{opacity:1}
.industry-media>#industryImage:not(.is-active){opacity:0}
.industry-detail{padding-top:17px}
.industry-detail p{margin:0 0 10px;font-size:14px;line-height:1.65;min-height:46px}
.industry-row{transition:color .3s,padding-left .45s var(--aura-out),background .3s}
.industry-row.active{padding-left:16px}
.industry-row .arrow{transition:transform .45s var(--aura-out)}
.industry-row.active .arrow{transform:translate(3px,-3px)}
/* All manual interactions remain usable when animation is disabled. */
.motion-off .film-surface,.motion-off .film-surface>img,.motion-off .film-surface>video,.motion-off .difference-item:hover,.motion-off .difference-item>div:last-child{transform:none!important}
.motion-off .lens-image img,.motion-off .process-shot img{transform:none!important;animation:none!important}
.motion-off .difference-symbol *{animation:none!important}
.process.process-compact .process-title{position:static}
.process.process-compact .process-grid{grid-template-columns:1.05fr 1fr;align-items:center}
.process.process-compact .step{display:none;min-height:0;padding:35px 0;opacity:1!important}
.process.process-compact .step.is-active{display:grid}
.process.process-compact .process-visual{min-height:260px;height:min(46svh,430px)}
@media(max-width:1100px){
 .difference-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .difference-item:nth-child(n){min-height:355px}
 .film-open-label{font-size:8px;bottom:70px;left:17px;right:auto}
 .film-remote .film-open-label{bottom:24px;right:18px}
 .process .process-jumps{gap:4px}
 .process-jumps a{gap:4px}
}
@media(max-width:960px){
 .nav{display:none}
 .process .process-grid,.process.process-compact .process-grid{grid-template-columns:1fr;gap:18px}
 .process .process-title{position:static}
 .process .process-visual{height:min(52svh,490px)}
 .process .step{min-height:0;padding:26px 0}
 .process .step h3{font-size:36px;margin-bottom:12px}
 .process .step p{font-size:15px}
 .process-heading .lead{min-width:0}
 .process .process-jumps{font-size:12px;gap:14px}
 .process-jumps a{gap:8px}
 .industry-media{height:480px}
 #films .film-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
 .film-surface .film-cover-label{font-size:6px;right:8px;top:12px;max-width:105px}
 .film-surface .film-number{font-size:17px;left:12px;top:12px}
 .film-surface .preview-toggle{left:10px;bottom:12px;font-size:8px;padding:10px;min-height:40px}
 #films .film-card h3{font-size:20px}
 .film-open-cover .film-play{height:52px;width:52px;font-size:14px}
 .lens-viewport{height:clamp(290px,48vw,460px)}
 .lens-thumbnails{gap:12px}
}
@media(max-width:640px){
 #frames>.container>.section-head{display:block}
 #frames .section-head .lead{font-size:15px;margin-top:22px}
 .lens-toolbar{gap:10px;padding-bottom:10px}
 .lens-eyebrow{font-size:7px;max-width:155px;line-height:1.8}
 .lens-sequence{font-size:9px;padding:9px 10px;white-space:nowrap}
 .lens-viewport{height:260px}
 .lens-image img{object-fit:contain;transform:none!important;animation:none!important}
 .lens-corners{inset:12px}.lens-corners i{width:14px;height:14px}
 .lens-open{bottom:18px;right:18px;padding:8px 10px;font-size:8px}
 .lens-caption-row{padding:20px 0;gap:12px;min-height:98px}
 .lens-caption-row>div:first-child{display:block}
 .lens-count{display:block;font-size:9px;margin-bottom:8px}
 .lens-caption{font-size:24px;line-height:1.15}
 .lens-controls{gap:6px}.lens-controls button{width:42px;height:42px}
 .lens-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .lens-thumb-caption{font-size:11px;padding-top:8px}
 .lens-thumb-image{aspect-ratio:2/1}
 .lens-footnote{font-size:9px;gap:18px;margin-top:24px}
 .lens-footnote>span{max-width:180px}
 .difference-heading{display:block}
 .difference-heading .body-lg{margin-top:25px}
 .difference-list{grid-template-columns:1fr;gap:14px}
 .difference-item:nth-child(n){min-height:335px;padding:24px!important}
 .difference-symbol{min-height:150px}
 .difference-item:nth-child(n) h3{font-size:27px}
 .difference-item:nth-child(n) p{font-size:14px}
 #films .film-grid{grid-template-columns:1fr;gap:38px}
 .film-surface{aspect-ratio:4/4.5}
 .film-surface .film-cover-label{font-size:8px;right:18px;top:18px;max-width:none}
 .film-surface .film-number{left:18px;top:18px;font-size:22px}
 .film-surface .preview-toggle{left:16px;bottom:16px;font-size:10px;min-height:44px}
 .film-open-label{bottom:30px;right:18px;left:auto;font-size:8px}
 .film-remote .film-open-label{left:18px;bottom:26px}
 #films .film-card h3{font-size:27px}
 .film-open-cover .film-play{height:66px;width:66px;font-size:17px}
 .process-heading .lead{margin-top:20px}
 .process-caption-bar h3{font-size:29px}
 .process .process-visual,.process.process-compact .process-visual{height:340px;min-height:0}
 .process .process-jumps{font-size:10px;gap:8px}
 .process-jumps a{display:grid;gap:4px;align-content:center;line-height:1.3;min-height:58px}
 .process .process-grid{gap:12px}
 .process .step{grid-template-columns:32px 1fr;gap:14px}
 .process-stage-meta{font-size:8px}
 .industry-media{height:440px}
 .industry-row.active{padding-left:8px}
 .industry-detail p{font-size:13px}
 .mobile-links>a{font-size:clamp(36px,9vw,54px)}
}
@media(max-width:380px){.film-open-label{bottom:76px;left:17px;right:auto}.film-remote .film-open-label{bottom:25px;right:18px}.lens-caption{font-size:21px}.industry-media{height:390px}}
@media(prefers-reduced-motion:reduce){
 .difference-symbol *{animation:none!important}
 .film-surface,.film-surface>img,.film-surface>video,.lens-image img,.process-shot img{transform:none!important;animation:none!important}
 .lens-image,.industry-media img{transition:none!important}
}

@media(max-width:640px){
 .process .process-heading{display:block;padding-inline:0}
 .process-heading .lead{min-width:0;max-width:100%;margin-top:24px}
 .process-caption-bar h3{flex:1;min-width:0}
 .process-caption-arrow{flex-shrink:0}
}
