@font-face{font-family:DM;src:url('./assets/dm-sans.woff2') format('woff2');font-weight:100 1000;font-display:swap}
:root{--ink:#22251f;--muted:#6c7068;--paper:#f8f8f4;--line:#d8dad1;--accent:#d94a27;--serif:Georgia,'Times New Roman',serif;--sans:DM,-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper)}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #db5733;outline-offset:5px}button:disabled{cursor:default}button h2{font:inherit;margin:0}img{display:block;max-width:100%}p,h1,h2{margin:0}::selection{background:#ecee84;color:#22251f}.skip{position:fixed;top:-60px;left:16px;z-index:100;background:#fff;padding:12px}.skip:focus{top:8px}
.direction-bar{height:58px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 28px;background:#fcfcf9;color:#32372e;border-bottom:1px solid #d9ddd3;font-size:11px}.review-label{white-space:nowrap}.review-label>span{padding:0 8px;color:#a9b0a1}.direction-bar nav{display:flex;height:100%;gap:26px;align-items:stretch}.direction-bar nav a{display:flex;align-items:center;gap:7px;position:relative;white-space:nowrap;color:#757d6f}.direction-bar nav a span{font:9px monospace;color:#8a9284}.direction-bar nav a[aria-current]{color:#202b1b}.direction-bar nav a[aria-current]:after{content:'';height:2px;position:absolute;bottom:0;left:0;right:0;background:#344e2d}.review-hint{font-size:10px;color:#7d8577;min-width:190px;text-align:right}
#portfolio{min-height:calc(100dvh - 58px)}.site-nav{display:flex;align-items:center;justify-content:space-between;height:91px;border-bottom:1px solid var(--line);font-size:12px}.site-nav .wordmark{font-weight:600;font-size:16px;letter-spacing:-.5px}.site-nav nav{display:flex;align-items:center;gap:32px}.site-nav nav button{font-size:12px;padding:0}.site-nav nav a:hover,.site-nav nav button:hover{color:var(--accent)}.site-footer{display:grid;grid-template-columns:1fr 1fr auto;gap:24px;border-top:1px solid var(--line);padding:30px 0 42px;margin-top:70px;font-size:12px;line-height:1.8}.site-footer>p:first-child{font-weight:600}.site-footer>p:nth-child(2){color:var(--muted)}.site-footer button{font-size:12px;align-self:start;padding:0}
.editorial-page{max-width:1600px;padding:0 58px;margin:auto}.editorial-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;padding:42px 0 50px;align-items:end}.editorial-intro h1{font:400 clamp(64px,7.4vw,112px)/.88 var(--serif);letter-spacing:-6px}.editorial-intro h1>span{color:var(--accent)}.editorial-bio{justify-self:end;max-width:360px;padding-bottom:3px}.editorial-bio>p:first-child{font-size:21px;line-height:1.45;letter-spacing:-.5px}.editorial-bio .bio-detail{font-size:11px;color:var(--muted);line-height:1.8;margin-top:24px}.section-heading{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);font-size:11px;margin-bottom:7px;scroll-margin-top:80px}.section-heading>span:last-child{color:var(--muted)}.editorial-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:43px 36px}.project-image{display:block;position:relative;padding:0;width:100%;background:#e9e8df;overflow:hidden}.project-image>img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1)}.project-image:hover>img{transform:scale(1.035)}.project-image .image-link{position:absolute;bottom:16px;right:16px;display:flex;gap:24px;align-items:center;background:#fafbf4;padding:11px 14px;font-size:11px;transform:translateY(7px);opacity:0;transition:opacity .2s,transform .2s}.project-image:hover .image-link,.project-image:focus-visible .image-link{transform:translateY(0);opacity:1}.project-caption{display:flex;align-items:start;gap:17px;padding-top:15px}.project-number{font:10px/1.6 monospace;color:#89917e;padding-top:6px;flex:none}.project-caption button{padding:0;text-align:left}.project-caption h2{font:400 31px/1.15 var(--serif);letter-spacing:-1px}.project-caption p{font-size:11px;color:var(--muted);line-height:1.5;margin-top:6px}.caption-year{font:11px/1.6 monospace;margin-left:auto;padding-top:7px;color:#828976}.editorial-grid .project-image{aspect-ratio:1.45}.editorial-lead .project-image{aspect-ratio:1.2}.editorial-second{padding-top:64px}.editorial-second .project-image{aspect-ratio:1.3}.editorial-text-project{grid-column:1/-1;display:grid;grid-template-columns:100px 1fr 1.3fr auto;align-items:center;gap:24px;border-top:1px solid var(--line);padding:24px 0 0}.editorial-text-project h2{font:32px var(--serif);letter-spacing:-1px}.editorial-text-project p{font-size:12px;line-height:1.6;color:var(--muted);max-width:330px}.editorial-text-project button{font-size:12px;padding:0}
.cymbal-cover{height:100%;min-height:260px;background:#cfddf3;color:#253c67;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:end;padding:28px;text-align:left}.cover-tag{position:absolute;left:27px;top:25px;font:9px monospace;letter-spacing:1.5px}.cymbal-cover>strong{position:relative;z-index:1;font:500 clamp(40px,5vw,72px)/1 var(--sans);letter-spacing:-4px;display:flex;gap:20px;align-items:center}.cymbal-cover>strong>span{font-size:.48em;font-weight:300;letter-spacing:0;display:inline-grid;place-items:center;border:1px solid currentColor;width:42px;height:42px;border-radius:50%}.cymbal-cover>small{position:relative;z-index:1;margin-top:10px;font-size:11px}.record{position:absolute;right:-5%;top:-15%;width:75%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#3e5682 0,#3e5682 1px,#304972 2px,#304972 4px);box-shadow:1px 7px 10px #20355a24;transform:rotate(-20deg)}.record i{position:absolute;width:26%;height:26%;left:37%;top:37%;border-radius:50%;background:#e1e5a2;border:28px solid #b5c590}.record:after{content:'';position:absolute;width:7px;height:7px;background:#ccdcf3;border-radius:50%;left:calc(50% - 3.5px);top:calc(50% - 3.5px)}.dojo-cover{height:100%;min-height:230px;text-align:left;padding:28px;background:#e4e9ce;display:flex;flex-direction:column;justify-content:space-between;color:#435c3e}.dojo-cover>span{font:9px monospace;letter-spacing:1px}.dojo-cover>strong{font:600 80px/.82 var(--sans);letter-spacing:-6px}.dojo-cover>small{font-size:11px}
/* A compact studio index: identity stays put while the work scrolls. */
body[data-direction=studio]{background:#eeeae1}.studio-page{max-width:1600px;margin:auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:60px;padding:44px 44px 0}.studio-sidebar{position:sticky;top:102px;align-self:start;min-height:calc(100dvh - 144px);display:flex;flex-direction:column;padding:3px 22px 24px 0;border-right:1px solid #cfcfc1}.studio-name{font:600 53px/.92 var(--sans);letter-spacing:-4px;display:block;position:relative}.studio-name>span{font:400 32px var(--sans);position:absolute;right:18px;top:-5px;color:#b14a31}.studio-intro{font:19px/1.4 var(--serif);max-width:215px;margin-top:30px;letter-spacing:-.3px}.studio-note{margin-top:30px;display:grid;grid-template-columns:70px 1fr;gap:8px;font-size:10px;line-height:1.5}.studio-note>span{color:#8a8c7d}.studio-note p{color:#4c5245}.studio-filters{margin-top:47px;display:flex;flex-direction:column;gap:0;width:100%;max-width:235px}.studio-filters button{font-size:12px;display:flex;justify-content:space-between;text-align:left;padding:11px 0;border-top:1px solid #d0d1c3;color:#6f7666}.studio-filters button:last-child{border-bottom:1px solid #d0d1c3}.studio-filters button span{font:10px monospace}.studio-filters button[aria-pressed=true]{color:#b14a31}.studio-filters button[aria-pressed=true]:before{content:'↳';margin-right:8px}.studio-filters button[aria-pressed=true] span{margin-left:auto}.studio-about{font-size:11px;text-align:left;padding:35px 0 0;margin-top:auto}.studio-work>header{display:flex;justify-content:space-between;padding:0 0 18px;font-size:10px;color:#747967}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 25px}.studio-project:nth-child(2n){padding-top:38px}.studio-project .project-image{aspect-ratio:1;overflow:visible;background:#dad6c9}.studio-project .project-image>img{width:100%;height:100%;object-fit:cover;box-shadow:0 4px 9px #3d372310}.studio-project .project-image:hover>img{transform:translateY(-4px)}.studio-project:nth-child(3n+1) .project-image>img{transform:rotate(-1.4deg)}.studio-project:nth-child(3n+1) .project-image:hover>img{transform:rotate(0) translateY(-4px)}.studio-project .project-caption{gap:10px;padding-top:15px}.studio-project .project-number{display:none}.studio-project .project-caption h2{font:500 20px/1.2 var(--sans);letter-spacing:-.6px}.studio-project .project-caption p{font-size:10px}.studio-project .caption-year{font-size:10px;padding-top:3px}.studio-project .project-image .image-link{bottom:10px;right:10px;padding:9px 11px}.studio-project .cymbal-cover{padding:20px;min-height:0}.studio-project .cymbal-cover>strong{font-size:48px;letter-spacing:-3px;gap:12px}.studio-project .cymbal-cover>strong>span{width:28px;height:28px}.studio-project .record{width:85%;right:-10%;top:-13%}.studio-project .record i{border-width:16px}.studio-project .cover-tag{font-size:8px;top:19px;left:20px}.studio-project .cymbal-cover>small{font-size:10px;max-width:125px}.studio-project .project-image:has(img[src*='sundial']){background:#d8d1c3}.studio-project .project-image>img[src*='sundial']{object-fit:contain;padding:18px}.studio-footer{display:flex;justify-content:space-between;border-top:1px solid #cdd0c0;font-size:10px;color:#7a816e;padding:24px 0;margin-top:55px}
/* A single project occupies the stage; the project index is always available. */
body[data-direction=gallery]{background:#191c18;color:#f0eee3}.gallery-page{padding:0 46px;max-width:1700px;margin:auto;min-height:calc(100dvh - 58px);display:flex;flex-direction:column}.gallery-header{height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #3b4037;gap:28px;flex:none}.gallery-header>a{font:24px var(--serif);letter-spacing:-.7px}.gallery-header>span{font-size:10px;color:#8c9683;margin-left:auto}.gallery-header>button{padding:0;font-size:11px}.gallery-stage{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:70px;min-height:460px;height:calc(100dvh - 251px);max-height:850px;padding:25px 0 20px}.gallery-copy{max-width:490px;animation:gallery-in .4s both}.gallery-count{display:flex;align-items:center;gap:13px;font:9px/1.4 monospace;color:#a0a88e}.gallery-count>i{width:32px;height:1px;background:#5c6652;display:block}.gallery-copy h1{font:400 clamp(50px,5.3vw,88px)/.98 var(--serif);letter-spacing:-3px;margin:29px 0 22px}.gallery-copy>p{font-size:17px;line-height:1.6;color:#bfc3b6;max-width:370px}.gallery-role{display:block;font-size:10px;color:#89947b;line-height:1.8;margin-top:25px;max-width:300px}.gallery-explore{margin-top:34px;background:#dbe5ab;color:#252b1e;border-radius:0;padding:13px 17px;font-size:11px;display:flex;gap:35px;align-items:center}.gallery-explore:hover{background:#edf2cf}.gallery-image-wrap{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center}.gallery-image{display:block;width:100%;height:calc(100% - 36px);min-height:0;background:none;padding:0;overflow:hidden;animation:gallery-in .4s both}.gallery-image>img{height:100%;width:100%;object-fit:cover}.gallery-image:has(img[src*='sundial']){background:#d6cfbf;padding:18px}.gallery-image:has(img[src*='sundial'])>img{object-fit:contain}.gallery-image-caption{display:flex;align-items:center;justify-content:space-between;min-height:36px;width:100%;font-size:9px;color:#929a86}.gallery-image-caption>div{display:flex;gap:6px}.gallery-image-caption button{color:#e3e8d8;font-size:20px;width:34px;height:34px;line-height:1}.gallery-image-caption button:hover{background:#30372a}.gallery-project-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #3b4037;margin-top:auto;min-height:88px}.gallery-project-nav>button{font-size:12px;text-align:left;position:relative;padding:16px 8px 12px 0;color:#8c9681}.gallery-project-nav>button>span{font:9px monospace;margin-right:12px}.gallery-project-nav>button>small{font-size:9px;display:block;color:#747f69;margin:7px 0 0 26px}.gallery-project-nav>button[aria-pressed=true]{color:#e2e9c6}.gallery-project-nav>button[aria-pressed=true]:before{content:'';position:absolute;top:-1px;left:0;right:22px;height:2px;background:#dbe5ab}.gallery-project-nav>button:hover{color:#f3f5e7}.gallery-image .cymbal-cover{height:100%;min-height:0}.gallery-image .dojo-cover{height:100%;min-height:0}.gallery-image .dojo-cover>strong{font-size:110px}
@keyframes gallery-in{from{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Project details are shared across the three studies. */
.modal-open{overflow:hidden}dialog{background:#f7f7f1;color:#252b20;border:0;padding:0;width:min(1040px,calc(100vw - 64px));max-height:calc(100dvh - 80px);overflow:auto;box-shadow:0 24px 90px #0005}dialog::backdrop{background:#121910b3;backdrop-filter:blur(5px)}.close-dialog{position:sticky;top:16px;float:right;z-index:4;margin:16px 16px -52px 0;padding:0;width:36px;height:36px;font:25px var(--sans);background:#fafcf4;color:#232c20;border:1px solid #d2d6ca;border-radius:50%}#project-content{display:grid;grid-template-columns:.9fr 1.1fr;min-height:400px}.detail-media{background:#e0ded0;min-height:100%;overflow:hidden}.detail-media>img{width:100%;height:100%;object-fit:cover}.detail-media:has(img[src*='sundial']){display:flex;align-items:center;padding:20px}.detail-media>img[src*='sundial']{height:auto;object-fit:contain}.detail-copy{padding:55px 42px 44px}.detail-kicker{font:9px monospace;letter-spacing:.7px;text-transform:uppercase;color:#7d8772}.detail-copy h2,.about-dialog h2{font:42px/1.1 var(--serif);letter-spacing:-1.5px;margin-top:14px}.detail-copy .detail-deck{font-size:17px;line-height:1.5;margin:19px 0 24px;color:#4e5c43}.detail-role{border-top:1px solid #d7ddcb;border-bottom:1px solid #d7ddcb;padding:12px 0;margin-bottom:24px}.detail-role>span{font-size:9px;color:#7d876f}.detail-role>p{font-size:11px;margin-top:6px;line-height:1.7}.detail-copy>p:not(.detail-deck){font-size:13px;line-height:1.8;margin-top:17px;color:#5c6652}.detail-links{display:flex;flex-direction:column;gap:10px;margin-top:28px}.detail-links>a{font-size:12px;width:max-content;max-width:100%;border-bottom:1px solid #c3cdb7;padding-bottom:4px}.detail-links>a:hover{border-color:#3f5530}.detail-secondary{width:100%;height:300px;object-fit:cover;object-position:center;margin-top:32px}.about-dialog{grid-column:1/-1;padding:66px 70px 70px;max-width:740px}.about-dialog>p{font-size:17px;line-height:1.7;color:#5c6652;margin-top:24px}.about-dialog>a{display:inline-block;margin-top:28px;font-size:12px;border-bottom:1px solid #a9b69c;padding-bottom:4px}
@media(min-width:1500px){.editorial-intro{padding-top:60px;padding-bottom:65px}.studio-page{grid-template-columns:320px 1fr;gap:80px}.studio-name{font-size:62px}.gallery-stage{gap:100px}.gallery-copy>p{font-size:20px}.gallery-copy{max-width:540px}}
@media(max-width:1050px){.review-hint{display:none}.direction-bar{padding:0 20px}.editorial-page{padding:0 34px}.editorial-intro{gap:24px}.editorial-intro h1{letter-spacing:-4px}.editorial-bio>p:first-child{font-size:18px}.editorial-grid{gap:34px 25px}.studio-page{grid-template-columns:235px 1fr;gap:32px;padding:35px 28px 0}.studio-name{font-size:43px;letter-spacing:-3px}.studio-name>span{right:6px}.studio-intro{font-size:17px;max-width:185px}.studio-grid{gap:28px 20px}.studio-project .cymbal-cover>strong{font-size:34px;letter-spacing:-2px}.studio-project .cymbal-cover>strong>span{width:23px;height:23px}.studio-project .project-caption h2{font-size:18px}.studio-project .cymbal-cover>small{font-size:8px}.studio-project .project-caption{gap:8px}.gallery-page{padding:0 32px}.gallery-stage{gap:40px;grid-template-columns:1fr 1fr}.gallery-copy>p{font-size:15px}.gallery-copy h1{font-size:54px}.gallery-header>span{font-size:9px}.gallery-project-nav>button{font-size:10px}.gallery-project-nav>button>span{margin-right:8px}.gallery-project-nav>button>small{margin-left:21px}.detail-copy{padding:50px 28px 32px}}
@media(max-width:720px){.direction-bar{height:54px;gap:14px;padding:0 18px}.review-label{font-size:0}.review-label:before{content:'Styles';font-size:10px}.review-label>span{display:none}.direction-bar nav{gap:21px}.direction-bar nav a{font-size:11px}.direction-bar nav a span{font-size:8px}.editorial-page{padding:0 23px}.site-nav{height:72px}.site-nav nav{gap:18px}.site-nav .wordmark{font-size:14px}.site-nav nav a,.site-nav nav button{font-size:10px}.editorial-intro{grid-template-columns:1fr;gap:28px;padding:35px 0}.editorial-intro h1{font-size:77px;letter-spacing:-4px}.editorial-bio{justify-self:start;max-width:none;display:flex;gap:35px;align-items:end;width:100%}.editorial-bio>p:first-child{font-size:17px;flex:1}.editorial-bio .bio-detail{font-size:9px;max-width:145px;margin:0}.section-heading{font-size:10px}.section-heading>span:last-child{max-width:145px;text-align:right;font-size:9px}.editorial-grid{gap:32px 18px}.editorial-second{padding-top:50px}.project-caption{gap:9px;padding-top:12px}.project-caption h2{font-size:24px;letter-spacing:-.6px}.project-number{font-size:8px;padding-top:4px}.project-caption p{font-size:9px}.caption-year{display:none}.editorial-grid .project-image{aspect-ratio:.85}.editorial-lead .project-image{aspect-ratio:.8}.editorial-second .project-image{aspect-ratio:.8}.cymbal-cover{min-height:0;padding:16px}.cymbal-cover>strong{font-size:35px;letter-spacing:-2px;gap:8px}.cymbal-cover>strong>span{width:22px;height:22px}.cover-tag{left:16px;top:16px;font-size:7px;letter-spacing:1px}.record{width:110%;top:-5%;right:-35%}.record i{border-width:14px}.cymbal-cover>small{font-size:9px;max-width:140px}.editorial-text-project{grid-template-columns:1fr auto;gap:14px}.editorial-text-project>.project-number{grid-column:1/-1}.editorial-text-project p{grid-row:3;grid-column:1/-1}.editorial-text-project h2{font-size:27px}.editorial-text-project button{font-size:10px}.site-footer{grid-template-columns:1fr auto;gap:14px;margin-top:40px;font-size:10px}.site-footer>p:nth-child(2){grid-column:1;grid-row:2}.site-footer button{grid-column:2;grid-row:1;font-size:10px}.studio-page{display:block;padding:27px 22px 0}.studio-sidebar{position:static;min-height:0;padding:0;border:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.studio-name{font-size:49px;line-height:.95;letter-spacing:-3px}.studio-name>span{right:12px;font-size:24px;top:1px}.studio-intro{margin:0;font-size:18px;align-self:center;max-width:none}.studio-note{grid-column:1;grid-row:2;margin:0;gap:3px;font-size:9px;grid-template-columns:65px 1fr}.studio-about{grid-column:2;grid-row:2;padding:0;margin:0;text-align:right;align-self:center;font-size:10px}.studio-filters{grid-column:1/-1;grid-row:3;flex-direction:row;max-width:none;margin:7px 0 17px;border-block:1px solid #cfd2c4;gap:25px}.studio-filters button{border:0!important;gap:12px;font-size:11px}.studio-filters button[aria-pressed=true]:before{display:none}.studio-filters button span{font-size:9px}.studio-work>header{font-size:9px}.studio-grid{gap:30px 21px}.studio-project:nth-child(2n){padding-top:31px}.studio-project .project-image{aspect-ratio:.8}.studio-project .project-caption h2{font-size:19px}.studio-project .project-caption p{font-size:9px}.studio-project .cymbal-cover{padding:15px}.studio-project .cymbal-cover>strong{font-size:30px}.studio-project .cymbal-cover>strong>span{display:none}.studio-project .cover-tag{font-size:7px;top:14px;left:15px}.studio-project .record{width:120%;top:0;right:-45%}.studio-project .record i{border-width:12px}.studio-project .project-image>img[src*='sundial']{padding:8px}.studio-footer{margin-top:36px}.gallery-page{padding:0 24px}.gallery-header{height:70px;gap:20px}.gallery-header>a{font-size:21px}.gallery-header>span{display:none}.gallery-header>button{font-size:10px;margin-left:auto}.gallery-stage{grid-template-columns:1fr 1fr;gap:20px;min-height:490px;height:calc(100dvh - 250px);padding-top:22px}.gallery-count{font-size:8px;display:block;max-width:140px;line-height:1.8}.gallery-count i{display:none}.gallery-copy h1{font-size:42px;letter-spacing:-1.9px;margin:20px 0 16px}.gallery-copy>p{font-size:13px;line-height:1.5}.gallery-role{font-size:9px;margin-top:15px}.gallery-explore{font-size:10px;gap:14px;padding:10px 12px;margin-top:23px}.gallery-image-caption{font-size:8px;gap:8px;align-items:start;padding-top:8px}.gallery-image-caption>span{max-width:82px}.gallery-image-caption button{height:26px;width:24px;font-size:18px}.gallery-image-caption>div{gap:0}.gallery-project-nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;min-height:90px}.gallery-project-nav>button{font-size:9px;line-height:1.4;padding:12px 0}.gallery-project-nav>button>span{display:block;margin:0 0 7px;font-size:8px}.gallery-project-nav>button>small{display:none}.gallery-project-nav>button[aria-pressed=true]:before{right:0}.gallery-image .cymbal-cover>strong{font-size:33px}.gallery-image .cymbal-cover>strong>span{display:none}.gallery-image .dojo-cover{padding:17px}.gallery-image .dojo-cover>strong{font-size:59px;letter-spacing:-4px}.gallery-image .dojo-cover>span{font-size:7px}.gallery-image .dojo-cover>small{font-size:8px}dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}#project-content{grid-template-columns:1fr}.detail-media{height:320px;min-height:0}.detail-media>img{object-position:50% 65%!important}.detail-media:has(img[src*='sundial']){height:240px}.detail-media>img[src*='sundial']{height:100%}.detail-copy{padding:28px 25px 35px}.detail-copy h2{font-size:36px}.detail-copy .detail-deck{font-size:16px}.about-dialog{padding:52px 28px 40px}.about-dialog h2{font-size:36px}.about-dialog>p{font-size:15px}}
@media(max-width:420px){.direction-bar nav{gap:17px}.direction-bar{padding:0 15px}.editorial-page{padding:0 18px}.editorial-intro h1{font-size:69px}.editorial-bio{display:block}.editorial-bio>p:first-child{font-size:18px}.editorial-bio .bio-detail{margin-top:18px;max-width:100%;font-size:10px}.editorial-intro{gap:24px}.editorial-grid{grid-template-columns:1fr}.editorial-second{padding-top:0}.editorial-grid .project-image{aspect-ratio:1.12}.editorial-lead .project-image{aspect-ratio:.95}.editorial-grid .project-caption h2{font-size:29px}.editorial-grid .project-caption p{font-size:10px}.cymbal-cover>strong{font-size:60px;letter-spacing:-3px}.cymbal-cover>strong>span{width:36px;height:36px}.cymbal-cover{padding:24px}.cymbal-cover>small{font-size:11px;max-width:none}.cover-tag{font-size:8px;left:24px;top:22px}.record{width:83%;top:-13%;right:-20%}.record i{border-width:22px}.studio-name{font-size:43px}.studio-intro{font-size:16px}.studio-note{grid-template-columns:56px 1fr;font-size:8px}.studio-grid{gap:25px 17px}.studio-project .project-caption h2{font-size:17px}.studio-project .project-caption p{font-size:8px}.studio-project .cymbal-cover>strong{font-size:25px}.studio-project .cymbal-cover>small{font-size:8px}.studio-project .dojo-cover{padding:15px;min-height:0}.studio-project .dojo-cover>strong{font-size:54px;letter-spacing:-4px}.studio-project .dojo-cover>span{font-size:7px}.studio-project .dojo-cover>small{font-size:8px}.gallery-page{padding:0 18px}.gallery-stage{gap:17px;min-height:475px}.gallery-copy h1{font-size:36px}.gallery-copy>p{font-size:12px}.gallery-role{font-size:8px}.gallery-explore{padding:9px;font-size:9px;gap:10px}.gallery-project-nav{gap:8px}.gallery-project-nav>button{font-size:8px}.gallery-copy{padding-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:600px){.gallery-stage{display:flex;flex-direction:column;align-items:stretch;height:auto;max-height:none;min-height:0;gap:20px;padding:24px 0}.gallery-image-wrap{order:-1;height:auto}.gallery-image{height:320px}.gallery-copy{max-width:none;padding:0}.gallery-count{max-width:none}.gallery-copy h1{font-size:42px;margin:15px 0}.gallery-copy>p{font-size:15px;max-width:none}.gallery-role{font-size:11px;margin-top:16px;max-width:none}.gallery-explore{font-size:12px;padding:13px 16px;margin-top:20px}.gallery-image-caption{font-size:10px;align-items:center}.gallery-image-caption>span{max-width:none}.gallery-project-nav{gap:12px}.gallery-project-nav>button{font-size:10px}.gallery-image .cymbal-cover>strong{font-size:60px}.gallery-image .dojo-cover>strong{font-size:92px}}

@media(max-width:720px){.studio-project .record{width:90%;top:-13%;right:-22%}.studio-project .cymbal-cover>small{max-width:135px}}

/* Selected Editorial portfolio. Keep the original studies at directions.html. */
body[data-site=portfolio] #portfolio{min-height:100dvh}
body[data-site=portfolio] .site-nav{height:86px}
body[data-site=portfolio] .editorial-intro{padding-top:48px;padding-bottom:56px}
.video-label{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:11px;padding:12px 15px;background:#fbfcf6;color:#252b20;font-size:12px;box-shadow:0 2px 12px #0001}
.video-label>span{font-size:11px}
.project-image:has(.video-label) .image-link{display:none}
.project-image:has(.video-label):hover .video-label{background:#fff}
.editorial-dojo{grid-column:1/-1;margin-top:12px;border-top:1px solid var(--line);padding-top:32px}
.dojo-photos{position:relative;display:grid;grid-template-columns:1.25fr 1fr;gap:18px;padding:0;width:100%;aspect-ratio:2.75;overflow:hidden}
.dojo-photos img{width:100%;height:100%;min-height:0;object-fit:cover;transition:transform .5s ease}
.dojo-photos:hover img{transform:scale(1.02)}
.dojo-photos .image-link{position:absolute;right:18px;bottom:18px;background:#fbfcf6;padding:11px 14px;font-size:12px;display:flex;gap:24px}
.dojo-caption{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:18px;align-items:start;padding-top:18px}
.dojo-caption button{padding:0;text-align:left}
.dojo-caption h2{font:31px/1.15 var(--serif);letter-spacing:-1px}
.dojo-caption>div>p{font-size:11px;color:var(--muted);margin-top:6px}
.dojo-caption>p{max-width:330px;font-size:13px;line-height:1.6;color:#565e50}
.dojo-caption .dojo-more{font-size:12px;padding-top:5px}
/* The record and typography have separate areas; no text sits over the grooves. */
.cymbal-cover{background:#d7e3f4;color:#18325b;isolation:isolate}
.cymbal-cover .cover-tag{z-index:2;max-width:110px;line-height:1.7;color:#18325b}
.record-field{position:absolute;top:0;right:0;bottom:35%;left:40%;overflow:hidden}
.cymbal-cover .record{width:110%;right:-14%;top:-30%;box-shadow:0 5px 14px #172b4920}
.cymbal-title{position:relative;z-index:2;text-align:left;width:100%;margin-top:auto}
.cymbal-title>strong{display:block;font:500 clamp(40px,5vw,72px)/1.05 var(--sans);letter-spacing:-4px}
.cymbal-title>small{display:block;font-size:12px;line-height:1.55;max-width:270px;margin-top:11px;color:#18325b}
.detail-media.detail-video{min-height:0;background:#23261f;align-self:start;position:sticky;top:0;display:flex;flex-direction:column;align-items:center}
.detail-video video{display:block;width:100%;max-height:calc(100dvh - 116px);aspect-ratio:9/16;object-fit:contain;background:#141711}
.detail-video>p{font-size:11px;color:#d1d5c8;padding:12px 18px;text-align:center;margin:0}
.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:30px}
.detail-gallery:has(figure:only-child){grid-template-columns:1fr}
.detail-gallery figure{margin:0;min-width:0}
.detail-gallery img{display:block;width:100%;height:auto;object-fit:contain}
.detail-gallery figcaption{font-size:10px;line-height:1.5;color:#66705d;padding-top:8px}
@media(max-width:1050px){.dojo-caption{grid-template-columns:auto 1fr 1fr}.dojo-more{display:none}.cymbal-title>strong{font-size:54px}.cymbal-title>small{font-size:11px}}
@media(max-width:720px){body[data-site=portfolio] .site-nav{height:72px}body[data-site=portfolio] .editorial-intro{padding-top:36px;padding-bottom:36px}.cymbal-title>strong{font-size:38px;letter-spacing:-2px}.cymbal-title>small{font-size:10px;max-width:190px;line-height:1.5}.record-field{bottom:42%;left:40%}.cymbal-cover .record{width:125%;right:-28%;top:-10%}.video-label{left:12px;bottom:12px;padding:10px 12px;font-size:11px}.dojo-photos{aspect-ratio:2.1;gap:10px;grid-template-columns:1fr 1fr}.dojo-photos .image-link{font-size:10px;right:10px;bottom:10px;padding:9px 11px;gap:12px}.dojo-caption{grid-template-columns:auto 1fr;gap:12px}.dojo-caption>p{grid-column:2;max-width:none;font-size:12px}.dojo-caption h2{font-size:28px}.editorial-dojo{padding-top:25px;margin-top:0}.detail-media.detail-video{height:auto;position:static}.detail-video video{max-height:70dvh;width:100%;height:auto}.detail-gallery{gap:12px}}
@media(max-width:420px){.cymbal-title>strong{font-size:59px;letter-spacing:-3px}.cymbal-title>small{font-size:11px;max-width:230px}.record-field{bottom:43%;left:40%}.cymbal-cover .record{width:110%;right:-15%;top:-28%}.studio-project .cymbal-title>strong{font-size:25px;letter-spacing:-1px}.studio-project .cymbal-title>small{font-size:8px}.dojo-photos{grid-template-columns:1fr;aspect-ratio:auto;gap:12px}.dojo-photos img{aspect-ratio:16/9;height:auto}.dojo-photos .image-link{display:none}}
@media(prefers-reduced-motion:reduce){.dojo-photos img{transition:none}}
/* Layout, rather than z-index, keeps the cover legible at every card size. */
.cymbal-cover{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px;min-height:0}
.cymbal-cover .record-field{position:relative;inset:auto;grid-row:1;width:72%;height:100%;min-height:0;justify-self:end;align-self:stretch;overflow:hidden;margin:0}
.cymbal-cover .record{width:auto;height:165%;aspect-ratio:1;top:-78%;right:-6%}
.cymbal-title{grid-row:2;margin:0}
@media(max-width:1050px){.editorial-grid .cymbal-title>strong{font-size:46px}.editorial-grid .cymbal-title>small{font-size:11px}}
@media(max-width:720px){.cymbal-cover{gap:12px}.editorial-grid .cymbal-title>strong{font-size:36px}.editorial-grid .cymbal-title>small{font-size:10px}}
@media(max-width:420px){.editorial-grid .cymbal-title>strong{font-size:58px}.editorial-grid .cymbal-title>small{font-size:11px}}
.cymbal-cover .cover-tag{max-width:34%}
.cymbal-cover .record-field{width:50%;max-height:260px;align-self:start}
.cymbal-cover .record{width:135%;height:auto;top:-25%;right:-25%}
.cymbal-cover{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:stretch}
.cymbal-cover .record-field{height:100%;width:52%;overflow:visible}
.record-field svg{display:block;height:100%;width:100%;max-height:260px}
/* Smaller portrait stills keep the tour imagery at a useful, honest scale. */
.editorial-dojo{display:grid;grid-template-columns:1.15fr 1fr;gap:36px}
.dojo-photos{aspect-ratio:auto;grid-template-columns:1fr 1fr;gap:15px;overflow:visible;align-items:start}
.dojo-photos figure{margin:0;min-width:0;overflow:hidden}
.dojo-photos img{height:auto;aspect-ratio:406/720;object-fit:contain}
.dojo-photos figcaption{font-size:10px;color:#66705f;padding-top:9px;text-align:left}
.dojo-photos .image-link{display:none}
.dojo-caption{grid-template-columns:auto 1fr;align-content:center;align-self:stretch;padding:0;column-gap:16px;row-gap:20px}
.dojo-caption>p{grid-column:2;max-width:330px;font-size:16px;line-height:1.65}
.dojo-caption .dojo-more{display:block;grid-column:2;font-size:12px;border-bottom:1px solid #bbc3b1;width:max-content;padding-bottom:5px}
@media(max-width:720px){.editorial-dojo{gap:24px;grid-template-columns:1fr}.dojo-photos{max-width:520px;gap:14px}.dojo-caption{row-gap:12px}.dojo-caption>p{font-size:14px;max-width:none}.dojo-photos img{aspect-ratio:406/720}.dojo-caption .dojo-more{font-size:11px}}
.project-media{position:relative}
.project-preview{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 70%;pointer-events:none}
.editorial-lead .project-image:has(.project-preview){aspect-ratio:4/5}
.preview-toggle{position:absolute;right:16px;top:16px;padding:9px 12px;background:#fbfcf6;color:#252b20;font-size:11px;box-shadow:0 2px 12px #0001;z-index:2}
.preview-toggle:hover{background:white}
@media(max-width:720px){.preview-toggle{right:12px;top:12px;font-size:10px;padding:8px 10px}.editorial-lead .project-image:has(.project-preview){aspect-ratio:4/5}}
.detail-media:has(>img[src*='booth-2024']){min-height:0;align-self:start;position:sticky;top:0;background:#e5e8de}
.detail-media>img[src*='booth-2024']{height:auto;max-height:calc(100dvh - 80px);object-fit:contain}
@media(max-width:720px){.detail-media:has(>img[src*='booth-2024']){position:static;height:auto}.detail-media>img[src*='booth-2024']{height:320px;max-height:60dvh}}
/* Keep the paired openers close in height, with only a small editorial offset. */
.editorial-second .project-image{aspect-ratio:4/5}
.audio-feature{grid-column:1/-1;margin-bottom:24px}
.audio-feature-image{display:block;position:relative;width:100%;padding:0;aspect-ratio:16/9;overflow:hidden;background:#d7d2c8}
.audio-feature-image>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.audio-feature-image:hover>img{transform:scale(1.018)}
.tour-badge{position:absolute;left:22px;bottom:22px;display:flex;gap:35px;align-items:center;background:#fcfcf6;color:#252b20;padding:13px 17px;font-size:12px}
.audio-feature-caption{display:grid;grid-template-columns:auto 1fr 1fr;gap:18px;align-items:start;padding-top:18px}
.audio-feature-caption button{padding:0;text-align:left}
.audio-feature-caption h2{font:37px/1.15 var(--serif);letter-spacing:-1.2px}
.audio-feature-caption>div>p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px}
.audio-feature-caption>p{font-size:15px;line-height:1.65;max-width:370px;justify-self:end;color:#4c5547}
#project-dialog.booth-case{width:min(1160px,calc(100vw - 64px))}
.booth-case #project-content{display:block}
.audio-case-header{padding:56px 60px 34px}
.audio-case-header h2{font:56px/1.05 var(--serif);letter-spacing:-2px;margin:16px 0 20px}
.audio-deck{font-size:20px;line-height:1.55;max-width:740px;color:#4a5542}
.audio-role{font-size:12px;font-weight:500;line-height:1.7;margin-top:25px}
.audio-role>span{font-weight:400;color:#67735f;margin-left:22px}
.booth-panorama{position:relative;height:clamp(340px,58dvh,650px);background:#21251e;overflow:hidden}
.booth-panorama>img{width:100%;height:100%;object-fit:cover}
.tour-launch{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);white-space:nowrap;background:#fcfcf5;color:#22291d;padding:15px 21px;font-size:13px;box-shadow:0 4px 22px #0002}
.tour-launch>span{margin-left:35px}
.booth-panorama iframe{width:100%;height:100%;display:block;border:0}
.audio-case-body{padding:46px 60px 44px}
.audio-story{display:grid;grid-template-columns:.72fr 1.28fr;gap:45px;margin:0 0 42px}
.audio-story h3{font:27px/1.2 var(--serif);letter-spacing:-.7px;margin:0;max-width:240px}
.audio-story p{font-size:14px;line-height:1.85;color:#4b5643;margin:0 0 18px}
.mix-path{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:20px 0 0;margin:24px 0 0;border-top:1px solid #d4dbc9;counter-reset:steps}
.mix-path li{counter-increment:steps;position:relative;padding-top:20px}
.mix-path li:before{content:counter(steps,decimal-leading-zero);position:absolute;top:0;left:0;font:9px monospace;color:#859077}
.mix-path strong{display:block;font-size:13px;font-weight:500}
.mix-path span{display:block;font-size:11px;line-height:1.6;color:#66735c;margin-top:7px}
.audio-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 48px}
.audio-photo-pair figure{margin:0}
.audio-photo-pair img{display:block;width:100%;aspect-ratio:8/5;object-fit:cover}
.audio-photo-pair figcaption{font-size:12px;line-height:1.65;color:#66735c;padding-top:13px}
.audio-photo-pair figcaption strong{display:block;font-size:13px;color:#263020;margin-bottom:3px;font-weight:500}
.room-notes{border-block:1px solid #d4dbc9;padding:19px 0}
.room-notes summary{cursor:pointer;font-size:13px;color:#34452c}
.room-notes dl{margin:24px 0 12px}
.room-notes dl>div{display:grid;grid-template-columns:160px 1fr;gap:24px;border-top:1px solid #e0e4d9;padding:14px 0;font-size:12px;line-height:1.65}
.room-notes dt{font-weight:500}.room-notes dd{margin:0;color:#64705a}
.tour-note{font-size:11px;line-height:1.65;color:#6d775f;max-width:740px}
.audio-case-footer{padding-top:25px;font-size:12px}
.audio-case-footer a{border-bottom:1px solid #b7c2a7;padding-bottom:5px}
@media(max-width:1050px){.audio-feature-caption h2{font-size:31px}.audio-feature-caption>p{font-size:13px}.audio-case-header{padding:48px 35px 30px}.audio-case-body{padding:35px}.audio-story{gap:30px;grid-template-columns:.7fr 1.3fr}.audio-role>span{display:block;margin:7px 0 0}.audio-story h3{font-size:24px}}
@media(max-width:720px){.audio-feature{margin-bottom:4px}.audio-feature-image{aspect-ratio:4/3}.tour-badge{left:14px;bottom:14px;font-size:11px;padding:11px 13px;gap:25px}.audio-feature-caption{grid-template-columns:auto 1fr;gap:12px}.audio-feature-caption>p{grid-column:2;justify-self:start;max-width:none;font-size:13px}.audio-feature-caption h2{font-size:30px}.audio-feature-caption>div>p{font-size:10px;margin-top:5px}#project-dialog.booth-case{width:calc(100vw - 28px)}.audio-case-header{padding:52px 25px 27px}.audio-case-header h2{font-size:39px;letter-spacing:-1.2px}.audio-deck{font-size:17px}.audio-role{font-size:11px}.audio-role>span{font-size:10px}.booth-panorama{height:350px}.tour-launch{font-size:11px;padding:13px 15px;bottom:18px}.tour-launch>span{margin-left:20px}.audio-case-body{padding:30px 25px}.audio-story{grid-template-columns:1fr;gap:18px;margin-bottom:30px}.audio-story h3{max-width:none;font-size:25px}.audio-story p{font-size:13px;line-height:1.8}.audio-photo-pair{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.audio-photo-pair figcaption{font-size:11px}.room-notes dl>div{grid-template-columns:1fr;gap:5px;padding:13px 0}.mix-path{gap:14px}.mix-path span{font-size:10px}.mix-path strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.audio-feature-image>img{transition:none}}
.audio-feature-image{aspect-ratio:8/5}
.audio-feature-image>img{object-position:45% 30%}
.booth-panorama>img{object-position:45% 35%}
.dojo-video-button{aspect-ratio:4/5;width:100%;background:#191b17}
.dojo-video-button .project-preview{object-fit:contain;object-position:center}
@media(max-width:720px){.audio-feature-image{aspect-ratio:4/3}.editorial-dojo .project-media{max-width:450px}.dojo-video-button{aspect-ratio:4/5}}
.editorial-hardware .project-image,.editorial-dojo-card .project-image{aspect-ratio:4/5}
.editorial-hardware .project-image>img{object-fit:cover;padding:0;background:#e9e8df}
.editorial-dojo-card .project-preview{object-fit:contain;background:#171a15}
.editorial-last{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center;border-top:1px solid var(--line);padding-top:35px}
.editorial-last .project-image{aspect-ratio:1.05}
.editorial-last .project-caption{padding:0}
.project-caption .caption-summary{font-size:14px;line-height:1.75;max-width:330px;margin-top:22px}
@media(max-width:720px){.editorial-last{gap:24px}.editorial-last .project-caption{display:block}.editorial-last .project-number{display:block;margin-bottom:10px}.project-caption .caption-summary{font-size:12px;margin-top:15px}}
@media(max-width:420px){.editorial-last{grid-template-columns:1fr}.editorial-last .project-caption{display:flex}.editorial-last .project-number{margin:0}.editorial-hardware .project-image,.editorial-dojo-card .project-image{aspect-ratio:4/5}}

/* Five-project editorial layout. */
.editorial-lifex .project-image{aspect-ratio:4/5}
.editorial-lifex .caption-summary{max-width:34em}

/* Authentic Sundial photographs keep the whole prototype visible in its case study. */
.detail-media:has(>img[src*='sundial']){flex-direction:column;justify-content:center}
.detail-image-caption{font-size:11px;line-height:1.5;color:#66705d;padding-top:12px;text-align:center}

/* About content lives in the opening section. */
.editorial-intro{grid-template-columns:max-content minmax(0,1fr);gap:clamp(56px,6vw,96px);align-items:center}
.editorial-intro h1{font-size:clamp(100px,11vw,116px);line-height:.96;letter-spacing:-.065em}
.editorial-bio{width:100%;max-width:520px;padding-bottom:0}
.editorial-bio>p:first-child{font-size:18px;line-height:1.4;letter-spacing:-.3px}
.editorial-bio .bio-detail{font-size:13px;line-height:1.55;margin-top:10px}
.bio-link{display:inline-block;margin-top:12px;padding-bottom:3px;border-bottom:1px solid #a9b69c;font-size:12px}
.bio-link:hover,.site-footer-compact>a:hover{color:var(--accent);border-color:var(--accent)}
.site-footer.site-footer-compact{display:flex;justify-content:space-between;align-items:center}
.site-footer-compact>a{border-bottom:1px solid #a9b69c;padding-bottom:3px}
@media(max-width:760px){.editorial-intro{grid-template-columns:1fr;gap:28px}.editorial-intro h1{font-size:clamp(72px,14vw,96px)}.editorial-bio{display:block;width:100%;max-width:520px}.editorial-bio .bio-detail{max-width:none;margin-top:14px;font-size:14px;line-height:1.65}.editorial-bio>p:first-child{font-size:20px;max-width:32ch}.bio-link{margin-top:16px;font-size:13px}}

/* The walkthrough has a dedicated viewport, independent of the case study scroll. */
.tour-badge{background:var(--accent);color:#fff;gap:30px;box-shadow:0 4px 18px #0002}
.tour-badge strong{display:block;font-size:14px;font-weight:500}
.tour-badge small{display:block;font-size:11px;margin-top:5px;color:#fffdf9}
.tour-badge>span:last-child{font-size:21px}
.audio-feature-caption .project-details-link{display:inline-flex;align-items:center;gap:14px;margin-top:12px;font-size:12px;border-bottom:1px solid #a9b69c;padding-bottom:3px}
.tour-launch{background:var(--accent);color:#fff}
#project-dialog.tour-mode{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:none;max-height:none;overflow:hidden;margin:auto;padding:0;background:#171c18}
.tour-mode #project-content{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}
.tour-mode>.close-dialog{position:absolute;top:13px;right:14px;float:none;margin:0;width:34px;height:34px}
.tour-toolbar{display:flex;gap:22px;align-items:center;padding:15px 70px 15px 20px;background:var(--paper);color:var(--ink)}
.tour-toolbar>div{margin-right:auto;min-width:0}
.tour-toolbar h2{font:23px/1.15 var(--serif);letter-spacing:-.5px}
.tour-toolbar p{font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px}
.tour-toolbar>button,.tour-toolbar>a{font-size:12px;white-space:nowrap;padding:4px 0;border-bottom:1px solid #a9b69c}
.tour-frame{min-height:0;min-width:0;overflow:hidden}
.tour-frame iframe{display:block;width:100%;height:100%;border:0}
/* Presentations and the demo are part of each project, with one slide visible at a time. */
.case-media{grid-column:1/-1;border-top:1px solid #d7ddcb;padding:30px 40px 38px;min-width:0}
.case-media h3{font:27px/1.15 var(--serif);letter-spacing:-.5px;margin:0 0 18px}
.case-media video{display:block;width:100%;max-height:65dvh;aspect-ratio:16/9;object-fit:contain;background:#181c18}
.slide-viewer{min-width:0;outline-offset:4px}
.slide-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.slide-tabs button{font-size:12px;padding:9px 13px;border:1px solid #cbd1c3;color:#626c58}
.slide-tabs button[aria-pressed=true]{background:#293724;color:#fff;border-color:#293724}
.slide-viewport{margin:0;background:#e8e9e0;aspect-ratio:16/9;overflow:hidden}
.slide-viewport img{width:100%;height:100%;object-fit:contain}
.slide-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px}
.slide-controls>span{font-size:12px;color:#626c58;font-variant-numeric:tabular-nums}
.slide-controls button{padding:9px 14px;border:1px solid #cbd1c3;font-size:12px;min-width:95px;text-align:center}
.slide-controls button:hover:not(:disabled){background:#e9eddf}
.slide-controls button:disabled{opacity:.35}
@media(max-width:720px){.tour-toolbar{gap:14px;padding:13px 60px 13px 16px;flex-wrap:wrap}.tour-toolbar>div{flex:1 0 100%}.tour-toolbar h2{font-size:21px}.tour-toolbar>button,.tour-toolbar>a{font-size:11px}.tour-toolbar p{font-size:10px}.case-media{padding:26px 22px 30px}.case-media h3{font-size:25px}.slide-controls button{padding:9px 10px;min-width:80px;font-size:11px}.tour-badge strong{font-size:12px}.tour-badge small{font-size:10px}}
@media(max-width:480px){#project-dialog.tour-mode{width:100vw;height:100dvh;max-height:100dvh;margin:0}.case-media{padding-inline:16px}}
