@font-face{font-family:Jakarta;src:url('assets/fonts/PlusJakartaSans-variable.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f5f4ef;color:#151515;font:16px/1.65 Jakarta,Arial,sans-serif}a{color:inherit;text-underline-offset:6px}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2445ff;outline-offset:6px}button{border:0;background:none}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.02;letter-spacing:-.065em}h2{font-size:clamp(3rem,6.8vw,7.8rem);font-weight:700}em{font-style:normal;color:#f43b28}p{max-width:44em}.skip{position:fixed;top:-100px;background:#fff;z-index:100;padding:10px}.skip:focus{top:0}.preview{background:#151515;color:#fff;display:flex;justify-content:space-between;padding:7px 4vw;font-size:12px;letter-spacing:.02em}.preview a{white-space:nowrap}header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:16px 4vw;background:#f5f4ef;position:sticky;top:0;z-index:20;transition:background .3s,color .3s;border-bottom:1px solid #15151520}.brand{position:relative;width:150px}.brand img{width:100%;height:auto}.logo-spark{position:absolute;top:17%;right:3%;width:9px;height:9px;background:#f43b28;animation:logo 5s ease-in-out infinite}.brand:hover .logo-spark{transform:rotate(135deg) scale(1.6)}nav{display:flex;gap:32px;align-items:center}nav a{text-decoration:none;font-size:14px}.nav-book{border-bottom:1px solid;padding:8px 0}.hero{background:#f43b28;padding:28px 4vw 40px;overflow:hidden}.hero-top,.hero-bottom{display:flex;justify-content:space-between;gap:24px}.hero-top p{font-size:13px;line-height:1.5}.hero h1{font-size:clamp(4rem,10.4vw,11rem);font-weight:800;margin:52px 0 45px;letter-spacing:-.078em}.hero h1 em{color:#fff4dc}.standing{position:relative;display:block}.hero-spark{display:inline-block;font-size:.7em;vertical-align:8%;margin-left:3vw;animation:spin 24s linear infinite}.hero-bottom{align-items:center}.hero-bottom p{font-size:14px;line-height:1.6}.round-link{width:66px;height:66px;border:1px solid;border-radius:50%;display:grid;place-items:center;text-decoration:none;font-size:28px;transition:background .2s}.round-link:hover{background:#f5f4ef}.hero-feature{background:#2445ff;overflow:hidden;position:relative}.hero-feature a{display:block}.hero-feature img{width:100%;height:min(80vw,760px);object-fit:cover;transform:scale(1.04);will-change:transform}.feature-caption{position:absolute;left:4vw;right:4vw;bottom:28px;display:flex;justify-content:space-between;gap:15px;color:white;background:#151515db;padding:12px 16px;font-size:14px}.manifesto{display:grid;grid-template-columns:1.4fr 1fr;gap:35px;padding:115px 4vw}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700}.manifesto>.eyebrow{grid-column:1/-1}.manifesto>div{align-self:end;max-width:440px}.manifesto p+p{margin:20px 0}.text-link{display:inline-block;font-size:14px;padding:8px 0;border-bottom:1px solid;text-decoration:none}.work{padding:80px 4vw 110px;background:#e9e9e3}.section-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:end;margin-bottom:65px}.section-heading .eyebrow{grid-column:1/-1}.section-heading>p:last-child{max-width:430px}.project{margin-bottom:90px}.project-visual{width:100%;position:relative;overflow:hidden;display:block;padding:0;text-align:left;background:#151515}.project-visual img{width:100%;height:clamp(340px,58vw,780px);object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s;transform:scale(1.015)}.project-visual:hover img{transform:scale(1.055) translate(var(--mx,0px),var(--my,0px))}.project-stamp{position:absolute;top:24px;left:24px;background:#f5f4ef;color:#151515;padding:6px 12px;font-size:12px}.project-open{position:absolute;bottom:24px;right:24px;background:#f5f4ef;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;font-size:28px;transition:transform .4s}.project-visual:hover .project-open{transform:rotate(45deg);background:#edff57}.project-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:22px}.project-caption p{font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.project h3{font-size:clamp(2rem,4vw,4rem)}.project-offday{width:83%;margin-left:auto}.project-ember{width:86%}.business{background:#182d41;color:#f2f2ea;padding:60px 4vw 115px;overflow:hidden}.business em{color:#b8d4ef}.business-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:65px}.business-top button{font-size:14px;border:1px solid #f2f2ea77;padding:10px 18px;border-radius:30px}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.business-grid p{margin:30px 0;max-width:440px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 25px;background:#f5f4ef;color:#151515;text-decoration:none;border-radius:30px;font-size:14px;font-weight:700}.desk{height:530px;position:relative;perspective:1000px}.desk-paper{background:#f2f2ea;color:#182d41;width:74%;padding:32px;position:absolute;left:4%;top:12%;height:400px;transform:rotate(-7deg);box-shadow:20px 25px 40px #0003;transition:transform .6s}.desk:hover .desk-paper{transform:rotate(-3deg) rotateY(-8deg)}.desk-paper>p:first-child{font-size:10px;letter-spacing:.15em;margin:0 0 32px}.desk-paper h3{font-size:clamp(2rem,3.3vw,4rem)}.desk-paper>p{font-size:14px;line-height:1.5}.desk-paper>span{font-size:10px;letter-spacing:.1em}.paper-line{height:1px;background:#182d4144;margin-top:30px}.desk-label{position:absolute;right:0;top:4%;background:#b8d4ef;color:#182d41;padding:23px 30px;font-size:17px;line-height:1.4;transform:rotate(7deg);animation:float 7s ease-in-out infinite}.desk-tile{position:absolute;bottom:1%;right:3%;width:185px;height:185px;padding:24px;background:#2445ff;color:white;font-size:110px;line-height:1;letter-spacing:-.1em;transform:rotate(8deg);animation:float 9s ease-in-out infinite}.desk-tile span{font-size:38px;vertical-align:top;margin-left:4px}.business-mode header{background:#182d41;color:#f2f2ea;border-bottom-color:#f2f2ea33}.business-mode header .brand img{filter:invert(1)}.offers{padding:110px 4vw}.offer{border-top:1px solid #15151550}.offer:last-of-type{border-bottom:1px solid #15151550}.offer summary{cursor:pointer;display:grid;grid-template-columns:1fr auto 32px;gap:30px;align-items:center;padding:28px 0;list-style:none;font-size:clamp(1.2rem,2.5vw,2.2rem);font-weight:600;letter-spacing:-.04em}.offer summary::-webkit-details-marker{display:none}.price small{font-size:12px;font-weight:400;letter-spacing:0;display:block;text-align:right}.plus{font-size:24px;font-weight:400;transition:transform .3s}.offer[open] .plus{transform:rotate(45deg)}.offer-detail{padding:0 0 32px;max-width:740px}.offer-detail p{margin:10px 0}.offer-detail li{margin:8px 0}.small{font-size:13px;line-height:1.65;margin-top:24px;max-width:900px}.process{background:#edff57;padding:80px 4vw 100px}.process>div{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:36px}.process h2{font-size:clamp(3rem,5vw,6rem)}.process ol{list-style:none;margin:0;padding:0}.process li{display:flex;gap:25px;border-top:1px solid #15151560;padding:22px 0}.process li span{font-size:13px}.process h3{font-size:24px;letter-spacing:-.035em;margin-bottom:12px}.closing{padding:100px 4vw;background:#f43b28}.closing>a{text-decoration:none}.closing h2{font-size:clamp(4rem,10vw,11rem);margin:40px 0}.closing em{color:#fff4dc}.closing>div{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:15px}footer{padding:50px 4vw 80px;display:flex;justify-content:space-between;gap:35px;align-items:center;font-size:13px}footer img{width:140px;height:auto}.motion-control{position:fixed;bottom:16px;right:16px;border:1px solid #aaa;background:#fff;color:#151515;border-radius:25px;font-size:12px;padding:10px 17px;z-index:40}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}.motion-paused .hero-feature img,.motion-paused .project-visual img{transform:none!important}dialog{border:0;padding:50px;max-width:980px;width:calc(100% - 32px);max-height:90vh;background:#f5f4ef;color:#151515;overflow:auto}dialog::backdrop{background:#111d;backdrop-filter:blur(8px)}dialog h2{margin:28px 0;font-size:clamp(2.4rem,7vw,6rem)}dialog>img{width:100%;height:auto}.close{display:block;margin-left:auto;border-bottom:1px solid;padding:0 0 5px}.case-copy{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:35px 0}.case-copy h3{font-size:24px;letter-spacing:-.03em;margin-bottom:15px}dialog video{display:block;max-width:100%;width:340px;height:auto;margin:30px auto;background:#151515}dialog .button{background:#151515;color:#fff;margin-top:20px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{translate:0 -15px}}@keyframes logo{0%,70%,100%{rotate:0deg;scale:1}80%{rotate:180deg;scale:1.4}90%{rotate:360deg;scale:1}}
@media(min-width:1600px){body{max-width:2200px;margin:auto}}@media(max-width:760px){html{scroll-padding-top:88px}header{height:88px;padding:14px 5vw}.brand{width:112px}nav{gap:14px}nav a{font-size:12px}.nav-book{display:none}.hero{padding:24px 5vw 35px}.hero h1{font-size:clamp(3.1rem,10.8vw,5.5rem);margin:48px 0}.hero-top p{font-size:12px}.hero-top p:last-child{text-align:right}.hero-spark{margin-left:2vw}.hero-bottom{gap:20px}.hero-bottom p{font-size:12px}.hero-bottom p:last-child{display:none}.round-link{width:48px;height:48px;flex-shrink:0}.hero-feature img{height:460px}.feature-caption{font-size:12px;bottom:15px;flex-direction:column;gap:2px}.manifesto,.section-heading,.business-grid,.process>div{grid-template-columns:1fr}.manifesto,.offers{padding:70px 5vw}.manifesto{gap:30px}.manifesto>div{max-width:100%}.section-heading{gap:24px;margin-bottom:40px}.work{padding:65px 5vw}.project,.project-offday,.project-ember{width:100%;margin:0 0 60px}.project-visual img{height:440px}.project-stamp{top:15px;left:15px;font-size:12px}.project-caption{align-items:flex-start;flex-direction:column;gap:12px}.project h3{font-size:2rem}.business{padding:45px 5vw 60px}.business-top{align-items:flex-start;flex-direction:column;margin-bottom:45px}.desk{height:460px}.desk-paper{height:360px;padding:24px;left:2%}.desk-paper h3{font-size:2.1rem}.desk-tile{width:140px;height:140px;font-size:82px;padding:18px;bottom:0}.desk-label{font-size:14px;padding:18px 22px}.offer summary{gap:16px;grid-template-columns:1fr auto 20px;letter-spacing:-.03em;font-size:1.1rem}.process{padding:60px 5vw}.process>div{gap:35px}.closing{padding:65px 5vw}.closing h2{font-size:clamp(3.2rem,11.5vw,5.5rem)}footer{padding:40px 5vw 85px;flex-wrap:wrap;align-items:flex-start}footer>p,footer>a{width:100%}.preview{font-size:10px;padding:7px 5vw}dialog{padding:22px}.case-copy{grid-template-columns:1fr}h2{font-size:clamp(2.6rem,9.5vw,4.5rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-feature img,.project-visual img{transform:none!important}}

[hidden]{display:none!important}.contact-page{padding:70px 4vw 100px;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact-page h1{font-size:clamp(4rem,8vw,8rem);margin:30px 0}.contact-page p{margin:22px 0}.contact-page form{width:100%}.contact-page fieldset{margin:0;padding:0;border:0}.contact-page legend{font-size:1.4rem;font-weight:700;margin-bottom:25px}.contact-page .field{display:block;margin-bottom:22px;font-size:14px}.contact-page input,.contact-page select,.contact-page textarea{display:block;background:transparent;border:0;border-bottom:1px solid #15151588;padding:13px 0;width:100%;font:inherit;color:inherit;border-radius:0}.contact-page textarea{min-height:140px;resize:vertical}.contact-page button[type=submit]{background:#151515;color:#f5f4ef}.contact-page .form-note,.contact-page .form-status{font-size:13px}.contact-page .email-draft{display:block;width:fit-content;margin-top:20px}.contact-page .form-status:empty{display:none}.motion-paused .desk:hover .desk-paper{transform:rotate(-7deg)}@media(prefers-reduced-motion:reduce){.desk:hover .desk-paper{transform:rotate(-7deg)}}@media(max-width:760px){.contact-page{grid-template-columns:1fr;padding:50px 5vw 70px;gap:40px}}

.hero-feature{background:#151515}.hero-feature video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.hero-feature .feature-caption{position:static;padding:18px 4vw;background:#151515}.ambient-film{max-width:100%}@media(max-width:760px){.hero-feature video{height:auto;min-height:220px;object-fit:contain}.hero-feature .feature-caption{font-size:12px}}

.offer-points{list-style:none;padding:0!important;margin:25px 0!important}.offer-point{border-bottom:1px solid #15151530;padding:0!important}.point-toggle{font:inherit;color:inherit;border:0;background:transparent;width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;cursor:pointer}.point-info{border:1px solid currentColor;border-radius:50%;font-size:13px;min-width:23px;height:23px;text-align:center;line-height:21px}.point-toggle:focus-visible{outline:3px solid #2445ff;outline-offset:3px}.point-explanation{font-size:15px!important;line-height:1.6;background:#151515;color:#f5f4ef;margin:0 0 16px!important;padding:16px 20px;max-width:760px}.offer-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px 36px;margin-top:25px}.offer-facts p{font-size:14px;line-height:1.65}.offer-facts strong{display:block;margin-bottom:6px}.offer-scope{font-size:14px!important;line-height:1.7;max-width:850px}.offer-purpose{max-width:750px}@media(max-width:650px){.offer-facts{grid-template-columns:1fr}.point-toggle{font-size:16px}.point-explanation{font-size:14px!important}}

/* Refinement pass 1: editorial framing and restrained motion. */
html{scroll-padding-top:130px}header{height:100px}.work{padding-top:95px}.work .section-heading{position:relative;margin-bottom:54px}.work .section-heading>p:last-child{font-size:16px;line-height:1.75}.work h2{font-size:clamp(3rem,6.4vw,6.8rem)}
.project-visual{isolation:isolate;aspect-ratio:1.48;max-height:760px}.project-zest .project-visual{background:#0752b9}.project-offday .project-visual{aspect-ratio:1.6;background:#ce2718}.project-ember .project-visual{background:#281421}.project-visual img{height:100%;object-fit:contain;transform:none;transition:transform 1s cubic-bezier(.2,.65,.3,1)}.project-visual:hover img{transform:translate(var(--mx,0px),var(--my,0px)) scale(1.015)}
.project-stamp{background:transparent;color:#fff;mix-blend-mode:normal;font-weight:800;font-size:16px;letter-spacing:.07em;padding:0;line-height:1.4;top:28px;left:30px;text-shadow:0 1px 12px #0005}.project-stamp small{display:block;font-size:10px;font-weight:400;letter-spacing:.04em;margin-top:5px}.project-offday .project-stamp{color:white}
.project-open{width:90px;height:90px;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center;gap:10px;line-height:1.2;transition:border-radius .65s,background .3s,transform .65s}.project-open b{font-size:25px;font-weight:400}.project-visual:hover .project-open{transform:rotate(-7deg);border-radius:35% 62% 38% 55%;background:#edff57}.project-caption{padding-top:25px}.project-caption p{font-size:10px;letter-spacing:.13em}.project-caption h3{font-size:clamp(2rem,3.5vw,3.8rem)}.project-caption .text-link{white-space:nowrap;font-size:12px}
.showreel-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:2px;background:#151515}.reel-panel{height:clamp(360px,45vw,650px);position:relative;overflow:hidden;padding:0;text-align:left;isolation:isolate}.reel-zest{background:#0752b9}.reel-offday{background:#cf2819}.reel-ember{background:#281421}.hero-feature .reel-panel video{position:absolute;inset:0 0 65px;width:100%;height:calc(100% - 65px);aspect-ratio:auto;object-fit:contain;min-height:0;transition:transform .8s}.reel-panel:hover video{transform:scale(1.02)}.reel-panel:focus-visible{outline-offset:-6px;outline-color:#edff57}.reel-meta{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:8px;align-items:center;padding:20px;color:#fff;background:#151515}.reel-meta strong{font-size:11px;letter-spacing:.08em}.reel-meta>span{font-size:10px}.hero-feature .feature-caption{padding:16px 4vw;font-size:11px;color:#ddd;letter-spacing:.04em}.hero-feature .feature-caption span:last-child{color:#b6b6b0}
.morph-mark{display:block;width:84px;height:84px;border:1.5px solid currentColor;border-radius:32% 68% 62% 38% / 40% 35% 65% 60%;animation:morph-shape 13s ease-in-out infinite;pointer-events:none}.lab-mark{position:absolute;top:4px;right:8%;color:#f43b28;opacity:.8;transform:rotate(22deg)}.process{position:relative}.process-mark{position:absolute;right:6%;top:70px;color:#151515;width:52px;height:52px;animation-duration:17s}.business-orbit{position:absolute;right:15%;bottom:16%;width:130px;height:130px;color:#b8d4ef;opacity:.5;animation-duration:19s}.round-link{transition:border-radius .6s,background .4s,transform .6s}.round-link:hover{border-radius:35% 65% 48% 52%;transform:rotate(-8deg)}.text-link{position:relative;transition:color .2s}.text-link:hover{color:#2445ff}.business .text-link:hover{color:#b8d4ef}
@keyframes morph-shape{0%,100%{border-radius:32% 68% 62% 38% / 40% 35% 65% 60%;rotate:-10deg}50%{border-radius:63% 37% 36% 64% / 60% 60% 40% 40%;rotate:24deg}}
dialog{max-width:1180px;padding:34px 42px;width:calc(100% - 40px);max-height:92dvh;border-radius:4px}dialog .close{position:sticky;top:0;z-index:4;background:#f5f4ef;padding:8px 0 8px 18px}dialog h2{font-size:clamp(2.5rem,6vw,5rem);margin:16px 0 28px}.case-stage{display:grid;grid-template-columns:.9fr 1fr;gap:38px;align-items:start}.case-film{background:#151515;border-radius:2px;overflow:hidden;position:sticky;top:50px}.case-film video{width:100%;max-height:66dvh;margin:0;object-fit:contain}.case-summary .case-copy{display:block;margin:0}.case-summary .case-copy>div{margin-bottom:26px}.case-summary p{font-size:14px;line-height:1.75}.case-summary .small{font-size:11px;line-height:1.7}.case-summary .button{margin-top:25px}.case-offday{grid-template-columns:1.25fr 1fr}.case-summary h3{font-size:20px}.case-summary>.small{border-top:1px solid #15151525;padding-top:20px}
@media(max-width:760px){header{height:88px}html{scroll-padding-top:110px}.work{padding-top:65px}.project-visual,.project-offday .project-visual{aspect-ratio:1.12;max-height:none}.project-offday .project-visual{aspect-ratio:1.4}.project-stamp{top:18px;left:18px;font-size:12px}.project-stamp small{font-size:9px}.project-open{width:62px;height:62px;right:14px;bottom:14px;font-size:9px;gap:5px}.project-open b{font-size:19px}.lab-mark{right:5px;top:0;width:45px;height:45px}.process-mark{width:35px;height:35px;top:45px}.showreel-grid{grid-template-columns:1fr 1fr}.reel-panel{height:310px}.reel-offday{grid-column:1/-1;grid-row:1;height:310px}.reel-meta{padding:15px;flex-wrap:wrap}.reel-meta>span{font-size:9px}.hero-feature .reel-panel video{inset:0 0 55px;height:calc(100% - 55px)}.hero-feature .feature-caption{flex-direction:column;font-size:10px;gap:5px}dialog{padding:20px;width:calc(100% - 20px)}.case-stage,.case-offday{grid-template-columns:1fr;gap:25px}.case-film{position:relative;top:auto}.case-film video{max-height:55dvh}.case-summary p{font-size:14px}}
.motion-paused .morph-mark{animation-play-state:paused!important}.motion-paused .project-open,.motion-paused .reel-panel video{transform:none!important}@media(prefers-reduced-motion:reduce){.morph-mark{animation:none!important}.project-open,.reel-panel video{transform:none!important}}

/* Refinement pass 2: reading rhythm, responsive detail and motion discipline. */
html{scrollbar-gutter:stable}.case-open{overflow:hidden}.morph-mark{animation-play-state:paused}.morph-mark.in-view{animation-play-state:running}.lab-mark{transition:translate 1s cubic-bezier(.2,.7,.2,1);translate:var(--lab-x,0px) var(--lab-y,0px)}
.project-zest .project-visual{--stage-image:url('assets/zest-v6.webp')}.project-ember .project-visual{--stage-image:url('assets/ember-v6.webp')}.project-zest .project-visual::before,.project-ember .project-visual::before{content:"";position:absolute;inset:-15%;background-image:var(--stage-image);background-size:cover;filter:blur(44px);opacity:.65;z-index:-1}.project-zest .project-visual img,.project-ember .project-visual img{mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%)}
.project-stamp{pointer-events:none}.project-caption .text-link{padding-bottom:9px}.project-caption .text-link::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:#2445ff;transform:scaleX(0);transform-origin:left;transition:transform .35s}.project-caption .text-link:hover::after{transform:scaleX(1)}
.project-visual{transition:box-shadow .45s}.project-visual:focus-visible{outline-offset:5px}.project:has(.project-visual:focus-visible) .project-open{background:#edff57}.case-film{box-shadow:0 12px 36px #1515150d}.case-summary .small{margin-top:8px}.case-summary>.small+p{padding-top:13px}.case-summary .button{max-width:100%;text-align:center}.case-summary .case-copy p{max-width:40em}dialog .close{min-height:44px;min-width:90px}.offer-detail{max-width:860px}.offer-facts{gap:14px 42px}.offer summary{transition:padding .3s,color .3s}.offer summary:hover{color:#2445ff}.offer[open] summary{color:#2445ff}.point-info{transition:background .25s,color .25s}.point-toggle[aria-expanded=true] .point-info{background:#151515;color:#f5f4ef}.point-toggle{min-height:52px}
.process-mark{right:8%;top:66px}.motion-control{box-shadow:0 2px 12px #1515150a;border-color:#15151535}.motion-control:disabled{cursor:default}.business-orbit{z-index:0}.desk-paper,.desk-label,.desk-tile{z-index:1}
@media(max-width:760px){.project-caption h3{font-size:clamp(1.8rem,7.7vw,2.4rem);line-height:1.1}.project-caption{gap:8px}.project-caption .text-link{min-height:42px;padding-top:6px}.project{margin-bottom:68px}.project-visual img{mask-image:none!important}.lab-mark{width:34px;height:34px;right:3px;top:2px;opacity:.5}.case-film video{max-height:52dvh}.case-summary .button{width:100%;font-size:13px}.case-summary .small{font-size:11px}.business-top button{min-height:44px}.offer summary{padding:24px 0;gap:12px}.offer-detail{padding-bottom:28px}.offer-facts{gap:8px}.process-mark{top:46px}.motion-control{bottom:12px;right:12px;padding:9px 13px}.hero-feature .feature-caption{padding:16px 5vw}}
@media(prefers-reduced-motion:reduce){.lab-mark{translate:0 0!important}}.motion-paused .lab-mark{translate:0 0!important}

/* Match the edge fade to the actual portrait image, rather than its wider stage. */
.project-zest .project-visual img,.project-ember .project-visual img{width:auto;max-width:100%;height:100%;margin-inline:auto}

/* Motion correction v8: visible films and scroll choreography inside the approved layout. */
.project-visual{perspective:1200px;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));translate:0 var(--scroll-y,0px);transition:transform .55s cubic-bezier(.2,.8,.2,1),border-radius .5s;overflow:hidden;border-radius:var(--frame-radius,0px)}
.project-visual img{position:absolute!important;inset:0;margin:auto!important;width:100%!important;height:100%!important;object-fit:contain;mask-image:none!important;transition:opacity .45s!important;z-index:1}
.project-video{position:relative;display:block;height:100%;width:auto;max-width:100%;margin:auto;object-fit:contain;z-index:2;opacity:0;transition:opacity .4s;pointer-events:none}
.project-visual:has(.film-ready) img{opacity:0}.project-video.film-ready{opacity:1}
.project-zest .project-visual::before,.project-ember .project-visual::before{display:none}
.project-zest .project-visual{background:#074bbe}.project-ember .project-visual{background:#24131f}.project-offday .project-visual{background:#f43b28}
.project-offday .project-video{width:100%;height:100%}.project-stamp,.project-open{z-index:4}
.stage-type{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(7rem,26vw,30rem);line-height:1;font-weight:800;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px #ffffff50;transform:translateX(var(--type-x,0px)) rotate(-8deg);pointer-events:none;z-index:0;animation:stage-drift 9s ease-in-out infinite alternate}
.project-offday .stage-type{display:none}.project-caption{position:relative;z-index:1}
.project-open{width:94px;height:94px;font-size:12px;translate:var(--badge-x,0px) var(--badge-y,0px);animation:badge-breathe 6s ease-in-out infinite;box-shadow:0 8px 32px #0001}
.project-visual:hover .project-open{background:#edff57;border-radius:30% 70% 58% 42% / 45% 35% 65% 55%;transform:rotate(-12deg)}
.lab-mark{width:120px;height:120px;right:7%;border-width:2px;opacity:1;animation-duration:5s}
.lab-mark:after{content:"";position:absolute;inset:17%;border:1px solid currentColor;border-radius:60% 40% 32% 68%;animation:spin 11s linear infinite reverse}
.hero-spark{animation-duration:12s;transform:translateY(var(--hero-y,0px))}.hero h1 .standing{translate:var(--hero-x,0px) 0;transition:translate .12s linear}
.hero h1 em{display:inline-block;animation:word-shape 6s ease-in-out infinite}
.work .section-heading h2 em{display:inline-block;transform:rotate(var(--word-turn,0deg));transform-origin:50% 65%;transition:transform .12s linear}
.desk-paper{rotate:var(--board-turn,0deg)}.desk-label{animation-duration:4s}.desk-tile{animation-duration:5s}.business-orbit{animation-duration:7s;width:160px;height:160px}
.reel-panel video{transition:transform .7s}.reel-panel:hover video{transform:scale(1.045)}
.project:not(.in-view) .stage-type,.project:not(.in-view) .project-open{animation-play-state:paused}
.motion-suspended *,.motion-suspended *:before,.motion-suspended *:after{animation-play-state:paused!important}
@keyframes stage-drift{from{translate:-18px -10px;rotate:-2deg}to{translate:18px 12px;rotate:2deg}}
@keyframes badge-breathe{0%,100%{border-radius:50% 42% 50% 44%}50%{border-radius:36% 58% 40% 58%;rotate:6deg}}
@keyframes word-shape{0%,100%{rotate:0deg;scale:1 1}45%{rotate:-3deg;scale:1.035 .975}65%{rotate:2deg;scale:.99 1.025}}
@media(max-width:760px){.project-visual{aspect-ratio:1.05;translate:0 0}.project-offday .project-visual{aspect-ratio:1.3}.project-video{width:auto;max-width:100%}.stage-type{font-size:36vw}.project-open{width:65px;height:65px;font-size:10px}.lab-mark{width:62px;height:62px;right:0;top:32px}.project-stamp{font-size:14px}.hero h1 .standing{translate:0 0}.hero h1 em{animation-duration:7s}}
.motion-paused .project-visual{translate:0 0!important;transform:none!important}.motion-paused .project-open{translate:0 0!important}.motion-paused .hero h1 .standing{translate:0 0!important}.motion-paused .work .section-heading h2 em{transform:none!important}
@media(prefers-reduced-motion:reduce){.project-visual,.project-open,.hero h1 .standing{translate:0 0!important;transform:none!important}.work .section-heading h2 em{transform:none!important}.desk-paper{rotate:0deg!important}}

/* Match the motion film's stage colour. */
.reel-offday{background:#f43b28}

/* The OFFDAY film already carries its title; avoid double labels. */
.project-offday .project-visual:has(.film-ready) .project-stamp{opacity:0}

/* v9: one portrait format, consistent framing and continuous product studies. */
.showreel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.reel-panel,.reel-offday{height:auto;grid-column:auto;grid-row:auto;display:flex;flex-direction:column}
.hero-feature .reel-panel video{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain}
.reel-meta{position:relative;inset:auto;flex:1;min-height:65px}
.project .project-visual{aspect-ratio:1.48;max-height:740px}
.project .project-video{width:auto;height:100%;max-width:100%;aspect-ratio:9/16;object-fit:contain}
.case-stage,.case-offday{grid-template-columns:.9fr 1fr}
.case-film{width:100%;max-width:360px;margin-inline:auto}
.case-film video{display:block;width:100%;aspect-ratio:9/16;max-height:66dvh;object-fit:contain}
@media(max-width:760px){.showreel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reel-meta{padding:12px 8px;min-height:76px;align-content:start;align-items:start;gap:6px}.reel-meta strong{font-size:9px}.reel-meta>span{font-size:9px;line-height:1.4}.project .project-visual{aspect-ratio:9/16;max-height:none}.project .project-video{width:100%;height:100%}.project-offday,.project-ember{width:100%;margin-left:0}.case-stage,.case-offday{grid-template-columns:1fr}.case-film{max-width:270px}.case-film video{max-height:55dvh}.project-offday .project-open{bottom:18px}}

/* Size the player itself to the portrait, avoiding internal black sidebars. */
.case-film{width:min(100%,360px,37.125dvh)}.case-film video{max-height:none;height:auto}
@media(max-width:760px){.case-film{width:min(100%,270px,30.9375dvh)}.case-film video{max-height:none;height:auto}}

@media(max-width:760px){.reel-meta{flex-direction:column;justify-content:flex-start}}

/* v10 package chooser, within the existing type and colour system. */
.project-starter{padding:90px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:6vw;background:#e9e9e2}.project-starter h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1.05;margin-bottom:32px}.project-starter fieldset{border:0;padding:0;margin:24px 0}.project-starter legend{font-weight:700;margin-bottom:12px}.project-starter label{display:flex;gap:12px;align-items:center;padding:10px 0;font-size:15px;cursor:pointer}.project-starter input{accent-color:#f43b28;width:18px;height:18px}.recommendation{padding:32px;background:#f5f4ef;align-self:center}.recommendation h3{font-size:clamp(1.8rem,3vw,3rem);line-height:1.1}.recommendation p,.recommendation li{font-size:15px;line-height:1.65}.recommendation ul{padding-left:20px;margin:20px 0}.recommendation .button{margin-top:20px}#recommendation-price{font-weight:700;font-size:22px}#recommendation-note{font-size:13px}#selection-feedback:empty{display:none}.offer summary small{font-size:13px;font-weight:400}.offer-detail>.button{margin:16px 0 24px}@media(max-width:760px){.project-starter{grid-template-columns:1fr;padding:60px 5vw;gap:20px}.recommendation{padding:24px}.offer summary>span:last-child{white-space:nowrap}.offer summary small{display:block}.offer summary>span:first-child{max-width:65%}.offer summary{font-size:clamp(17px,4.5vw,25px)}}
