/* A working studio spread, using the existing JP Studio wordmark and real project assets. */
.section-index{display:block;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.025em;margin-bottom:20px;color:var(--muted)}
.work .section-index{color:rgb(250 250 249 / 62%)}
.case-title-line{display:flex;align-items:baseline;gap:10px}
.case-number{font-size:11px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums;color:rgb(255 255 255 / 72%)}
.case-type{padding-left:24px}
.studio{padding-block:80px 64px;background:var(--paper)}
.studio-masthead{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:48px;padding-bottom:44px}
.studio-masthead .section-index{margin-bottom:20px}
.studio-masthead h2{font-size:clamp(42px,5.2vw,80px);line-height:1.04;letter-spacing:-.065em;font-weight:500}
.studio-summary{padding-bottom:4px}
.studio-summary p{font-size:clamp(17px,1.6vw,23px);max-width:32ch;line-height:1.5;letter-spacing:-.025em}
.studio-summary>span{display:block;font-size:12px;color:var(--muted);margin-top:18px}
.studio-workbench{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);border-top:1px solid var(--line);padding-top:36px;scroll-margin-top:110px}
.process-controls h3{font-size:21px;font-weight:500;letter-spacing:-.035em;margin-bottom:22px}
.process-steps{display:grid;gap:0}
.process-step{display:grid;grid-template-columns:30px 1fr;gap:16px;width:100%;padding:20px 18px 20px 0;border:0;border-top:1px solid var(--line);border-radius:0;text-align:left;color:var(--ink);background:none;font:inherit;cursor:pointer;transition:padding .25s,background .25s}
.process-step:first-child{border-top:0}
.process-step-number{font-size:12px;font-variant-numeric:tabular-nums;padding-top:4px;color:var(--muted)}
.process-step strong{display:block;font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.04em}
.process-step small{display:block;max-width:36ch;font-size:13px;line-height:1.6;color:var(--muted);margin-top:9px}
.process-step[aria-selected=true]{background:var(--material);padding-left:18px;border-radius:12px}
.process-step[aria-selected=true] .process-step-number{color:var(--ink)}
.process-step:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.process-board{margin:0;min-width:0}
.studio-desk{position:relative;aspect-ratio:1.23;border-radius:20px;overflow:hidden;background:var(--material);border:1px solid rgb(35 34 31 / 9%);box-shadow:inset 0 1px 0 rgb(250 250 249 / 65%)}
.desk-panel{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:desk-enter .35s ease-out}
.desk-panel[hidden]{display:none}
.desk-panel:focus-visible{outline:2px solid var(--ink);outline-offset:-6px}
.desk-sheet{position:relative;width:82%;padding:clamp(20px,3vw,36px);border:1px solid #cecec9;border-radius:6px;background:var(--paper);box-shadow:0 14px 28px rgb(35 34 31 / 15%);transform:rotate(-3deg)}
.desk-document-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.desk-document-head img{width:100px;height:auto;max-width:38%}
.desk-document-head>span{font-size:9px;color:var(--muted)}
.desk-brief h4{font-size:clamp(18px,2vw,30px);line-height:1.2;font-weight:500;letter-spacing:-.04em;max-width:19ch;margin-block:25px}
.desk-brief dl{margin:0}
.desk-brief dl>div{display:grid;grid-template-columns:.65fr 1.35fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);align-items:baseline}
.desk-brief dt{font-size:12px;font-weight:600}
.desk-brief dd{font-size:11px;line-height:1.5;margin:0;color:var(--muted)}
.desk-document-foot{display:flex;justify-content:space-between;gap:10px;margin-top:30px;font-size:8px;color:var(--muted)}
.desk-design{transform:rotate(2deg)}
.wire-header{display:flex;justify-content:space-between;gap:12px;padding-block:16px;font-size:8px;font-weight:600}
.wire-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;padding:18px 0 22px;border-block:1px solid var(--line);align-items:center}
.wire-hero strong{display:block;font-size:clamp(16px,2vw,28px);font-weight:500;line-height:1.2;letter-spacing:-.04em;max-width:10ch}
.wire-copy{display:block;width:90%;height:22px;margin-top:12px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 7px,#d3d3cf 7px,#d3d3cf 8px)}
.wire-button{display:inline-block;margin-top:12px;border:1px solid var(--ink);border-radius:3px;padding:7px 10px;font-size:8px}
.wire-visual{position:relative;border:1px solid #b5b5ae;display:flex;align-items:center;justify-content:center;aspect-ratio:1.15}
.wire-visual svg{width:90%;height:90%;color:#c8c8c1}
.wire-visual span{position:absolute;inset:auto 5px 8px;text-align:center;font-size:8px;color:var(--ink);background:var(--paper);padding:3px}
.wire-content{padding-top:18px}
.wire-content strong{font-size:10px;font-weight:500}
.wire-content>div{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px;margin-top:12px}
.wire-content>div>span{height:35px;border:1px solid #c5c5bd}
.desk-build{position:relative;width:88%;height:84%}
.desk-build-label{position:absolute;top:0;left:0;display:grid;gap:6px}
.desk-build-label>span{font-size:9px;color:var(--muted)}
.desk-build-label strong{font-size:24px;letter-spacing:-.04em;font-weight:500}
.desk-browser{position:absolute;left:0;top:25%;width:91%;border:3px solid var(--ink);border-radius:8px;background:var(--ink);box-shadow:0 12px 24px rgb(35 34 31 / 22%);overflow:hidden;transform:rotate(-4deg)}
.desk-browser-bar{display:flex;align-items:center;gap:4px;height:18px;padding-inline:8px;color:var(--paper);font-size:7px}
.desk-browser-bar i{width:3px;height:3px;border-radius:50%;background:rgb(250 250 249 / 50%)}
.desk-browser-bar>span{margin:auto}
.desk-browser img{display:block;width:100%;height:auto;aspect-ratio:1366/800;object-fit:cover}
.desk-phone{position:absolute;right:-1%;bottom:3%;width:22%;aspect-ratio:390/760;border:4px solid var(--ink);border-radius:14px;overflow:hidden;background:var(--ink);box-shadow:0 10px 18px rgb(35 34 31 / 24%);transform:rotate(6deg)}
.desk-phone{aspect-ratio:auto}
.desk-phone img{width:100%;height:auto}
.process-board figcaption{font-size:10px;line-height:1.5;color:var(--muted);margin-top:14px;max-width:64ch}
.studio-agreements{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:clamp(24px,4vw,60px);margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.studio-agreements strong{font-size:14px;font-weight:600}
.studio-agreements p{font-size:12px;line-height:1.65;color:var(--muted);margin-top:8px;max-width:32ch}
.studio-follow-up p{margin-top:0}
.studio-follow-up .text-link{font-size:12px;margin-top:12px}
@keyframes desk-enter{from{opacity:0;translate:0 10px}to{opacity:1;translate:0}}
@media(hover:hover) and (pointer:fine){.process-step:hover{background:var(--material)}.process-step:hover strong{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}}
@media(max-width:980px){.studio-masthead{grid-template-columns:1.2fr .8fr;gap:28px}.studio-workbench{grid-template-columns:minmax(230px,.9fr) minmax(0,1.1fr);gap:28px}.process-step{gap:10px;grid-template-columns:24px 1fr;padding-block:16px}.process-step strong{font-size:22px}.process-step small{font-size:12px}.studio-desk{aspect-ratio:1}.desk-sheet{padding:22px;width:85%}.desk-document-head img{width:80px}.desk-document-head>span{font-size:8px}.desk-brief h4{font-size:22px;margin-block:20px}.desk-brief dl>div{gap:10px;padding-block:11px}.desk-brief dd{font-size:10px}.desk-document-foot{margin-top:20px;font-size:7px}.wire-hero{gap:10px}.wire-hero strong{font-size:21px}.desk-browser{top:31%}.desk-build-label strong{font-size:22px}}
@media(max-width:760px){.section-index{margin-bottom:15px;font-size:10px}.studio{padding-block:48px}.studio-masthead{display:block;padding-bottom:28px}.studio-masthead h2{font-size:clamp(40px,8vw,58px)}.studio-summary{margin-top:24px}.studio-summary p{font-size:17px;max-width:35ch}.studio-summary>span{font-size:11px;margin-top:14px}.studio-workbench{grid-template-columns:1fr;padding-top:26px;gap:24px}.process-controls h3{font-size:20px;margin-bottom:12px}.process-step{grid-template-columns:26px 1fr;gap:14px;padding:15px 18px 15px 0}.process-step strong{font-size:23px}.process-step small{font-size:12px;max-width:46ch;margin-top:5px}.process-step-number{font-size:11px}.studio-desk{aspect-ratio:1.18;max-height:none}.desk-sheet{width:83%;padding:clamp(20px,5vw,30px)}.desk-document-head{padding-bottom:14px}.desk-document-head img{width:90px}.desk-brief h4{font-size:clamp(21px,5vw,28px);margin-block:20px}.desk-brief dl>div{padding-block:12px}.desk-brief dt{font-size:11px}.desk-brief dd{font-size:10px}.desk-document-foot{margin-top:22px}.wire-hero strong{font-size:clamp(18px,4.7vw,26px)}.studio-agreements{grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;padding-top:24px}.studio-follow-up{grid-column:1/-1;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:18px}.studio-follow-up .text-link{margin-top:0;align-self:start;white-space:nowrap}.studio-agreements p{font-size:12px}.case-title-line{gap:8px}.case-number{font-size:10px}.case-type{padding-left:21px}.case-caption{max-width:74%}}
@media(max-width:380px){.studio-desk{aspect-ratio:1.04}.desk-sheet{padding:18px}.desk-brief h4{font-size:20px;margin-block:17px}.desk-document-head{gap:10px}.desk-document-head img{width:70px}.desk-document-head>span{font-size:7px}.desk-brief dl>div{padding-block:11px;gap:8px}.desk-brief dt{font-size:10px}.desk-brief dd{font-size:9px}.desk-document-foot{font-size:6px;margin-top:18px}.studio-masthead h2{font-size:38px}.studio-follow-up{display:block}.studio-follow-up .text-link{margin-top:12px}.case-title-line{gap:6px}.case-number{font-size:9px}.case-type{padding-left:17px}}
/* Keep the illustrated sheets inside the board on narrow screens. */
.studio-desk{width:100%;min-height:500px}
@media(max-width:980px){.studio-desk{min-height:460px}}
@media(max-width:760px){.desk-document-head>span{font-size:9px}.desk-brief dt{font-size:12px}.desk-brief dd{font-size:11px}.desk-document-foot{font-size:8px}}
@media(prefers-reduced-motion:reduce){.process-step,.desk-panel{transition:none;animation:none}}
@media print{.desk-panel{position:relative;break-inside:avoid}.desk-panel[hidden]{display:flex}.studio-desk{aspect-ratio:auto;overflow:visible}.desk-panel{min-height:360px}.studio-workbench{display:block}.process-step{break-inside:avoid}}
