@font-face{font-family:Studio;src:url(assets/text.otf);font-weight:400;font-display:swap}@font-face{font-family:Studio;src:url(assets/display.otf);font-weight:700;font-display:swap}:root{--paper:#e9e9e2;--ink:#181b16;--line:#bfc1b5;--acid:#daed74}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:15px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Studio,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #dc5c33;outline-offset:5px}button:disabled{opacity:.3;cursor:default}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}.skip{position:fixed;top:-100px;left:10px;background:white;padding:12px;z-index:90}.skip:focus{top:10px}.eyebrow{font:10px/1.5 monospace;letter-spacing:1px}.top{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 3.5%;gap:20px}.identity{font-size:30px;font-weight:700;letter-spacing:-2px}.identity span{font-size:10px;letter-spacing:1px;margin-left:12px}.top>p{font:9px/1.5 monospace;letter-spacing:.3px}.top nav{display:flex;gap:28px;font-size:12px}.top nav a{padding:12px 0}.top nav sup{font-size:8px;margin-left:3px}.top nav a:hover{text-decoration:underline;text-underline-offset:6px}.masthead{padding:5px 3% 0}.masthead h1{font-size:16.5vw;line-height:.88;letter-spacing:-.081em;font-weight:700;white-space:nowrap}.masthead-meta{display:flex;justify-content:space-between;gap:20px;font:9px/1.5 monospace;letter-spacing:.5px;padding:24px 0 22px}.work{display:grid;grid-template-columns:29% 71%;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-index{display:flex;flex-direction:column;height:680px;min-width:0;background:#e2e3da}.index-heading{padding:27px 28px 20px;border-bottom:1px solid var(--line)}.index-heading h2{font-size:19px;letter-spacing:-.5px;display:flex;align-items:start;justify-content:space-between}.index-heading h2 span{font:10px monospace;padding-top:6px}.filters{display:flex;gap:5px;margin-top:19px}.filters button{padding:7px 10px;font-size:10px;border-radius:2px;border:1px solid transparent}.filters button.active{background:var(--ink);color:var(--paper)}.filters button:hover{border-color:var(--ink)}.project-list{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9b9e8c transparent;flex:1;padding:0 24px}.project-row{padding:18px 0;width:100%;display:grid;grid-template-columns:22px 1fr 15px;text-align:left;gap:10px;align-items:start;border-bottom:1px solid #bfc1b5;position:relative}.project-row>span{font:9px monospace;padding-top:5px}.project-row strong{display:block;font-size:22px;font-weight:400;letter-spacing:-.9px;line-height:1.15}.project-row small{display:block;font-size:9px;color:#666c5e;margin-top:7px}.project-row b{font-weight:400;font-size:18px;opacity:0}.project-row.active b,.project-row:hover b{opacity:1}.project-row.active{color:#b43d1f}.project-row.active strong{font-weight:700}.project-row:hover strong{transform:translateX(3px)}.project-row strong{transition:transform .2s}.index-bottom{padding:15px 28px;display:flex;justify-content:space-between;font:9px monospace;border-top:1px solid var(--line);color:#626859}.stage{position:relative;min-height:680px;isolation:isolate;overflow:hidden;background:#172d35;color:#f3f4e9;--accent:#bddbe9;min-width:0}.stage-backdrop{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;opacity:.2;filter:blur(16px);transform:scale(1.08);z-index:-3}.stage-tint{position:absolute;inset:0;background:linear-gradient(90deg,#0c161bea,#10151605 95%);z-index:-1;pointer-events:none}.stage-top{position:absolute;top:28px;left:35px;right:35px;display:flex;justify-content:space-between;gap:20px;z-index:4;font:9px/1.5 monospace;letter-spacing:.6px;color:#e2e6df}.stage-top>span{font-size:8px;opacity:.7;max-width:180px;text-align:right}.art-button{position:absolute;inset:65px 20px 130px 34%;display:flex;align-items:center;justify-content:center;padding:0;cursor:zoom-in;z-index:1}.art-button img{max-height:100%;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 24px #0004);transition:transform .6s}.art-button:hover img{transform:scale(1.025)}.stage.landscape .art-button{inset:80px 0 155px 18%;align-items:flex-start}.stage.landscape .art-button img{object-fit:cover;object-position:center;height:100%;opacity:.85;mask-image:linear-gradient(90deg,transparent,#000 35%)}.stage-copy{position:absolute;left:35px;right:25px;top:175px;z-index:3;pointer-events:none}.stage-copy>p:first-child{font:10px monospace;letter-spacing:1px;color:var(--accent);margin-bottom:23px}.stage h2{font-size:clamp(42px,5.6vw,92px);line-height:.98;font-weight:700;letter-spacing:-.055em;max-width:92%;text-shadow:0 2px 20px #0003}.stage h2 em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.stage-copy #stage-summary{font-size:12px;line-height:1.7;max-width:260px;margin-top:22px;text-shadow:0 2px 10px #0008}.open-project{pointer-events:auto;border-bottom:1px solid #ffffff80;padding:12px 0;margin-top:18px;font-size:12px;display:flex;align-items:center;gap:45px}.open-project:hover{color:var(--accent)}.stage-bottom{position:absolute;left:35px;right:35px;bottom:26px;border-top:1px solid #ffffff40;padding-top:18px;display:flex;justify-content:space-between;gap:18px;align-items:center;z-index:4}.stage-bottom>p{font-size:28px;letter-spacing:-1px;white-space:nowrap}.stage-bottom>p>span{font:10px monospace;color:#bfc6bd}.stage-controls{display:flex;gap:8px}.stage-controls button{border:1px solid #ffffff50;height:40px;width:40px;border-radius:50%;font-size:23px}.stage-controls button:hover{background:var(--accent);color:#111}.preview-thumbs{display:flex;gap:8px;max-width:47%;overflow:auto;scrollbar-width:none}.preview-thumbs button{padding:0;width:48px;height:40px;border:1px solid #ffffff60;flex-shrink:0;opacity:.65}.preview-thumbs button:hover{opacity:1;border-color:var(--accent)}.preview-thumbs img{width:100%;height:100%;object-fit:cover}.range{display:grid;grid-template-columns:1fr 1.2fr;gap:10%;padding:85px 4%}.range h2{font-size:clamp(38px,4.2vw,64px);letter-spacing:-.05em;line-height:1.03;margin-top:25px}.range h2 em{font-family:Georgia,serif;font-weight:400}.range-list button{display:grid;grid-template-columns:25px 1fr 30px;gap:7px 13px;width:100%;padding:22px 0;text-align:left;border-bottom:1px solid var(--line)}.range-list button>span{grid-row:1/3;font:10px monospace;padding-top:7px}.range-list strong{font-size:24px;letter-spacing:-1px;font-weight:400}.range-list small{grid-column:2;font-size:11px;color:#6b6f61}.range-list b{grid-column:3;grid-row:1/3;align-self:center;font-size:24px;font-weight:400}.range-list button:hover strong{color:#b43d1f}.about{background:#20251d;color:#edf1e5;padding:80px 4%;display:grid;grid-template-columns:1fr 1fr;gap:10%}.about h2{font-size:clamp(45px,5.2vw,78px);line-height:1.03;letter-spacing:-.05em;margin-top:25px}.about h2 em{font-family:Georgia,serif;color:var(--acid);font-weight:400}.about-copy>p{font-size:17px;line-height:1.6;max-width:550px;margin-top:25px}.about-copy .about-note{font-size:11px;color:#b2b9a8;margin-top:30px}.about-tools{display:flex;flex-wrap:wrap;gap:18px;font-size:10px;margin-top:30px}.about-tools span{padding-block:10px;border-bottom:1px solid #727969}.learning{display:grid;grid-template-columns:1fr 2fr;gap:9%;padding:60px 4%;border-bottom:1px solid var(--line)}.learning a{display:grid;grid-template-columns:1fr 1.4fr 20px;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.learning a:first-child{padding-top:0}.learning a:last-child{border:0}.learning a span{font-size:10px;color:#656b5b}.learning a:hover{text-decoration:underline;text-underline-offset:5px}.contact{padding:70px 4%;background:var(--acid)}.contact h2{font-size:clamp(50px,8vw,120px);line-height:.95;letter-spacing:-.06em;margin:35px 0 45px}.contact h2 em{font-family:Georgia,serif;font-weight:400}.contact h2>span{font-weight:400}.contact>div{display:flex;justify-content:space-between;gap:20px}.contact a{font-size:14px;border-bottom:1px solid;padding-bottom:5px}footer{display:flex;justify-content:space-between;gap:25px;padding:24px 4% 95px;font:9px monospace;letter-spacing:.3px}.review-label{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;padding:12px 18px;background:#f6f6ef;color:#222;border:1px solid #bbb;box-shadow:0 4px 24px #0002;z-index:30;white-space:nowrap}.review-label span{font:9px monospace;letter-spacing:.5px}.review-label a{font-size:10px;border-bottom:1px solid #777}.enter{animation:enter .48s both}@keyframes enter{from{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
dialog{border:0;max-width:none;padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#10130dd9;backdrop-filter:blur(7px)}body.modal-open{overflow:hidden}#case-dialog{width:calc(100vw - 36px);height:calc(100dvh - 36px);max-height:none;overflow:auto}.case-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;gap:20px;border-bottom:1px solid var(--line)}.case-header>a{font-size:24px;font-weight:700;letter-spacing:-1.5px}.case-header>a span{font:9px monospace;letter-spacing:1px;margin-left:15px}.case-header>p{font:10px monospace;letter-spacing:.5px}.case-header>button{border:1px solid #aaa;border-radius:50%;width:40px;height:40px;font-size:20px;flex-shrink:0}.case-header>button:hover{background:var(--ink);color:var(--paper)}.case-layout{display:grid;grid-template-columns:34% 66%;height:calc(100% - 70px)}.case-info{padding:40px 30px;overflow:auto}.case-info h2{font-size:clamp(35px,3.8vw,62px);letter-spacing:-.06em;line-height:1.03;margin:24px 0 32px}.case-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line)}.case-tabs button{font-size:12px;padding:0 0 12px;border-bottom:2px solid transparent}.case-tabs button[aria-selected=true]{border-color:var(--ink);font-weight:700}.case-tabs button:hover{color:#b43d1f}#case-text{font-size:14px;line-height:1.75;margin-top:23px;min-height:150px}#case-source{font:10px/1.7 monospace;color:#5d6353;margin-top:35px;overflow-wrap:anywhere}#case-quality{font-size:11px;border-left:2px solid #b43d1f;padding-left:12px;margin-top:22px;color:#75503a}.case-project-nav{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);margin-top:35px;padding-top:20px}.case-project-nav button{font-size:11px;padding:8px 0}.case-gallery{min-width:0;background:#d9ddd0;padding:25px;display:flex;flex-direction:column;overflow:hidden}.image-frame{flex:1;min-height:200px;display:flex;align-items:center;justify-content:center;overflow:auto}.image-frame>button{width:100%;height:100%;padding:0;display:flex;justify-content:center;align-items:center;cursor:zoom-in}.image-frame img{max-width:100%;max-height:100%;height:100%;width:100%;object-fit:contain}.image-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0}.image-meta>p{font-size:11px;max-width:65%}.image-meta>div{display:flex;gap:12px;align-items:center;white-space:nowrap}.image-meta span{font:10px monospace}.image-meta button{font-size:22px;padding:3px 7px}.filmstrip{display:flex;gap:10px;overflow:auto;scrollbar-width:thin;padding:5px 1px 10px;min-height:80px;flex-shrink:0}.filmstrip button{padding:3px;width:72px;height:60px;border:1px solid transparent;flex-shrink:0;opacity:.6}.filmstrip button[aria-pressed=true]{border-color:var(--ink);opacity:1}.filmstrip img{width:100%;height:100%;object-fit:contain}.case-gallery.zoomed{position:absolute;inset:70px 0 0;z-index:5}.case-gallery.zoomed .image-frame>button{cursor:zoom-out}.case-gallery.zoomed .image-frame img{max-height:none;max-width:none;width:auto;height:auto;min-height:100%;object-fit:contain}.case-gallery.zoomed .image-frame{align-items:flex-start}.case-gallery.zoomed .image-frame>button{min-height:100%;height:auto;width:100%;align-items:flex-start}.case-gallery.zoomed .filmstrip{display:none}
@media(min-width:1700px){.project-index,.stage{height:780px;min-height:780px}.stage-copy{top:215px}.project-row strong{font-size:26px}}
@media(max-width:1100px){.work{grid-template-columns:32% 68%}.stage h2{font-size:6vw}.stage-copy{left:28px;top:180px}.stage-top,.stage-bottom{left:28px;right:28px}.project-row strong{font-size:19px}.project-row{gap:7px}.index-heading{padding:25px 20px 18px}.project-list{padding-inline:17px}.filters button{padding:7px 9px}.preview-thumbs{max-width:36%}.preview-thumbs button{width:40px;height:34px}.range-list strong{font-size:21px}.case-info{padding:30px 23px}.case-tabs{gap:16px}.case-tabs button{font-size:11px}}
@media(max-width:760px){.top{height:78px;padding:0 5%;gap:15px}.top>p{display:none}.identity{font-size:26px}.identity span{font-size:8px;margin-left:7px}.top nav{gap:16px;font-size:11px}.masthead{padding:12px 4% 0}.masthead h1{font-size:16.2vw}.masthead-meta{font-size:8px;padding:18px 0 16px;gap:15px}.masthead-meta span:nth-child(2){display:none}.work{display:flex;flex-direction:column-reverse}.stage{min-height:660px}.stage.landscape .art-button{inset:35px 0 260px 8%}.stage.landscape .art-button img{mask-image:linear-gradient(180deg,#000 50%,transparent);object-fit:cover;opacity:.85}.art-button{inset:50px 6% 320px 35%}.stage-top{top:20px;left:6%;right:6%;font-size:8px}.stage-top>span{font-size:7px;max-width:100px}.stage-copy{top:285px;left:6%;right:6%}.stage-copy>p:first-child{font-size:9px;margin-bottom:18px}.stage h2{font-size:clamp(36px,9.6vw,66px);max-width:100%;line-height:1}.stage-copy #stage-summary{font-size:12px;max-width:300px;margin-top:18px}.open-project{margin-top:15px;font-size:11px;padding:9px 0}.stage-bottom{bottom:22px;left:6%;right:6%;padding-top:14px;gap:12px}.stage-bottom>p{font-size:24px}.stage-controls button{height:35px;width:35px;font-size:22px}.preview-thumbs{max-width:42%;gap:5px}.preview-thumbs button{width:35px;height:32px}.project-index{height:auto;max-height:590px}.index-heading{padding:25px 6% 18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.index-heading h2{font-size:17px;gap:10px}.filters{margin:0;gap:2px}.filters button{padding:7px 8px;font-size:10px}.project-list{padding:0 6%;max-height:430px}.project-row{padding:17px 0}.project-row strong{font-size:23px}.project-row small{font-size:10px}.project-row b{opacity:1}.index-bottom{padding:13px 6%}.range{padding:50px 6%;grid-template-columns:1fr;gap:28px}.range h2{font-size:44px}.range-list strong{font-size:22px}.range-list small{font-size:10px}.about{padding:50px 6%;grid-template-columns:1fr;gap:15px}.about h2{font-size:54px}.about-copy>p{font-size:15px}.learning{padding:40px 6%;grid-template-columns:1fr;gap:30px}.learning a{grid-template-columns:1fr 20px;gap:8px;font-size:13px}.learning a span{grid-column:1/-1}.learning a b{grid-column:2;grid-row:2}.contact{padding:50px 6%}.contact h2{font-size:13vw;margin-bottom:35px}.contact>div{flex-direction:column;align-items:start;gap:20px}.contact a{font-size:12px}footer{padding:23px 6% 100px;flex-wrap:wrap;font-size:8px;gap:15px}.review-label{gap:13px;padding:10px 12px;bottom:10px}.review-label span{font-size:8px}.review-label a{font-size:9px}#case-dialog{width:100vw;height:100dvh}.case-header{height:60px;padding:0 20px;gap:12px}.case-header>a span{display:none}.case-header>p{font-size:9px;max-width:65%;text-align:center}.case-layout{display:flex;flex-direction:column-reverse;height:auto}.case-gallery{height:520px;padding:18px}.case-info{padding:30px 25px;overflow:visible}.case-info h2{font-size:43px}.case-tabs{gap:25px}.case-tabs button{font-size:12px}#case-text{font-size:14px;min-height:0}.case-gallery.zoomed{position:fixed;inset:60px 0 0;height:auto}.case-gallery.zoomed .image-frame img{width:100%;height:auto;min-height:0}.image-meta{gap:12px}.image-meta>p{font-size:10px;max-width:60%}.image-meta>div{gap:6px}.filmstrip{min-height:72px}.filmstrip button{height:52px;width:62px}}
@media(max-width:370px){.top nav{gap:11px;font-size:10px}.identity span{display:none}.index-heading{align-items:start;flex-direction:column;gap:14px}.filters{width:100%}.stage{min-height:685px}.stage h2{font-size:34px}.stage-copy{top:285px}.preview-thumbs{max-width:37%}.preview-thumbs button{width:31px}.stage-top>span{max-width:90px}.stage-controls{gap:5px}.stage-controls button{width:32px;height:32px}}
.case-info h2 em{font-family:Georgia,serif;font-weight:400}
@media(max-width:760px){.project-index{max-height:none}.project-list{max-height:none;overflow:visible}.index-bottom{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
