/* Purple work directory */
[hidden]{display:none!important}
.work-index{user-select:none}.subpage h1:focus{outline:none}
.site-header{position:fixed}
.work-index{position:relative;background:var(--purple);color:var(--black);padding-top:48px}
.index-heading{color:white}.index-heading>span{color:rgba(255,255,255,.7)}.index-heading h2{color:white}
.category-list{position:relative;border-color:rgba(0,0,0,.75);isolation:isolate;padding-left:43%;overflow:clip}
.category-list:has(.category:hover) .category:not(:hover),.category-list:has(.category:focus-visible) .category:not(:focus-visible){color:var(--black)}
.category{position:relative;z-index:1;min-height:96px;padding:15px 0 18px;border-color:rgba(0,0,0,.72);color:white;transition:padding .25s,color .2s;}
.category-name{font-size:clamp(28px,3.4vw,56px);font-weight:500;letter-spacing:-.055em}.category-name.english{font-weight:700}.category-meta{opacity:.8}.category-arrow{font-size:38px}
.category:hover,.category:focus-visible,.category.is-active{z-index:3;color:white;padding-left:8px;padding-right:8px}
.category:focus-visible{outline:2px solid white;outline-offset:-3px}
.hover-preview{position:absolute;z-index:4;left:5%;top:50%;width:min(32vw,420px);height:min(56vh,510px);padding:6px;background:white;opacity:1;visibility:visible;pointer-events:none;transform:translateY(-50%) rotate(var(--tilt,-5deg));transition:transform .32s;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.hover-preview.visible{opacity:1;visibility:visible;transform:translateY(-50%) rotate(var(--tilt,-5deg))}
.hover-preview img{width:100%;height:100%;display:block;object-fit:contain;background:#f4f4f4}
.hover-preview>span{position:absolute;bottom:12px;right:14px;padding:5px 8px;background:white;font:9px Arial,sans-serif;letter-spacing:.13em}
.cursor-orb{position:fixed;z-index:20;top:0;left:0;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--black);color:white;font:58px/1 Arial,sans-serif;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-50%) scale(.65);transition:opacity .15s,visibility .15s,transform .18s}
.cursor-orb.visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
@media(hover:hover) and (pointer:fine){.category{cursor:none}}
@media(min-width:1000px){.category-name{margin-left:0}.category{grid-template-columns:1fr 155px 40px}.category:hover,.category:focus-visible,.category.is-active{padding-left:8px}.category-name{font-size:clamp(24px,2.5vw,43px)}.category-name.english{font-size:clamp(40px,4vw,66px)}.category-meta{font-size:9px}}
/* Collection pages and individual case stories */
.subpage{min-height:100svh;padding:112px 5vw 44px;background:var(--purple);color:var(--black)}
.subpage-bar{display:flex;justify-content:space-between;align-items:center;padding:0 0 19px;border-bottom:1px solid rgba(0,0,0,.7);font:10px Arial,var(--sans);letter-spacing:.1em}
.back-link{display:flex;align-items:center;gap:9px;font:12px var(--sans);letter-spacing:0}.back-link span{font:20px Arial,sans-serif;transition:transform .2s}.back-link:hover span{transform:translate(-3px,3px)}
.collection-header{padding:65px 0 42px}.collection-header>span,.eyebrow{font:10px Arial,var(--sans);letter-spacing:.12em}
.collection-header h1,.case-header h1{font-size:clamp(60px,12vw,170px);font-weight:700;letter-spacing:-.075em;line-height:1.05;margin:20px 0}
.collection-header h1.display-title{font-family:var(--display);letter-spacing:-.04em}.collection-header p{font-size:14px;line-height:1.8}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 22px;padding:12px 0 65px}.case-card{display:block;min-width:0}
.case-card figure{position:relative;aspect-ratio:1.18;margin:0;overflow:hidden;background:#eee}
.case-card img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .55s}.case-card:hover img{transform:scale(1.035)}
.card-open{position:absolute;right:16px;bottom:16px;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--black);color:white;font:30px Arial,sans-serif;opacity:0;transform:scale(.75);transition:opacity .2s,transform .2s}
.case-card:hover .card-open,.case-card:focus-visible .card-open{opacity:1;transform:scale(1)}
.card-caption{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding:15px 0;border-bottom:1px solid rgba(0,0,0,.5)}.card-caption h2{margin:0;font-size:20px;font-weight:500}.card-caption>span{font:9px Arial,sans-serif;letter-spacing:.08em}
.collection-empty{min-height:250px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-top:1px solid rgba(0,0,0,.5);border-bottom:1px solid rgba(0,0,0,.5)}.collection-empty>span{font:10px Arial,sans-serif;letter-spacing:.1em}.collection-empty p{font-size:30px}.collection-empty a{text-decoration:underline;text-underline-offset:4px}
.about-copy{min-height:35vh;padding:24px 0;border-top:1px solid rgba(0,0,0,.5);font-size:clamp(24px,4vw,52px);line-height:1.5;letter-spacing:-.04em}.muted{font-size:13px!important;line-height:1.9!important;letter-spacing:0!important;opacity:.65}
.collection-bottom{display:flex;justify-content:space-between;padding:23px 0;border-bottom:1px solid rgba(0,0,0,.55);font-size:12px}.collection-bottom span{font-size:22px}
.case-detail{max-width:1440px;margin:0 auto}.case-header{display:grid;grid-template-columns:1fr 260px;gap:50px;align-items:end;padding:50px 0 38px}.case-header h1{font-size:clamp(56px,9vw,132px);margin:15px 0 0}
.case-summary{padding-bottom:8px;font-size:12px;line-height:1.7}.case-summary>span:first-child{font-size:11px}.case-summary p{margin:14px 0 25px}.detail-scroll{opacity:.6}
.case-cover{width:100%;height:min(68vw,720px);margin:0;background:#eee}.case-cover img{width:100%;height:100%;object-fit:contain}
.case-story{display:grid;grid-template-columns:1fr 2fr;gap:30px;padding:75px 0 85px;border-bottom:1px solid rgba(0,0,0,.45)}.case-story h2{font-size:40px;margin:0 0 18px;letter-spacing:-.05em}.case-story p{max-width:650px;font-size:16px;line-height:1.9}
.case-visual{padding:56px 0}.case-visual figure{margin:0}.case-visual img{width:100%;max-height:780px;object-fit:contain;display:block;background:#f0f0f0}.case-visual figcaption{padding-top:12px;font:9px Arial,sans-serif;letter-spacing:.1em}
.next-case{position:relative;min-height:210px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;padding:30px 8%;border-top:1px solid rgba(0,0,0,.55);border-bottom:1px solid rgba(0,0,0,.55)}.next-case>div,.next-case>span{position:relative;z-index:1}.next-case>div>span{font:10px Arial,sans-serif;letter-spacing:.1em}.next-case h2{margin:12px 0 0;font-size:clamp(32px,5vw,64px)}.next-case>span{font:48px Arial,sans-serif}
.next-case img{position:absolute;inset:0 0 0 auto;width:34%;height:100%;object-fit:cover;opacity:.2;transition:opacity .3s,width .4s}.next-case:hover img{width:42%;opacity:.45}
@media(max-width:999px){.category-list{padding-left:39%}.hover-preview{width:32vw;left:3%;height:44vh}.category-name{margin-left:0;font-size:3.8vw}.category-name.english{font-size:7vw}.category{grid-template-columns:1fr 30px}.category-meta{display:none}}
@media(max-width:700px){.category-list{padding-left:0;padding-top:52vw;overflow:visible}.hover-preview{top:0;left:50%;width:min(64vw,320px);height:48vw;transform:translateX(-50%) rotate(var(--tilt,-5deg));}.hover-preview.visible{transform:translateX(-50%) rotate(var(--tilt,-5deg))}.category{position:relative;z-index:1}.category-name{color:inherit}}
@media(max-width:700px){.work-index{padding:32px 6vw 0}.category{grid-template-columns:1fr 30px;min-height:77px;padding:18px 0}.category-name{margin-left:0;font-size:clamp(26px,7vw,43px)}.category-name.english{font-size:13vw}.hover-preview,.cursor-orb{display:none!important}
.subpage{padding:96px 6vw 35px}.subpage-bar{font-size:8px;gap:15px}.collection-header{padding:45px 0 28px}.collection-header h1{font-size:17vw}.case-grid{grid-template-columns:1fr;gap:30px}.case-card figure{aspect-ratio:1.1}.card-open{opacity:1;transform:none;width:42px;height:42px}.card-caption h2{font-size:17px}
.case-header{grid-template-columns:1fr;gap:12px;padding:38px 0 25px}.case-header h1{font-size:15vw}.case-summary{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.case-summary p{margin:7px 0}.detail-scroll{grid-column:1/-1;margin-top:6px}.case-cover{height:75vw}.case-story{grid-template-columns:1fr;gap:25px;padding:44px 0}.case-story h2{font-size:32px}.case-story p{font-size:14px}.case-visual{padding:35px 0}.next-case{min-height:150px;padding:25px 4%}.next-case img{width:42%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
/* Layered hero artwork; scroll stays native and reverses naturally. */
.hero-title{translate:0 var(--type-drift,0px);will-change:translate}
.hero-shark{position:absolute;z-index:2;left:2.5vw;bottom:65px;width:clamp(190px,25vw,400px);translate:0 var(--art-drift,0px);pointer-events:none}
.hero-shark::before{content:"";position:absolute;inset:22% 4% 0;border-radius:50%;background:var(--black);z-index:-1}
.hero-shark img{display:block;width:100%;height:auto}
.hero-right-art{position:absolute;right:4vw;top:20%;width:22vw;height:46%;pointer-events:none;translate:0 var(--art-drift,0px)}
.hero-right-art:empty{display:none}
@media(max-width:700px){.hero-shark{width:43vw;left:3vw;bottom:84px}.hero-title{justify-content:flex-start;padding-top:11vh}.hover-preview{display:block!important}.cursor-orb{display:none!important}.category-list{border-top:0}.category:first-child{border-top:1px solid rgba(0,0,0,.72)}.site-header{background:linear-gradient(var(--purple),transparent)}}
@media(prefers-reduced-motion:reduce){.hero-title,.hero-shark,.hero-right-art{translate:none;will-change:auto}}
html{scroll-padding-top:0}
.work-index{padding-top:100px}
@media(max-width:700px){.work-index{padding-top:90px}}

/* The reference preview is a portrait 4:5 crop. */
.hover-preview{width:min(35vw,420px);height:auto;aspect-ratio:4/5}
.hover-preview img{object-fit:cover;background:transparent}
.hover-preview>span{display:none}
@media(min-width:1000px){.category-list{padding-left:49%}.hover-preview{left:2%;width:min(35vw,420px);aspect-ratio:4/5}}
@media(max-width:999px) and (min-width:701px){.category-list{padding-left:46%}.hover-preview{left:3%;width:min(32vw,400px);height:auto;aspect-ratio:4/5}}
@media(max-width:700px){.category-list{padding-top:calc(80vw + 24px)}.hover-preview{width:min(64vw,320px);height:auto;aspect-ratio:4/5}}

/* Case navigation transition and Sam's blue/white project system */
.route-curtain{position:fixed;z-index:50;inset:0;background:#050505;transform:translateY(105%);pointer-events:none;transition:transform .48s cubic-bezier(.76,0,.24,1)}
.route-curtain.is-covering{transform:translateY(0)}
.case-shell{background:#050505;color:#f7f7f7}
.case-shell .subpage-bar{border-color:rgba(255,255,255,.25)}
.case-shell .back-link:hover{color:#fff}
.case-shell .case-cover,.case-shell .case-visual img{background:#111}
.case-shell .case-story,.case-shell .card-caption{border-color:rgba(255,255,255,.28)}
.case-shell .muted{color:#bbb}
.case-shell .next-case{border-color:rgba(255,255,255,.3)}
.sam-page{background:#f5f6f8;color:#064fe5;padding:0 5vw 48px;min-height:100svh;overflow:hidden}
.sam-page-head,.sam-juice-top{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:32px 0;font:700 13px Arial,var(--sans);letter-spacing:.03em;color:#0755e8}
.sam-page-head a{color:inherit;text-decoration:none}
.sam-category-heading{text-align:center;padding:60px 0 70px;position:relative}
.sam-category-heading::before{content:"";position:absolute;width:min(54vw,660px);aspect-ratio:1;border:1px solid rgba(5,80,230,.16);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-45%);pointer-events:none}
.sam-category-heading>span{font:700 11px Arial,sans-serif;letter-spacing:.1em}
.sam-category-heading h1{position:relative;margin:22px 0 12px;font-size:clamp(55px,11vw,150px);line-height:.95;letter-spacing:-.075em}
.sam-category-heading p{position:relative;margin:0;font-size:14px}
.sam-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1180px;margin:0 auto}
.sam-choice{display:block;color:#0755e8;border:1px solid rgba(5,80,230,.22);background:#fff;overflow:hidden}
.sam-choice-image{height:clamp(280px,39vw,540px);overflow:hidden;background:#eef2f7;display:grid;place-items:center}
.sam-choice-image img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.sam-choice:hover .sam-choice-image img{transform:scale(1.035)}
.sam-choice-caption{display:flex;justify-content:space-between;align-items:center;padding:22px 24px}
.sam-choice-caption span,.sam-page-bottom small,.sam-next-link small{font:700 10px Arial,sans-serif;letter-spacing:.1em}
.sam-choice-caption h2{font-size:clamp(32px,5vw,56px);line-height:1;margin:10px 0 0;letter-spacing:-.04em}
.sam-choice-caption b{font:38px Arial,sans-serif;transition:transform .25s}
.sam-choice:hover .sam-choice-caption b{transform:translate(5px,-5px)}
.sam-page-bottom{margin:65px auto 0;max-width:1180px;padding:22px 0;border-top:1px solid #0755e8;display:flex;justify-content:space-between;align-items:center;color:#0755e8}
.sam-page-bottom span,.sam-next-link span{display:grid;gap:10px}.sam-page-bottom strong,.sam-next-link strong{font-size:clamp(32px,5vw,62px);letter-spacing:-.06em}.sam-page-bottom b,.sam-next-link b{font:48px Arial,sans-serif;transition:transform .25s}.sam-page-bottom:hover b,.sam-next-link:hover b{transform:translate(7px,-7px)}
.sam-fruit-grid{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.sam-fruit-item{margin:0;background:#fff;overflow:hidden}
.sam-fruit-item:nth-child(even){transform:translateY(65px)}
.sam-fruit-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .75s}
.sam-fruit-item:hover img{transform:scale(1.025)}
.sam-fruit-item figcaption{display:flex;gap:20px;align-items:center;padding:17px 20px;font-size:16px;font-weight:700}
.sam-fruit-item figcaption span{font:10px Arial,sans-serif;letter-spacing:.1em;opacity:.65}
.sam-juice-shell{background:#050505;color:#f5f5f5;padding:0}
.sam-juice-page{--sam-blue:#0755e8;--sam-yellow:#ffdb28;background:#f4f5f7;color:var(--sam-blue)}
.sam-juice-top{padding:25px 4vw;color:var(--sam-blue)}
.sam-juice-hero{position:relative;min-height:min(780px,82svh);display:grid;place-items:center;overflow:hidden;background:var(--sam-yellow)}
.sam-juice-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.sam-juice-hero>img.is-visible{transform:scale(1.015)}
.sam-juice-title{position:relative;z-index:1;margin:auto 7vw auto auto;width:min(36%,480px);padding:30px;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.16)}
.sam-juice-title>span{font:700 11px Arial,sans-serif;letter-spacing:.14em}
.sam-juice-title h1{font-size:clamp(54px,9vw,128px);line-height:.88;letter-spacing:-.075em;margin:20px 0}
.sam-juice-title p{font:700 12px Arial,sans-serif;letter-spacing:.18em}
.sam-scroll-cue{position:absolute;z-index:2;left:4vw;bottom:24px;color:white;font:10px Arial,sans-serif;letter-spacing:.1em;display:flex;align-items:center;gap:16px}
.sam-scroll-cue span{font-size:22px;animation:cue-bob 1.4s ease-in-out infinite}
@keyframes cue-bob{50%{transform:translateY(6px)}}
.sam-juice-story{padding:70px 5vw 100px;background:#f4f5f7}
.sam-juice-intro{max-width:1100px;margin:0 auto;padding:80px 4vw 100px;border-bottom:1px solid rgba(7,85,232,.25)}
.sam-juice-intro>span{font:700 10px Arial,sans-serif;letter-spacing:.12em}
.sam-juice-intro h2{font-size:clamp(38px,7vw,86px);line-height:1.08;letter-spacing:-.06em;margin:25px 0}
.sam-juice-intro p{max-width:600px;font-size:16px;line-height:1.9}
.sam-juice-visual{max-width:1440px;margin:75px auto 110px}
.sam-juice-visual:nth-of-type(odd){max-width:1180px}
.sam-juice-visual img{display:block;width:100%;height:auto}
.sam-juice-visual figcaption{padding:12px 0;border-bottom:1px solid rgba(7,85,232,.25);display:flex;justify-content:space-between;font:700 9px Arial,sans-serif;letter-spacing:.12em}
.sam-next-link{background:#0755e8;color:white;display:flex;justify-content:space-between;align-items:center;padding:45px 6vw;min-height:220px}
.sam-juice-shell{padding:0!important}
.sam-juice-shell .sam-juice-page{margin-top:0}
.sam-next-link small{opacity:.7}
.sam-next-link strong{font-size:clamp(40px,7vw,90px)}
.sam-back-top{width:100%;display:flex;justify-content:space-between;align-items:center;max-width:1440px;margin:35px auto 0;padding:22px 0;border:0;border-top:1px solid rgba(7,85,232,.28);background:transparent;color:#0755e8;text-align:left;font:700 10px Arial,sans-serif;letter-spacing:.14em;cursor:pointer;transition:padding .3s ease,color .25s}
.sam-back-top b{display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;font:24px Arial,sans-serif;transition:transform .3s ease,background .3s,color .3s}
.sam-back-top:hover{padding-inline:12px;color:#0435a1}
.sam-back-top:hover b{transform:translateY(-4px);background:#0755e8;color:#fff}
.sam-reveal{opacity:0;transform:translateY(34px);clip-path:inset(0 0 12% 0);transition:opacity .8s ease,transform .85s cubic-bezier(.2,.7,.2,1),clip-path .9s ease;transition-delay:var(--reveal-delay,0ms)}
.sam-reveal.is-visible{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}
.case-shell .case-detail h1,.case-shell .case-detail h2{color:#fff}
.case-shell .next-case:hover{background:#101010}
.case-shell .next-case img{filter:grayscale(1)}
@media(max-width:700px){
.sam-page{padding:0 6vw 35px}.sam-page-head,.sam-juice-top{padding:22px 0;font-size:10px}.sam-category-heading{padding:45px 0}.sam-category-heading h1{font-size:17vw}
.sam-choice-grid,.sam-fruit-grid{grid-template-columns:1fr;gap:18px}.sam-choice-image{height:66vw}.sam-choice-caption{padding:16px}.sam-choice-caption h2{font-size:42px}
.sam-fruit-item:nth-child(even){transform:none}.sam-fruit-item img{aspect-ratio:4/3}
.sam-juice-top{padding:20px 5vw;font-size:9px}.sam-juice-hero{min-height:72svh}.sam-juice-hero>img{object-position:58% center}.sam-juice-title{width:70%;margin:auto 4vw 100px auto;padding:10px}.sam-juice-title h1{font-size:15vw}
.sam-juice-story{padding:28px 5vw 60px}.sam-juice-intro{padding:60px 0}.sam-juice-intro p{font-size:14px}.sam-juice-visual{margin:42px auto 65px}.sam-next-link{min-height:170px;padding:28px 6vw}
.sam-back-top{margin-top:18px;padding:17px 0}
}
@media(prefers-reduced-motion:reduce){.route-curtain,.sam-reveal,.sam-choice-image img,.sam-fruit-item img,.sam-juice-hero>img{transition:none!important}.sam-scroll-cue span{animation:none!important}}

.is-sam-page .site-header{color:#0755e8}
.is-case-page .site-header{color:#fff}
.is-sam-page .site-header nav a:hover,.is-case-page .site-header nav a:hover{text-decoration:underline}
body:has(.subpage.sam-page) .site-header{color:#0755e8}
body:has(.subpage.sam-page) .site-header nav a{color:inherit}
.sam-juice-title{color:#0755e8;text-shadow:0 1px 1px rgba(255,255,255,.24)}
.sam-page-head{padding-top:95px}
.sam-juice-top{padding-top:95px}
.next-case img{clip-path:inset(42% 26%);opacity:0;transform:scale(.92);transition:clip-path .55s cubic-bezier(.2,.7,.2,1),opacity .35s,transform .65s,width .4s}
.next-case:hover img{clip-path:inset(0);opacity:.35;transform:scale(1)}
.next-case>div{transition:transform .35s}
.next-case:hover>div{transform:translateX(10px)}
.next-case>span{transition:transform .3s}
.next-case:hover>span{transform:translate(6px,-6px)}
