:root{--ink:#171717;--muted:#6c6c6c;--line:#e5e5e5;--gutter:clamp(20px,4.5vw,90px);--gold:#eaaa0b}
.project-photo-link{display:block;position:relative;cursor:zoom-in}.photo-open-label{position:absolute;right:12px;bottom:12px;padding:7px 10px;background:#ffffffde;color:#282828;font-size:.75rem;line-height:1.4;letter-spacing:.02em}.project-photo-link:focus-visible{outline-offset:4px}
.project-gallery .gallery-wide{grid-column:1/-1}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{border-radius:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #aa7e15;outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-weight:400}img,video{display:block;max-width:100%}img{height:auto}button{color:inherit}button:disabled{cursor:default}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:15px}.skip-link:focus{top:15px}.eyebrow,.page-kicker{font-size:.8125rem;line-height:1.7;letter-spacing:.035em;color:var(--muted)}.text-link{display:inline-block;width:fit-content;padding:4px 0 7px;border:0;border-bottom:1px solid #999;background:none;font-size:.875rem;line-height:1.5}.text-link:hover{border-color:#111}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:0 var(--gutter);height:102px;position:relative;z-index:30;background:#fff}.wordmark{display:inline-flex;align-items:center;gap:11px;font-size:2.35rem;font-weight:700;letter-spacing:-.045em;line-height:1}.brand-mark{display:inline-flex;width:25px;height:25px;flex:none}.brand-mark img{display:block;position:static;width:100%;height:100%;max-width:100%}.site-nav{display:flex;align-items:center;gap:clamp(20px,2.25vw,43px);font-size:.8125rem;letter-spacing:.01em;white-space:nowrap}.site-nav>a,.project-menu>summary{padding:14px 0}.site-nav [aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.site-nav a:hover{color:#777}.project-menu{position:relative}.project-menu summary{list-style:none}.project-menu summary::-webkit-details-marker{display:none}.project-menu summary:after{content:'+';margin-left:7px;color:#aaa}.project-menu[open] summary:after{content:'−'}.project-menu-panel{position:absolute;top:100%;left:-20px;min-width:170px;background:#fff;padding:12px 20px 17px;box-shadow:0 12px 24px #0000000c}.project-menu-panel a{display:block;padding:12px 0}.menu-button{display:none}.site-footer{margin:65px var(--gutter) 0;padding:25px 0 30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;color:#777;font-size:.75rem;letter-spacing:.02em;line-height:1.5}
.project-archive{margin:0 var(--gutter)}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.project-card{display:block;position:relative;min-width:0;aspect-ratio:3/4;overflow:hidden;background:#f1f1ef;isolation:isolate}.project-card>img{width:100%;height:100%;object-fit:contain;transition:opacity .25s}.project-card:hover>img{opacity:.92}.project-card-caption{position:absolute;inset:auto 0 0;padding:65px 15px 17px;color:white;background:linear-gradient(transparent,#000000ad)}.project-card-caption>span{font-size:.75rem;line-height:1.5;letter-spacing:.015em}.project-card-caption h2{font-size:clamp(1rem,1.2vw,1.4rem);font-weight:600;line-height:1.3;letter-spacing:-.015em;margin-top:5px;word-break:keep-all;overflow-wrap:anywhere}.archive-signature{margin:27px 0 0;color:#777;font-size:.75rem;letter-spacing:.035em}.archive-heading{display:flex;justify-content:space-between;align-items:baseline;margin:3px 0 28px}.archive-heading h1{font-size:1rem;letter-spacing:.035em}.archive-heading>a{font-size:.75rem;color:#777;border-bottom:1px solid #bbb;padding-bottom:5px}
.project-detail{margin:0 var(--gutter)}.project-topline{display:flex;justify-content:space-between;margin:4px 0 24px;color:#777;font-size:.75rem;letter-spacing:.02em}.project-overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:6vw}.project-cover{min-width:0}.project-cover img{width:100%;height:auto}.project-summary{padding-top:6px}.project-summary h1{font-size:clamp(2rem,3.3vw,4rem);letter-spacing:-.04em;line-height:1.15;margin:20px 0 30px;word-break:keep-all;overflow-wrap:anywhere}.project-facts{margin:0;border-top:1px solid #bbb;padding-top:21px;display:grid;gap:13px}.project-facts>div{display:grid;grid-template-columns:108px 1fr;gap:20px;font-size:.875rem;line-height:1.8}.project-facts dt{color:#777}.project-facts dd{margin:0;overflow-wrap:anywhere}.designer-note{margin-top:36px;padding-top:27px;border-top:1px solid var(--line)}.designer-note h2{font-size:clamp(1.35rem,1.8vw,1.85rem);line-height:1.6;letter-spacing:-.045em;word-break:keep-all;margin:20px 0 16px}.designer-note p{font-size:1rem;line-height:1.95;color:#626262;word-break:keep-all}.project-summary>.text-link{margin-top:25px;font-size:.75rem}.project-gallery{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}.project-gallery img{width:100%;height:auto}.project-gallery figcaption,.field-detail-gallery figcaption{margin-top:12px;font-size:.875rem;line-height:1.7;color:#777}.project-pagination{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);margin-top:70px;padding:30px 0 0}.project-pagination>a{display:flex;flex-direction:column;gap:12px;max-width:45%}.project-pagination>a:last-child{text-align:right;align-items:flex-end}.project-pagination span{font-size:.75rem;color:#888;letter-spacing:.02em}.project-pagination strong{font-weight:400;font-size:1.125rem;line-height:1.45;word-break:keep-all}
.company-page{margin:24px var(--gutter) 0}.company-lead{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;margin-top:40px;padding-bottom:90px}.company-identity{padding-top:10px;display:flex;flex-direction:column;align-items:center;align-self:center}.company-logo{position:relative;width:320px;height:260px;overflow:hidden;max-width:100%;margin-bottom:35px}.company-logo img{position:absolute;width:700px;max-width:none;height:auto;left:-185px;top:-223px}.company-identity>p{width:100%;text-align:center;font-size:.8125rem;letter-spacing:.08em;color:#555}.company-lead h1{font-size:clamp(2.6rem,4.1vw,5.2rem);line-height:1.3;letter-spacing:-.06em;font-weight:400}.company-statement{font-size:1.1875rem;line-height:1.8;margin-top:32px;letter-spacing:-.025em;word-break:keep-all}.company-text{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:25px}.company-text p{font-size:1rem;line-height:1.95;color:#666;word-break:keep-all}.company-section{display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;padding:45px 0;border-top:1px solid var(--line)}.company-section>h2{font-size:.8125rem;letter-spacing:.045em;line-height:1.8}.credentials{margin:0;display:grid;gap:29px}.credentials>div{display:grid;grid-template-columns:145px 1fr;gap:25px}.credentials dt{font-size:.8125rem;color:#888;line-height:1.8}.credentials dd{margin:0;font-size:1rem;line-height:1.9;word-break:keep-all}.service{border-bottom:1px solid var(--line)}.service:first-child summary{padding-top:0}.service summary{padding:22px 0;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:clamp(1.15rem,1.7vw,1.75rem);line-height:1.5}.service summary::-webkit-details-marker{display:none}.service summary:after{content:'+';font-size:1.25rem;color:#777}.service[open] summary:after{content:'−'}.service>div{padding-bottom:25px}.service h3{font-size:1rem;line-height:1.7;margin-bottom:12px}.service p{font-size:1rem;line-height:1.95;color:#666;word-break:keep-all}.service>div>span{display:block;margin-top:18px;font-size:.8125rem;color:#888;line-height:1.8}.education-origin{display:block;margin-bottom:6px;font-size:.8125rem;letter-spacing:.025em;color:#777}.award-context{font-size:.9375rem;color:#777}
.field-index,.field-detail{margin:22px var(--gutter) 0}.page-heading{margin-bottom:55px}.page-heading h1{font-size:clamp(2rem,3.2vw,3.5rem);line-height:1.4;letter-spacing:-.045em;margin-top:25px}.field-preview{display:grid;grid-template-columns:1.5fr 1fr;gap:6vw;align-items:center;padding:0 0 60px}.field-preview+.field-preview{border-top:1px solid var(--line);padding-top:60px}.field-preview-image img{width:100%;height:auto;max-height:690px;object-fit:contain;background:#f5f5f3}.field-preview h2{font-size:clamp(1.5rem,2.4vw,2.7rem);line-height:1.5;letter-spacing:-.045em;word-break:keep-all;margin:20px 0}.field-preview>div>p:not(.eyebrow){font-size:1rem;line-height:1.95;color:#666;word-break:keep-all;max-width:470px}.field-preview .text-link{margin-top:30px;font-size:.75rem}.field-detail-heading{display:grid;grid-template-columns:1.4fr 1fr;align-items:start;gap:8vw;margin:25px 0 45px}.field-detail-heading h1{font-size:clamp(2rem,3.5vw,4rem);line-height:1.4;letter-spacing:-.05em;word-break:keep-all}.field-detail-heading p{font-size:1rem;line-height:1.95;color:#666;word-break:keep-all;padding-top:7px}.field-detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}.field-detail-gallery .landscape{grid-column:1/-1}.field-detail-gallery img,.field-detail-gallery video{width:100%;height:auto}.field-detail-gallery video{background:#eee}.field-back{margin-top:40px;font-size:.8125rem}
.contact-page{margin:25px var(--gutter) 0;min-height:68vh}.contact-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:10vw;margin-top:42px;padding-bottom:40px}.contact-layout h1{font-size:clamp(4.5rem,9vw,10rem);font-weight:500;line-height:.98;letter-spacing:-.055em}.contact-layout>div>p:not(.eyebrow){font-size:1rem;line-height:1.95;color:#666;margin-top:33px;word-break:keep-all}.contact-info{padding-top:7px}.phone{display:inline-block;font-size:clamp(1.85rem,3.2vw,3.75rem);letter-spacing:-.04em;margin-top:20px;white-space:nowrap}.contact-info>.text-link{margin-top:27px}.contact-social{display:flex;flex-direction:column;gap:15px;margin-top:52px;padding-top:27px;border-top:1px solid var(--line)}.contact-social>a{font-size:1rem}.contact-social>a:hover{text-decoration:underline;text-underline-offset:5px}
dialog{border:0;padding:30px;width:calc(100% - 32px);max-width:640px;max-height:90dvh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#0008}.dialog-header{display:flex;align-items:center;justify-content:space-between}.close-button{border:0;background:none;font-size:2rem;line-height:1;padding:3px 5px}dialog h2{font-size:1.8rem;line-height:1.4;margin:25px 0 15px;letter-spacing:-.03em}.dialog-intro{font-size:.9375rem;line-height:1.8;color:#666}fieldset{padding:0;margin:28px 0;border:0}legend{font-size:.875rem;margin-bottom:13px}.type-options{display:flex;gap:9px;flex-wrap:wrap}.type-options label{position:relative}.type-options input{position:absolute;opacity:0}.type-options span{display:block;border:1px solid #ccc;padding:10px 12px;font-size:.8125rem;cursor:pointer}.type-options input:checked+span{background:#222;color:white;border-color:#222}.type-options input:focus-visible+span{outline:2px solid #aa7e15;outline-offset:3px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{display:block;font-size:.875rem;line-height:1.6}form>label,.form-grid{margin:17px 0}input:not([type=radio]),textarea{width:100%;border:1px solid #d4d4d4;background:#fff;border-radius:0;padding:12px;margin-top:8px;font-size:1rem;color:#222}textarea{resize:vertical}.form-hint{font-size:.8125rem;color:#777;line-height:1.7;margin:15px 0}.dialog-actions{display:flex;gap:10px;margin-top:23px}.solid-button,.outline-button{border:1px solid #222;padding:12px 18px;font-size:.875rem;background:#222;color:white}.outline-button{background:white;color:#222}#form-feedback{font-size:.875rem;line-height:1.7;margin-top:15px}#copy-fallback{margin-top:10px;min-height:140px}
@media(min-width:1800px){.project-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1150px){.site-header{gap:25px}.site-nav{gap:20px;font-size:.75rem}.wordmark{font-size:2rem}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-overview{gap:35px;grid-template-columns:1.2fr 1fr}.project-facts>div{grid-template-columns:90px 1fr;gap:12px}.company-lead,.company-section{grid-template-columns:1fr 1.6fr;gap:45px}.company-logo{width:260px;height:210px}.company-logo img{width:570px;left:-151px;top:-182px}.company-text{grid-template-columns:1fr;gap:18px}.credentials>div{grid-template-columns:1fr;gap:7px}.field-preview{gap:40px}.contact-layout{gap:6vw}.phone{font-size:2.5rem}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{height:85px;padding-top:0;padding-bottom:0}.wordmark{font-size:1.9rem}.brand-mark{width:23px;height:23px}.menu-button{display:block;border:0;background:none;padding:15px 0;font-size:.75rem;letter-spacing:.02em}.site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:15px var(--gutter) 25px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 18px 25px #00000009;white-space:normal}.site-header[data-menu-open=true] .site-nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-nav>a,.project-menu>summary{display:block;padding:14px 0;font-size:.875rem}.project-menu-panel{position:static;box-shadow:none;padding:0 0 8px 18px}.project-menu-panel a{font-size:.8125rem;padding:12px 0}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.project-card-caption{padding:40px 11px 13px}.project-card-caption h2{font-size:.9375rem;line-height:1.35}.project-card-caption>span{font-size:.6875rem}.archive-heading{margin:5px 0 22px}.archive-signature{font-size:.6875rem;margin-top:23px}.site-footer{margin-top:45px;padding:22px 0 27px;gap:16px;flex-wrap:wrap;font-size:.6875rem}.site-footer>a:first-child{width:100%}.project-topline{margin:5px 0 20px}.project-overview{display:flex;flex-direction:column;gap:30px}.project-cover{width:100%}.project-summary{padding:0;width:100%}.project-summary h1{font-size:2.25rem;margin:15px 0 25px}.project-facts>div{grid-template-columns:105px 1fr}.designer-note{margin-top:28px;padding-top:25px}.designer-note h2{font-size:1.5rem}.project-gallery{grid-template-columns:1fr;gap:26px;margin-top:35px}.project-pagination{margin-top:40px;padding-top:25px}.project-pagination strong{font-size:1rem}.project-pagination span{font-size:.6875rem}.company-page{margin-top:12px}.company-lead{grid-template-columns:1fr;gap:38px;margin-top:20px;padding-bottom:45px}.company-identity{padding:0}.company-logo{margin:0 auto 18px;width:245px;height:196px}.company-logo img{width:535px;left:-142px;top:-171px}.company-identity>p{font-size:.6875rem}.company-lead h1{font-size:2.75rem}.company-statement{font-size:1.125rem;margin-top:25px}.company-text{margin-top:20px}.company-section{grid-template-columns:1fr;gap:25px;padding:30px 0}.credentials{gap:23px}.credentials dd{font-size:.9375rem}.service summary{font-size:1.25rem;padding:20px 0}.field-index,.field-detail{margin-top:14px}.page-heading{margin-bottom:30px}.page-heading h1{font-size:1.9rem;margin-top:17px}.field-preview{grid-template-columns:1fr;gap:24px;padding-bottom:35px}.field-preview+.field-preview{padding-top:35px}.field-preview h2{font-size:1.7rem;margin:13px 0}.field-preview .text-link{margin-top:20px}.field-preview-image img{max-height:none}.field-detail-heading{grid-template-columns:1fr;gap:20px;margin:18px 0 28px}.field-detail-heading h1{font-size:2rem}.field-detail-heading p{padding:0}.field-detail-gallery{grid-template-columns:1fr;gap:26px}.field-detail-gallery .landscape{grid-column:auto}.contact-page{margin-top:12px;min-height:0}.contact-layout{grid-template-columns:1fr;gap:47px;margin-top:28px;padding-bottom:10px}.contact-layout h1{font-size:5.5rem}.contact-layout>div>p:not(.eyebrow){margin-top:24px}.phone{font-size:2.3rem;margin-top:17px}.contact-social{margin-top:35px}.form-grid{grid-template-columns:1fr;gap:16px}dialog{padding:22px}.dialog-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card>img{transition:none}}

/* Current construction work and process captions. */
.project-status{position:absolute;left:2.6%;right:auto;top:1%;z-index:2;display:inline-flex;align-items:center;justify-content:center;max-width:94.8%;height:9.6%;min-height:22px;background:rgba(255,255,255,.96);border:1px solid rgba(0,0,0,.2);border-radius:0;color:#111;padding:0 10px;font-size:clamp(.75rem,.9vw,.875rem);font-weight:400;letter-spacing:.01em;line-height:1.25;white-space:nowrap}
.field-step-copy{padding:8px 0 8px;max-width:660px}
.field-step-copy h2{font-size:clamp(1.2rem,1.6vw,1.5rem);font-weight:500;line-height:1.6;color:#333;letter-spacing:-.035em;margin:9px 0}
.field-step-copy p{font-size:.9375rem;line-height:1.9;word-break:keep-all;color:#666}
.field-step-copy .eyebrow{font-size:.6875rem;color:#888}
@media(max-width:760px){.field-step-copy{padding:5px 0}.field-step-copy h2{font-size:1.25rem}}

.field-related{font-size:.8125rem;line-height:1.7;margin:0 0 30px}

/* Original-resolution construction photographs; display-only monochrome. */
img.photo-mono{filter:grayscale(1) brightness(1.08);}

/* Crop only the display viewport; retain native source pixels. */
.source-photo-viewport{display:block;width:100%;height:auto;overflow:hidden}
.project-card>.source-photo-viewport{width:100%;height:100%}
