/* White-screen CI introduction: statement, identity, then the real project. */
.arrival-dialog{position:fixed;inset:0;margin:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#fff;color:#20272c;overflow:hidden;z-index:500}
.arrival-dialog::backdrop{background:#fff}.arrival-dialog[open]{display:grid;place-items:center}
.arrival-stage{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:50px;pointer-events:none}
.arrival-words p{font-family:Samji Sans,"Noto Sans KR",Arial,sans-serif;font-size:clamp(35px,3.7vw,67px);font-weight:700;line-height:1.6;letter-spacing:-.06em;text-align:center}
.arrival-words p>span{color:#125b94}.arrival-words .mobile-break{display:none}
.arrival-dialog[open] .arrival-words{animation:arrivalWords 2s ease both}
.arrival-identity{gap:45px;opacity:0;perspective:1200px}
.arrival-dialog[open] .arrival-identity{animation:arrivalIdentity 2.35s 1.8s ease both}
.arrival-logo{display:flex;align-items:center;gap:26px;flex-shrink:0}
.arrival-symbol{width:145px;height:150px;object-fit:contain}
.arrival-wordmark{width:330px;height:90px;object-fit:contain}
.arrival-logo>div>span{display:block;text-align:center;font-family:Samji Sans,Arial,sans-serif;font-size:17px;letter-spacing:.15em;color:#56636b;margin-top:14px}
.arrival-tomorrow{position:relative;border-left:1px solid #cbd2d7;padding:12px 0 12px 45px;font-family:Samji Display,Arial,sans-serif;line-height:1.7;letter-spacing:.13em}
.arrival-tomorrow>span{display:block;font-size:14px;color:#858e94}.arrival-tomorrow strong{display:block;font-size:25px;font-weight:400;letter-spacing:-.01em;white-space:nowrap}
.arrival-tomorrow .ci-line{margin-top:15px;width:110px;height:3px}
.arrival-skip{position:absolute;right:var(--gutter);bottom:35px;display:flex;align-items:center;gap:30px;background:none;border:0;border-bottom:1px solid #c9d1d5;padding:9px 0;font-size:11px;color:#657179}
.arrival-skip span{font-size:21px}.arrival-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#125b94;transform-origin:left}
.arrival-dialog[open] .arrival-progress{animation:arrivalProgress 4.5s linear both}
.arrival-replay{display:flex;background:none;margin-top:17px!important;font-size:10px!important;color:#75828b;max-width:max-content;gap:25px;cursor:pointer}
@keyframes arrivalWords{0%{opacity:0;transform:translateY(18px)}18%,72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-18px)}}
@keyframes arrivalIdentity{0%{opacity:0;transform:rotateX(12deg) translateY(18px)}23%,79%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-15px)}}
@keyframes arrivalProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.arrival-reduced .arrival-words{display:none}.arrival-reduced .arrival-identity{opacity:1!important;transform:none!important}.arrival-reduced .arrival-progress{display:none}
.signature-original{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:40px;color:#20272c;font-size:12px}
.signature-original strong{font-family:Samji Sans,Arial,sans-serif;font-size:19px;letter-spacing:.2em;font-weight:500;margin:0}
.signature-original img{width:215px;height:auto;object-fit:contain;margin-left:5px}
.postal-code{display:block;font-size:12px;color:#7b878f;margin-top:15px;font-style:normal;letter-spacing:.02em}
.catalog-controls{align-items:flex-start}.catalog-controls .search-field{margin-top:3px;flex-shrink:0}.filters{max-width:calc(100% - 250px)}
.project-card{position:relative}.media-kind{position:absolute;top:18px;left:18px;z-index:1;background:#fffffff0;padding:6px 10px;font-size:9px;color:#56636c;letter-spacing:.03em}
.record-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:35px;background:#e9edef;color:#25323b;height:100%;overflow:hidden}
.record-art:before{position:absolute;content:"";width:65%;height:160%;top:-20%;right:-28%;transform:rotate(28deg);background:#f6f7f7;pointer-events:none}
.record-art>span,.record-art>div{position:relative;z-index:1}.record-art>span{font-family:Samji Display,Arial,sans-serif;font-size:10px;letter-spacing:.13em}
.record-art>div>span{font-family:Samji Display,Arial,sans-serif;font-size:45px;letter-spacing:-.05em;line-height:1.2;display:block;margin-bottom:15px}
.record-art strong{font-family:Samji Sans,Arial,sans-serif;font-weight:500;display:block;font-size:25px;letter-spacing:-.05em;line-height:1.7;max-width:80%;text-wrap:balance}
.record-art>div>small{display:block;color:#7d8b94;font-size:11px;margin-top:18px;line-height:1.9}.record-art .ci-line{margin-top:30px}
.record-cover{min-height:380px;padding:65px;background:#eef1f2;display:flex;align-items:center;justify-content:space-between;gap:50px;position:relative;overflow:hidden}
.record-cover:after{content:"";position:absolute;right:4%;top:-40%;width:30%;height:180%;background:#f8f9f8;transform:rotate(28deg)}
.record-cover>div,.record-cover>img{position:relative;z-index:1}.record-cover>img{width:120px;height:140px;object-fit:contain;margin-right:7%;opacity:.85}
.record-cover h2{font-size:35px;line-height:1.6;margin-top:18px;max-width:760px}.record-cover .ci-line{margin-top:25px}.record-cover .record-year{font-family:Samji Display,Arial,sans-serif;font-size:40px;margin-bottom:10px;color:#6b7c86;line-height:1.2}
.record-note{font-size:13px;color:#71828c;line-height:2;margin-top:25px}.project-source-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.project-source-links a{font-size:11px;border-bottom:1px solid #a6b2ba;padding-block:5px;color:#536773}
.project-catalog .project-image{aspect-ratio:4/5}.project-catalog .project-card h3{font-size:21px}.project-grid{row-gap:55px}
@media(max-width:1180px){.arrival-identity{gap:30px}.arrival-symbol{width:110px;height:120px}.arrival-wordmark{width:260px;height:74px}.arrival-tomorrow{padding-left:30px}.arrival-tomorrow strong{font-size:21px}.arrival-logo{gap:20px}.arrival-logo>div>span{font-size:14px}.signature-original img{width:195px}.filters{max-width:calc(100% - 210px)}}
@media(max-width:950px){.arrival-identity{flex-direction:column;gap:28px}.arrival-logo{gap:25px}.arrival-symbol{width:125px;height:135px}.arrival-wordmark{width:300px;height:85px}.arrival-tomorrow{border-left:0;border-top:1px solid #cbd2d7;text-align:center;padding:25px 35px 0}.arrival-tomorrow .ci-line{margin-inline:auto}.arrival-tomorrow>span{font-size:10px}.arrival-tomorrow strong{font-size:19px;letter-spacing:.12em}.signature-original{gap:12px}.signature-original img{width:190px;margin:0}.catalog-controls{display:block}.filters{max-width:none}.catalog-controls .search-field{max-width:260px;margin-top:18px}.record-art{padding:27px}.record-art strong{font-size:23px}.record-art>div>span{font-size:36px}.record-cover{padding:45px;gap:25px}.record-cover h2{font-size:28px}.record-cover>img{width:90px;height:105px;margin-right:0}}
@media(max-width:700px){.arrival-stage{padding:30px 24px 70px}.arrival-words p{font-size:clamp(29px,7.5vw,43px);line-height:1.8;letter-spacing:-.065em}.arrival-words .mobile-break{display:block}.arrival-identity{gap:28px}.arrival-logo{gap:17px}.arrival-symbol{width:82px;height:94px}.arrival-wordmark{width:207px;height:61px}.arrival-logo>div>span{font-size:10px;letter-spacing:.12em;margin-top:9px}.arrival-tomorrow{padding:23px 24px 0}.arrival-tomorrow>span{font-size:9px;letter-spacing:.18em}.arrival-tomorrow strong{font-size:16px;letter-spacing:.09em;line-height:1.9}.arrival-tomorrow .ci-line{width:90px;margin-top:14px}.arrival-skip{bottom:25px;font-size:10px;gap:28px}.arrival-skip span{font-size:19px}.signature-original{gap:13px;margin-top:30px;font-size:11px}.signature-original strong{font-size:19px}.ceo-letter .signature-original strong{margin-left:0}.signature-original img{width:205px;margin-left:0}.postal-code{font-size:11px;margin-top:12px}.catalog-controls .search-field{max-width:none;margin-top:16px}.filters{max-width:none}.project-catalog .project-image{aspect-ratio:4/4.7}.project-catalog .project-card h3{font-size:22px}.project-grid{row-gap:37px}.media-kind{left:14px;top:14px;font-size:8px;padding:5px 8px}.record-art{padding:30px}.record-art>span{font-size:9px}.record-art>div>span{font-size:42px;margin-bottom:17px}.record-art strong{font-size:26px}.record-art>div>small{font-size:10px}.record-cover{width:100%;min-height:330px;padding:30px;gap:20px}.record-cover h2{font-size:24px}.record-cover>img{display:none}.record-cover .record-year{font-size:35px}.record-cover .eyebrow{font-size:9px}.record-note{font-size:12px;margin-top:20px}.project-source-links{gap:13px}.project-source-links a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.arrival-dialog[open] .arrival-identity{opacity:1}.arrival-dialog[open] .arrival-words{display:none}.arrival-progress{display:none}}
.project-cover{position:relative}.work-scope-list{padding:0;margin:28px 0 0;list-style:none;border-top:1px solid #d7dfe3}.work-scope-list li{display:grid;grid-template-columns:120px 1fr;gap:20px;border-bottom:1px solid #e2e7ea;padding:13px 0;font-size:12px;line-height:1.9}.work-scope-list li>span{color:#7c8992}.work-scope-list strong{font-weight:400;color:#384b57}.gallery-item .media-kind{pointer-events:none}
@media(max-width:700px){.work-scope-list li{grid-template-columns:95px 1fr;gap:15px;font-size:11px;padding:12px 0}}
/* Service photography: completed interiors, exterior paving and floor finish. */
.business-detail#remodeling .business-detail-image img{object-position:50% 64%}
.business-detail#civil .business-detail-image img{object-position:50% 72%}
.business-detail#maintenance .business-detail-image img{object-position:50% 55%}
/* Naver destination panel; the official SDK activates when the public Client ID is configured. */
.location-map.naver-location{position:relative;min-height:380px;height:auto;background:#f2f5f4;border-color:#dce3df;overflow:hidden}
.naver-location-link{min-height:380px;display:flex;justify-content:space-between;align-items:center;gap:40px;padding:55px 65px;background:#f2f5f4}
.naver-location-link .eyebrow{color:#42815f}.naver-location-link h3{font-size:31px;line-height:1.5;margin-top:20px;letter-spacing:-.05em}.naver-location-address{font-size:16px;color:#526760;margin-top:17px}.naver-location-guide{font-size:12px;color:#7a8b83;margin-top:12px}.naver-location-link>img{width:110px;height:130px;object-fit:contain;margin-right:4%}.naver-location-button{margin-top:28px;background:#187148;border-color:#187148;gap:50px;font-size:12px}.naver-location-button:hover{background:#115536;border-color:#115536}.naver-location-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:380px}.naver-office-label{padding:15px 20px;font-family:Samji Sans,Arial,sans-serif;font-size:13px;line-height:1.8}.naver-office-label strong{display:block;font-weight:500}.naver-office-label span{display:block;color:#75838c;font-size:11px}
@media(max-width:700px){.location-map.naver-location{min-height:330px}.naver-location-link{min-height:330px;padding:38px 24px;gap:25px}.naver-location-link h3{font-size:26px;margin-top:17px}.naver-location-address{font-size:13px;margin-top:15px}.naver-location-guide{font-size:11px}.naver-location-link>img{display:none}.naver-location-link .eyebrow{font-size:9px}.naver-location-button{font-size:12px;min-height:48px;padding:13px 18px;gap:55px;margin-top:24px}.naver-location-canvas{min-height:330px}}
