*{box-sizing:border-box}body{margin:0;font-family:Arial,"Noto Sans KR",sans-serif;color:#17191c}header{height:82px;padding:0 6%;display:flex;align-items:center;gap:35px;background:#fff}header img{width:180px;margin-right:auto}header nav{font-weight:800;font-size:14px}header>a{color:#d22630;text-decoration:none;font-weight:900;font-size:19px}header button{display:none}.hero{height:590px;background:url(assets/hero.jpg) center/cover;position:relative}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#081018e8,#0810189b 50%,transparent)}.copy{position:relative;color:#fff;padding:115px 7%;max-width:760px}.copy small,em{font-style:normal;color:#dc2932;font-weight:900;letter-spacing:3px}.copy h1{font-size:49px;line-height:1.25}.copy h1 b{color:#ed3038}.copy p{line-height:1.8}.copy>a{display:inline-block;background:#d9252e;color:#fff;text-decoration:none;padding:15px 24px;border-radius:28px;margin-top:20px;font-weight:800}.quick{max-width:1060px;margin:-55px auto 0;position:relative;background:#171c21;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 12px 30px #0004}.quick div{padding:26px;border-right:1px solid #ffffff20;font-size:21px}.quick b,.quick small{display:block;margin-left:34px}.quick b{margin-top:-24px}.quick small{font-size:11px;color:#bfc5ca;margin-top:5px}.biz{max-width:1140px;margin:auto;padding:90px 22px;display:grid;grid-template-columns:250px 1fr;gap:45px}.intro h2,.projects h2,.story h2{font-size:38px;margin:8px 0}.intro p{font-size:14px;color:#6a7075;line-height:1.8}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cards article{height:300px;background-size:cover;background-position:center;position:relative}.cards article:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#0b0e12e8)}.cards span{position:absolute;z-index:2;bottom:22px;left:22px;color:#fff}.cards b,.cards small{display:block}.cards b{font-size:22px}.cards small{margin-top:9px;line-height:1.5}.story{padding:90px 8%;color:#fff;background:linear-gradient(90deg,#15181bef,#15181ba5),url(assets/hero.jpg) center/cover}.story p{line-height:1.8;color:#ddd}.projects{max-width:1140px;margin:auto;padding:80px 22px}.projects>div{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.projects span{height:150px;padding:105px 18px 0;background:#eef0f2;border-bottom:4px solid #d9252e;font-weight:800}footer{background:#111315;color:#ddd;padding:45px 7%;display:flex;justify-content:space-between;align-items:center}footer img{width:200px;filter:grayscale(1) invert(1) brightness(3)}footer strong{font-size:28px;color:#fff}@media(max-width:760px){header{height:67px;padding:0 17px}header img{width:155px}header nav,header>a{display:none}header button{display:block;border:0;background:none;font-size:24px}.hero{height:530px}.copy{padding:95px 23px}.copy h1{font-size:34px}.copy p br{display:none}.quick{margin:-28px 15px 0;grid-template-columns:1fr 1fr}.quick div{padding:18px 14px}.biz{display:block;padding:65px 18px}.cards{grid-template-columns:1fr;margin-top:28px}.cards article{height:225px}.story{padding:65px 23px}.intro h2,.projects h2,.story h2{font-size:31px}.projects>div{grid-template-columns:1fr}footer{display:block;padding:40px 22px}footer p{margin-top:25px}}
html{scroll-behavior:smooth;scroll-padding-top:80px}header>a:first-child{margin-right:auto}header img{margin-right:0}header nav{display:flex;gap:28px}header nav a{text-decoration:none;color:#17191c}header nav a:hover,header nav a:focus-visible{color:#d22630}.quick a{padding:26px;border-right:1px solid #ffffff20;font-size:21px;color:#fff;text-decoration:none}.quick a:hover{background:#29333c}.quick a b,.quick a small{display:block;margin-left:34px}.quick a b{margin-top:-24px}.quick a small{font-size:11px;color:#bfc5ca;margin-top:5px}.safety{padding:70px 8%;background:#f1f3f5}.safety>div{max-width:1140px;margin:auto}.safety h2{font-size:32px}.safety p{color:#626a70}.safety a{display:inline-block;background:#d9252e;color:#fff;text-decoration:none;padding:13px 20px;font-weight:bold}footer a{color:#fff}header button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #e54049;outline-offset:3px}@media(max-width:760px){header nav{display:none;position:absolute;top:67px;left:0;right:0;background:white;z-index:9;box-shadow:0 12px 20px #0002;padding:10px 18px;flex-direction:column;gap:0}header nav.open{display:flex}header nav a{padding:14px;border-bottom:1px solid #eee}header>a:first-child{margin-right:auto}.quick a{padding:18px 14px}.quick a b{font-size:15px}.quick a small{font-size:10px}.safety{padding:55px 23px}.safety h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V2.2: 화면 너비에 따른 본문 공간 확보 및 캡처 이미지의 문자 영역 제외 */
body{word-break:keep-all}header{gap:24px}header>a:first-child{text-decoration:none;flex-shrink:0}.brand-name{display:block;font-size:24px;letter-spacing:-1px;font-weight:900;color:#192b3b;white-space:nowrap}.brand-name small{display:block;font-size:9px;letter-spacing:1px;margin-top:3px;color:#697782}.hero,.story{background-size:auto max(800px,90vw);background-position:left bottom}.copy{width:min(1180px,calc(100% - 48px));max-width:none;padding:100px 0 110px;margin:auto}.copy h1{font-size:49px;line-height:1.35;letter-spacing:-2px;margin:20px 0}.copy p{max-width:680px}.hero{height:auto;min-height:590px}.quick{max-width:1140px}.cards article{background-position:center bottom;background-size:auto 130%}.cards span{right:18px}.cards small{font-size:13px}footer .brand-name{color:#fff}footer .brand-name small{color:#bfc5ca}@media(max-width:1100px){header nav{gap:15px;font-size:13px}header{padding:0 24px}header .brand-name{font-size:21px}header .phone{font-size:16px}}@media(max-width:900px){header{position:relative;z-index:10}header nav{display:none;top:82px}header button{display:block;background:none;border:0;font-size:25px}header nav.open{display:flex;position:absolute;left:0;right:0;flex-direction:column;background:#fff;padding:15px 24px}header nav a{padding:12px}header .phone{margin-left:auto}}@media(max-width:760px){header nav{top:67px}.copy{width:calc(100% - 40px);padding:75px 0 100px}.copy h1{font-size:clamp(28px,6.5vw,38px);letter-spacing:-1.5px}.copy p{font-size:14px}.hero{min-height:510px}header{padding:0 16px;gap:12px}.brand-name{font-size:21px}header .phone{display:none}.cards article{background-size:cover;background-position:center bottom}}

/* V2.3: 제공된 정식 로고 및 회사정보 하단 */
header .official-logo{display:block;width:250px}header .official-logo img{width:100%;max-height:72px;object-fit:contain}header{height:94px}.company-banner{display:grid;grid-template-columns:1fr 1fr;color:#fff}.banner-panel{background:linear-gradient(90deg,#102638ef,#102638aa),url(assets/service1.jpg) center/cover;padding:60px max(32px,calc((100vw - 1180px)/2)) 60px 0}.banner-panel:first-child{padding-left:max(32px,calc((100vw - 1180px)/2));padding-right:48px}.banner-panel>div{max-width:590px}.banner-panel span{font-size:14px;letter-spacing:1px}.banner-panel h2{font-size:30px;line-height:1.5;margin:17px 0}.banner-panel p{font-size:14px;color:#d3dce3}.banner-links{padding-left:48px;background:linear-gradient(90deg,#10171ee8,#10171ebb),url(assets/service2.jpg) center/cover}.banner-links>div{display:flex;align-items:center;justify-content:space-between;gap:40px}.banner-links h2{font-size:25px}.banner-links nav{min-width:160px}.banner-links nav a{display:flex;justify-content:space-between;gap:30px;padding:12px 0;border-bottom:1px solid #ffffff60;color:#fff;font-size:13px;text-decoration:none}.banner-links nav a:hover{color:#ff858c}.company-footer{display:block;background:#202020;color:#a9afb3;padding:0;font-size:13px}.footer-container{max-width:1180px;width:calc(100% - 48px);margin:auto}.footer-nav{border-bottom:1px solid #ffffff22}.footer-nav>.footer-container{display:flex;align-items:center;gap:28px;padding-block:20px}.company-footer a{color:inherit;text-decoration:none}.company-footer a:hover{text-decoration:underline}.footer-nav a{color:#e0e3e5}.back-top{margin-left:auto}.footer-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr;gap:48px;align-items:start;padding-block:45px}.footer-label{color:#f0f2f3;font-size:14px}.company-footer .footer-number{display:block;font-size:32px;letter-spacing:-1px;font-weight:800;color:#fff;margin-top:12px}.footer-customer p{font-size:12px;margin:10px 0 20px}.footer-call{display:inline-block;border:1px solid #ffffff40;padding:10px 14px}.footer-info>p{margin:10px 0 26px;font-size:12px}.footer-info h3{font-size:12px;color:#e2e5e7;margin:0 0 6px}.footer-info address{font-style:normal;font-size:12px;line-height:1.9}.company-footer .footer-logo{align-self:center;display:block}.company-footer .footer-logo img{filter:none;width:270px;max-width:100%;height:auto}.footer-copyright{border-top:1px solid #ffffff17;padding-block:22px;font-size:11px;color:#90999f}@media(max-width:1100px){header .official-logo{width:215px}.banner-links>div{display:block}.footer-grid{gap:24px;grid-template-columns:1fr 1.5fr}.footer-logo{grid-column:1/-1}.company-footer .footer-logo img{width:230px}}@media(max-width:760px){header{height:80px}header nav{top:80px}.company-banner{grid-template-columns:1fr}.banner-panel,.banner-panel:first-child,.banner-links{padding:38px 24px}.banner-panel h2{font-size:26px}.banner-links>div{display:flex}.banner-links h2{font-size:21px}.banner-links nav{min-width:140px}.footer-container{width:calc(100% - 40px)}.footer-grid{grid-template-columns:1fr;padding-block:35px;gap:32px}.footer-nav>.footer-container{gap:18px;flex-wrap:wrap;font-size:12px}.footer-info address{font-size:12px}.company-footer .footer-number{font-size:30px}}@media(max-width:480px){header .official-logo{width:82px}header .official-logo img{height:66px;max-height:66px;width:82px}.banner-links>div{display:block}.banner-links nav{margin-top:22px}.footer-nav>.footer-container{gap:15px}}

@media(min-width:761px) and (max-width:900px){header nav{top:94px}}

/* V2.4: 흰 배경 제거 로고, 간결한 하단 */
header .official-logo{width:230px}header .official-logo img{width:230px;height:auto;max-height:70px;filter:url(#logo-dark);clip-path:inset(3px)}.company-footer .footer-logo img{width:270px;filter:url(#logo-light);clip-path:inset(3px)}.footer-grid{align-items:center;padding-block:46px;grid-template-columns:1fr 1.65fr 1fr}.footer-company-name{color:#eef0f2;font-size:16px;margin:0 0 15px;font-weight:700}.footer-copyright{font-size:11px}.footer-info address{line-height:2}.footer-customer .footer-label{font-size:13px}@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1.6fr}.footer-logo{grid-column:1/-1}}@media(max-width:760px){header{position:absolute;inset:0 0 auto;height:80px;background:transparent;z-index:20}header .official-logo,header .official-logo img{width:195px;height:auto;max-height:60px}header .official-logo img{filter:url(#logo-light)}header button{color:#fff}header nav{top:80px}header nav a{color:#17191c}.copy{padding-top:135px}.hero{min-height:590px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-logo{grid-column:auto}.company-footer .footer-logo img{width:240px}.footer-copyright{padding-block:20px}}@media(max-width:480px){header .official-logo,header .official-logo img{width:185px;height:auto;max-height:60px}}

.footer-grid{grid-template-columns:1fr 1.8fr 1fr}.footer-info address{font-size:13px;line-height:2.1}.footer-info address>div{overflow-wrap:anywhere}@media(max-width:1100px) and (min-width:761px){.footer-grid{grid-template-columns:.85fr 1.75fr 1fr;gap:28px}.footer-logo{grid-column:auto}}@media(max-width:760px){.footer-grid{grid-template-columns:1fr}.footer-info address{font-size:13px}}

/* V2.7: 최종 검토한 3열 하단 */
.company-footer .footer-grid{grid-template-columns:230px minmax(0,1fr) 270px;gap:32px;align-items:end;padding-top:48px;padding-bottom:34px}.company-footer .footer-customer{align-self:end}.company-footer .footer-label{display:block;margin:10px 0 4px;font-size:13px;color:#bcc2c7}.company-footer .footer-number{margin-top:0;font-size:32px;line-height:1.25}.company-footer .footer-info{min-width:0;align-self:end;padding-top:20px}.company-footer .footer-info address{display:block;font-size:13px;line-height:1.8;color:#e0e3e5}.company-footer .footer-info address>div{margin:0}.company-footer .footer-contact-row{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:2px!important;font-size:12px;line-height:1.8;color:#aab2b8}.company-footer .footer-contact-row>span{white-space:nowrap}.company-footer .footer-logo{grid-column:auto;align-self:end;width:270px;max-width:100%}.company-footer .footer-logo img{width:100%;height:auto;filter:url(#logo-light);clip-path:inset(3px)}.company-footer .footer-copyright{padding-top:18px;padding-bottom:22px;border-top:1px solid #ffffff18;font-size:11px;color:#939ca3}@media(max-width:1100px) and (min-width:761px){.company-footer .footer-grid{grid-template-columns:170px minmax(0,1fr) 220px;gap:20px}.company-footer .footer-number{font-size:28px}.company-footer .footer-logo{width:220px}.company-footer .footer-contact-row{font-size:11px;gap:4px 10px}}@media(max-width:760px){.company-footer .footer-grid{grid-template-columns:1fr;gap:26px;padding-top:34px;padding-bottom:30px}.company-footer .footer-info{padding-top:0}.company-footer .footer-logo{width:245px}.company-footer .footer-number{font-size:30px}.company-footer .footer-contact-row{gap:5px 12px;font-size:12px}.company-footer .footer-label{margin-top:0}}

/* V2.8: 선명한 배경 및 실제 작업 사진 카드 */
.hero{background-image:url(assets/hero-sharp-v2.png);background-size:cover;background-position:center 48%}.shade{background:linear-gradient(90deg,#071725e8 0%,#0717259c 46%,#07172525 100%)}.story{background-image:linear-gradient(90deg,#12202de8,#12202da6),url(assets/hero-sharp-v2.png);background-size:cover;background-position:center 65%}.story>div{max-width:1180px;margin:auto}.projects .work-gallery{gap:22px;margin-top:28px}.work-gallery figure{margin:0;background:#fff;border:1px solid #e4e8eb;border-bottom:3px solid #d9252e;overflow:hidden}.work-photo{display:block;width:100%;height:auto;aspect-ratio:268/111;background:#eef0f2}.work-gallery figcaption{font-size:18px;font-weight:700;padding:23px 20px}.work-gallery figure:hover{border-bottom-color:#9f1119}.company-footer .footer-logo{width:290px;position:relative;aspect-ratio:5.54;overflow:hidden}.company-footer .footer-logo img{filter:none;clip-path:none;position:absolute;max-width:none;width:108.18%;height:auto;left:-3.79%;top:-50.28%}header .official-logo.sharp-brand{position:relative;width:235px;aspect-ratio:5.54;overflow:hidden}header .official-logo.sharp-brand img{position:absolute;filter:none;clip-path:none;max-width:none;max-height:none;width:108.18%;height:auto;left:-3.79%;top:-50.28%}header .official-logo .light-logo{display:none}header .official-logo .dark-logo{display:block}@media(max-width:1100px){.company-footer .footer-logo{width:230px}header .official-logo.sharp-brand{width:215px}}@media(max-width:760px){.hero{background-position:62% center}.copy h1{font-size:clamp(28px,6.5vw,38px)}header .official-logo.sharp-brand{width:195px}header .official-logo .light-logo{display:block}header .official-logo .dark-logo{display:none}.company-footer .footer-logo{width:255px}.work-gallery figcaption{font-size:17px;padding:20px}.work-photo{aspect-ratio:268/111}.projects .work-gallery{gap:20px}}

header .official-logo.supplied-brand{width:235px;display:block}header .official-logo.supplied-brand img{position:static;width:100%;height:auto;max-height:72px;filter:none;clip-path:inset(3px)}.company-footer .footer-logo{aspect-ratio:5.5}.company-footer .footer-logo img{width:108.82%;left:-4.68%;top:-56.43%;filter:none;clip-path:none}@media(max-width:1100px){header .official-logo.supplied-brand{width:215px}}@media(max-width:760px){header .official-logo.supplied-brand{width:195px}header .official-logo.supplied-brand img{filter:url(#logo-light)}}

/* V2.9: 서비스별 전용 이미지 */
.cards article{background-size:cover;background-position:center;height:320px}.cards article:after{background:linear-gradient(180deg,transparent 30%,#0b1420b0 68%,#0b1420f2 100%)}.cards span{bottom:23px;left:20px;right:18px}.cards small{line-height:1.7}@media(max-width:760px){.cards article{height:300px;background-position:center 45%}}

/* V2.10: 회사소개 배너 배경 */
.story{background-image:linear-gradient(90deg,rgba(9,23,35,.92) 0%,rgba(9,23,35,.77) 38%,rgba(9,23,35,.28) 72%,rgba(9,23,35,.14) 100%),url(assets/story-elevator-lobby.png);background-size:cover;background-position:center}.story p{color:#eef2f5;max-width:690px}@media(max-width:760px){.story{background-position:62% center}.story p br{display:none}}

/* V2.22: 사업분야 카드 상세 페이지 연결 */
.biz .cards article{position:relative}.business-home-link{position:absolute;inset:0;z-index:3}.business-home-link:focus-visible{outline:3px solid #d9252e;outline-offset:-5px}

.record-home-more{display:inline-block;margin-top:18px;font-size:13px;font-weight:700;color:#d9252e}.records-nav-group .company-submenu{min-width:210px}

/* V2.25: shared, explicit telephone consultation button */
.business-cta>a.consultation-button,.record-contact>a.consultation-button{display:flex;flex-direction:column;gap:10px;min-width:202px;box-sizing:border-box;padding:20px 25px;background:#d9252e;color:#fff;text-decoration:none;line-height:1.3;font-size:25px;white-space:nowrap;transition:background .15s}.consultation-button strong{font-size:27px;font-weight:800;letter-spacing:-.5px}.business-cta>a.consultation-button span,.record-contact>a.consultation-button span{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;font-weight:600;margin:0;line-height:1.5}.consultation-button i{font-style:normal;font-size:18px;font-weight:400}.business-cta>a.consultation-button:hover,.record-contact>a.consultation-button:hover{background:#bb1f28}.consultation-button:focus-visible{outline:3px solid #1a3549;outline-offset:4px}@media(max-width:760px){.business-cta>a.consultation-button,.record-contact>a.consultation-button{display:inline-flex;min-width:195px;padding:18px 23px}.consultation-button strong{font-size:25px}}

.admin-entry{float:right;color:#9aa6af;font-size:10px;text-decoration:none}.admin-entry:hover{color:#fff}

/* V2.33: head office, contact row, then branch addresses */
.company-footer .footer-address{color:#e5e9ec;line-height:1.9}.company-footer .footer-contact-row{margin-top:5px!important}.company-footer .footer-info address>.footer-branches{margin-top:13px;padding-top:12px;border-top:1px solid #ffffff19}.company-footer .footer-branches>div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:start;margin-top:5px;font-size:11px;line-height:1.9;color:#aab4bc;overflow-wrap:anywhere}.company-footer .footer-branches>div:first-child{margin-top:0}.company-footer .footer-branch-name{color:#d0d7dc;font-weight:600;white-space:nowrap}
@media(max-width:760px){.company-footer .footer-branches>div{font-size:12px;grid-template-columns:56px minmax(0,1fr);gap:9px;margin-top:7px}.company-footer .footer-info address>.footer-branches{margin-top:14px;padding-top:13px}}
