@import url('../shared/presentation.css');
:root{--paper:#ffffff;--ink:#182332;--muted:#59616c;--accent:#234db7;--line:#d9dde2;--wash:#f2f4f7;--sidebar:226px;--gutter:clamp(28px,3.4vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;color:var(--ink);background:var(--paper);font:14px/1.6 'Helvetica Neue',Arial,'Doit Korean','Apple SD Gothic Neo','Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;border-radius:0;background:none;min-height:48px;padding:10px 0}a{color:inherit;text-decoration:none}button:disabled{opacity:.35;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}img{display:block;max-width:100%}button,a{touch-action:manipulation}[hidden]{display:none!important}::selection{background:#dbe5ff}.skip{position:fixed;z-index:20;top:10px;left:10px;background:var(--ink);color:white;padding:12px 20px;transform:translateY(-150%)}.skip:focus{transform:none}.eyebrow,.running-head,.edition,.folio,.book-bottom,.work-caption>span,.page-footer{font-size:10px;letter-spacing:.07em}.spine{position:fixed;top:0;bottom:0;left:0;width:var(--sidebar);padding:40px 28px 24px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper);z-index:5}.wordmark{display:block;width:fit-content;font-weight:750;font-size:40px;line-height:.92;letter-spacing:-2px;padding-bottom:5px}.wordmark-rule{display:block;width:31px;height:6px;background:var(--accent);margin-top:22px}.spine-description{font-size:11px;line-height:1.65;margin-top:24px;color:var(--muted)}.spine nav{display:grid;margin-top:65px}.spine nav a,.spine nav button{display:flex;align-items:center;gap:15px;min-height:48px;text-align:left;font-size:12px}.spine nav span{font-size:9px;letter-spacing:.05em;color:var(--muted);min-width:18px}.spine nav :is(a,button):hover{color:var(--accent)}.spine nav a[aria-current]{font-weight:600;color:var(--accent)}.spine-bottom{margin-top:auto;padding-top:35px}.spine-bottom>p{font-size:11px;color:var(--muted);line-height:1.9}.contact-link{font-size:12px;border-bottom:1px solid var(--ink);padding:14px 0 6px;margin-top:13px;display:block}.space-link{display:block;font-size:11px;min-height:48px;padding:15px 0;color:var(--muted)}.edition{border-top:1px solid var(--line);padding-top:18px;margin-top:23px;font-size:8px;display:flex;justify-content:space-between;gap:8px}main{margin-left:var(--sidebar);padding:0 var(--gutter);max-width:2200px}.running-head{display:flex;justify-content:space-between;gap:20px;padding:31px 0 19px;border-bottom:1px solid var(--ink);font-size:9px}.book-intro{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 0 30px}.book-intro h1{font-size:clamp(23px,2.45vw,48px);font-weight:450;letter-spacing:-.055em;line-height:1.15}.book-intro p{font-size:11px;color:var(--muted);line-height:1.8}.spread{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(24px,3.5vw,64px);min-height:380px;height:clamp(500px,65vh,890px)}.plate{position:relative;overflow:hidden;background:var(--wash);display:block;min-height:0}.plate-main{height:100%}.plate img{width:100%;height:100%;object-fit:cover}.plate-main img{object-position:50% 38%}.facing-page{display:flex;flex-direction:column;min-width:0;padding:45px 0 0}.plate-secondary{flex:1;min-height:0}.plate-secondary img{object-position:50% 37%}.spread-caption{display:flex;justify-content:space-between;align-items:end;gap:15px;padding-top:20px;min-height:100px}.spread-caption .eyebrow{font-size:9px;color:var(--muted)}.spread-caption h2{font:400 clamp(20px,2vw,32px)/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:8px 0 5px}.folio{align-self:flex-start;padding-top:4px;white-space:nowrap;color:var(--muted)}.plate-label{position:absolute;left:18px;bottom:18px;background:white;color:var(--ink);padding:12px 16px;font-size:9px;letter-spacing:.09em;opacity:0;transform:translateY(5px);transition:opacity .22s,transform .22s}.plate:hover .plate-label,.plate:focus-visible .plate-label,.work-image:hover .plate-label,.work-image:focus-visible .plate-label{opacity:1;transform:none}.book-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-top:24px;gap:24px;padding-bottom:16px}.chapters{display:flex;gap:7px}.chapters button{font-size:11px;padding:11px 18px;min-width:98px;letter-spacing:0}.chapters button span{font-size:9px;margin-right:14px}.chapters button[aria-pressed=true]{background:var(--ink);color:white}.chapters button:not([aria-pressed=true]):hover{background:var(--wash)}.book-bottom>p{color:var(--muted);font-size:9px;text-align:right}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:18px;margin:120px 0 40px;border-top:1px solid var(--ink);padding-top:26px}.section-heading>.eyebrow{grid-column:1/-1;color:var(--accent)}.section-heading h2{font-size:clamp(32px,3.3vw,60px);font-weight:400;letter-spacing:-.055em;line-height:1.1}.section-heading>p{justify-self:end;color:var(--muted);font-size:12px}.work-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:68px 28px;align-items:start}.work-card{grid-column:span 2;min-width:0}.work-lead{grid-column:span 3}.work-inset{grid-column:5/span 2;padding-top:100px}.work-image{display:block;position:relative;background:var(--wash);overflow:hidden}.work-image>img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;transition:filter .3s}.work-inset .work-image>img{aspect-ratio:4/5}.work-caption{display:grid;grid-template-columns:1fr auto;gap:4px 8px;border-top:1px solid var(--ink);margin-top:15px;padding-top:11px;align-items:baseline}.work-caption h3{font-size:16px;font-weight:500;letter-spacing:-.035em}.work-caption>span{font-size:8px;color:var(--muted)}.work-caption>span:last-child{grid-column:1/-1;margin-top:10px;font-size:8px}.editorial-note{font-size:17px;font-weight:400;line-height:1.8;letter-spacing:-.04em;margin-top:45px}.practice{border-top:1px solid var(--ink);margin-top:140px;padding:38px 0 100px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px}.practice .eyebrow{color:var(--accent)}.practice h2{font-size:clamp(28px,3vw,52px);font-weight:450;line-height:1.4;letter-spacing:-.055em;margin:33px 0 24px}.practice-intro>p{color:var(--muted);font-size:13px;line-height:2}.practice-services>div{position:relative;padding:0 0 27px 38px;margin-bottom:27px;border-bottom:1px solid var(--line)}.service-number{position:absolute;left:0;top:2px;font:16px Georgia,serif}.practice-services h3{font-weight:450;letter-spacing:-.035em;font-size:21px;margin-bottom:12px}.practice-services p{font-size:12px;line-height:1.9;color:var(--muted)}.commission{background:var(--ink);color:var(--paper);margin:0 calc(-1 * var(--gutter));padding:65px var(--gutter);display:grid;grid-template-columns:1.2fr 1fr;gap:40px}.commission h2{font-size:clamp(36px,3.6vw,64px);font-weight:400;line-height:1.35;letter-spacing:-.055em;margin:25px 0 20px}.commission p{font-size:12px;line-height:1.9;color:#cbd2dc}.commission-actions{align-self:end;display:flex;flex-direction:column;align-items:start;gap:19px}.solid-button{padding:15px 25px;background:var(--accent);color:white;min-height:52px;font-size:13px;text-align:center}.solid-button:hover{background:#193989}.commission .solid-button{background:white;color:var(--ink);min-width:230px}.commission-actions>a{font-size:12px;border-bottom:1px solid #a5adba;min-height:48px;display:flex;align-items:center}.commission-actions>p{margin-top:27px}.commission-actions p a{display:inline-block;min-height:48px;text-decoration:underline;text-underline-offset:5px}.page-footer{padding:30px 0;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;align-items:center;font-size:9px}.page-footer>a{min-height:48px;display:flex;align-items:center}.page-footer>p{flex-basis:100%;color:var(--muted);font-size:10px;letter-spacing:0}
/* Each project reads as a photographic feature. */
#project-view{padding:30px 0 70px}.project-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--ink);font-size:10px}.project-back{display:inline-flex;align-items:center;min-height:48px;text-decoration:underline;text-underline-offset:5px}.project-heading{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:55px 0 60px}.project-heading h1{font-size:clamp(48px,6vw,110px);font-weight:400;letter-spacing:-.07em;line-height:1.1}.project-info{align-self:end}.project-info p{font-size:13px;line-height:1.9;margin-top:17px;color:var(--muted)}.project-gallery{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px;align-items:start}.project-photo{display:block;min-width:0}.project-photo img{width:100%;height:auto}.project-photo>span{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:10px}.project-photo:nth-child(even){margin-top:100px}.project-end{border-top:1px solid var(--ink);margin-top:80px;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.project-end p{font-size:24px;letter-spacing:-.04em}.project-note{font-size:10px;line-height:1.9;color:var(--muted);margin-top:50px}.project-note a{display:inline-flex;align-items:center;text-decoration:underline;min-height:48px}#missing{padding:100px 0;min-height:80vh}#missing h1{font-size:32px;margin:20px 0}#missing a{display:inline-block;min-height:48px;text-decoration:underline}
/* Photo controls use explicit words, never directional icons. */
body:has(dialog[open]){overflow:hidden}dialog{border:0;color:var(--ink);padding:0}dialog::backdrop{background:#18233266;backdrop-filter:blur(5px)}#viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;background:#f5f6f8;overflow:hidden}#viewer[open]{display:grid;grid-template-rows:85px minmax(0,1fr) 77px}.viewer-head{display:flex;justify-content:space-between;align-items:center;padding:12px 34px;gap:20px}.viewer-head h2{font-size:17px;font-weight:500}.viewer-head .eyebrow{font-size:9px;color:var(--muted)}.viewer-head button{min-width:65px;border-bottom:1px solid var(--ink);font-size:12px}#viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:none;overscroll-behavior:contain;margin:0 30px}#viewer-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}#viewer-stage.is-zoomed{display:block;cursor:grab}#viewer-stage.is-panning{cursor:grabbing}#viewer-stage.is-zoomed #viewer-image{max-width:none;max-height:none;margin:auto}#viewer-loading,#viewer-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:white;padding:20px;text-align:center;font-size:12px}#viewer-error button{text-decoration:underline;min-width:100px}.viewer-footer{display:flex;align-items:center;justify-content:center;gap:28px;padding:10px 30px;font-size:11px}.viewer-footer button{min-width:75px}.viewer-footer #viewer-zoom{margin-left:40px;border-bottom:1px solid var(--ink)}#brief{position:fixed;inset:0 0 0 auto;margin:0;width:min(550px,100vw);height:100dvh;max-height:none;max-width:100%;padding:24px 44px 44px;background:white;overflow:auto}.brief-top{display:flex;align-items:center;justify-content:space-between}.brief-top button{font-size:12px;min-width:48px}.brief-top .eyebrow{color:var(--accent)}#brief h2{font-size:38px;letter-spacing:-.05em;font-weight:450;line-height:1.4;margin:28px 0 16px}.brief-intro{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:33px}fieldset{padding:0;margin:0 0 24px;border:0}legend,.field-label{font-size:12px;display:block;margin-bottom:13px}fieldset label{display:flex;align-items:center;gap:12px;min-height:48px;border-bottom:1px solid var(--line);font-size:13px}input[type=radio]{accent-color:var(--accent);width:17px;height:17px}input:not([type=radio]),textarea{border:1px solid #89919e;border-radius:0;background:white;width:100%;padding:13px;font-size:16px;color:var(--ink);margin-bottom:25px;resize:vertical}input::placeholder,textarea::placeholder{font-size:12px;color:var(--muted)}#brief-form>.solid-button{width:100%;margin-top:4px}#brief-result h3{font-weight:500;font-size:22px;margin:25px 0}#brief-result textarea{font-size:13px;line-height:1.9}#brief-result .solid-button{width:100%}#copy-status{font-size:12px;color:var(--accent);min-height:30px;padding-top:7px}.contact-destination{display:flex;justify-content:center;align-items:center;min-height:52px;border:1px solid var(--ink);font-size:13px}#brief-edit{display:block;margin:12px auto 0;text-decoration:underline;font-size:12px}
@media(min-width:2400px){:root{--sidebar:280px}.spine{padding:48px 40px}.spread{height:960px;max-height:none}.book-intro{padding:40px 0}.book-intro p{font-size:15px}.running-head{font-size:11px}.work-caption h3{font-size:22px}.work-caption>span{font-size:11px}}
@media(max-width:1100px){:root{--sidebar:180px;--gutter:28px}.spine{padding:30px 20px}.wordmark{font-size:33px}.spine nav{margin-top:45px}.spine nav :is(a,button){font-size:11px;gap:8px}.spine-description{font-size:10px}.edition{display:block;line-height:2}.book-intro{display:block}.book-intro p{margin-top:15px}.spread{height:560px;gap:25px}.facing-page{padding-top:32px}.spread-caption h2{font-size:22px}.spread-caption{min-height:115px}.chapters button{min-width:0;padding:10px 12px}.book-bottom>p{max-width:130px}.practice{gap:30px}.work-caption{grid-template-columns:1fr}.work-caption>span:last-child{margin-top:4px}.work-inset{padding-top:65px}.commission{gap:25px}.commission .solid-button{min-width:0;width:100%}}
@media(max-width:760px){:root{--sidebar:0px;--gutter:22px}html{scroll-padding-top:95px}.spine{position:sticky;top:0;width:100%;height:79px;border-right:0;border-bottom:1px solid var(--line);padding:14px 22px;display:flex;flex-direction:row;justify-content:space-between;align-items:center}.wordmark{font-size:23px;letter-spacing:-1.1px;line-height:.93;padding:0}.wordmark-rule,.spine-description,.spine-bottom{display:none}.spine nav{display:flex;margin:0;gap:21px}.spine nav span,.spine nav a:first-child,.spine nav a[href="#practice"]{display:none}.spine nav a,.spine nav button{font-size:11px;min-height:48px}.spine nav button{color:var(--accent)}main{margin:0}.running-head{font-size:8px;padding:19px 0 14px}.running-head>span:last-child{font-size:7px;max-width:105px;text-align:right;line-height:1.8}.book-intro{padding:23px 0 25px}.book-intro h1{font-size:26px;letter-spacing:-.055em}.book-intro p{font-size:11px;margin-top:12px}.spread{gap:14px;height:auto;min-height:0;grid-template-columns:1.15fr 1fr;align-items:start}.plate-main{height:auto;aspect-ratio: .56}.facing-page{padding-top:27px}.plate-secondary{flex:none;aspect-ratio:.64}.spread-caption{padding-top:14px;min-height:0;display:block}.spread-caption .eyebrow{font-size:7px;letter-spacing:.025em}.spread-caption h2{font-size:18px;line-height:1.2;margin-top:6px}.folio{display:block;font-size:8px;margin-top:10px}.plate-label{display:none}.book-bottom{margin-top:21px;gap:10px;flex-wrap:wrap;padding-bottom:17px}.chapters{gap:3px;width:100%}.chapters button{flex:1;font-size:11px;padding:10px 9px;min-height:48px}.chapters button span{font-size:8px;margin-right:9px}.book-bottom>p{max-width:none;font-size:8px;width:100%;text-align:left;margin-top:4px}.section-heading{margin:70px 0 27px;gap:15px;grid-template-columns:1fr}.section-heading h2{font-size:35px}.section-heading>p{justify-self:start;font-size:11px}.work-grid{grid-template-columns:1fr 1fr;gap:32px 17px}.work-card,.work-lead,.work-inset{grid-column:span 1;padding-top:0}.work-lead{grid-column:1/-1;padding-right:16%}.work-inset{padding-top:24px}.work-caption h3{font-size:14px}.work-caption>span{font-size:7px;letter-spacing:.04em}.work-caption>span:last-child{font-size:7px}.editorial-note{font-size:12px;line-height:1.9;margin-top:23px}.work-inset .work-image>img{aspect-ratio:2/3}.practice{margin-top:75px;padding-top:25px;padding-bottom:45px;grid-template-columns:1fr;gap:40px}.practice h2{font-size:31px;margin:25px 0 20px}.practice-intro>p{font-size:12px}.practice-services h3{font-size:20px}.practice-services>div{padding-bottom:20px;margin-bottom:20px}.commission{grid-template-columns:1fr;padding-top:36px;padding-bottom:39px;gap:30px}.commission h2{font-size:36px}.commission-actions{gap:12px}.commission .solid-button{width:100%}.commission-actions>p{margin-top:15px}.page-footer{gap:8px;font-size:8px;padding:19px 0}.page-footer>p{font-size:9px;line-height:1.9}.project-heading{grid-template-columns:1fr;padding:34px 0;gap:24px}.project-heading h1{font-size:57px}.project-info p{font-size:12px;margin-top:10px}.project-gallery{grid-template-columns:1fr;gap:30px}.project-photo:nth-child(even){margin-top:0}.project-end{margin-top:45px;align-items:start;flex-direction:column}.project-end p{font-size:22px}.project-top{font-size:8px}.project-photo>span{font-size:9px}.viewer-head{padding:12px 20px}.viewer-head .eyebrow{font-size:8px}.viewer-head h2{font-size:16px}#viewer-stage{margin:0 12px}.viewer-footer{gap:12px;padding:10px 12px;font-size:10px}.viewer-footer button{min-width:60px}.viewer-footer #viewer-zoom{margin-left:4px}#brief{padding:18px 25px 30px}#brief h2{font-size:33px}#missing h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:761px){.spread{grid-template-rows:minmax(0,1fr)}.facing-page{min-height:0}}

/* Proposal detail pass — 2026-10-06. Composition remains direction-specific. */
 .book-intro p{font-size:13px;line-height:1.9}.spine-bottom>p{font-size:12px}.section-heading>p{font-size:14px;line-height:1.9}.practice-intro>p,.practice-services p,.commission p{font-size:14px;line-height:1.95}.solid-button,.contact-destination{font-size:13px;letter-spacing:-.01em}.project-info p{font-size:14px;line-height:1.95}.page-footer>p{font-size:11px;line-height:1.8}.brief-intro{font-size:14px;line-height:1.9}.plate:focus-visible .plate-label{opacity:1;transform:none}.spine nav :is(a,button){transition:color .18s}.project-photo:focus-visible{outline-offset:6px}
@media(max-width:760px){.book-intro p{font-size:12px}.section-heading>p,.practice-intro>p,.practice-services p,.commission p{font-size:13px}.book-bottom>p{font-size:10px}.work-caption>span{font-size:9px}.work-caption>span:last-child{font-size:9px}.brief-intro{font-size:13px}.page-footer>p{font-size:10px}}
