:root{--paper:#f6f5f2;--white:#fff;--ink:#20201f;--muted:#686865;--line:#deddd8;--accent:#8d4255;--radius:20px;--gutter:clamp(22px,5.6vw,88px);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #914a61;outline-offset:5px}img,video{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:550}h1{font-size:clamp(44px,5.6vw,80px);letter-spacing:-.045em;line-height:1.04}h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-.035em;line-height:1.12}h3{font-size:22px;letter-spacing:-.025em;line-height:1.2}h1 span,h2 span{color:var(--muted)}p{line-height:1.65}ul{padding-left:20px;line-height:1.8}[hidden]{display:none!important}.wrap{max-width:1440px;padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:80px}.eyebrow{font-size:12px;line-height:1.5;font-weight:500;letter-spacing:.025em}.small{font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;top:10px;left:20px;z-index:100;background:#fff;padding:14px;transform:translateY(-160%)}.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:20;background:rgba(246,245,242,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(32,32,31,.06)}.nav-shell{max-width:1440px;margin:auto;padding-inline:var(--gutter);height:78px;display:flex;align-items:center;gap:40px}.brand-symbol{position:relative;display:block;width:49px;height:56px;overflow:hidden;flex-shrink:0}.brand-symbol img{position:absolute;width:178px;height:auto;max-width:none;left:-1px;top:-8px;mix-blend-mode:multiply}.desktop-nav{margin-left:auto;display:flex;gap:32px;align-items:center}.desktop-nav a{font-size:13px;padding-block:14px;color:#585854}.desktop-nav a[aria-current],.desktop-nav a:hover{color:var(--ink)}.nav-end{display:flex;gap:30px;align-items:center}.language{font-size:11px;min-width:30px;min-height:44px;display:grid;place-items:center}.contact-nav{display:flex;align-items:center;gap:18px;min-height:40px;font-size:13px;border-bottom:1px solid var(--ink)}.mobile-menu{display:none}.text-link{display:inline-flex;gap:18px;align-items:center;min-height:44px;font-size:14px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 23px;background:var(--ink);color:#fff;border-radius:100px;border:1px solid var(--ink);min-height:50px;font-size:14px;line-height:1.25;transition:background .2s,transform .2s}.button:hover{background:#42423f;transform:translateY(-2px)}.button.light{color:var(--ink);background:var(--paper);border-color:var(--paper)}
.hero{display:grid;grid-template-columns:1.18fr 1fr;gap:8%;align-items:center;padding-top:44px;padding-bottom:44px}.hero-copy .eyebrow{color:var(--muted);margin-bottom:26px}.hero h1{font-size:clamp(62px,6.5vw,94px);font-weight:550;letter-spacing:-.05em;line-height:1.02}.hero h1 span{color:var(--ink)}.hero-deck{max-width:430px;color:var(--muted);font-size:17px;line-height:1.6;margin-top:26px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:30px}.hero-location{font-size:11px;color:var(--muted);margin-top:42px}.hero-location span{padding-inline:8px}.hero-portrait{position:relative;border-radius:4px;overflow:hidden;align-self:stretch;min-height:470px;max-height:560px;background:#ccc4b8}.hero-portrait>img{width:100%;height:100%;object-fit:cover;object-position:center 24%}.hero-portrait figcaption{position:absolute;bottom:0;left:0;right:0;padding:46px 24px 20px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65))}.experience-strip{display:flex;align-items:center;gap:30px;padding-top:18px;padding-bottom:30px}.experience-strip>span{font-size:11px;color:var(--muted)}.experience-strip>div{flex:1;display:flex;justify-content:space-around;gap:20px}.experience-strip>div>span{font-size:16px;font-weight:550;letter-spacing:-.02em}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:32px}.section-heading .eyebrow{color:var(--muted);margin-bottom:14px}.section-deck{max-width:310px;font-size:15px;color:var(--muted)}
.bento-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 22px}.project-card{min-width:0}.bento-grid>.project-card{grid-column:span 2}.bento-grid>.project-card:nth-child(1){grid-column:span 3}.bento-grid>.project-card:nth-child(2){grid-column:span 3}.project-art{height:325px;display:flex;align-items:center;justify-content:center;gap:16px;position:relative;border-radius:var(--radius);overflow:hidden;background:#e8e6e1}.project-art img{width:100%;height:100%;object-fit:contain;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.project-art:hover img{transform:scale(1.025)}.project-art:focus-visible{outline-offset:4px}.bento-grid>.project-card:nth-child(-n+2) .project-art{height:380px}.project-caption{padding:16px 4px 0}.project-caption h3{font-size:19px;letter-spacing:-.02em}.project-caption p{font-size:12px;color:var(--muted);margin-top:5px}.project-open{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:36px;height:36px;border-radius:100%;background:rgba(255,255,255,.88);color:var(--ink);font-size:19px;transition:transform .25s}.project-art:hover .project-open{transform:rotate(45deg)}.brand .project-art,.case-art.brand{background:#e8ebe3}.brand .project-art img{width:57%;height:80%;mix-blend-mode:multiply}.mindfit .project-art,.case-art.mindfit{background:#e9e4e5}.mindfit .project-art img{width:100%;height:auto}.store .project-art{background:#dde5ed;gap:14px;padding:30px 20px}.store .project-art img{height:100%;width:45%;object-fit:contain;filter:drop-shadow(0 9px 12px #0002);border-radius:5px}.motion .project-art{background:#d9d1c3}.motion .project-art img{width:auto;height:100%}.play-label{position:absolute;bottom:18px;left:18px;display:flex;align-items:center;gap:10px;border-radius:30px;background:#fffffff2;padding:10px 14px;font-size:11px}.editorial .project-art{background:#22242b;padding:24px}.editorial .project-art img{height:auto;width:100%;box-shadow:0 12px 28px #0003}.archive .project-art{padding:26px;background:#ecebe8}
.services-home{background:#eeede9}.service-row{display:grid;grid-template-columns:45px 1fr 1fr 25px;align-items:center;gap:26px;border-top:1px solid #d2d1cc;padding:30px 0;transition:padding .2s}.service-row:last-child{border-bottom:1px solid #d2d1cc}.service-row:hover{padding-left:10px}.service-number{font-size:11px;color:var(--muted)}.service-row h3{font-size:25px}.service-row p{font-size:13px;color:var(--muted);max-width:290px}.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-teaser .eyebrow{color:var(--muted);margin-bottom:18px}.about-teaser>div>p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:490px}.about-teaser .text-link{margin-top:22px}.footer{background:#212120;color:var(--paper);padding-top:65px;padding-bottom:25px}.footer .eyebrow{color:#c7c6c0}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:20px;margin-bottom:60px}.footer-main h2{font-size:clamp(38px,4.5vw,66px);font-weight:500}.footer-main h2 span{color:#c7c6c0}.footer-bottom{border-top:1px solid #494945;padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;font-size:10px;color:#c7c6c0}.footer-bottom a:hover{color:#fff}
.page-intro{padding-top:65px;padding-bottom:48px}.page-intro .eyebrow{color:var(--muted);margin-bottom:20px}.page-intro>p:not(.eyebrow){max-width:620px;font-size:18px;color:var(--muted);margin-top:25px}.page-intro .button{margin-top:28px}.page-intro.narrow{max-width:950px;padding-bottom:80px}.narrow h2{font-size:27px;margin-top:36px}.work-page{padding-bottom:80px}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:30px}.filters button{min-height:44px;background:transparent;border:1px solid var(--line);border-radius:30px;font-size:13px;padding:10px 20px}.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}#filter-count{margin-left:auto;font-size:12px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 24px}.work-grid .project-art{height:350px}.back{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--muted);margin-bottom:22px}.case-intro{padding-top:32px;padding-bottom:35px}.case-intro .eyebrow{margin-bottom:20px;color:var(--muted)}.case-intro .eyebrow span{padding-inline:8px}.case-intro h1{max-width:970px;font-size:clamp(40px,5vw,70px)}.case-summary{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;margin-top:32px}.case-summary>p{font-size:18px;max-width:580px;color:var(--muted)}dl{margin:0}dt{font-size:11px;color:var(--muted);margin-bottom:8px}dd{margin:0;font-size:15px;line-height:1.6}.case-art{height:530px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);overflow:hidden;background:#e9e8e4}.case-art img{width:100%;height:100%;object-fit:contain}.case-art.brand img{width:40%;height:85%;mix-blend-mode:multiply}.case-art.store{background:#dde5ed;padding:35px}.case-art.editorial{padding:35px;background:#23242a}.case-art.editorial img{width:auto}.case-art.archive{height:680px;padding:35px}.case-details{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:55px}.case-details .eyebrow{margin-bottom:15px}.case-details p:not(.eyebrow){font-size:16px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.tags span{border:1px solid var(--line);padding:6px 12px;border-radius:30px;font-size:11px}.gallery-section{margin-bottom:60px}.gallery-section h2{font-size:28px;margin-bottom:24px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.gallery.three{grid-template-columns:repeat(3,1fr)}.zoom-image{display:block;position:relative;border:0;border-radius:12px;padding:20px;background:#ecebe8;width:100%}.zoom-image img{max-height:630px;width:100%;height:auto;object-fit:contain}.zoom-image>span{position:absolute;right:12px;bottom:12px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#fff}.gallery figcaption{font-size:12px;color:var(--muted);padding-top:10px;line-height:1.5}.case-film{background:#e7e3db;border-radius:18px;padding:26px}.case-film video{height:620px;max-width:100%;width:auto;margin:auto}.case-film figcaption{text-align:center;font-size:12px;color:var(--muted);padding-top:18px}.video-description{margin-top:16px;font-size:13px;color:var(--muted)}summary{cursor:pointer}.video-description summary{padding-block:10px}.video-description p{max-width:750px}.next-project{display:flex;justify-content:space-between;align-items:center;padding-block:40px 70px;border-top:1px solid var(--line)}.next-project>span{font-size:12px;color:var(--muted)}.next-project .text-link{font-size:25px;letter-spacing:-.02em}.lightbox{border:0;background:#f6f5f2;padding:35px;max-width:95vw;max-height:95vh;border-radius:16px;box-shadow:0 20px 80px #0004}.lightbox::backdrop{background:#000a}.lightbox>img{object-fit:contain;max-height:76vh;max-width:80vw;width:auto;margin:auto}.lightbox>p{font-size:12px;margin-top:15px}.close-lightbox{position:absolute;right:5px;top:5px;width:44px;height:44px;background:#fff;border:0;border-radius:50%;font-size:24px}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border:1px solid #e8e7e3;border-radius:20px;padding:32px;display:flex;flex-direction:column;align-items:start}.service-card .eyebrow{color:var(--muted);margin-bottom:25px}.service-card h2{font-size:28px;min-height:64px}.service-card>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:20px}.service-card ul{font-size:13px;margin-block:20px 25px}.service-card .text-link{margin-top:auto}.process .eyebrow{color:var(--muted);margin-bottom:18px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:38px}.process-grid>div{border-top:1px solid var(--line);padding-top:18px}.process-grid span{font-size:11px;color:var(--muted)}.process-grid h3{margin-block:18px 10px}.process-grid p{font-size:14px;color:var(--muted)}.service-detail{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}.service-detail h2{font-size:28px;margin-bottom:20px}.service-detail p{font-size:16px;color:var(--muted);margin-bottom:30px}.deliverables{list-style:none;padding:0;margin:0}.deliverables li{padding:17px 0;border-bottom:1px solid var(--line);font-size:15px}.about-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;padding-top:50px}.about-hero .eyebrow{color:var(--muted);margin-bottom:20px}.about-hero h1{font-size:clamp(40px,4.1vw,59px)}.about-hero p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:24px}.about-hero .button{margin-top:30px}.about-photo{width:100%;max-height:620px;object-fit:cover;border-radius:5px}.timeline article{display:grid;grid-template-columns:140px 1fr 1fr;gap:25px;padding-block:25px;border-top:1px solid var(--line);align-items:center}.timeline article>span{font-size:12px;color:var(--muted)}.timeline p{font-size:14px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;padding-block:65px 90px}.contact-layout h1{font-size:clamp(40px,4.5vw,62px);margin-block:25px}.contact-layout>div>p:not(.eyebrow){max-width:440px;color:var(--muted);font-size:16px}.contact-email{display:inline-block;overflow-wrap:anywhere;font-size:18px;margin-block:30px}.contact-form{display:flex;flex-direction:column;align-items:stretch;background:#fff;border-radius:20px;padding:32px}.contact-form label{font-size:13px;margin-bottom:10px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:1px solid #c7c6c0;border-radius:7px;padding:12px;background:#fff;margin-bottom:25px;color:var(--ink);min-height:46px}.contact-form textarea{resize:vertical}.contact-form .small{margin-top:16px}.contact-form [role=status]{font-size:13px;margin-top:15px}.print-button{margin-top:25px}
@media(max-width:1050px){.nav-shell{gap:25px}.desktop-nav{gap:22px}.nav-end{gap:20px}.hero{gap:5%;grid-template-columns:1.1fr 1fr}.hero h1{font-size:68px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-portrait{min-height:455px;max-height:530px}.hero-location{margin-top:25px}.bento-grid>.project-card:nth-child(-n+2) .project-art{height:310px}.project-art{height:270px}.service-row{gap:20px;grid-template-columns:30px 1.1fr 1fr 20px}.service-row h3{font-size:22px}.service-cards{gap:15px}.service-card{padding:24px}.service-card h2{font-size:23px}.about-hero{gap:40px}.case-summary,.case-details,.service-detail,.contact-layout{gap:45px}.about-teaser{gap:45px}.hero .eyebrow{font-size:11px}.store .project-art{gap:8px;padding:22px 12px}}
@media(max-width:760px){html{scroll-padding-top:80px}.nav-shell{height:68px;gap:18px}.brand-symbol{transform:scale(.88);transform-origin:left center}.desktop-nav,.contact-nav{display:none}.nav-end{margin-left:auto;gap:20px}.mobile-menu{display:block}.mobile-menu summary{list-style:none;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:6px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;width:22px;height:1px;background:var(--ink);margin-left:auto}.mobile-menu nav{position:absolute;left:0;right:0;top:68px;background:var(--paper);padding:18px var(--gutter) 28px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #0001}.mobile-menu nav>a{display:flex;justify-content:space-between;padding-block:14px;font-size:19px}.hero{grid-template-columns:1fr;gap:30px;padding-top:34px;padding-bottom:25px}.hero h1{font-size:clamp(57px,11.8vw,80px)}.hero-copy .eyebrow{font-size:11px;margin-bottom:20px}.hero-deck{font-size:16px;margin-top:20px;max-width:400px}.hero-actions{margin-top:23px;gap:18px}.hero-actions .button,.hero-actions .text-link{font-size:13px}.hero-location{margin-top:22px}.hero-portrait{min-height:0;height:420px;max-height:none}.hero-portrait img{object-position:center 28%}.experience-strip{display:block;padding-block:18px 24px}.experience-strip>div{margin-top:18px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.experience-strip>div>span{font-size:15px}.section{padding-block:52px}.section-heading{gap:18px;margin-bottom:25px;align-items:start}.section-heading .eyebrow{margin-bottom:10px}.section-heading>.text-link{font-size:12px;white-space:nowrap;margin-top:24px;gap:8px}.section-deck{font-size:14px}.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.bento-grid>.project-card,.bento-grid>.project-card:nth-child(1),.bento-grid>.project-card:nth-child(2){grid-column:span 2}.bento-grid>.project-card:nth-child(-n+2) .project-art,.project-art{height:310px}.bento-grid>.project-card:nth-child(3),.bento-grid>.project-card:nth-child(4){grid-column:span 1}.bento-grid>.project-card:nth-child(3) .project-art,.bento-grid>.project-card:nth-child(4) .project-art{height:260px}.store .project-art img{width:100%}.store .project-art img+img{display:none}.project-caption h3{font-size:17px}.project-caption p{font-size:11px}.project-open{width:32px;height:32px;top:12px;right:12px}.play-label{left:10px;bottom:10px;font-size:10px;padding:8px 10px}.services-home .section-heading{display:block}.services-home .section-deck{margin-top:20px;max-width:350px}.service-row{grid-template-columns:24px 1fr 20px;padding-block:24px;gap:14px}.service-row p{grid-column:2;grid-row:2;max-width:none}.service-row>span:last-child{grid-column:3;grid-row:1}.service-row h3{font-size:22px}.about-teaser{grid-template-columns:1fr;gap:25px}.about-teaser>div>p:not(.eyebrow){font-size:16px}.about-teaser .text-link{margin-top:15px}.footer{padding-top:44px}.footer-main{display:block;margin-bottom:40px}.footer-main .button{margin-top:25px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px}.footer-bottom>span,.footer-bottom>a:first-of-type{grid-column:1/-1}.page-intro{padding-top:42px;padding-bottom:34px}.page-intro>p:not(.eyebrow){font-size:16px;margin-top:20px}.work-grid{grid-template-columns:1fr;gap:28px}.work-grid .project-art{height:320px}.work-page{padding-bottom:50px}.filters{gap:6px}.filters button{font-size:12px;padding:9px 15px}#filter-count{width:100%;margin:10px 0 0}.case-intro{padding-top:22px}.case-intro h1{font-size:40px}.case-intro .eyebrow{font-size:11px}.case-summary,.case-details{grid-template-columns:1fr;gap:24px}.case-summary{margin-top:25px}.case-summary>p{font-size:16px}.case-art{height:340px;border-radius:12px}.case-art.brand img{width:70%}.case-art.editorial{padding:16px;height:270px}.case-art.archive{height:490px;padding:20px}.case-details{padding-block:35px}.case-details p:not(.eyebrow){font-size:15px}.gallery,.gallery.three{grid-template-columns:1fr}.gallery-section{margin-bottom:38px}.gallery-section h2{font-size:25px}.gallery.three img{max-height:600px}.zoom-image{padding:15px}.case-film{padding:15px}.case-film video{height:auto;max-height:600px}.next-project{padding-block:30px 45px;gap:20px}.next-project .text-link{font-size:21px}.lightbox{padding:25px 15px}.lightbox>img{max-width:83vw}.service-cards{grid-template-columns:1fr}.service-card{padding:28px}.service-card h2{min-height:0;font-size:28px}.service-card .eyebrow{margin-bottom:15px}.process-grid{grid-template-columns:1fr 1fr;gap:30px 22px}.process-grid h3{font-size:20px}.service-detail{grid-template-columns:1fr;gap:35px}.service-detail h2{font-size:25px}.about-hero{grid-template-columns:1fr;gap:32px;padding-top:35px}.about-photo{max-height:530px;object-position:center 20%}.about-hero h1{font-size:40px}.timeline article{grid-template-columns:90px 1fr;gap:12px}.timeline p{grid-column:2}.timeline h3{font-size:20px}.contact-layout{grid-template-columns:1fr;gap:30px;padding-block:40px 55px}.contact-layout h1{font-size:41px}.contact-form{padding:25px}.contact-email{font-size:17px}.contact-layout>div>p:not(.eyebrow){font-size:15px}}
@media(max-width:370px){.hero h1{font-size:51px}.hero-actions{gap:10px}.hero-actions .button{padding-inline:17px}.hero-actions .text-link{gap:8px}.hero-portrait{height:350px}.section-heading{display:block}.section-heading>.text-link{margin-top:10px}.bento-grid>.project-card:nth-child(3),.bento-grid>.project-card:nth-child(4){grid-column:span 2}.bento-grid>.project-card:nth-child(3) .project-art,.bento-grid>.project-card:nth-child(4) .project-art{height:330px}.store .project-art img{width:45%}.store .project-art img+img{display:block}.service-row h3{font-size:20px}.contact-email{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.project-art:hover img,.project-art:hover .project-open,.button:hover{transform:none}}
@media print{.header,.footer,.print-button,.skip{display:none}body{background:#fff}.wrap{padding-inline:20px}.section{padding-top:20px}h1{font-size:32px}.timeline article{break-inside:avoid}}

/* Portrait and introduction share one continuous surface. */
.hero{position:relative;isolation:isolate;min-height:650px;grid-template-columns:1.12fr 1fr;gap:3%;padding-top:70px;padding-bottom:70px;overflow:hidden}
.hero-copy{position:relative;z-index:1}
.hero-portrait{position:absolute;z-index:0;top:0;bottom:0;right:0;width:53%;height:auto;min-height:0;max-height:none;overflow:hidden;border-radius:0;background:transparent;mask-image:linear-gradient(to right,transparent 0%,#000 30%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 30%)}
.hero-portrait>img{height:100%;width:100%;object-fit:cover;object-position:50% 0%}
.hero-copy{grid-column:1;max-width:660px}
.experience-strip{padding-top:34px}
@media(min-width:761px) and (max-width:1050px){.hero{min-height:595px;padding-top:55px;padding-bottom:55px}.hero h1{font-size:clamp(49px,6.45vw,68px)}.hero-portrait{width:51%}}
@media(max-width:760px){.hero{min-height:0;display:flex;flex-direction:column;gap:8px;padding-top:34px;padding-bottom:0;overflow:visible}.hero-copy{width:100%;max-width:none}.hero-portrait{position:relative;top:auto;right:auto;bottom:auto;width:calc(100% + var(--gutter)*2);height:480px;align-self:center;margin-top:10px;mask-image:none;-webkit-mask-image:none}.hero-portrait>img{object-position:center 24%}.experience-strip{padding-top:25px}}
@media(max-width:370px){.hero-portrait{height:410px}}

.cover-caption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:12px}

/* Real project previews and current professional collaborations. */
.experience-preview{padding-block:35px 30px;border-bottom:1px solid var(--line)}.experience-preview>.eyebrow{color:var(--muted);margin-bottom:24px}.experience-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px}.experience-logos>a{display:flex;flex-direction:column;gap:15px;justify-content:center;align-items:start;min-height:85px}.company-logo{width:140px;height:43px;object-fit:contain;object-position:left center}.company-logo.tcpi{width:110px}.taste-logo{display:flex;align-items:center;gap:5px}.taste-logo img{width:70px;height:auto}.taste-logo img+img{width:65px}.experience-logos>a>span:last-child{font-size:11px;line-height:1.5;color:var(--muted)}.experience-logos .company-name{font-size:18px!important;font-weight:550;color:var(--ink)!important;letter-spacing:-.04em}.packaging .project-art img,.case-art.packaging img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}.case-art.packaging{height:auto;aspect-ratio:3/2}.preview-mail{width:86%;box-shadow:0 24px 65px #39203120;overflow:hidden;border-radius:8px;background:white}.mail-header{display:flex;justify-content:space-between;align-items:center;padding:20px;font-size:11px;color:#484148}.mail-header small{display:block;font-size:8px;margin-top:3px}.case-art .preview-mail{max-width:820px}.preview-industrial{position:relative;width:100%;height:100%;overflow:hidden;background:#20242a}.industry-detail{position:absolute;inset:0;opacity:.5}.industry-detail img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:75% center;filter:brightness(.65)}.industry-title{position:absolute;inset:0;padding:35px;display:flex;flex-direction:column;justify-content:space-between;align-items:start;color:white;background:linear-gradient(90deg,#171c24d9,transparent)}.industry-title img{width:160px!important;height:70px!important;object-fit:contain!important;box-shadow:none!important}.industry-title span{font-size:clamp(19px,2.2vw,32px);max-width:280px;line-height:1.15;letter-spacing:-.03em}.editorial .project-art,.case-art.editorial{padding:0}.hero .eyebrow{max-width:420px}.hero-portrait img,.about-photo{image-rendering:auto}.timeline .company-logo{max-width:150px}
@media(max-width:1000px){.experience-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.experience-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.experience-preview{padding-top:28px}.company-logo{max-width:125px}.preview-mail{width:90%}.mail-header{padding:14px;font-size:9px}.case-art.packaging{height:auto;aspect-ratio:3/2}.industry-title{padding:24px}.timeline article{grid-template-columns:95px minmax(0,1fr)}.timeline h3{min-width:0}}

/* Product-led direction, based on Joana's published web work. */
:root{--paper:#f5f5f7;--ink:#1d1d1f;--muted:#626268;--line:#dedee2;--radius:16px}.header{background:#fafafaf2}.product-hero{text-align:center;padding-top:72px;padding-bottom:30px}.product-hero>.eyebrow{color:var(--muted);margin-bottom:22px}.product-hero h1{font-size:clamp(42px,5.1vw,74px);line-height:1.06;font-weight:600;letter-spacing:-.045em}.product-hero h1 span{color:#77777e}.product-deck{max-width:590px;margin:25px auto 0;font-size:18px;color:var(--muted)}.product-hero .hero-actions{justify-content:center;margin-top:26px}.hero-product{display:block;position:relative;margin:54px auto 0;max-width:1100px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid #eaeaec;box-shadow:0 20px 55px #14182a0a}.hero-product>img{width:100%;height:auto;display:block}.hero-product-caption{display:flex;justify-content:space-between;padding:17px 24px;font-size:13px;background:#fff;border-top:1px solid #f0f0f3}.hero-product-caption>span{color:var(--muted)}.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}.bento-grid>.project-card,.bento-grid>.project-card:nth-child(n){grid-column:span 1}.bento-grid>.project-card .project-art,.bento-grid>.project-card:nth-child(n) .project-art{height:auto;aspect-ratio:1.45}.project-art{border-radius:16px}.website .project-art{background:#e7e8ee;padding:20px}.browser-preview{width:100%;height:100%;overflow:hidden;border-radius:8px;box-shadow:0 12px 24px #11121a12;background:#fff}.browser-preview img{width:100%;height:100%;object-fit:cover;object-position:top}.case-art.website{height:auto;padding:30px;background:#e7e8ee}.case-art.website .browser-preview{height:auto;max-width:1100px}.case-art.website img{height:auto}.live-project{margin-top:18px}.mindfit .project-art,.case-art.mindfit{background:#dce6e6}.email-stage{position:relative;width:100%;height:100%;min-height:280px;display:flex;align-items:center;justify-content:center;padding:45px 30px}.email-sheet{background:#fff;overflow:hidden;border-radius:6px;box-shadow:0 16px 45px #203e4324}.email-front{position:relative;width:91%;max-width:670px;z-index:1;transform:translateY(20px)}.email-back{position:absolute;width:72%;max-width:575px;top:28px;left:9%;transform:rotate(-5deg);opacity:.8}.email-envelope,.email-foot{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;font-size:12px;color:#263d41}.email-envelope small{font-size:9px;display:block;color:#738084;margin-top:3px}.email-envelope>span:last-child{font-size:10px;color:#738084}.email-foot{font-size:11px;padding-block:14px}.email-foot span{font-size:10px;color:#738084}.mindfit .email-sheet img,.case-art.mindfit .email-sheet img{width:100%;height:auto;object-fit:contain}.case-art.mindfit .email-stage{padding:75px}.case-art.mindfit .email-back{top:40px;left:21%}.project-art:hover .email-sheet img{transform:none}.teaser-portrait{width:112px;height:132px;object-fit:cover;object-position:top;border-radius:12px;margin-bottom:26px}.services-home{background:#ededf0}.service-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding-block:90px}
@media(max-width:760px){.product-hero{padding-top:44px}.product-hero>.eyebrow{font-size:11px;max-width:290px;margin-inline:auto}.product-hero h1{font-size:clamp(35px,8.2vw,52px);letter-spacing:-.04em}.product-deck{font-size:16px;max-width:380px;margin-top:20px}.product-hero .hero-actions{gap:17px;margin-top:23px}.hero-product{margin-top:35px;border-radius:10px}.hero-product-caption{font-size:11px;padding:13px 15px}.bento-grid{grid-template-columns:1fr;gap:32px}.bento-grid>.project-card:nth-child(n){grid-column:1}.section{padding-block:55px}.website .project-art{padding:15px}.case-art.website{padding:14px}.email-stage{padding:30px 18px;min-height:240px}.email-back{top:15px}.email-envelope,.email-foot{padding:12px 15px}.email-envelope{font-size:11px}.case-art.mindfit{height:340px}.case-art.mindfit .email-stage{padding:24px}.case-art.mindfit .email-back{left:10%;top:35px}.service-cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.project-art img,.button{transition:none}}

/* Portrait restored as the primary introduction. */
.portrait-opening{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:6%;align-items:center;text-align:left;padding-top:40px;padding-bottom:45px;min-height:640px}.opening-copy{position:relative;z-index:1}.opening-copy>.eyebrow{color:var(--muted);font-size:12px;margin-bottom:24px;max-width:390px}.portrait-opening h1{font-size:clamp(44px,4.4vw,65px);line-height:1.06}.portrait-opening .product-deck{margin:25px 0 0;max-width:460px;font-size:17px}.portrait-opening .hero-actions{justify-content:flex-start}.opening-portrait{height:570px;align-self:stretch;overflow:hidden;border-radius:16px}.opening-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.portrait-opening+.section{padding-top:55px}
@media(max-width:1000px) and (min-width:761px){.portrait-opening{gap:4%;min-height:570px}.opening-portrait{height:510px}.portrait-opening h1{font-size:45px}.portrait-opening .hero-actions{gap:15px}}
@media(max-width:760px){.portrait-opening{display:flex;flex-direction:column;gap:30px;min-height:0;text-align:left;padding-top:34px;padding-bottom:25px}.opening-copy{width:100%}.opening-copy>.eyebrow{font-size:11px;margin-bottom:20px;max-width:320px}.portrait-opening h1{font-size:clamp(36px,8.8vw,53px)}.portrait-opening .product-deck{font-size:16px;margin-top:20px}.portrait-opening .hero-actions{justify-content:flex-start;gap:18px}.opening-portrait{height:460px;width:100%;border-radius:12px}.opening-portrait img{object-position:center 16%}.portrait-opening+.section{padding-top:35px}}
/* Joolomee rose accent, reserved for headline emphasis. */
:root{--accent:#a64273}
.product-hero h1>span,.page-intro h1>span,.about-hero h1>span,.about-teaser h2>span{color:#a64273;background:linear-gradient(110deg,#843151 0%,#b0447a 42%,#bd4d89 68%,#8d365f 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-actions .button{background:#943862;border-color:#943862}.hero-actions .button:hover{background:#792b50;border-color:#792b50}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#ad4679}
@media(forced-colors:active){.product-hero h1>span,.page-intro h1>span,.about-hero h1>span,.about-teaser h2>span{background:none;-webkit-text-fill-color:CanvasText;color:CanvasText}}

.company-navigation{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:34px}.company-navigation a{font-size:13px;padding-block:10px;border-bottom:1px solid #c9c9ce}.company-navigation a:hover{color:var(--accent);border-color:var(--accent)}.company-projects{padding-block:50px 65px;border-top:1px solid var(--line);scroll-margin-top:110px}.company-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.company-heading .eyebrow{color:var(--muted);margin-bottom:12px}.company-heading h2{font-size:clamp(30px,3.6vw,48px)}.company-heading>span{font-size:12px;color:var(--muted)}.company-projects .work-grid:has(>.project-card:only-child){grid-template-columns:minmax(0,1fr);max-width:1000px}.company-projects .work-grid:has(>.project-card:only-child) .project-art{height:auto;aspect-ratio:1.8}.company-projects .work-grid:has(>.project-card:only-child) .motion .project-art{height:440px;aspect-ratio:auto}.company-projects .work-grid:has(>.project-card:only-child) .motion img{height:100%;width:100%;object-fit:cover}.company-projects .work-grid{gap:40px 28px}.work-page>.filters{margin-bottom:20px}.project-caption{padding-top:18px}.project-caption h3{font-weight:550}.project-art{box-shadow:none}.opening-portrait{border-radius:12px}
@media(max-width:760px){.company-projects{padding-block:35px 45px}.company-navigation{gap:8px 20px;margin-top:24px}.company-heading{gap:15px;margin-bottom:24px}.company-heading h2{font-size:30px}.company-heading>span{white-space:nowrap}.company-projects .work-grid:has(>.project-card:only-child) .project-art{aspect-ratio:1.45}.company-projects .work-grid:has(>.project-card:only-child) .motion .project-art{height:350px}.company-projects .work-grid{gap:30px}}

:root{--paper:#fff;--muted:#626268}.header{background:#fffffff2}.product-hero h1>span,.page-intro h1>span,.about-hero h1>span,.about-teaser h2>span{background-image:linear-gradient(110deg,#a62e65 0%,#cd4a8b 48%,#b93477 100%)}.opening-portrait{border-radius:0;background:transparent;mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 94%,transparent 100%)}.opening-portrait img{mask-image:linear-gradient(to bottom,#000 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 85%,transparent 100%)}.film-sound{display:flex;margin:20px auto 0}.film-status{text-align:center;font-size:12px;color:var(--muted);margin-top:10px}.case-film{background:#f5f5f7}
@media(max-width:760px){.opening-portrait{border-radius:0;mask-image:linear-gradient(to bottom,#000 88%,transparent);-webkit-mask-image:linear-gradient(to bottom,#000 88%,transparent)}.opening-portrait img{mask-image:none;-webkit-mask-image:none}}

/* Give the original work room, without simulated presentation chrome. */
.website .project-art{padding:0;background:#fff}.website .project-art>img{width:100%;height:100%;object-fit:cover;object-position:top}.case-art.website{padding:0;background:#fff;height:auto}.case-art.website>img{width:100%;height:auto;object-fit:contain}.mindfit .project-art{background:#edf1f0;padding:0}.mindfit .project-art>img{width:100%;height:100%;object-fit:contain}.case-art.mindfit{height:auto;aspect-ratio:2.1;background:#edf1f0;padding:35px}.case-art.mindfit>img{width:100%;height:auto;object-fit:contain}.premium .project-art{background:#110e09}.premium .project-art>img{width:100%;height:100%;object-fit:contain}.case-art.premium{height:640px;background:#110e09}.case-art.premium>img{width:100%;height:100%;object-fit:contain}.premium-film video{display:block;max-height:620px;width:auto;max-width:100%;margin:0 auto}.premium-film .small{text-align:center;margin-top:14px}.case-film{background:transparent;padding:0;border-radius:0}.case-film video{max-height:75vh;height:650px}.case-film figcaption{padding-top:12px}.project-art:hover .project-open{transform:none}.project-art:hover img{transform:scale(1.01)}
@media(max-width:760px){.case-art.premium{height:490px}.case-art.mindfit{padding:0}.premium-film video{max-height:580px}.case-film video{height:auto}}

.company-logo.dalma-company{width:105px;height:75px;object-fit:contain;object-position:center}.timeline .dalma-company{height:85px}.experience-logos .company-logo{flex-shrink:0}

.film .project-art{padding:0;background:#101014}.film .project-art img{width:100%;height:100%;object-fit:contain}.case-film video{width:auto;max-width:100%;object-fit:contain}

.company-logo.carla{width:120px;height:80px;object-fit:contain}.timeline .company-logo.carla{width:130px;height:86px}

/* Match the composition to the format of each original. */
.bento-grid{gap:48px 40px;align-items:start}.bento-grid>.project-card.premium,.bento-grid>.project-card.motion{width:100%;max-width:430px;justify-self:center}.bento-grid>.project-card.premium .project-art,.bento-grid>.project-card.motion .project-art,.work-grid .premium .project-art,.work-grid .motion .project-art,.company-projects .work-grid:has(>.project-card:only-child) .premium .project-art,.company-projects .work-grid:has(>.project-card:only-child) .motion .project-art{aspect-ratio:9/16;height:auto;padding:0;background:transparent;border-radius:12px}.premium .project-art>img,.motion .project-art>img,.company-projects .work-grid:has(>.project-card:only-child) .motion img{display:block;width:100%;height:100%;object-fit:cover}.company-projects .work-grid:has(>.project-card:only-child):has(.premium),.company-projects .work-grid:has(>.project-card:only-child):has(.motion){max-width:430px}.work-grid>.premium,.work-grid>.motion{max-width:430px;width:100%}.experience-logos{align-items:start;gap:32px}.experience-logos>a{min-height:135px;justify-content:flex-start;gap:20px}.experience-logos .company-logo{height:65px;width:150px;object-position:left center}.experience-logos .dalma-company{width:120px;height:65px;object-fit:contain}.experience-logos>a>span:last-child{font-size:12px;max-width:190px}.taste-logo{align-items:center}.taste-logo img{width:74px}.taste-logo img+img{width:70px}.opening-portrait,.opening-portrait img{mask-image:none!important;-webkit-mask-image:none!important;border-radius:0;background:#fff}.portrait-opening{grid-template-columns:1.1fr 1fr;gap:4%;padding-top:40px;padding-bottom:0;min-height:640px;align-items:center}.opening-portrait{height:620px;width:100%;align-self:end;overflow:hidden}.opening-portrait img{width:100%;height:100%;object-fit:contain;object-position:bottom center}.portrait-opening h1{font-size:clamp(54px,6.2vw,88px);line-height:1.03;letter-spacing:-.045em}.hero-role{display:block;margin-top:8px;font-size:13px;color:#626268}.opening-copy>.eyebrow{font-size:15px;margin-bottom:28px;max-width:none}.portrait-opening .product-deck{max-width:420px}.portrait-opening+.section{padding-top:70px}
@media(max-width:760px){.bento-grid{gap:36px}.bento-grid>.project-card.premium,.bento-grid>.project-card.motion{max-width:380px}.portrait-opening{padding-top:30px;gap:22px}.portrait-opening h1{font-size:clamp(48px,11.5vw,66px)}.opening-copy>.eyebrow{font-size:13px}.hero-role{font-size:11px}.opening-portrait{height:auto;aspect-ratio:1122/1402;max-height:540px;align-self:center}.opening-portrait img{object-fit:contain}.portrait-opening+.section{padding-top:45px}.experience-logos .company-logo{width:130px;height:64px}.experience-logos{gap:24px 18px}}

/* Shared optical logo stage; original brand colours remain intact. */
.experience-preview{background:#fff;padding-block:42px 38px}
.experience-logos{grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:28px}
.experience-logos>a{display:grid;grid-template-rows:72px auto;align-items:center;justify-items:start;align-content:start;gap:18px;min-height:136px;min-width:0;background:transparent;border:0;box-shadow:none}
.experience-logos>a>.company-logo{grid-row:1;max-width:100%;width:138px;height:52px;object-fit:contain;object-position:left center;background:transparent;filter:none;align-self:center}
.experience-logos>a>.company-logo.cognifit{width:132px;height:42px}
.experience-logos>a>.company-logo.tcpi{width:116px;height:50px}
.experience-logos>a>.company-logo.dalma-company{width:92px;height:72px}
.experience-logos>a>.company-logo.carla{width:102px;height:68px}
.experience-logos>a>.taste-logo{display:flex;align-items:center;justify-content:flex-start;gap:4px;width:142px;height:42px;filter:none}
.experience-logos .taste-logo img{width:70px;max-width:calc(50% - 2px);height:auto;max-height:28px;object-fit:contain}
.experience-logos>a>span:last-child{grid-row:2;align-self:start;max-width:190px;font-size:12px;line-height:1.5;color:var(--muted);margin:0}
/* Preserve the full portrait source and avoid enlarging its facial detail. */
.portrait-opening .opening-portrait{width:min(100%,520px);height:auto;max-height:none;aspect-ratio:auto;align-self:center;justify-self:end;overflow:visible;background:#fff}
.portrait-opening .opening-portrait img{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;image-rendering:auto;transform:none}
@media(max-width:1000px) and (min-width:761px){.experience-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 28px}}
@media(max-width:760px){
 .experience-preview{padding-block:30px}
 .experience-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}
 .experience-logos>a{grid-template-rows:72px auto;gap:12px;min-height:126px}
 .experience-logos>a>.company-logo{max-width:100%}
 .experience-logos>a>span:last-child{font-size:11px;max-width:170px}
 .portrait-opening .opening-portrait{width:min(100%,430px);height:auto;max-height:none;aspect-ratio:auto;align-self:center;margin:0 auto}
}

/* These supplied SVGs are inverse (white) lockups; render their dark variants on white. */
.company-logo.cognifit,.company-logo.taste-logo,.experience-logos>a>.company-logo.cognifit,.experience-logos>a>.company-logo.taste-logo{filter:brightness(0) opacity(.82)}

/* Full seated portrait: native proportions, complete silhouette and white studio surround. */
.portrait-opening{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);min-height:0;padding-top:20px;padding-bottom:20px}
.portrait-opening .opening-portrait{width:min(100%,380px);height:auto;max-height:680px;aspect-ratio:941/1672;align-self:center;justify-self:center;overflow:visible;background:#fff;border:0;border-radius:0;mask-image:none!important;-webkit-mask-image:none!important}
.portrait-opening .opening-portrait img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;object-position:center;mask-image:none!important;-webkit-mask-image:none!important;transform:none}
@media(max-width:760px){
 .portrait-opening{padding-top:30px;padding-bottom:0;gap:18px}
 .portrait-opening .opening-portrait{width:min(100%,310px);height:auto;max-height:552px;aspect-ratio:941/1672;margin:0 auto;align-self:center}
 .portrait-opening .opening-portrait img{height:auto;max-height:552px;object-fit:contain}
}

/* Language controls stay in the page flow and use native select behaviour. */
.language{display:flex;align-items:center;min-width:58px;min-height:44px}
.language select{width:58px;min-height:44px;padding:8px 4px 8px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:12px;line-height:1.3;cursor:pointer}
.language select:hover{background:#f6f5f7}
.language select:focus-visible,.language-suggestion a:focus-visible,.language-suggestion button:focus-visible{outline:2px solid #ad4679;outline-offset:3px}
.language-suggestion{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 24px;position:relative;padding:10px var(--gutter);background:#fbf6f9;border-bottom:1px solid #f0e5eb;color:var(--ink);font-size:12px}
.language-suggestion p{line-height:1.5}
.language-suggestion .text-link{min-height:44px;font-size:12px;font-weight:550;color:#963d67;white-space:nowrap}
.language-suggestion button{min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media(max-width:760px){.nav-end{gap:14px}.language-suggestion{justify-content:flex-start;gap:0 22px;padding-block:12px}.language-suggestion p{flex-basis:100%;margin-bottom:2px}.language-suggestion .text-link,.language-suggestion button{font-size:12px}}
@media(forced-colors:active){.language select{border:1px solid ButtonText}.language-suggestion{border-bottom:1px solid CanvasText}.language-suggestion .text-link,.language-suggestion button{color:LinkText}}

/* A quiet rhythm: progressive entrances, tactile work and continuous navigation. */
.header{transition:box-shadow .3s ease,background .3s ease}
.header.has-scrolled{background:rgba(255,255,255,.95);box-shadow:0 1px 0 #1616160c;backdrop-filter:blur(18px)}
.reading-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#a62e65,#e488b3);transform:scaleX(0);transform-origin:left;pointer-events:none}
.opening-copy h1 span{background-size:180% 100%}
.project-art{isolation:isolate;transition:box-shadow .45s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.project-art>img,.project-art .industry-detail{transition:transform .85s cubic-bezier(.2,.7,.2,1)}
.project-open{transition:background .25s ease,color .25s ease,transform .35s ease}
.project-caption h3 a{transition:color .25s ease}
.project-card:focus-within .project-caption h3 a{color:#a62e65}
.project-art:focus-visible{outline:3px solid #a62e65;outline-offset:6px}
.service-row{position:relative;transition:background .3s ease,padding .35s ease}
.service-row:before{content:'';position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:linear-gradient(90deg,#a62e65,#e488b3);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.service-row:focus-visible:before{transform:scaleX(1)}
.service-row>span:last-child,.hero-actions .button span{display:inline-block;transition:transform .3s ease}
@media(hover:hover) and (pointer:fine){
 .project-art:hover{box-shadow:0 20px 50px #20111a12;transform:translateY(-4px)}
 .project-art:hover>img{transform:scale(1.035)}
 .project-art:hover .industry-detail{transform:scale(1.045)}
 .project-art:hover .project-open{background:#a62e65;color:white;transform:rotate(45deg)}
 .project-card:hover .project-caption h3 a{color:#a62e65}
 .service-row:hover{background:#fbf6f9;padding-left:16px;padding-right:16px}
 .service-row:hover:before{transform:scaleX(1)}
 .service-row:hover>span:last-child{transform:translate(3px,-3px)}
 .hero-actions .button:hover span{transform:translateY(3px)}
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out .18s ease both}
::view-transition-new(root){animation:page-in .3s ease both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .project-art:hover,.project-art:hover>img,.project-art:hover .industry-detail{transform:none}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
@media print{.reading-progress{display:none}}

/* Optical scale is based on visible artwork, not each file's canvas. */
.experience-logos>a{grid-template-rows:84px minmax(42px,auto);justify-items:center;text-align:center;gap:16px}
.experience-logos>a>.company-logo{object-position:center;justify-self:center;align-self:center}
.experience-logos>a>.company-logo.cognifit{width:150px;height:52px}
.experience-logos>a>.company-logo.taste-logo{width:166px;height:52px;gap:4px;justify-content:center}
.experience-logos .taste-logo img{width:81px;max-width:calc(50% - 2px);max-height:36px}
.experience-logos .taste-logo img+img{width:81px}
.experience-logos>a>.company-logo.dalma-company{width:91px;height:74px}
.experience-logos>a>.company-logo.carla{width:115px;height:76px}
.experience-logos>a>.company-logo.tcpi{width:126px;height:54px}
.experience-logos>a>span:last-child{max-width:200px;justify-self:center}
@media(max-width:760px){.experience-logos>a{grid-template-rows:84px minmax(42px,auto)}.experience-logos>a>.company-logo.cognifit{width:138px}.experience-logos>a>.company-logo.taste-logo{width:148px}}
.experience-logos>a>.company-logo.carla{width:156px;height:48px}
.hero-actions .button{background:#1d1d1f;color:#fff;padding:16px 24px;border-radius:12px;font-size:15px;font-weight:500;gap:22px;box-shadow:none}
.hero-actions .button:hover{background:#343436}
.hero-actions .text-link{font-size:15px;border-bottom:1px solid #1d1d1f30;padding-block:10px}
.hero-actions .button:hover span{transform:translate(2px,-2px)}
/* The opening is a close portrait in a shared composition, not a vertical strip. */
.portrait-opening{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding-top:44px;padding-bottom:0;align-items:center}
.portrait-opening .opening-portrait{width:100%;max-width:610px;height:auto;max-height:none;aspect-ratio:1;align-self:end;justify-self:end}
.portrait-opening .opening-portrait img{width:100%;height:auto;max-height:none;object-fit:contain}
@media(max-width:760px){.portrait-opening{grid-template-columns:1fr;padding-top:30px;gap:32px}.portrait-opening .opening-portrait{width:100%;max-width:520px;max-height:none;aspect-ratio:1;margin:0 auto}}
.motion-showcase{padding-top:90px;padding-bottom:80px}
.motion-showcase h2{font-size:clamp(38px,5.2vw,72px);line-height:1.06;letter-spacing:-.045em;max-width:720px}
.motion-showcase .section-heading{align-items:end;margin-bottom:38px}
.motion-screen{width:100%;aspect-ratio:16/9;background:#f5f5f7;border-radius:20px;overflow:hidden}
.showcase-video{display:block;width:100%;height:100%;object-fit:contain}
.motion-navigation{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:22px}
.film-choices{display:flex;flex-wrap:wrap;gap:8px}
.film-choice{display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid transparent;border-radius:9px;background:transparent;color:#626268;font:inherit;font-size:13px;cursor:pointer;transition:background .25s,color .25s}
.film-choice>span{font-size:10px;font-variant-numeric:tabular-nums;opacity:.7}
.film-choice[aria-pressed=true]{background:#1d1d1f;color:#fff}
.film-choice:hover:not([aria-pressed=true]){background:#f6eef2;color:#9d2b62}
.film-choice:focus-visible{outline:2px solid #a62e65;outline-offset:3px}
.film-case-link{white-space:nowrap;font-size:13px}
.home-page #work{border-top:1px solid #ecebed;padding-top:80px}
@media(max-width:760px){.motion-showcase{padding-top:54px;padding-bottom:50px}.motion-showcase .section-heading{display:block;margin-bottom:24px}.motion-showcase .section-deck{margin-top:18px;max-width:310px}.motion-screen{border-radius:12px}.motion-navigation{display:block;padding-top:16px}.film-choices{gap:4px}.film-choice{font-size:11px;padding:12px 10px;min-height:44px}.film-choice>span{display:none}.film-case-link{margin-top:20px}.home-page #work{padding-top:50px}}
/* Keep portrait and copy in their own layout cells at every breakpoint. */
.portrait-opening{position:relative;isolation:isolate;overflow:hidden}
.portrait-opening .opening-copy{position:relative;z-index:1;min-width:0}
.portrait-opening .opening-portrait{position:relative;inset:auto;z-index:0;min-width:0;margin:0;overflow:hidden;max-width:100%;grid-column:2;grid-row:1}
.portrait-opening .opening-portrait img{position:static;display:block;max-width:100%;transform:none}
@media(max-width:760px){.portrait-opening .opening-copy{grid-column:1;grid-row:1}.portrait-opening .opening-portrait{grid-column:1;grid-row:2;width:100%;margin:0 auto}}

/* TCPI's original film is landscape; retain its native proportions on narrow screens. */
.case-film:has(source[src$="/tcpi-film.mp4"]) video{width:100%;height:auto;aspect-ratio:16/9;max-height:none;object-fit:contain;background:#111}

.showcase-youtube,.case-youtube{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;background:#000}.motion-screen .showcase-youtube{height:100%}

.youtube-cover{position:relative;overflow:hidden;background:#111}.youtube-cover img{display:block;width:100%;height:100%;object-fit:cover}.youtube-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:72px;height:52px;border-radius:14px;background:#f03;color:white;font-size:23px;padding-left:3px}.youtube-cover:focus-visible{outline:3px solid #b6417a;outline-offset:5px}
