/* Source material: static portfolio excerpts and a redacted demonstration. */
.ce-demo,.ce-support,.ce-figure {box-sizing:border-box; word-break:keep-all; overflow-wrap:break-word}
.ce-demo *, .ce-support *, .ce-figure * {box-sizing:border-box}
.ce-kicker,.ce-support-date {font:650 12px/1.5 var(--sans,sans-serif); letter-spacing:.01em; color:var(--blue,#2447e8)}
.ce-demo {margin:0 0 clamp(54px,6.8vw,116px); padding:clamp(23px,3.25vw,55px); background:#e9e6dc; color:var(--ink,#171a1b)}
.ce-demo-intro {display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:end; column-gap:clamp(20px,4.1vw,68px); margin-bottom:clamp(20px,2.4vw,41px)}
.ce-demo-intro h3 {margin:9px 0 0; font:550 clamp(30px,3.05vw,55px)/1.32 var(--serif,serif); letter-spacing:-.077em}
.ce-demo-intro p,.ce-test-note>p {margin:0; font:450 clamp(15px,1.13vw,19px)/1.9 var(--sans,sans-serif); letter-spacing:-.031em}
.ce-demo-plates {display:grid; grid-template-columns:minmax(0,1.38fr) minmax(0,1fr); align-items:start; gap:clamp(20px,3.1vw,48px)}
.ce-figure {min-width:0; margin:0}
.ce-figure .ce-zoom {display:block; width:100%; position:relative; appearance:none; padding:clamp(4px,.6vw,9px) clamp(4px,.6vw,9px) 24px; margin:0; border:1px solid #d2d4cd; border-radius:0; background:#fff; color:#455049; cursor:zoom-in; overflow:hidden; text-align:left}
.ce-zoom img {display:block; width:100%; height:auto; margin:0; border:0; border-radius:0}
.ce-zoom::after {content:'확대 ↗'; position:absolute; right:9px; bottom:4px; color:#4e5955; font:600 10px/1.5 var(--sans,sans-serif); letter-spacing:.045em}
.ce-zoom:hover,.ce-zoom:focus-visible {border-color:var(--blue,#2447e8)}
.ce-zoom:focus-visible {outline:2px solid var(--blue,#2447e8); outline-offset:2px}
.ce-figure figcaption {display:block; margin:10px 0 0; padding:0; border:0; color:#414640; font:450 13px/1.71 var(--sans,sans-serif); letter-spacing:-.022em}
.ce-figure figcaption strong,.ce-figure figcaption span,.ce-figure figcaption small {display:block}
.ce-figure figcaption strong {font-size:14px; font-weight:680; color:var(--ink,#171a1b)}
.ce-figure figcaption small {margin-top:3px; font-size:11px; color:#535950}
.ce-test-note>p {margin-top:13px; font-size:14px; color:#3a4139}
.lab-copy .ce-next-paragraph {margin-top:.75em}
.lab-copy .ce-figure {margin-top:clamp(18px,1.85vw,30px)}
.ce-support {background:var(--paper,#f3efe6); color:var(--ink,#171a1b); padding-block:clamp(57px,7.7vw,126px) clamp(64px,8.2vw,136px); font-family:var(--sans,sans-serif)}
.ce-support-shell {width:min(100%,1540px); margin-inline:auto; padding-inline:var(--gutter,6vw)}
.ce-support-header {display:grid; grid-template-columns:minmax(130px,.38fr) minmax(0,1.62fr); gap:20px; align-items:baseline; padding-top:17px; border-top:1px solid var(--ink,#171a1b)}
.ce-support-header h3 {margin:0; font:530 clamp(36px,4.5vw,77px)/1.2 var(--serif,serif); letter-spacing:-.083em}
.ce-support-list {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5.6vw,90px); margin-top:clamp(26px,3.4vw,57px)}
.ce-support-case {min-width:0; padding-top:14px; border-top:1px solid #a5a79d}
.ce-support-case .ce-support-date {display:flex; align-items:baseline; gap:2px; margin:0; font:600 13px/1.6 var(--mono,monospace); font-variant-numeric:tabular-nums; color:var(--blue,#2447e8)}
.ce-support-date span {margin-left:auto; font:550 12px/1.5 var(--sans,sans-serif); color:#454c43}
.ce-support-case h4 {margin:15px 0 17px; font:600 clamp(22px,1.95vw,34px)/1.52 var(--serif,serif); letter-spacing:-.055em}
.ce-support-case>p:not(.ce-support-date) {margin:0; max-width:36em; color:#353b33; font:450 clamp(15px,1.12vw,18px)/1.88 var(--sans,sans-serif); letter-spacing:-.028em}
.ce-support-case>p+p {margin-top:.62em!important}
.ce-support-source {display:block; margin-top:18px; color:#555c50; font:450 11px/1.7 var(--sans,sans-serif)}
@media(max-width:760px){
 .ce-demo {padding:18px 14px 21px; margin-bottom:44px}
 .ce-demo-intro,.ce-demo-plates,.ce-support-header,.ce-support-list {grid-template-columns:minmax(0,1fr)}
 .ce-demo-intro {row-gap:13px;margin-bottom:18px}
 .ce-demo-intro h3 {font-size:clamp(28px,6.65vw,40px)}
 .ce-demo-plates {gap:23px}
 .ce-test-note>p {font-size:13px}
 .ce-support {padding-block:46px 57px}
 .ce-support-header {gap:14px}
 .ce-support-header h3 {font-size:clamp(36px,8.7vw,55px)}
 .ce-support-list {row-gap:27px; margin-top:24px}
 .ce-support-case h4 {margin:12px 0 11px}
 .ce-support-source {margin-top:10px}
}
@media print{
 .ce-demo,.ce-support {background:white; padding:12pt 0}
 .ce-demo-plates,.ce-support-list {display:block}
 .ce-demo-intro {display:block; margin-bottom:10pt}
 .ce-figure,.ce-support-case {break-inside:avoid; margin-block:8pt}
 .ce-zoom::after {display:none}
 .ce-figure .ce-zoom {padding:3pt}
}
