/* Shared portfolio art direction. Pure CSS scenes complement the original screens. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:portfolio-leave .22s both ease}
::view-transition-new(root){animation:portfolio-arrive .5s both cubic-bezier(.22,1,.36,1)}
@keyframes portfolio-leave{to{opacity:0;transform:translateY(-12px)}}
@keyframes portfolio-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.work .project-grid{gap:60px 32px;margin-top:35px}
.work .project-open{display:block}
.work .project-meta{margin:0}
.work .project-meta>span:first-child{font-size:12px;letter-spacing:.5px}
.work .project-card h3{font-size:25px;min-height:72px;margin:14px 0 23px;line-height:1.4}
.work .project-scope{padding-top:15px;margin-top:18px;gap:10px}
.work .project-scope>span{color:var(--ink);white-space:nowrap}
.project-scene{--scene-bg:#213133;--scene-ink:#f4f4ed;--scene-accent:#d9f98a;--scene-line:#edfce912;aspect-ratio:1.36;position:relative;overflow:hidden;border-radius:5px;background:var(--scene-bg);color:var(--scene-ink);isolation:isolate;container-type:inline-size}
.scene-surface{position:relative;width:100%;height:100%;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .7s var(--ease);transform-style:preserve-3d}
.scene-grid{position:absolute;inset:0;background-image:linear-gradient(var(--scene-line) 1px,transparent 1px),linear-gradient(90deg,var(--scene-line) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(130deg,#0009,transparent 75%)}
.scene-kicker{position:absolute;left:30px;right:30px;top:27px;display:flex;justify-content:space-between;gap:20px;font-family:monospace;font-size:8px;letter-spacing:1.3px;z-index:3}
.scene-kicker>span:last-child{opacity:.65}
.scene-wordmark{position:absolute;left:30px;top:72px;font-family:Arial,var(--font);font-size:64px;font-size:10cqw;line-height:.95;font-weight:700;letter-spacing:-3.5px;z-index:2}
.scene-wordmark em{font-style:normal;color:var(--scene-accent)}
.scene-wordmark .word-period{color:var(--scene-accent)}
.scene-phrase{position:absolute;left:33px;top:228px;font-family:monospace;font-size:8px;letter-spacing:1px;opacity:.65;z-index:2;max-width:40%;line-height:1.8}
.scene-orbit{position:absolute;inset:0;transform:translateY(var(--scene-scroll,0px));transition:transform .15s linear;pointer-events:none;z-index:1}
.scene-orbit i{position:absolute;display:block;border:1px solid var(--scene-accent);border-radius:50%;opacity:.18;transition:transform 1s var(--ease)}
.scene-orbit i:nth-child(1){width:60%;aspect-ratio:1;right:-14%;top:6%}
.scene-orbit i:nth-child(2){width:75%;aspect-ratio:1;right:-21%;top:-2%}
.scene-orbit i:nth-child(3){width:90%;aspect-ratio:1;right:-29%;top:-11%}
.scene-orbit i:nth-child(4){width:105%;aspect-ratio:1;right:-36%;top:-20%}
.scene-visual{position:absolute;z-index:2;transition:transform .9s var(--ease);will-change:transform}
.scene-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;max-width:none;box-shadow:0 15px 40px #0002}
.scene-annotation{position:absolute;font-family:monospace;font-size:7px;letter-spacing:1px;right:25px;top:50%;writing-mode:vertical-rl;z-index:3;opacity:.7}
.scene-bottom{position:absolute;left:30px;right:30px;bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:15px;z-index:4;font-family:monospace;font-size:7px;letter-spacing:.7px}
.scene-bottom>span:first-child{opacity:.7;max-width:55%;line-height:1.6}
.scene-view{display:flex;gap:11px;align-items:center}
.scene-view b{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;border:1px solid currentColor;font-family:Arial;font-size:18px;font-weight:400;transition:transform .45s var(--ease),background .3s}
.project-open:hover .scene-view b{transform:rotate(45deg);background:#ffffff15}
.project-open:hover .scene-visual{transform:translateY(-9px) scale(1.02)}
.project-open:hover .scene-orbit i{transform:scale(1.07)}
.scene--mobility .scene-visual{width:72%;height:40%;left:20%;top:51%;clip-path:polygon(0 0,100% 0,100% 100%,8% 100%);}
.scene--mobility .scene-visual img{object-position:center}
.scene--mobility .scene-phrase{top:45%;max-width:80%;font-size:7px}
.scene--pharmacy{--scene-bg:#e5ddf6;--scene-ink:#493167;--scene-accent:#8750d4;--scene-line:#5936790b}
.scene--pharmacy .scene-wordmark{font-family:var(--font);font-size:10.8cqw;line-height:1.13;letter-spacing:-4px}
.scene--pharmacy .scene-visual{width:32%;height:76%;right:11%;top:19%;border-radius:15px;overflow:hidden;box-shadow:0 20px 40px #49316720}
.scene--pharmacy .scene-visual img{height:auto}
.scene--pharmacy .scene-phrase{top:58%;max-width:42%}
.scene--pharmacy .scene-orbit i{border-width:38px;opacity:.10}
.scene--pharmacy .scene-orbit i:nth-child(n+3){display:none}
.scene--bems{--scene-bg:#172832;--scene-ink:#eef5eb;--scene-accent:#ccf37c;--scene-line:#c3efdb0c}
.scene--bems .scene-wordmark{font-size:17cqw;letter-spacing:-6px;top:76px}
.scene--bems .scene-phrase{top:36%;max-width:80%}
.scene--bems .scene-visual{width:76%;height:45%;left:12%;top:44%;box-shadow:0 20px 50px #0004}
.scene--bems .scene-visual img{object-fit:cover;object-position:top}
.scene--bems .scene-orbit i{border-radius:0;border-width:0;background:var(--scene-accent);width:7%;right:auto;aspect-ratio:auto;top:auto;bottom:5%;opacity:.055}
.scene--bems .scene-orbit i:nth-child(1){height:50%;left:11%}.scene--bems .scene-orbit i:nth-child(2){height:65%;left:22%}.scene--bems .scene-orbit i:nth-child(3){height:80%;left:33%}.scene--bems .scene-orbit i:nth-child(4){height:95%;left:44%}
.scene--givon{--scene-bg:#f0e9da;--scene-ink:#36372b;--scene-accent:#e77b34;--scene-line:#9251220b}
.scene--givon .scene-wordmark{font-size:18cqw;letter-spacing:-7px;top:76px;font-weight:600}
.scene--givon .scene-phrase{top:39%;max-width:75%}
.scene--givon .scene-orbit{left:40%;top:4%;right:-15%;bottom:12%;transform:rotate(-18deg) translateY(var(--scene-scroll,0px))}
.scene--givon .scene-orbit i{width:31%;height:57%;aspect-ratio:auto;background:var(--scene-accent);border:none;border-radius:100px;left:35%;top:8%;opacity:.13;transform-origin:center 80%}
.scene--givon .scene-orbit i:nth-child(2){transform:rotate(90deg)}.scene--givon .scene-orbit i:nth-child(3){transform:rotate(180deg)}.scene--givon .scene-orbit i:nth-child(4){transform:rotate(270deg)}
.scene--givon .scene-visual{left:18%;top:52%;width:94%;height:37%;overflow:hidden;border-top:3px solid #e77b34;box-shadow:0 20px 40px #66533215}
.scene--givon .scene-visual img{object-fit:cover;object-position:left top}
.scene--bispet{--scene-bg:#e1ebd5;--scene-ink:#33483a;--scene-accent:#769b4e;--scene-line:#39542e08}
.scene--bispet .scene-wordmark{top:82px;font-size:12cqw;letter-spacing:-4px;max-width:50%;line-height:.91}
.scene--bispet .scene-wordmark em{display:block}
.scene--bispet .scene-visual{width:32%;height:80%;right:12%;top:18%;overflow:hidden;border-radius:14px;box-shadow:0 20px 40px #3653261c}
.scene--bispet .scene-visual img{height:auto}
.scene--bispet .scene-phrase{top:60%;max-width:33%}
.scene--bispet .scene-orbit i{background:#a9c480;border:none;opacity:.24}
.scene--bispet .scene-orbit i:nth-child(1){width:40%;right:-8%;top:15%}.scene--bispet .scene-orbit i:nth-child(2){width:20%;right:35%;top:5%}.scene--bispet .scene-orbit i:nth-child(3){width:14%;right:20%;top:0}.scene--bispet .scene-orbit i:nth-child(4){width:11%;right:5%;top:5%}
.scene--asset{--scene-bg:#315de1;--scene-ink:#fff;--scene-accent:#cee990;--scene-line:#ffffff10}
.scene--asset .scene-wordmark{font-size:13cqw;letter-spacing:-4px;line-height:.97;top:78px}
.scene--asset .scene-wordmark em{display:block}
.scene--asset .scene-visual{display:none}
.scene--asset .scene-phrase{top:auto;bottom:23%;max-width:60%;font-size:9px}
.scene--asset .scene-orbit{left:25%;top:15%;transform:rotate(-30deg) translateY(var(--scene-scroll,0px))}
.scene--asset .scene-orbit i{border-radius:17%;border-width:1px;opacity:.6}
.scene--asset .scene-orbit i:nth-child(1){width:24%;right:30%;top:30%;background:#d5ee8119}.scene--asset .scene-orbit i:nth-child(2){width:42%;right:21%;top:19%;opacity:.4}.scene--asset .scene-orbit i:nth-child(3){width:60%;right:12%;top:8%;opacity:.25}.scene--asset .scene-orbit i:nth-child(4){width:78%;right:3%;top:-3%;opacity:.16}
/* A complete, independently addressable case study for every project. */
.portfolio-page{--case-accent:var(--blue)}
.case--givon{--case-accent:#b95a21}.case--pharmacy{--case-accent:#7950b3}.case--bems{--case-accent:#56752e}.case--bispet{--case-accent:#577c39}
.case-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--case-accent);transform:scaleX(0);transform-origin:left;z-index:80}
.case-header{height:88px;position:relative;border-bottom:1px solid var(--line);z-index:40;background:var(--paper)}
.case-header>.wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.case-back{font-size:12px;display:flex;align-items:center;gap:15px}
.case-back>span{font-size:24px;transition:transform .3s}.case-back:hover>span{transform:translate(-3px,-3px)}
.case-brand{font-family:Arial;font-size:27px;letter-spacing:-1.6px;font-weight:800}.case-brand>span{font-size:15px;font-weight:400;vertical-align:top;display:inline-block;margin:1px 0 0 5px}
.case-header-contact{font-size:12px;display:flex;align-items:center;gap:27px}.case-header-contact>span{font-size:22px}
.case-hero{padding:61px 0 0}
.case-eyebrow{display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:monospace;font-size:10px;letter-spacing:1px;color:var(--muted)}
.case-eyebrow>span:last-child{font-size:9px}
.case-title-row{display:flex;align-items:center;justify-content:space-between;gap:55px;margin-top:44px}
.case-project-brand{font-family:Arial,var(--font);font-size:13px;letter-spacing:.6px;color:var(--case-accent);margin-bottom:19px;font-weight:600}
.case-title-row h1{font-size:clamp(35px,4.45vw,65px);font-weight:600;line-height:1.26;letter-spacing:-2.6px;max-width:950px;text-wrap:balance}
.case-hero-arrow{align-self:flex-end;font-family:Arial;font-weight:300;font-size:90px;line-height:1;color:var(--case-accent)}
.case-meta{margin:44px 0 0;padding:23px 0 32px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.05fr 1.55fr 1fr;gap:35px}
.case-meta dt{font-family:monospace;font-size:8px;color:var(--muted);letter-spacing:.9px;margin-bottom:13px}
.case-meta dd{margin:0;font-size:12px;line-height:1.7}
.case-cover{width:100%;padding:0 24px;overflow:hidden}
.case-cover .project-scene{height:min(670px,51vw);aspect-ratio:auto;border-radius:6px}
.case-cover .scene-kicker{left:60px;right:60px;top:39px;font-size:10px}
.case-cover .scene-wordmark{left:60px;top:108px;font-size:clamp(80px,10.5vw,160px);letter-spacing:-7px}
.case-cover .scene-phrase{left:64px;top:65%;font-size:11px;max-width:36%}
.case-cover .scene-bottom{left:60px;right:60px;bottom:34px;font-size:9px}
.case-cover .scene-annotation{right:30px;font-size:8px}
.case-cover .scene--mobility .scene-wordmark{top:88px;font-size:10.7vw}
.case-cover .scene--mobility .scene-visual{width:52%;left:44%;height:55%;top:28%;clip-path:polygon(0 0,100% 0,100% 100%,6% 100%)}
.case-cover .scene--mobility .scene-phrase{top:auto;bottom:21%}
.case-cover .scene--pharmacy .scene-wordmark{font-size:10vw;letter-spacing:-7px}
.case-cover .scene--pharmacy .scene-visual,.case-cover .scene--bispet .scene-visual{width:23%;height:79%;top:13%;right:20%;border-radius:22px}
.case-cover .scene--pharmacy .scene-phrase{top:auto;bottom:23%;max-width:35%}
.case-cover .scene--bems .scene-wordmark{font-size:13.2vw;top:16%}
.case-cover .scene--bems .scene-phrase{top:auto;bottom:31%}
.case-cover .scene--bems .scene-visual{width:54%;height:60%;left:41%;top:32%}
.case-cover .scene--givon .scene-wordmark{font-size:15.5vw;top:16%}
.case-cover .scene--givon .scene-visual{left:42%;top:51%;width:70%;height:33%}
.case-cover .scene--givon .scene-phrase{top:auto;bottom:25%;max-width:36%}
.case-cover .scene--bispet .scene-wordmark{font-size:10.5vw;top:18%;letter-spacing:-6px}
.case-cover .scene--bispet .scene-phrase{top:auto;bottom:22%}
.case-cover .scene--asset .scene-wordmark{font-size:10.8vw;top:17%}
.case-cover .scene--asset .scene-phrase{top:auto;bottom:19%}
.case-cover .scene--asset .scene-orbit{left:33%;top:2%;bottom:8%}
.case-nav{position:sticky;top:0;background:#f5f5eff5;backdrop-filter:blur(16px);border-bottom:1px solid var(--line);z-index:30;margin-top:28px}
.case-nav>.wrap{height:69px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.case-nav>.wrap>span:first-child{font-family:Arial,var(--font);font-size:12px;font-weight:600}
.case-nav>.wrap>div{display:flex;align-items:center;gap:36px}
.case-nav a{font-size:12px;position:relative;padding:26px 0;color:var(--muted)}
.case-nav a:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--case-accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.case-nav a[aria-current="location"]{color:var(--ink)}.case-nav a[aria-current="location"]:after{transform:scaleX(1)}
.case-reading-progress{font-family:monospace;font-size:10px;color:var(--muted);min-width:35px;text-align:right}
.case-section{padding-block:100px;scroll-margin-top:68px}
.case-section-label{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:49px;font-size:10px;color:var(--muted)}
.case-section-label>span:first-child{font-family:monospace;letter-spacing:1px;color:var(--case-accent);font-size:10px}
.case-overview-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:85px}
.case-overview-grid h2{font-size:39px;font-weight:500;line-height:1.45;letter-spacing:-1.9px;text-wrap:balance}
.case-overview-grid>div>p{font-size:15px;line-height:2;color:#677269}
.case-overview-grid .case-overview-note{font-size:10px;font-family:Arial,var(--font);color:#899182;margin-top:25px;line-height:1.9}
.case-features{margin-top:65px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.case-feature{border-top:1px solid var(--line);padding-top:24px}
.feature-index{font-family:monospace;font-size:12px;color:var(--case-accent)}
.case-feature h3{font-size:21px;line-height:1.4;letter-spacing:-.6px;margin-top:27px;font-weight:500}
.case-feature p{font-size:13px;color:var(--muted);line-height:1.9;max-width:330px;margin-top:15px}
.case-screens{background:#e9ede4}
.case-screen-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end}
.case-screen-heading h2{font-size:44px;line-height:1.35;font-weight:500;letter-spacing:-2px}.case-screen-heading h2>span{color:#7f8a76}
.case-screen-heading>p{font-size:13px;line-height:1.9;color:var(--muted)}
.screen-tabs{display:flex;gap:30px;flex-wrap:wrap;margin-top:44px;border-bottom:1px solid #c4cdbb}
.screen-tabs button{padding:17px 0;background:none;display:flex;align-items:center;gap:10px;position:relative;font-size:12px;color:#7c8872}
.screen-tabs button>span{font-family:monospace;font-size:9px}
.screen-tabs button:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--case-accent);transform:scaleX(0);transition:transform .3s}
.screen-tabs button[aria-selected="true"]{color:var(--ink)}.screen-tabs button[aria-selected="true"]:after{transform:scaleX(1)}
.screen-gallery{margin-top:30px}
.case-screen{margin:0}
.screen-canvas{min-height:320px;height:clamp(350px,40vw,610px);padding:clamp(20px,4vw,56px);display:grid;place-items:center;background:#f4f5ef;overflow:hidden}
.screen-canvas>img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 18px 65px #23321c12}
.screen-portrait{background:#dfe6d6}.screen-portrait>img{height:100%;max-height:100%;width:auto;max-width:90%;object-fit:contain}
.case-screen figcaption{display:flex;align-items:center;gap:25px;margin-top:21px}
.case-screen figcaption>span{font-family:monospace;font-size:10px;color:var(--muted);white-space:nowrap}
.case-screen figcaption p{font-size:12px;line-height:1.8;color:#6d7866}
.case-screen figcaption a{font-size:10px;white-space:nowrap;margin-left:auto;color:#56664c;border-bottom:1px solid #b1bca6;padding-block:5px}
.case-source-note{font-size:9px;color:#87917e;margin-top:25px;text-align:right}
.case-scope-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:80px}
.case-scope-heading h2{font-size:42px;font-weight:500;letter-spacing:-2px}
.case-scope-heading>p{font-size:13px;line-height:1.9;color:var(--muted);max-width:380px}
.case-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:47px 0;margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.case-flow>div{position:relative;display:flex;flex-direction:column;gap:16px;padding-inline:40px;border-right:1px solid var(--line)}
.case-flow>div:first-child{padding-left:0}.case-flow>div:last-child{border:0}
.case-flow>div:not(:last-child):after{content:"↗";position:absolute;right:24px;top:15px;font-family:Arial;font-size:30px;font-weight:300;color:#a1ac95}
.case-flow span{font-family:monospace;font-size:9px;letter-spacing:1px;color:var(--case-accent)}.case-flow strong{font-size:23px;font-weight:500;letter-spacing:-.5px;max-width:85%}
.case-tech{display:flex;justify-content:space-between;align-items:center;gap:35px;background:#192b26;color:#eff4e8;padding:39px 43px;margin-top:32px}
.case-tech .tiny-label{font-size:8px;color:#a4b79a}.case-tech h3{font-size:20px;font-weight:500;margin-top:12px}
.case-tech>div:last-child{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.case-tech>div:last-child>span{border:1px solid #50674b;padding:11px 15px;font-family:Arial;font-size:12px;color:#d8e9c7}
.case-source-link{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:27px;max-width:290px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.case-next{background:#e7eadf;overflow:hidden}
.case-next-link{display:flex;align-items:center;justify-content:space-between;padding-block:70px;gap:45px}
.case-next .tiny-label{font-size:9px;color:#75826a}.case-next h2{font-family:Arial,var(--font);font-size:clamp(42px,6vw,88px);font-weight:500;letter-spacing:-3px;margin-top:21px;transition:transform .7s var(--ease),color .3s}
.case-next p{font-size:14px;line-height:1.8;color:#7b8771;margin-top:18px}
.case-next-arrow{display:grid;place-items:center;flex:none;width:110px;height:110px;border-radius:50%;border:1px solid #9ba990;font-family:Arial;font-size:60px;font-weight:300;transition:transform .6s var(--ease),background .4s,border-color .4s}
.case-next-link:hover h2{transform:translateX(10px);color:var(--blue)}.case-next-link:hover .case-next-arrow{transform:rotate(45deg);background:var(--lime);border-color:var(--lime)}
.case-connect{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;padding-block:88px}
.case-connect .tiny-label{font-size:9px;letter-spacing:1px;color:var(--blue);margin-bottom:20px}
.case-connect h2{font-size:42px;letter-spacing:-1.8px;font-weight:500}.case-connect>a{display:flex;align-items:center;gap:55px;padding-bottom:13px;border-bottom:1px solid var(--ink);font-size:15px;margin-bottom:7px}.case-connect>a>span{font-family:Arial;font-size:30px;transition:transform .4s}.case-connect>a:hover>span{transform:translate(5px,-5px)}
.case-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:24px;gap:20px;font-size:9px;color:var(--muted)}
.portfolio-ready .case-enter{animation:case-enter .9s both var(--ease)}
.portfolio-ready .case-project-brand{animation-delay:.06s}.portfolio-ready .case-title-row h1{animation-delay:.14s}.portfolio-ready .case-hero-arrow{animation-delay:.25s}.portfolio-ready .case-meta{animation-delay:.23s}.portfolio-ready .case-cover{animation-delay:.32s}
@keyframes case-enter{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
.portfolio-ready .case-reveal{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--case-delay,0ms)}
.portfolio-ready .case-reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1150px){
 .work .project-card h3{font-size:22px;min-height:63px}.work .project-grid{gap:47px 26px}
 .scene-wordmark{left:25px;top:62px;letter-spacing:-2.5px}.scene-kicker{left:25px;right:25px;top:24px;font-size:7px}
 .scene-phrase{left:26px;font-size:7px;top:200px}.scene-bottom{left:25px;right:25px;font-size:6px;bottom:21px}.scene-view{gap:7px}.scene-view b{width:25px;height:25px;font-size:16px}
 .scene--bems .scene-wordmark,.scene--givon .scene-wordmark{top:63px;letter-spacing:-4px}
 .scene--bispet .scene-wordmark,.scene--asset .scene-wordmark{top:64px;letter-spacing:-3px}
 .scene--pharmacy .scene-wordmark{letter-spacing:-2px}.scene-annotation{right:15px;font-size:6px}
 .case-title-row h1{font-size:48px}.case-meta{gap:24px}.case-meta dd{font-size:11px}
 .case-cover .scene-wordmark,.case-cover .scene--mobility .scene-wordmark{top:85px;left:43px}
 .case-cover .scene-kicker,.case-cover .scene-bottom{left:43px;right:43px}
 .case-cover .scene-phrase{left:46px;font-size:9px}
 .case-section{padding-block:80px}.case-overview-grid{gap:45px}.case-overview-grid h2{font-size:33px}.case-overview-grid>div>p{font-size:14px}.case-features{gap:25px}.case-feature h3{font-size:19px}
 .case-flow>div{padding-inline:25px}.case-flow strong{font-size:20px}.case-flow>div:not(:last-child):after{right:15px;font-size:25px}
 .case-tech{padding:30px}.case-tech>div:last-child>span{font-size:11px;padding:9px 12px}
}
@media(max-width:850px){
 .work .project-card h3{font-size:20px;min-height:84px}.work .project-grid{gap:42px 22px}.project-scene{aspect-ratio:1.14}
 .scene-kicker{left:20px;right:20px;font-size:6px;letter-spacing:.6px;top:21px}.scene-wordmark{left:20px;top:59px;font-size:11cqw;letter-spacing:-2px}
 .scene--pharmacy .scene-wordmark{font-size:12cqw}.scene--pharmacy .scene-visual,.scene--bispet .scene-visual{width:35%;top:22%;right:9%;height:68%}
 .scene-phrase{left:21px;font-size:6px;letter-spacing:.6px}.scene--mobility .scene-phrase{top:43%}
 .scene--givon .scene-wordmark{font-size:19cqw;letter-spacing:-4px}.scene--bems .scene-wordmark{font-size:19cqw}.scene--bems .scene-phrase{top:39%}.scene--bems .scene-visual{top:47%;height:40%}
 .scene--bispet .scene-wordmark{font-size:13cqw}.scene--asset .scene-wordmark{font-size:15cqw}
 .scene-bottom{left:20px;right:20px;font-size:6px}.scene-bottom>span:first-child{max-width:48%;font-size:5px}.scene-view{font-size:5px;letter-spacing:.4px}.scene-view b{width:24px;height:24px}.scene-annotation{font-size:5px;right:10px}
 .case-header{height:77px}.case-back,.case-header-contact{font-size:10px;gap:10px}.case-brand{font-size:24px}
 .case-hero{padding-top:43px}.case-title-row{margin-top:33px;gap:25px}.case-title-row h1{font-size:39px;letter-spacing:-1.9px}.case-hero-arrow{font-size:61px}
 .case-meta{margin-top:32px;grid-template-columns:1fr 1.3fr 1fr;gap:19px}.case-meta dd{font-size:10px}.case-meta dt{font-size:7px}
 .case-cover{padding-inline:15px}.case-cover .project-scene{height:440px}.case-cover .scene-wordmark,.case-cover .scene--mobility .scene-wordmark{font-size:11vw;left:32px;letter-spacing:-4px;top:86px}
 .case-cover .scene--givon .scene-wordmark{font-size:16vw}.case-cover .scene--bems .scene-wordmark{font-size:14vw}.case-cover .scene--pharmacy .scene-wordmark{font-size:10.5vw;letter-spacing:-4px}
 .case-cover .scene-kicker,.case-cover .scene-bottom{left:32px;right:32px}.case-cover .scene-kicker{font-size:8px}.case-cover .scene-bottom{font-size:7px}.case-cover .scene-bottom>span:first-child{font-size:7px}
 .case-cover .scene-phrase{left:33px;font-size:7px}.case-cover .scene--pharmacy .scene-visual,.case-cover .scene--bispet .scene-visual{width:26%;right:16%}
 .case-nav>.wrap{height:60px}.case-nav>.wrap>div{gap:26px}.case-nav a{font-size:11px;padding:22px 0}.case-nav>.wrap>span:first-child{font-size:10px}.case-reading-progress{display:none}
 .case-section{padding-block:68px}.case-section-label{margin-bottom:35px}.case-overview-grid{gap:35px;grid-template-columns:1fr 1fr}.case-overview-grid h2{font-size:28px;letter-spacing:-1.3px}.case-overview-grid>div>p{font-size:13px}
 .case-features{gap:20px;margin-top:45px}.case-feature h3{font-size:17px;margin-top:23px}.case-feature p{font-size:12px}
 .case-screen-heading h2,.case-scope-heading h2{font-size:35px}.case-screen-heading>p{font-size:11px}.case-scope-heading{gap:35px}.case-scope-heading>p{max-width:300px;font-size:12px}
 .case-flow strong{font-size:17px}.case-flow span{font-size:7px}.case-flow>div:not(:last-child):after{font-size:19px;right:10px}.case-flow>div{padding-inline:20px}
 .case-tech{align-items:flex-start;gap:25px}.case-tech h3{font-size:17px;white-space:nowrap}.case-tech>div:last-child>span{font-size:10px;padding:8px 10px}
 .case-connect h2{font-size:35px}.case-connect>a{font-size:13px;gap:25px}.case-next-arrow{width:85px;height:85px;font-size:44px}
}
@media(max-width:600px){
 .work .project-grid{gap:39px;grid-template-columns:1fr;margin-top:28px}.work .project-card h3{font-size:23px;min-height:0;line-height:1.4;margin:12px 0 20px}.work .project-scope{display:flex;flex-wrap:wrap;margin-top:15px;padding-top:12px}.work .project-scope p{font-size:10px}.work .project-scope>span{font-size:9px;margin:0}
 .project-scene{aspect-ratio:1.12}.scene-wordmark{font-size:12cqw;top:61px}.scene-kicker{font-size:6px}.scene--mobility .scene-phrase{top:44%}.scene--mobility .scene-visual{top:52%;height:36%;width:78%;left:15%}
 .scene--givon .scene-wordmark{font-size:21cqw;top:65px}.scene--givon .scene-phrase{top:41%}.scene--pharmacy .scene-wordmark{font-size:13cqw}.scene--bispet .scene-wordmark{font-size:15cqw;top:65px}.scene--asset .scene-wordmark{font-size:15cqw}
 .scene--bems .scene-wordmark{font-size:21cqw}.scene-bottom{font-size:6px;bottom:18px}.scene-bottom>span:first-child{font-size:6px}.scene-view{font-size:6px}
 .case-header{height:72px}.case-header>.wrap{gap:12px}.case-back{font-size:10px;gap:8px}.case-back>span{font-size:18px}.case-header-contact{font-size:10px;gap:8px}.case-header-contact>span{font-size:17px}.case-brand{font-size:21px}.case-brand>span{display:none}
 .case-hero{padding-top:35px}.case-eyebrow{font-size:7px;letter-spacing:.6px;gap:10px}.case-eyebrow>span:last-child{font-size:7px}
 .case-title-row{margin-top:28px;gap:0}.case-project-brand{font-size:11px;margin-bottom:15px}.case-title-row h1{font-size:33px;line-height:1.35;letter-spacing:-1.7px;text-wrap:pretty}.case-hero-arrow{display:none}
 .case-meta{grid-template-columns:1fr 1fr;gap:22px 20px;margin-top:28px;padding:23px 0 28px}.case-meta>div:nth-child(2){grid-column:1 / -1;grid-row:2}.case-meta dt{font-size:7px;margin-bottom:8px}.case-meta dd{font-size:11px}
 .case-cover{padding-inline:10px}.case-cover .project-scene{height:440px}.case-cover .scene-kicker{top:27px;left:24px;right:24px;font-size:7px}
 .case-cover .scene-wordmark,.case-cover .scene--mobility .scene-wordmark{font-size:14.5vw;left:24px;top:78px;letter-spacing:-3px}
 .case-cover .scene--pharmacy .scene-wordmark{font-size:14vw;top:84px;left:24px;letter-spacing:-3px}.case-cover .scene--pharmacy .scene-visual,.case-cover .scene--bispet .scene-visual{width:36%;height:70%;right:8%;top:19%;border-radius:13px}
 .case-cover .scene--pharmacy .scene-phrase{max-width:40%;bottom:30%}
 .case-cover .scene--givon .scene-wordmark{font-size:25vw;top:83px}.case-cover .scene--givon .scene-visual{left:15%;top:55%;width:110%;height:31%}.case-cover .scene--givon .scene-phrase{top:42%;bottom:auto;max-width:70%}
 .case-cover .scene--mobility .scene-visual{width:87%;left:10%;height:37%;top:48%;clip-path:none}.case-cover .scene--mobility .scene-phrase{top:42%;bottom:auto;max-width:80%}
 .case-cover .scene--bems .scene-wordmark{font-size:24vw;top:84px}.case-cover .scene--bems .scene-visual{width:87%;left:10%;height:39%;top:48%}.case-cover .scene--bems .scene-phrase{top:41%;bottom:auto;max-width:80%}
 .case-cover .scene--bispet .scene-wordmark{font-size:17vw;top:88px}.case-cover .scene--bispet .scene-phrase{bottom:30%;max-width:34%}
 .case-cover .scene--asset .scene-wordmark{font-size:20vw;top:87px}.case-cover .scene--asset .scene-orbit{left:8%;top:24%;right:-15%}.case-cover .scene--asset .scene-phrase{bottom:22%;max-width:50%}
 .case-cover .scene-phrase{left:26px;font-size:7px}.case-cover .scene-bottom{left:24px;right:24px;bottom:24px;font-size:6px}.case-cover .scene-bottom>span:first-child{font-size:6px;max-width:50%}.case-cover .scene-annotation{right:12px;font-size:6px}
 .case-nav{margin-top:18px}.case-nav>.wrap{height:56px}.case-nav>.wrap>span:first-child{display:none}.case-nav>.wrap>div{width:100%;justify-content:space-between;gap:15px}.case-nav a{font-size:11px;padding:20px 0}
 .case-section{padding-block:61px;scroll-margin-top:50px}.case-section-label{margin-bottom:29px;font-size:9px}.case-section-label>span:first-child{font-size:8px;letter-spacing:.7px}
 .case-overview-grid{grid-template-columns:1fr;gap:26px}.case-overview-grid h2{font-size:30px;letter-spacing:-1.4px;line-height:1.4}.case-overview-grid>div>p{font-size:13px;line-height:1.95}.case-overview-grid .case-overview-note{font-size:9px;margin-top:20px}
 .case-features{grid-template-columns:1fr;gap:24px;margin-top:32px}.case-feature{display:grid;grid-template-columns:28px 1fr;gap:12px;padding-top:22px}.feature-index{grid-row:span 2;font-size:10px;padding-top:4px}.case-feature h3{margin:0;font-size:20px}.case-feature p{margin:0;font-size:12px;max-width:none}
 .case-screen-heading{display:block}.case-screen-heading h2,.case-scope-heading h2{font-size:31px;line-height:1.4;letter-spacing:-1.4px}.case-screen-heading>p{margin-top:18px;font-size:12px}.screen-tabs{gap:22px;margin-top:25px;flex-wrap:nowrap;overflow-x:auto}.screen-tabs button{font-size:10px;white-space:nowrap;gap:7px;padding-block:15px}.screen-tabs button>span{font-size:8px}
 .screen-gallery{margin-top:23px}.screen-canvas{min-height:230px;height:300px;padding:16px}.screen-portrait{height:440px;padding:24px}.case-screen figcaption{gap:10px 17px;align-items:flex-start;flex-wrap:wrap;margin-top:17px}.case-screen figcaption>span{font-size:8px;padding-top:4px}.case-screen figcaption p{font-size:11px;flex:1;min-width:200px;line-height:1.8}.case-screen figcaption a{font-size:9px;margin-left:auto}.case-source-note{font-size:8px;margin-top:18px}
 .case-scope-heading{display:block}.case-scope-heading>p{margin-top:23px;font-size:12px;max-width:none}.case-flow{grid-template-columns:1fr;margin-top:28px;padding:0}.case-flow>div{padding:23px 0!important;flex-direction:row;align-items:center;gap:20px;border-right:0;border-bottom:1px solid var(--line)}.case-flow>div:last-child{border-bottom:0}.case-flow span{min-width:90px;font-size:8px}.case-flow strong{font-size:17px;padding-right:25px}.case-flow>div:not(:last-child):after{font-size:20px;right:0;top:26px;transform:rotate(90deg)}
 .case-tech{display:block;padding:26px;margin-top:25px}.case-tech h3{font-size:19px;white-space:normal}.case-tech>div:last-child{justify-content:flex-start;margin-top:25px;gap:8px}.case-tech>div:last-child>span{font-size:10px}.case-source-link{font-size:10px;margin-top:22px}
 .case-next-link{padding-block:45px;gap:25px}.case-next .tiny-label{font-size:7px}.case-next h2{font-size:39px;letter-spacing:-1.7px;margin-top:16px;overflow-wrap:anywhere}.case-next p{font-size:11px;margin-top:14px}.case-next-arrow{width:52px;height:52px;font-size:30px}
 .case-connect{display:block;padding-block:56px}.case-connect h2{font-size:33px;letter-spacing:-1.5px}.case-connect .tiny-label{font-size:8px;margin-bottom:17px}.case-connect>a{font-size:13px;max-width:250px;margin-top:29px;justify-content:space-between}.case-footer{font-size:8px;gap:14px;flex-wrap:wrap}.case-footer>span{order:3;width:100%}.case-footer>a:last-child{margin-left:auto}
}
@media(max-width:360px){.work .project-card h3{font-size:21px}.scene-kicker{font-size:5px}.scene-bottom>span:first-child{font-size:5px}.scene-view{font-size:5px}.scene-wordmark{letter-spacing:-2px}.case-title-row h1{font-size:29px}.case-back,.case-header-contact{font-size:9px}.case-brand{font-size:19px}.case-cover .project-scene{height:400px}.case-next h2{font-size:32px}.case-screen figcaption p{min-width:160px}}
@media(prefers-reduced-motion:reduce){
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 .portfolio-ready .case-enter{animation:none}.portfolio-ready .case-reveal{opacity:1;transform:none;transition:none}
 .scene-surface,.scene-orbit,.scene-visual,.scene-orbit i{transform:none!important;transition:none!important}
}
/* Long admin screens keep their native proportions; small screens can pan for detail. */
.screen-pan-hint{display:none}
.case--givon .screen-canvas{height:auto;min-height:0;padding:40px;display:flex;align-items:center;justify-content:center}
.case--givon .screen-canvas>img{width:100%;height:auto;max-height:none}
@media(max-width:600px){
 .screen-canvas:not(.screen-portrait){display:flex;align-items:center;justify-content:flex-start;height:auto;min-height:190px;max-height:430px;padding:16px;overflow:auto;overscroll-behavior-x:contain}
 .screen-canvas:not(.screen-portrait)>img{width:640px;min-width:640px;max-width:none;height:auto;max-height:none;flex-shrink:0}
 .screen-pan-hint{display:block;font-size:9px;color:#7c8b70;margin-top:11px;text-align:right}
 .screen-portrait + .screen-pan-hint{display:none}
}
