@font-face{font-family:Pretendard;src:url('assets/PretendardVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{font-family:Pretendard,'Noto Sans KR',system-ui,sans-serif;color:#141414;background:#fff;line-height:1.55;font-synthesis:none;--line:#dedede;--muted:#6b6b6b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a,select{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #5a72dd;outline-offset:4px}::selection{color:white;background:#111}.skip-link{position:fixed;top:-100px;left:24px;z-index:100;background:#111;color:white;padding:12px 20px}.skip-link:focus{top:16px}
.masthead{position:sticky;top:0;z-index:10;min-height:82px;display:flex;justify-content:space-between;align-items:center;padding:16px 40px;background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.wordmark{font-size:1.6rem;font-weight:650;letter-spacing:-.035em;white-space:nowrap}.wordmark-dot{padding-left:1px}.masthead-right{display:flex;align-items:center;gap:28px}.private-label{font-size:.8rem;color:var(--muted)}.text-button{border:0;background:none;color:#171717;border-bottom:1px solid #171717;padding:7px 0;font-size:.875rem;font-weight:550;white-space:nowrap}.text-button:hover{color:#747474;border-color:#747474}.page-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;max-width:1600px;padding:45px 40px 0;margin:auto;align-items:start}.sidebar{position:sticky;top:128px}.sidebar-intro h1{font-size:2.5rem;line-height:1.05;font-weight:500;letter-spacing:-.06em;margin:0 0 14px}.sidebar-intro p{font-size:.875rem;color:var(--muted);margin:0}.project-index{display:flex;flex-direction:column;gap:3px;margin:48px 0}.project-index a{display:grid;grid-template-columns:23px 1fr 18px;gap:9px;align-items:start;padding:10px 0;line-height:1.3;font-size:.875rem;color:#656565}.nav-number{font-size:.75rem;padding-top:1px;font-variant-numeric:tabular-nums}.nav-page{font-size:.75rem;text-align:right;font-variant-numeric:tabular-nums;color:#999}.project-index a[aria-current="location"],.project-index a:hover{color:#0a0a0a;font-weight:700}.project-index a[aria-current="location"] .nav-number{text-decoration:underline;text-underline-offset:4px}.sidebar-footer{font-size:.8125rem;color:var(--muted)}.sidebar-footer>span{font-size:.7rem;letter-spacing:.07em;color:#222}.sidebar-footer p{margin:13px 0}.sidebar-footer .source-note{font-size:.75rem;max-width:195px;line-height:1.7;color:#777}.mobile-index{display:none}.project{scroll-margin-top:110px;margin:0 0 110px}.project-heading{margin-bottom:26px}.project-kicker{font-size:.6875rem;letter-spacing:.09em;display:flex;justify-content:space-between;color:var(--muted);font-variant-numeric:tabular-nums;gap:20px}.project-heading h2{font-size:clamp(1.65rem,2.5vw,2.35rem);font-weight:560;line-height:1.2;letter-spacing:-.045em;margin:18px 0 19px;max-width:860px;word-break:keep-all}.project-info{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}.project-info p{margin:0}.project-info p:last-child{text-align:right;max-width:47%}.project-pages{display:flex;flex-direction:column;gap:32px}.artboard{margin:0;scroll-margin-top:104px;min-width:0}.artboard-open{position:relative;display:block;border:0;padding:0;width:100%;background:#eee;line-height:0}.page-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.expand-mark{position:absolute;bottom:15px;right:16px;font-size:.6875rem;line-height:1.5;background:#fffef2;color:#141414;padding:5px 12px;opacity:0;transition:opacity .18s}.artboard-open:hover .expand-mark,.artboard-open:focus-visible .expand-mark{opacity:1}figcaption{display:flex;align-items:baseline;gap:14px;font-size:.8125rem;padding:12px 0 0;color:#585858}figcaption .page-number{font-size:.6875rem;color:#777;font-variant-numeric:tabular-nums}figcaption a{margin-left:auto;white-space:nowrap;font-size:.625rem;letter-spacing:.07em;color:#777}.endnote{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.8rem;padding:28px 0 38px;color:var(--muted)}.endnote a{color:#111}
dialog{border:0;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:#161616;color:white;margin:0;overflow:hidden}dialog::backdrop{background:#161616}dialog[open]{display:flex;flex-direction:column}.viewer-toolbar{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #444;flex-shrink:0;min-height:77px}.viewer-toolbar p{font-size:.875rem;margin:0;line-height:1.4}.viewer-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}.viewer-controls button,.viewer-controls select{color:#fff;background:#161616;border:1px solid #777;padding:8px 13px;min-height:40px;font-size:.8rem}.viewer-controls button:hover{background:#333}#viewer-stage{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;display:flex;align-items:safe center;justify-content:safe center}#viewer-image{display:block;object-fit:contain;flex-shrink:0;width:100%;height:100%;max-width:100%;max-height:100%}#viewer-stage.zoomed{display:block}#viewer-stage.zoomed #viewer-image{width:var(--zoom-width);height:auto;max-width:none;max-height:none}.viewer-hint{font-size:.75rem;text-align:center;color:#aaa;margin:10px 20px;flex-shrink:0}body.modal-open{overflow:hidden}#print-status:empty{display:none}#print-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90vw;padding:13px 20px;background:#171717;color:white;font-size:.875rem;z-index:30;box-shadow:0 4px 20px #0003}.noscript-note{position:fixed;bottom:0;background:white;border-top:1px solid #777;padding:10px 16px;font-size:.875rem;width:100%}
@media(min-width:1700px){.page-layout{grid-template-columns:220px minmax(0,1fr);gap:70px}}
@media(max-width:1050px){.masthead{padding-left:26px;padding-right:26px}.page-layout{grid-template-columns:190px minmax(0,1fr);gap:30px;padding:34px 26px 0}.project-info{display:block}.project-info p:last-child{max-width:none;text-align:left;margin-top:6px}.sidebar-footer .source-note{max-width:170px}.project-index{margin-top:37px}}
@media(max-width:760px){html{scroll-padding-top:130px}.masthead{min-height:69px;padding:13px 18px}.wordmark{font-size:1.3rem}.masthead-right{gap:16px}.private-label{font-size:.7rem}.text-button{font-size:.75rem}.page-layout{display:block;padding:0}.sidebar{display:none}.mobile-index{display:flex;align-items:center;gap:20px;position:sticky;top:69px;z-index:9;background:white;border-bottom:1px solid var(--line);padding:10px 18px}.mobile-index label{font-size:.75rem;color:var(--muted);white-space:nowrap}.mobile-index select{font-size:.875rem;flex:1;min-width:0;color:#171717;background:#fff;border:0;border-radius:0;min-height:30px;padding:2px 0}.project{scroll-margin-top:142px;margin-bottom:70px}.project-heading{padding:29px 18px 0;margin-bottom:20px}.project-kicker{font-size:.625rem}.project-heading h2{font-size:1.65rem;margin:15px 0 16px;max-width:600px}.project-info{font-size:.6875rem;line-height:1.6}.project-info p:last-child{margin-top:4px}.project-pages{gap:25px}.artboard{scroll-margin-top:132px}figcaption{font-size:.75rem;padding:9px 18px 0;gap:10px}figcaption a{display:none}.expand-mark{opacity:1;bottom:9px;right:10px;font-size:.625rem;padding:4px 10px;background:#fff9}.endnote{margin:0 18px;font-size:.75rem}.viewer-toolbar{padding:12px 15px;display:block;min-height:111px}.viewer-toolbar p{font-size:.8125rem;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-controls{gap:7px}.viewer-controls button,.viewer-controls select{font-size:.75rem;padding:7px 11px}.viewer-controls select{margin-left:auto}.viewer-hint{font-size:.6875rem;margin:10px 14px}.viewer-controls button:last-child{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.expand-mark{transition:none}}
@page{size:1843.2pt 1036.8pt;margin:0}
@media print{*{box-shadow:none!important}html,body{margin:0!important;padding:0!important;width:1843.2pt!important;background:white!important}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}.masthead,.sidebar,.mobile-index,.project-heading,figcaption,.endnote,dialog,#print-status,.noscript-note,.skip-link,.expand-mark{display:none!important}.page-layout,main,.project,.project-pages{display:block!important;margin:0!important;padding:0!important;max-width:none!important;width:1843.2pt!important}.artboard{display:block!important;width:1843.2pt!important;height:1036.8pt!important;margin:0!important;padding:0!important;break-after:page;break-inside:avoid}.project:last-of-type .artboard:last-child{break-after:auto}.artboard-open{display:block!important;width:1843.2pt!important;height:1036.8pt!important;margin:0!important;padding:0!important;border:0!important;background:white!important}.page-image{display:block!important;width:1843.2pt!important;height:1036.8pt!important;object-fit:contain!important;margin:0!important;padding:0!important;max-width:none!important}.page-layout{gap:0!important}body.modal-open{overflow:visible}}
/* Portfolio architecture: project index and dedicated detail views. */
.site-content{max-width:1600px;margin:auto;padding:0 48px}.masthead{gap:40px;padding:20px 48px;min-height:86px}.top-nav{display:flex;align-items:center;gap:32px;margin-right:auto;font-size:.875rem}.work-link{padding:9px 0}.work-link[aria-current=page]{border-bottom:1px solid #111}.project-menu summary{cursor:pointer;list-style:none;display:flex;gap:14px;align-items:center;padding:9px 0}.project-menu summary::-webkit-details-marker{display:none}.project-menu{position:relative}.menu-panel{position:absolute;top:48px;left:-22px;width:310px;padding:16px 22px;background:#fff;border:1px solid #ddd;box-shadow:0 16px 48px #0001}.menu-panel a{display:grid;grid-template-columns:25px 1fr 20px;gap:12px;padding:12px 0;color:#686868;border-bottom:1px solid #eee}.menu-panel a:last-child{border:0}.menu-panel a:hover,.menu-panel a[aria-current=page]{color:#111;font-weight:650}.private-label{font-size:.6rem;letter-spacing:.08em}.home-heading{padding:88px 0 66px;position:relative}.home-eyebrow{font-size:.7rem;letter-spacing:.14em;margin-bottom:30px}.home-heading h1{font-size:clamp(80px,10vw,148px);font-weight:520;letter-spacing:-.075em;line-height:.92;margin:0}.home-heading h1 span{color:#8b8b88}.home-description{position:absolute;right:0;bottom:74px;line-height:1.7}.home-description p{font-size:1rem;margin:0 0 20px}.home-description span{font-size:.65rem;letter-spacing:.1em;color:#777}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 32px}.card-visual{position:relative;overflow:hidden;background:#eee;border:1px solid #eee}.card-visual img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;display:block}.card-arrow{position:absolute;right:16px;bottom:16px;width:38px;height:38px;display:grid;place-items:center;background:#fff;color:#111;border-radius:50%;font-size:1.3rem;transition:transform .2s}.project-card:hover .card-arrow{transform:rotate(45deg)}.card-meta{display:flex;justify-content:space-between;font-size:.625rem;color:#777;letter-spacing:.065em;margin-top:20px}.project-card h2{font-size:clamp(22px,2.2vw,34px);letter-spacing:-.035em;font-weight:560;margin:10px 0 5px}.project-card p{font-size:.8125rem;color:#777;margin:0;word-break:keep-all}.print-note{display:flex;justify-content:space-between;align-items:center;margin:90px 0 45px;border-top:1px solid #ddd;padding-top:28px;font-size:.7rem;gap:30px}.print-note span{letter-spacing:.09em}.print-note p{color:#777;margin:0}.site-content>.project{display:none}.detail-top{display:none}.project-view .work-home{display:none}.project-view .detail-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 0;border-bottom:1px solid #ddd;font-size:.8rem;color:#777}.detail-top>span{margin-right:auto}.detail-top>a{color:#111;white-space:nowrap}.project-view .project.is-active{display:block;margin:0}.project-heading{padding:60px 0 36px;margin:0}.project-heading h2{font-size:clamp(32px,4vw,62px);line-height:1.2;max-width:1050px;margin:25px 0 30px}.project-info{font-size:.85rem}.project-pages{gap:52px}.project-pagination{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #ddd;margin:72px 0 58px;padding-top:30px}.project-pagination a{display:flex;flex-direction:column;gap:12px}.project-pagination a:last-child{text-align:right}.project-pagination small{font-size:.6rem;letter-spacing:.1em;color:#777}.project-pagination span{font-size:1.1rem}.endnote{align-items:center;padding:32px 0;margin-top:25px}.endnote .wordmark{font-size:1.2rem}
@media(min-width:1700px){.site-content{padding:0 60px}}
@media(max-width:1000px){.masthead{gap:28px;padding:18px 28px}.masthead-right{gap:16px}.private-label{display:none}.site-content{padding:0 28px}.home-heading{padding-top:65px}.home-description{bottom:68px}.project-grid{gap:45px 24px}.detail-top>span{display:none}}
@media(max-width:760px){.masthead{padding:14px 18px;gap:18px;min-height:70px;flex-wrap:wrap}.wordmark{font-size:1.25rem}.top-nav{gap:17px;font-size:.75rem;margin-right:0;margin-left:auto}.masthead-right{width:100%;justify-content:flex-end;border-top:1px solid #eee;padding-top:8px}.masthead-right .text-button{font-size:.65rem;padding:1px 0}.menu-panel{left:auto;right:-10px;top:35px;width:min(310px,calc(100vw - 36px));font-size:.8rem}.site-content{padding:0 18px}.home-heading{padding:45px 0 36px}.home-eyebrow{font-size:.57rem;margin-bottom:25px}.home-heading h1{font-size:80px}.home-description{position:static;margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:12px}.home-description p{font-size:.7rem;margin:0}.home-description span{font-size:.5rem}.project-grid{grid-template-columns:1fr;gap:38px}.card-meta{margin-top:15px}.project-card h2{font-size:26px}.project-card p{font-size:.75rem}.print-note{display:block;margin-top:55px;font-size:.62rem}.print-note p{margin-top:10px;line-height:1.7}.detail-top{padding:24px 0!important;gap:12px!important;font-size:.7rem!important}.detail-top button{font-size:.65rem}.project-heading{padding:35px 0 25px}.project-heading h2{font-size:32px;margin:20px 0 23px}.project-info{font-size:.72rem}.project-pages{gap:30px}.project-pages figcaption{padding-left:0;padding-right:0}.project-pagination{margin:45px 0;padding-top:23px;gap:15px}.project-pagination span{font-size:.8rem;word-break:keep-all}.project-pagination small{font-size:.5rem}.endnote{font-size:.6rem;gap:12px}.endnote>span{display:none}.endnote .wordmark{font-size:1.1rem}.artboard{scroll-margin-top:125px}}
@media print{.work-home,.detail-top,.project-pagination{display:none!important}.site-content{display:block!important;padding:0!important;margin:0!important;max-width:none!important;width:1843.2pt!important}.site-content>.project{display:block!important}.print-current .site-content>.project:not(.print-target){display:none!important}.print-current .project.print-target .artboard:last-child{break-after:auto}}
/* Screen expression: paper-light browsing, cinematic image stages. */
:root{background:#f6f6f3;--line:#d9d9d4}body{background:#f6f6f3}.masthead{background:#f6f6f3ee}.menu-panel{background:#f6f6f3}.home-heading{padding:68px 0 56px}.home-heading h1{font-size:clamp(80px,9vw,138px)}.home-heading h1 span{color:#9b9c95}.home-description{bottom:62px}.featured-stage{position:relative;display:grid;grid-template-columns:1fr 2.2fr;align-items:center;background:#111;color:white;margin-bottom:80px;padding:38px 0 0 40px;overflow:hidden;min-height:430px}.featured-copy{padding:0 12px 44px 0;z-index:1}.featured-copy>span{font-size:.58rem;letter-spacing:.12em;color:#aaa}.featured-copy h2{font-size:clamp(32px,4vw,64px);font-weight:500;line-height:1.04;letter-spacing:-.05em;margin:30px 0 22px;max-width:300px}.featured-copy p{color:#aaa;font-size:.8rem;line-height:1.7;max-width:220px}.featured-copy>a{display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid #777;padding:25px 0 10px;font-size:.75rem}.featured-copy>a span{font-size:1.2rem}.featured-media{width:100%;min-width:0;background:#000}.featured-media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.featured-tabs{grid-column:1/-1;display:flex;border-top:1px solid #444;margin:0 40px 0 0;gap:35px}.featured-tabs button{display:flex;gap:12px;align-items:center;color:#888;background:none;border:0;border-top:2px solid transparent;margin-top:-1px;padding:22px 0;font-size:.6rem;letter-spacing:.05em}.featured-tabs button span{font-size:.7rem}.featured-tabs button[aria-pressed=true]{color:#fff;border-top-color:#fff}.work-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;gap:25px}.work-toolbar h2{font-size:1rem;font-weight:500;margin:0;letter-spacing:-.03em}.work-toolbar h2 span{font-size:.6rem;color:#888;vertical-align:super;margin-left:7px}.filters{display:flex;gap:8px}.filters button{background:transparent;border:1px solid transparent;padding:8px 15px;border-radius:30px;color:#777;font-size:.7rem}.filters button[aria-pressed=true]{background:#171717;color:#fff}.project-card[hidden]{display:none!important}.card-visual{background:#e9e9e5;border:0}.card-visual img{transition:filter .3s}.project-card:hover .card-visual img{filter:brightness(1.06)}.card-arrow{opacity:.75}.project-card:hover .card-arrow{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.showcase{background:#151616;color:white;padding:26px 30px 0;margin-bottom:40px}.showcase-top{display:flex;justify-content:space-between;font-size:.6rem;letter-spacing:.13em;color:#aaa;padding-bottom:24px}.showcase-image-button{display:block;position:relative;width:100%;border:0;background:#101111;padding:0;line-height:0}.showcase-image{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:contain;max-height:78vh}.showcase-expand{position:absolute;bottom:20px;right:20px;border:1px solid #ffffff80;background:#111a;color:#fff;padding:13px 16px;line-height:1;font-size:.65rem;backdrop-filter:blur(8px)}.showcase-tabs{display:flex;gap:25px;overflow-x:auto;scrollbar-width:thin}.showcase-tabs button{background:none;border:0;border-top:2px solid transparent;color:#888;display:flex;align-items:center;gap:12px;text-align:left;font-size:.7rem;padding:22px 0;flex-shrink:0}.showcase-tabs button span{font-size:.58rem}.showcase-tabs button[aria-pressed=true]{color:#fff;border-top-color:#fff}.chapter-nav{position:sticky;top:86px;z-index:5;background:#f6f6f3f5;display:flex;align-items:center;overflow-x:auto;gap:7px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:36px;backdrop-filter:blur(12px);scrollbar-width:thin}.chapter-nav>span{font-size:.55rem;letter-spacing:.12em;margin-right:14px;color:#777}.chapter-nav>a{display:flex;align-items:center;gap:7px;white-space:nowrap;border-radius:30px;border:1px solid #d9d9d4;padding:8px 12px;font-size:.6rem;color:#777;transition:background .2s,color .2s}.chapter-nav>a span{font-size:.65rem;color:#333}.chapter-nav>a:hover,.chapter-nav>a[aria-current]{background:#20211f;color:#fff;border-color:#20211f}.chapter-nav>a:hover span,.chapter-nav>a[aria-current] span{color:#fff}.artboard{scroll-margin-top:180px}.project-pages{gap:66px}.project-info{line-height:1.7}#reading-progress{height:2px;background:#111;position:fixed;left:0;top:0;width:100%;z-index:99;transform:scaleX(0);transform-origin:left center;pointer-events:none}.project-pagination a span{transition:transform .25s}.project-pagination a:hover span{transform:translateX(5px)}
@media(min-width:1400px){.featured-stage{min-height:490px}.showcase{margin-left:-15px;margin-right:-15px}}
@media(max-width:1000px){.featured-stage{grid-template-columns:1fr 2fr;padding-left:28px;min-height:330px}.featured-copy h2{font-size:38px}.featured-tabs{margin-right:28px;gap:22px}.showcase{padding:22px 22px 0}}
@media(max-width:760px){.home-heading{padding:40px 0 30px}.home-heading h1{font-size:78px}.home-description{margin-top:24px}.featured-stage{display:flex;flex-direction:column;align-items:stretch;padding:24px 0 0;margin:0 -18px 46px;min-height:0}.featured-copy{padding:0 22px 24px}.featured-copy>span{font-size:.55rem}.featured-copy h2{font-size:43px;max-width:none;margin:18px 0 10px}.featured-copy h2 br{display:none}.featured-copy p{font-size:.73rem;max-width:none;margin:0}.featured-copy>a{padding-top:17px;font-size:.7rem}.featured-tabs{margin:0 18px;gap:0;justify-content:space-between}.featured-tabs button{gap:6px;padding:17px 0;font-size:.5rem}.featured-tabs button span{font-size:.58rem}.work-toolbar{display:block;margin-bottom:24px}.work-toolbar h2{font-size:.9rem;margin-bottom:17px}.filters{gap:6px}.filters button{padding:7px 13px;font-size:.65rem}.showcase{margin:0 -18px 0;padding:20px 0 0}.showcase-top{padding:0 18px 18px;font-size:.53rem}.showcase-tabs{padding:0 18px;gap:20px}.showcase-tabs button{font-size:.63rem;padding:18px 0}.showcase-image{max-height:none}.showcase-expand{bottom:10px;right:12px;font-size:.58rem;padding:10px 12px}.chapter-nav{top:111px;margin:0 -18px 30px;padding:12px 18px;gap:7px}.chapter-nav>span{display:none}.chapter-nav>a{font-size:.55rem;padding:7px 10px}.chapter-nav>a span{font-size:.6rem}.artboard{scroll-margin-top:182px}.project-pages{gap:40px}.motion-ready .reveal{transform:translateY(18px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}}
@media print{.online-only{display:none!important}.artboard,.motion-ready .reveal,.motion-ready .reveal.is-visible{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}.project-pages{gap:0!important}html,body{background:white!important}}
.chapter-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:28px;margin-bottom:-35px;margin-top:15px;font-size:1rem;font-weight:500;letter-spacing:-.02em}.chapter-heading span:last-child{font-size:.5rem;font-weight:400;letter-spacing:.1em;color:#888}@media(max-width:760px){.chapter-heading{font-size:.85rem;padding-top:22px;margin-bottom:-20px}.chapter-heading span:last-child{display:none}}
/* Combined with the document's scroll padding, clear both sticky bars once. */
.artboard{scroll-margin-top:76px}@media(max-width:760px){.artboard{scroll-margin-top:52px}}
/* Native case study: shared content, screen composition, fixed print sheets. */
.more-work-heading{grid-column:1/-1;border-top:1px solid var(--line);padding:34px 0 0;margin-top:30px;display:flex;justify-content:space-between;gap:20px}.more-work-heading h2{font-size:1rem;font-weight:500;margin:0}.more-work-heading p{font-size:.72rem;color:#777;margin:0}.about-page{display:none;padding:80px 0;min-height:75vh}.about-view .work-home{display:none}.about-view .about-page{display:block}.about-page h1{font-size:clamp(50px,8vw,115px);font-weight:500;letter-spacing:-.065em;line-height:1.05;margin:34px 0}.about-page h1>span{color:#9b9c95}.about-disciplines{font-size:1.25rem;line-height:1.8}.about-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;border-top:1px solid var(--line);margin-top:70px;padding-top:30px}.about-grid h2{font-size:.8rem;font-weight:600;margin:0 0 22px}.about-grid p{font-size:.85rem;line-height:1.9;color:#666}.about-back{display:inline-block;margin-top:40px;border-bottom:1px solid #111;padding-bottom:10px;font-size:.8rem}.top-nav .text-button{font-size:.8rem}.about-link[aria-current=page]{border-bottom:1px solid #111;padding:9px 0}.source-archive{display:none!important}.native-nav{display:flex;gap:28px;position:sticky;top:86px;z-index:6;background:#f6f6f3f2;backdrop-filter:blur(12px);padding:18px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}.native-nav a{font-size:.72rem;white-space:nowrap;color:#777}.native-nav a:hover,.native-nav a[aria-current]{color:#111;text-decoration:underline;text-underline-offset:7px}.native-sheet{position:relative;display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2.15fr);gap:55px;align-items:center;min-height:690px;padding:90px 0 75px;border-bottom:1px solid var(--line);scroll-margin-top:65px}.native-copy{align-self:center;min-width:0}.eyebrow{font-size:.62rem;letter-spacing:.12em;color:#777;display:block}.native-copy h2{font-size:clamp(55px,6.5vw,104px);font-weight:500;line-height:.97;letter-spacing:-.065em;margin:30px 0}.native-copy h2>span{color:#7c827a}.native-copy h3{font-size:clamp(35px,4vw,60px);line-height:1.17;letter-spacing:-.05em;font-weight:500;margin:28px 0 25px}.native-copy>p{font-size:.9rem;line-height:1.9;color:#60635d;word-break:keep-all}.native-copy>.native-lead{font-size:1.45rem;line-height:1.5;letter-spacing:-.035em;color:#444}.native-visual{margin:0;min-width:0}.native-visual>img,.native-visual>button>img{display:block;width:100%;height:auto;object-fit:contain}.native-visual>button{display:block;border:0;background:none;padding:0;width:100%;cursor:zoom-in}.native-cover{background:#101111;color:#fff;padding:70px 36px 85px;margin:0 -36px;gap:30px}.native-cover .native-copy>.native-lead{color:#b9bdb7}.native-cover .eyebrow{color:#a0a49e}.native-cover .native-visual{background:#000}.project-facts{border-top:1px solid #3a3b38;padding-top:20px;margin-top:35px;font-size:.7rem;line-height:1.7}.project-facts>div{display:grid;grid-template-columns:46px 1fr;gap:10px;margin-bottom:11px}.project-facts dt{color:#979c93}.project-facts dd{margin:0;color:#ddd}.native-continue{font-size:.65rem;display:inline-block;margin-top:15px;border-bottom:1px solid #777;padding-bottom:8px}.native-folio{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:space-between;font-size:.55rem;letter-spacing:.09em;color:#8c9088}.native-cover .native-folio{left:36px;right:36px}.native-keywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.native-keywords>span{font-size:.62rem;padding:8px 11px;border:1px solid #aaa;border-radius:30px}.native-dark{background:#141515;color:#fff;margin:0 -36px;padding-left:36px;padding-right:36px}.native-dark .native-copy>p{color:#aaa}.native-dark .native-folio{left:36px;right:36px}.native-dark .eyebrow{color:#999}.native-more{border-top:1px solid #444;margin-top:28px;padding-top:18px;font-size:.7rem;line-height:1.8;color:#bbb}.native-more summary{cursor:pointer;color:#fff}.native-note{display:block;font-size:.6rem!important;color:#8a8d85!important;letter-spacing:.025em;margin-top:22px}.process-switch{display:flex;gap:8px;margin-top:25px}.process-switch button{padding:10px 13px;border:1px solid #ccc;background:transparent;border-radius:30px;font-size:.7rem;color:#777}.process-switch button[aria-pressed=true]{background:#111;color:white;border-color:#111}.native-render{display:block;padding:70px 0 65px;min-height:0}.native-render header{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:30px;gap:15px}.native-render .eyebrow{grid-column:1/-1}.native-render h3{font-size:clamp(48px,7vw,90px);font-weight:500;letter-spacing:-.06em;line-height:1;margin:12px 0}.native-render header>p{font-size:.8rem;color:#777;margin:0 0 15px}.native-render .native-visual{background:#ddd}.native-render .native-visual img{max-height:80vh;object-fit:contain}.role-summary{padding:90px 0;display:grid;grid-template-columns:1fr 1.6fr;gap:30px}.role-summary>span{grid-column:1/-1;font-size:.6rem;letter-spacing:.12em;color:#777}.role-summary h3{font-size:clamp(28px,3vw,46px);font-weight:500;line-height:1.3;letter-spacing:-.04em;margin:0}.role-summary>p{font-size:.8rem;color:#777;line-height:1.9;align-self:end}.native-project>.project-pagination{margin-top:0}.native-project>.native-deck img{transition:opacity .3s}.featured-media img{max-height:470px}
@media(max-width:1050px){.native-sheet{grid-template-columns:1fr 1.8fr;gap:30px;min-height:540px}.native-cover,.native-dark{margin:0 -28px;padding-left:28px;padding-right:28px}.native-copy h2{font-size:68px}.native-copy h3{font-size:40px}.native-copy>p{font-size:.8rem}.native-cover .native-folio,.native-dark .native-folio{left:28px;right:28px}.about-grid{gap:25px}}
@media(max-width:760px){.masthead{flex-wrap:nowrap;gap:10px}.top-nav{gap:13px}.top-nav .text-button{font-size:.65rem}.top-nav .about-link,.top-nav .work-link,.top-nav summary{font-size:.65rem}.masthead-right{display:none}.project-menu summary{gap:6px}.native-nav{top:70px;gap:24px;padding:17px 0}.native-sheet{display:flex;flex-direction:column;align-items:stretch;gap:27px;padding:44px 0 55px;min-height:0;scroll-margin-top:10px}.native-copy h2{font-size:66px;margin:25px 0}.native-copy h3{font-size:36px;margin:22px 0}.native-copy>.native-lead{font-size:1.25rem}.native-copy>p{font-size:.85rem;max-width:540px}.native-visual{width:100%}.native-cover,.native-dark{margin:0 -18px;padding:42px 18px 58px}.native-folio{font-size:.5rem;bottom:20px}.native-cover .native-folio,.native-dark .native-folio{left:18px;right:18px}.project-facts{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}.project-facts>div:last-child{grid-column:1/-1}.native-render header{margin-bottom:0}.native-render h3{font-size:55px}.native-render .native-visual img{max-height:none}.role-summary{display:block;padding:50px 0}.role-summary h3{margin:22px 0;font-size:32px}.about-page{padding:45px 0}.about-page h1{font-size:59px}.about-grid{grid-template-columns:1fr;margin-top:40px;gap:22px}.about-grid h2{margin-bottom:12px}.about-grid p{font-size:.8rem}.more-work-heading{display:block;margin-top:10px;padding-top:26px}.more-work-heading p{margin-top:9px}.chapter-nav{top:70px}.about-disciplines{font-size:1rem}}
@media print{.source-archive,.role-summary,.native-nav,.native-more,.native-continue,.process-switch{display:none!important}.native-deck{display:block!important;margin:0!important;padding:0!important}.native-sheet{display:grid!important;grid-template-columns:1fr 2.15fr!important;gap:55pt!important;align-items:center!important;position:relative!important;width:1843.2pt!important;height:1036.8pt!important;min-height:0!important;max-height:1036.8pt!important;margin:0!important;padding:64pt 72pt 80pt!important;border:0!important;break-after:page!important;break-inside:avoid!important;overflow:hidden!important}.native-copy{align-self:center!important}.native-sheet .eyebrow{font-size:15pt!important;letter-spacing:1.5pt!important}.native-copy h2{font-size:108pt!important;margin:35pt 0!important}.native-copy h3{font-size:68pt!important;margin:28pt 0!important}.native-copy>p{font-size:23pt!important;line-height:1.7!important;max-width:none!important}.native-copy>.native-lead{font-size:36pt!important}.native-visual{min-width:0!important;max-height:850pt!important;width:100%!important}.native-visual img{width:100%!important;height:auto!important;max-height:800pt!important;object-fit:contain!important}.native-sheet .native-folio{left:72pt!important;right:72pt!important;bottom:28pt!important;font-size:13pt!important}.native-keywords{gap:12pt!important}.native-keywords>span{font-size:15pt!important;padding:12pt 18pt!important}.project-facts{font-size:18pt!important;margin-top:35pt!important;padding-top:22pt!important;display:block!important}.project-facts>div{grid-template-columns:55pt 1fr!important;gap:20pt!important;margin-bottom:13pt!important}.native-note{font-size:14pt!important}.native-render{grid-template-columns:1fr!important;grid-template-rows:120pt minmax(0,1fr)!important;gap:25pt!important}.native-render header{display:grid!important;margin:0!important;grid-template-columns:1fr auto!important;gap:4pt!important}.native-render h3{font-size:68pt!important;margin:8pt 0!important}.native-render header>p{font-size:20pt!important;margin:0!important}.native-render .native-visual{height:100%!important;max-height:720pt!important}.native-render .native-visual>button{height:100%!important}.native-render .native-visual img{height:100%!important;max-height:720pt!important}.print-current .native-project.print-target .native-sheet:last-child{break-after:auto!important}}
.project-overview{display:grid;grid-template-columns:.5fr 1.3fr 1.6fr;gap:30px;border-top:1px solid var(--line);padding-top:23px}.project-overview>div>span{font-size:.56rem;letter-spacing:.1em;color:#888}.project-overview p{font-size:.82rem;line-height:1.8;margin:12px 0 0;color:#555;word-break:keep-all}@media(max-width:760px){.project-overview{grid-template-columns:1fr 2fr;gap:20px}.project-overview>div:last-child{grid-column:1/-1}.project-overview p{font-size:.75rem;margin-top:8px}}
@media print{.native-more{display:block!important;font-size:17pt!important;line-height:1.7!important;margin-top:25pt!important;padding-top:18pt!important}.native-more summary{display:none!important}.native-more>p{display:block!important}}
/* Shared native project system. Original source figures are viewer-only. */
.generic-sheet .native-copy h2{font-size:clamp(40px,4.5vw,72px);line-height:1.12;word-break:keep-all;letter-spacing:-.055em}.generic-sheet .native-copy h3{font-size:clamp(32px,3.5vw,53px);line-height:1.18;word-break:keep-all}.generic-sheet .native-copy>.generic-lead{font-size:1.1rem;line-height:1.6;color:#43483f;letter-spacing:-.02em}.generic-sheet .native-copy>p{font-size:.85rem;line-height:1.85}.generic-sheet .project-facts{border-color:#ccc}.generic-sheet .project-facts dt{color:#8a8e84}.generic-sheet .project-facts dd{color:#464b40}.native-bullets{padding-left:17px;margin:20px 0;font-size:.78rem;line-height:1.8;color:#656b5f}.native-bullets li+li{margin-top:7px}.source-open{background:none;border:0;border-bottom:1px solid #999;padding:0 0 7px;margin-top:24px;font-size:.65rem;color:#777}.native-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}.native-image-grid.image-count-1{grid-template-columns:1fr}.native-image-grid.image-count-3 .native-image-item:first-child{grid-column:1/-1}.native-image-item{margin:0;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e9eae5}.native-image-item>button{display:block;padding:0;border:0;background:transparent;width:100%;height:100%;cursor:zoom-in}.native-image-item img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}.generic-dark{background:#161918;color:#fff;margin:0 -36px;padding-left:36px;padding-right:36px}.generic-dark .native-copy>p,.generic-dark .native-bullets{color:#b4bdb0}.generic-dark .project-facts{border-color:#3a4435}.generic-dark .project-facts dd{color:#ccd3c7}.generic-dark .source-open{color:#b4bdb0}.generic-dark .native-folio{left:36px;right:36px}.generic-dark .eyebrow{color:#9ca794}.generic-sheet.layout-wide{grid-template-columns:1fr;gap:28px}.generic-sheet.layout-wide .native-copy{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px}.generic-sheet.layout-wide .native-copy .eyebrow{grid-column:1/-1}.generic-sheet.layout-wide .native-copy h3{margin:15px 0}.generic-sheet.layout-wide .native-copy>p{align-self:end}.generic-sheet.layout-wide .source-open{justify-self:start;grid-column:1/-1;margin-top:4px}.generic-sheet.layout-wide .native-image-grid{max-width:1150px;width:100%;margin:auto}.generic-sheet.layout-wide .native-image-item img{max-height:70vh}.project-contact-sheet{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:75px 0;border-bottom:1px solid var(--line)}.project-contact-sheet h3{font-size:1.7rem;font-weight:500;letter-spacing:-.04em;margin:20px 0 13px}.project-contact-sheet p{font-size:.8rem;color:#777}.contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.contact-grid button{border:0;padding:0;background:#e7e8e2;cursor:zoom-in;overflow:hidden;aspect-ratio:4/3}.contact-grid img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}.contact-grid button:hover img{transform:scale(1.04)}.generic-project .role-summary h3{font-size:clamp(24px,2.8vw,40px);word-break:keep-all;line-height:1.5}.generic-project .native-nav a{max-width:180px;overflow:hidden;text-overflow:ellipsis}.generic-sheet.copy-dense .native-copy>p,.generic-sheet.copy-dense .native-bullets{font-size:.76rem}.generic-sheet.title-long .native-copy h2{font-size:clamp(32px,3.5vw,55px)}
@media(max-width:1050px){.generic-dark{margin:0 -28px;padding-left:28px;padding-right:28px}.native-image-grid{gap:10px}.generic-sheet .native-copy h2{font-size:44px}.generic-sheet .native-copy h3{font-size:36px}.project-contact-sheet{grid-template-columns:1fr 2fr;gap:25px}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.generic-sheet .native-copy h2{font-size:40px}.generic-sheet.title-long .native-copy h2{font-size:35px}.generic-sheet .native-copy h3{font-size:33px}.generic-sheet .native-copy>p,.generic-sheet.copy-dense .native-copy>p{font-size:.85rem}.generic-sheet .native-copy>.generic-lead{font-size:1.05rem}.native-bullets,.generic-sheet.copy-dense .native-bullets{font-size:.8rem}.generic-dark{margin:0 -18px;padding-left:18px;padding-right:18px}.generic-dark .native-folio{left:18px;right:18px}.native-image-grid{gap:8px}.native-image-item img{max-height:70vh}.generic-sheet.layout-wide .native-copy{display:block}.generic-sheet.layout-wide .native-copy h3{margin:22px 0}.project-contact-sheet{display:block;padding:45px 0}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px}.native-image-item{min-height:90px}.generic-sheet .project-facts{display:block}.generic-project .native-folio>span:first-child{max-width:75%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}
@media print{.generic-sheet{grid-template-columns:1fr 2.05fr!important;grid-template-rows:1fr!important;gap:48pt!important}.generic-sheet .native-copy h2{font-size:68pt!important;line-height:1.12!important;margin:25pt 0!important}.generic-sheet.title-long .native-copy h2{font-size:54pt!important}.generic-sheet .native-copy h3{font-size:54pt!important;line-height:1.18!important;margin:24pt 0!important}.generic-sheet .native-copy>.generic-lead{font-size:24pt!important;line-height:1.55!important;margin:20pt 0!important}.generic-sheet .native-copy>p{font-size:20pt!important;line-height:1.65!important}.generic-sheet .native-bullets{font-size:18pt!important;line-height:1.6!important;margin:20pt 0!important;padding-left:22pt!important}.generic-sheet .native-bullets li+li{margin-top:7pt!important}.generic-sheet.copy-dense .native-copy>p,.generic-sheet.copy-dense .native-bullets{font-size:17pt!important;line-height:1.6!important}.generic-sheet .project-facts{font-size:15pt!important;margin-top:24pt!important;padding-top:20pt!important}.generic-sheet .project-facts>div{grid-template-columns:45pt 1fr!important;margin-bottom:10pt!important;gap:12pt!important}.native-image-grid{height:830pt!important;max-height:830pt!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;gap:14pt!important;align-items:stretch!important}.native-image-grid.image-count-1{grid-template-columns:1fr!important}.native-image-item{height:100%!important;max-height:100%!important;min-height:0!important;margin:0!important;overflow:hidden!important}.native-image-item>button{height:100%!important}.native-image-item img{height:100%!important;max-height:100%!important;width:100%!important;object-fit:contain!important}.generic-sheet.layout-wide{grid-template-columns:1fr!important;grid-template-rows:180pt minmax(0,1fr)!important;gap:28pt!important}.generic-sheet.layout-wide .native-copy{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8pt 35pt!important}.generic-sheet.layout-wide .native-copy h3{font-size:48pt!important;margin:0!important}.generic-sheet.layout-wide .native-copy>p{margin:0!important}.generic-sheet.layout-wide .native-image-grid{height:640pt!important;max-height:640pt!important;max-width:none!important}.generic-sheet.layout-wide .source-open{display:none!important}.project-contact-sheet{display:none!important}}
@media print{.site-content>.native-project:last-of-type .native-sheet:last-child{break-after:auto!important}}
/* Responsive navigation: preserve scrollable chapter labels and contain the mobile menu. */
@media screen{.generic-project .native-nav a{flex:0 0 auto}}
@media screen and (max-width:760px){.menu-panel{position:fixed;top:70px;left:18px;right:18px;width:auto;max-height:calc(100dvh - 88px);overflow-y:auto}}
/* Paired result views reduce repetition without discarding either angle. */
.paired-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:transparent!important}
.paired-visual>button{border:0;padding:0;background:#ddd;cursor:zoom-in;min-width:0}
@media screen and (max-width:760px){.paired-visual{grid-template-columns:1fr}.paired-render h3{font-size:clamp(32px,8vw,55px)}}
@media print{.paired-visual{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20pt!important}.paired-visual>button{min-width:0!important}.print-selected .site-content>.project.portfolio-archive{display:none!important}}
.source-open+.source-open{margin-left:14px}
@media screen{.about-grid p{font-size:1rem}.project-card p{font-size:.875rem}}
@media print{.print-selected #tram .native-sheet:last-child{break-after:auto!important}}

.more-work-heading[hidden]{display:none!important}

/* Loosen the hero tracking and align the visible letter edges with the page grid. */
@media screen{
  .home-heading h1{letter-spacing:-.055em;margin-left:-.06em}
}
@media screen and (max-width:760px){
  .home-heading h1{font-size:clamp(70px,20vw,78px)}
}

/* Keep repeated document labels in print, and simplify the screen copy. */
@media screen{
  .folio-print-label{display:none}
  .native-folio,.endnote{justify-content:flex-end}
  .about-view .endnote,.project-view .endnote{display:none}
  .home-description p{margin-bottom:0}
}

@media screen and (max-width:760px){
  .top-nav{white-space:nowrap}
}
@media screen and (max-width:380px){
  .top-nav{gap:8px}
  .masthead{gap:8px}
}

/* Product-led collections, with room for professional visualization work. */
@media screen{
  .masthead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:32px}
  .masthead .top-nav{display:flex;gap:24px;margin:0;white-space:nowrap}
  .masthead .top-nav a{display:flex;align-items:center;min-height:44px;font-size:.875rem}
  .header-tools{display:flex;align-items:center;gap:24px;font-size:.875rem}
  .header-tools .text-button,.header-tools summary{font-size:.875rem;min-height:44px}
  .header-tools .project-menu summary{padding:10px 0}
  .header-tools .menu-panel{left:auto;right:0;max-height:calc(100dvh - 140px);overflow-y:auto}
  .header-tools .menu-panel a{font-size:.875rem;min-height:44px}
  .collection-anchor{display:block;height:0}
  .collection-page{display:none;padding:68px 0 80px;min-height:70vh}
  .collection-page.is-active{display:block}
  .collection-view .work-home,.collection-view .endnote{display:none}
  .collection-heading{margin-bottom:64px}
  .collection-heading h1{font-size:clamp(44px,6.5vw,96px);font-weight:520;line-height:1.08;letter-spacing:-.045em;margin:28px 0}
  .collection-heading h1 span{color:#9b9c95}
  .collection-heading p{font-size:1rem;line-height:1.8;max-width:560px;word-break:keep-all;margin:0}
  .home-description p{max-width:360px;word-break:keep-all}
  .practice-section{margin:0 0 64px}
  .collection-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
  .practice-section h2,.collection-studies>h2{font-size:1.125rem;font-weight:550;margin:0 0 24px}
  .collection-section-heading>span{font-size:13px;color:#777}
  .practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
  .practice-card{min-width:0;padding:28px 0;border-top:1px solid var(--line)}
  .practice-meta{display:flex;justify-content:space-between;gap:16px;font-size:.875rem;line-height:1.6;color:#777}
  .practice-card h3{font-size:clamp(22px,2.2vw,30px);font-weight:550;line-height:1.4;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere;margin:16px 0 12px}
  .practice-card p{font-size:1rem;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere;color:#666;margin:0}
  .collection-studies{margin-top:40px}
  .filters{flex-wrap:wrap}
  .filters button{min-height:44px;font-size:.875rem}
  .native-nav{top:var(--masthead-height,86px);padding:8px 0}
  .native-sheet{scroll-margin-top:calc(var(--masthead-height,86px) + 80px)}
  .native-nav a{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}
  .collection-page .project-grid{margin-top:24px}
}
@media screen and (max-width:1100px){
  .masthead{grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding-top:12px;padding-bottom:8px}
  .masthead>.wordmark{grid-column:1;grid-row:1}
  .header-tools{grid-column:2;grid-row:1}
  .masthead .top-nav{grid-column:1/-1;grid-row:2;gap:32px}
  .header-tools .menu-panel{top:calc(100% + 8px)}
}
@media screen and (max-width:760px){
  .masthead{gap:4px 12px}
  .masthead .top-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%}
  .masthead .top-nav a{font-size:.875rem;justify-content:center;padding:10px 0;min-width:0;white-space:normal;line-height:1.5;text-align:center;overflow-wrap:anywhere}
  .header-tools{gap:18px}
  .header-tools .menu-panel{position:fixed;top:calc(var(--masthead-height,112px) + 6px);left:18px;right:18px;width:auto;max-height:calc(100dvh - var(--masthead-height,112px) - 24px)}
  .collection-page{padding:40px 0 56px}
  .collection-heading{margin-bottom:40px}
  .collection-heading h1{font-size:44px;margin:20px 0 24px}
  .practice-grid{grid-template-columns:minmax(0,1fr)}
  .practice-section{margin-bottom:40px}
  .practice-card{padding:24px 0}
  .practice-card h3{font-size:24px}
  .home-description p{font-size:.9375rem;line-height:1.7}
  .home-description{display:block;margin-top:24px}
  .work-toolbar h2{font-size:1.125rem}
  .project-card p{font-size:.875rem;line-height:1.7}
}
@media screen and (max-width:360px){
  .header-tools{gap:12px}
}

/* A balanced header with independent navigation and profile sheets. */
@media screen{
  .masthead{display:grid;grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);gap:16px;padding:18px 48px;min-height:86px;align-items:center}
  .masthead>.wordmark{grid-column:2;grid-row:1;justify-self:center;margin:0;white-space:nowrap;font-size:28px;line-height:1;font-weight:650;letter-spacing:-.035em}
  .header-trigger{border:0;background:none;color:inherit;min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit}
  .menu-trigger{grid-column:1;grid-row:1;justify-self:start;width:44px;height:44px}
  .menu-trigger svg,.refresh-trigger svg,.sheet-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
  .profile-trigger{width:44px;height:44px}
  .profile-trigger>span,.refresh-circle{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:transparent;color:#30302e;border:1px solid #cbc9c3;transition:background .18s ease,border-color .18s ease}
  .profile-trigger>span{font-size:16px;line-height:1;font-weight:650;letter-spacing:-.04em}
  .refresh-circle svg{width:20px;height:20px;transform-origin:center}
  .refresh-trigger:disabled{opacity:1;cursor:wait}
  .intro-empty .home-heading{height:64px;min-height:0;margin:0;padding:0}
  .intro-empty .home-heading>*{display:none!important}
  body.header-panel-open{overflow:hidden}
  dialog.header-sheet{position:fixed;inset:0 auto 0 0;margin:0;padding:28px 36px max(28px,env(safe-area-inset-bottom));width:min(480px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:#f6f6f3;color:#242424;border:0;border-radius:0;box-shadow:none}
  dialog.header-sheet[open]{display:flex;flex-direction:column}
  dialog.header-sheet::backdrop{background:#00000038;animation:drawer-dim-in 320ms ease both}
  dialog.header-sheet.is-closing::backdrop{animation:drawer-dim-out 240ms ease both}
  #site-menu{left:0;right:auto}
  #profile-panel{right:0;left:auto}
  .header-sheet>*{flex-shrink:0}
  .menu-version{margin-top:auto;padding-top:48px;display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5;color:#777;font-variant-numeric:tabular-nums}
  .sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-bottom:40px}
  .sheet-heading h2{font-size:13px;font-weight:500;margin:0;color:#727272}
  .sheet-close{display:grid;place-items:center;min-width:44px;min-height:44px;margin:0 -10px 0 0;border:0;background:none;color:inherit;font:inherit;font-weight:300;line-height:1;cursor:pointer;font-size:28px}
  .menu-primary{display:flex;flex-direction:column;gap:4px}
  .menu-primary a{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:8px 0;font-size:24px;font-weight:550;letter-spacing:-.035em;text-decoration:none;color:inherit}
  .menu-primary a span{font-size:11px;font-weight:400;letter-spacing:0;color:#888}
  .menu-primary a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
  .menu-resources{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}
  #site-menu .project-menu{position:static}
  #site-menu .project-menu summary,#site-menu #print-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:10px 0;font-size:14px}
  #site-menu .menu-panel{position:static;inset:auto;width:100%;max-height:none;overflow:visible;margin:0;padding:0;border:0;box-shadow:none;background:none}
  #site-menu .menu-panel a{min-height:44px;font-size:13px}
  .profile-identity{display:flex;gap:16px;align-items:center;margin:8px 0 28px}
  .profile-monogram{display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;border-radius:50%;background:#2a2c2f;color:#fff;font-size:30px;font-weight:650;letter-spacing:-.04em}
  .profile-identity h3{margin:0 0 6px;font-size:22px;font-weight:600;letter-spacing:-.03em}
  .profile-identity p{margin:0;font-size:13px;line-height:1.6;color:#666}
  .profile-facts{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px 12px;margin:0 0 28px;font-size:14px;line-height:1.5}
  .profile-facts dt{color:#777}.profile-facts dd{margin:0;word-break:keep-all}
  .resume-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:24px;margin-bottom:12px}
  .resume-heading h3{font-size:14px;font-weight:550;margin:0}.resume-heading>span{font-size:12px;color:#777}
  .resume-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .resume-links button{display:flex;gap:10px;align-items:center;min-height:48px;border:0;border-radius:6px;padding:8px;background:#ebebe8;color:#676767;font:inherit;font-size:13px;text-align:left;opacity:1}
  .service-monogram{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;color:#555;font-size:18px;font-weight:700;letter-spacing:-.06em}
  .header-trigger:focus-visible,.sheet-close:focus-visible,.header-sheet a:focus-visible,.header-sheet summary:focus-visible,.header-sheet button:focus-visible{outline:2px solid #555;outline-offset:4px}
}
@media screen and (max-width:1100px){.masthead{padding:16px 28px}}
@media screen and (max-width:600px){
  .masthead{padding:12px 18px;min-height:70px;gap:8px}
  .masthead>.wordmark{font-size:22px}
  dialog.header-sheet{width:100vw;padding:18px 24px max(24px,env(safe-area-inset-bottom))}
  .menu-trigger svg,.sheet-close svg{width:22px;height:22px}
}

/* Quieter hero typography and a refresh action beside the profile. */
@media screen{
  .home-heading h1{font-size:clamp(64px,7vw,108px)}
  .header-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:8px}
  .refresh-trigger{width:44px;height:44px;color:#242424}
  .refresh-trigger:hover{color:#242424}
}
@media screen and (max-width:760px){.home-heading h1{font-size:clamp(52px,15vw,62px)}}
@media screen and (max-width:600px){.header-actions{gap:4px}}
@media screen and (max-width:360px){.masthead{padding-right:12px;padding-left:12px;gap:6px}.masthead>.wordmark{font-size:18px}}

@keyframes drawer-dim-in{from{background:#0000}to{background:#00000038}}
@keyframes drawer-dim-out{from{background:#00000038}to{background:#0000}}
@media(prefers-reduced-motion:reduce){dialog.header-sheet::backdrop,dialog.header-sheet.is-closing::backdrop{animation:none}}

/* Low-emphasis header controls; shared floating capsule from Klesis Day. */
@media screen{
  .profile-trigger:hover>span,.refresh-trigger:hover>.refresh-circle{background:#eae9e3;border-color:#92918b}
  .profile-trigger:active>span,.refresh-trigger:active>.refresh-circle{background:#e0dfd8}
  .floating-actions{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:12;display:flex;flex-direction:column;align-items:center;gap:0;padding:5px;border:1px solid #deddd7;border-radius:32px;background:#fafaf7f5;box-shadow:0 4px 20px #24242412;backdrop-filter:blur(12px)}
  .floating-actions button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:transparent;color:#343431;cursor:pointer}
  .floating-actions svg,.contact-sheet svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .floating-actions button:hover{background:#ecece6}
  .floating-actions button:active{background:#e1e1da}
  .floating-actions button:focus-visible{outline:2px solid #555;outline-offset:2px}
  .floating-top-slot{display:grid;grid-template-rows:0fr;opacity:0;padding-top:0;visibility:hidden;transition:grid-template-rows .38s cubic-bezier(.22,1,.36,1),padding-top .38s cubic-bezier(.22,1,.36,1),opacity .2s ease,visibility .2s}
  .floating-top-slot>button{min-height:0;height:auto;overflow:hidden;transform:translateY(-8px) scale(.85);transition:transform .38s cubic-bezier(.22,1,.36,1)}
  .floating-top-slot svg{height:46px;flex-shrink:0}
  .floating-actions.is-expanded .floating-top-slot{grid-template-rows:1fr;padding-top:4px;opacity:1;visibility:visible}
  .floating-actions.is-expanded .floating-top-slot>button{transform:translateY(0) scale(1)}
  body:has(dialog[open]) .floating-actions{visibility:hidden;pointer-events:none}
  body.contact-panel-open{overflow:hidden}
  dialog.contact-sheet{position:fixed;inset:auto 24px calc(94px + env(safe-area-inset-bottom,0px)) auto;width:min(360px,calc(100vw - 36px));height:auto;max-height:calc(100dvh - 120px);overflow:auto;margin:0;padding:24px;border:1px solid #deddd7;border-radius:16px;background:#fafaf7;color:#343431;box-shadow:0 12px 48px #24242418}
  dialog.contact-sheet[open]{display:block;animation:contact-enter .2s ease both}
  dialog.contact-sheet::backdrop{background:#00000018}
  .contact-sheet .sheet-heading{margin-bottom:16px}
  .contact-sheet .sheet-heading h2{font-size:16px;font-weight:550;color:inherit}
  .contact-pending{margin:0 0 4px;font-size:14px;line-height:1.7;color:#777}
  .contact-email{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:15px;overflow-wrap:anywhere;border-bottom:1px solid #ccc;padding:10px 0}
  .contact-email span{flex-shrink:0}
}
@keyframes contact-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media screen and (max-width:600px){.intro-empty .home-heading{height:32px}.floating-actions{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}dialog.contact-sheet{right:18px}}
@media(prefers-reduced-motion:reduce){.floating-top-slot,.floating-top-slot>button,.profile-trigger>span,.refresh-circle{transition:none}dialog.contact-sheet[open]{animation:none}}
