@charset "utf-8";
:root{--red:#df001b;--navy:#2d3040;--ink:#25262b;--muted:#787b83;--line:#e6e6e8;--container:1290px;--container-sub:1400px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;word-break:keep-all;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p,figure{margin:0}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}.hy-container{width:min(calc(100% - 80px),var(--container));margin:0 auto}.hy-site--sub .hy-container{width:min(calc(100% - 80px),var(--container-sub))}.hy-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.hy-skip{position:fixed;left:15px;top:-50px;z-index:9999;background:#fff;color:var(--red);padding:10px}.hy-skip:focus{top:15px}.hy-site{overflow:hidden}.hy-brand-mark{display:block;width:37px;height:40px;color:var(--red);flex:0 0 auto}.hy-slash{display:block;width:37px;height:54px;background:#DC0000;transform:skewX(-42.2deg)}.hy-subvisual__title .hy-slash:first-child{margin:0 0 4px 98px}.hy-subvisual__title .hy-slash:last-child{margin:5px 0 0 -89px}
/* header */.hy-site{position:relative}.hy-site--sub{padding-top:0}.hy-site--sub .hy-header{position:absolute;inset:0 0 auto;background:rgba(25,41,63,.1);border-bottom:1px solid rgba(255,255,255,.30)}.hy-site--sub .hy-logo span,.hy-site--sub .hy-gnb>ul>li>a{color:#fff}.hy-site--sub .hy-menu-button span{background:#fff}.hy-header{height:100px;position:relative;z-index:20;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);transition:.25s}.hy-site--main .hy-header{position:absolute;inset:0 0 auto;background:rgba(25,41,63,.1);border-bottom:1px solid rgba(255,255,255,.30)}.hy-header.is-fixed{position:fixed;inset:0 0 auto;width:100%;background:rgba(255,255,255,.98);box-shadow:0 6px 20px rgba(0,0,0,.08)}.hy-header__inner{height:100%;display:flex;align-items:center}.hy-logo{display:flex;align-items:center;gap:9px;flex:0 0 auto;margin-right:20px}.hy-logo span{display:flex;flex-direction:column;color:var(--ink);line-height:1}.hy-logo strong{font-size:19px;font-weight:800;letter-spacing:-.08em}.hy-logo small{margin-top:4px;font:700 8px Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:.04em}.hy-site--main .hy-logo span,.hy-site--main .hy-gnb>ul>li>a{color:#fff}.hy-header.is-fixed .hy-logo span,.hy-header.is-fixed .hy-gnb>ul>li>a{color:var(--ink)}.hy-header.is-fixed .hy-menu-button span{background:var(--ink)}.hy-header.is-fixed{border-bottom:1px solid var(--line)}.hy-gnb{margin-left:auto;height:100%}.hy-gnb>ul{height:100%;display:flex;align-items:center}.hy-gnb>ul>li{position:relative;height:100%;display:flex;align-items:center}.hy-gnb>ul>li>a{display:block;padding:39px clamp(14px,1.9vw,31px);font-size:18px;font-weight:500;letter-spacing:-.025em;white-space:nowrap}.hy-gnb>ul>li>a:after{content:"";display:block;height:2px;width:0;background:var(--red);margin:11px auto -13px;transition:.2s}.hy-gnb>ul>li:hover>a:after,.hy-gnb>ul>li.is-current>a:after{width:100%}.hy-gnb__sub{position:absolute;top:100%;left:50%;min-width:236px;padding:16px 0;border:0;border-top:3px solid #CB071E;background:#fff;box-shadow:0 18px 36px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .22s,transform .22s,visibility .22s}.hy-gnb>ul>li:hover .hy-gnb__sub{opacity:1;visibility:visible;transform:translate(-50%,0)}.hy-gnb__sub a{position:relative;display:block;padding:11px 28px;color:#4a4d55;font-size:16px;font-weight:500;letter-spacing:-.025em;white-space:nowrap;text-decoration:none;transition:color .15s,background .15s}.hy-gnb__sub a:before{content:"";position:absolute;left:14px;top:50%;width:0;height:2px;margin-top:-1px;background:#CB071E;transition:width .18s}.hy-gnb__sub a:hover:before{width:7px}.hy-gnb__sub a:hover{background:#FCF2F3;color:#CB071E}.hy-menu-button{width:50px;height:50px;margin-left:22px;border:0;background:transparent;display:grid;place-content:center;gap:6px}.hy-menu-button span{width:25px;height:2px;background:var(--ink)}.hy-site--main .hy-menu-button span{background:#fff}.hy-header.is-fixed .hy-menu-button span{background:var(--ink)}.hy-dim{position:fixed;z-index:900;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:.28s;display:none}.hy-dim.is-open{opacity:1;visibility:visible}.hy-mobile-nav{position:fixed;z-index:1100;inset:0;display:grid;align-content:start;background:#fff;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-16px);transition:opacity .26s,transform .26s,visibility .26s}.hy-mobile-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.hy-mobile-nav__top{display:flex;align-items:center;justify-content:space-between;width:min(calc(100% - 100px),1720px);height:100px;margin:0 auto;border-bottom:1px solid #ECECEE}.hy-mobile-nav__top .hy-logo span{color:var(--ink)}.hy-mobile-nav__top .hy-brand-mark{color:var(--red)}.hy-menu-close{display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;background:0;color:#25262b;font-size:36px;line-height:1;cursor:pointer;transition:color .15s}.hy-menu-close:hover{color:#CB071E}.hy-mobile-nav nav{width:min(calc(100% - 100px),1720px);margin:0 auto;padding:72px 0 90px}.hy-mobile-nav nav>ul{display:grid;grid-template-columns:1fr 2.65fr 1fr 1fr 1.15fr;gap:0}.hy-mobile-nav nav>ul>li{padding:0 30px;border-left:1px solid #ECECEE}.hy-mobile-nav nav>ul>li:first-child{border-left:0}.hy-mobile-nav nav>ul>li>a{display:block;padding-bottom:24px;margin-bottom:28px;border-bottom:2px solid #25262b;color:#25262b;font-size:24px;font-weight:700;letter-spacing:-.025em;text-decoration:none}.hy-mobile-nav nav>ul ul{display:grid;gap:17px}.hy-mobile-nav nav>ul ul a{position:relative;display:block;color:#6d7076;font-size:17px;letter-spacing:-.025em;text-decoration:none;word-break:keep-all;transition:color .15s,padding-left .15s}.hy-mobile-nav nav>ul ul a:hover{color:#CB071E;padding-left:11px}.hy-mobile-nav nav>ul ul a:before{content:"";position:absolute;left:0;top:50%;width:0;height:2px;margin-top:-1px;background:#CB071E;transition:width .15s}.hy-mobile-nav nav>ul ul a:hover:before{width:6px}.hy-mobile-nav nav>ul>li:nth-child(2) ul{grid-template-columns:1fr 1fr;column-gap:26px}
/* common sub */.hy-subvisual{height:502px;padding-top:102px;position:relative;display:grid;place-items:center;overflow:hidden;background:#456 url('../img/final/company-hero.jpg') center/cover no-repeat;color:#fff}.hy-subvisual--service{background-image:url('../img/final/service-hero.jpg')}.hy-subvisual--legal{background-image:url('../img/final/legal-hero.jpg')}.hy-subvisual--library{background-image:url('../img/final/library-hero.jpg')}.hy-subvisual--customer{background-image:url('../img/final/customer-hero.jpg')}.hy-subvisual__shade{position:absolute;inset:0;background:rgba(16,26,35,.26)}.hy-subvisual__title{position:relative;z-index:1;text-align:center;display:grid;justify-items:center;gap:0}.hy-subvisual__title h1,.hy-subvisual__en{display:block;font:700 80px/1 Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}.hy-subvisual__title p{margin:11px 0 0;font-size:26px;font-weight:600;letter-spacing:-.025em}.hy-tabs{background:#fff;padding:58px 0 0}.hy-tabs ul{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.hy-tabs--board ul{display:flex;justify-content:center}.hy-tabs--board li{flex:0 0 284px}.hy-tabs li{border:1px solid #D7D7D7;border-right:0}.hy-tabs li:last-child{border-right:1px solid #D7D7D7}.hy-tabs a{display:grid;min-height:64px;padding:8px;place-items:center;color:#666;font-size:20px;letter-spacing:-.025em;text-decoration:none}.hy-tabs a.is-active{position:relative;z-index:1;margin:-1px;border:1px solid #CB071E;color:#CB071E;font-weight:500}.hy-page{padding:102px 0 181px}.hy-page-heading{text-align:center;margin:0 auto 147px}.hy-page-heading h1,.hy-page-heading h2{margin:0;font-size:42px;font-weight:600;color:#333;letter-spacing:-.025em}.hy-page-heading p{margin-top:28px;color:#666;font-size:20px;letter-spacing:-.025em}.hy-section-heading{display:flex;align-items:center;gap:21px;margin:0 0 31px;font-size:26px;font-weight:600;color:#222;letter-spacing:-.025em}.hy-section-heading .hy-brand-mark{display:inline-block;flex:0 0 auto;width:21px;height:22px;vertical-align:-2px}.hy-table-wrap{overflow-x:auto}.hy-table{width:100%;border-top:4px solid #CB071D;border-collapse:collapse;min-width:700px;table-layout:fixed}.hy-table th,.hy-table td{height:57px;padding:10px 14px;border:0;border-bottom:3px solid #E7E7E7;text-align:center;font-size:18px;letter-spacing:-.025em}.hy-table th+th,.hy-table td+td{border-left:3px solid #E7E7E7}.hy-table th{background:#FCF2F3;font-weight:600;font-size:20px;color:#222}.hy-table td{color:#000}.hy-table tbody tr:nth-child(even) td{background:#FBFBFB}.hy-table tbody td:first-child{color:#666;font-weight:500}
/* main */.hy-hero{min-height:960px;position:relative;display:grid;place-items:center;color:#fff;background:#507da4}.hy-hero:before{content:"";position:absolute;inset:0;z-index:0;overflow:hidden;background:url('../img/final/main-hero.jpg') center/cover no-repeat;animation:hy-zoom 18s ease-out forwards;will-change:transform}.hy-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden}@keyframes hy-zoom{from{transform:scale(1)}to{transform:scale(1.12)}}.hy-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,40,60,.12),rgba(0,0,0,.14))}.hy-hero__copy{position:relative;z-index:2;margin-top:0;text-align:center;transform:translateY(63px)}.hy-hero__slash{position:absolute;left:50%;display:block;width:37px;height:54px;background:#DC0000;transform:skewX(-42.2deg)}.hy-hero__slash--top{top:-54px;margin-left:79px}.hy-hero__slash--bottom{top:187px;margin-left:-108px}.hy-hero__copy h1{font:700 clamp(58px,5.6vw,105px)/1 Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}.hy-hero__copy p{margin:26px 0 52px;font-size:32px;font-weight:600;letter-spacing:-.025em}.hy-hero__cert{position:absolute;z-index:3;bottom:0;width:100%;height:69px;display:flex;justify-content:center;align-items:center;gap:clamp(60px,24.4vw,470px);background:#1B1F2A;font-size:18px;font-weight:400;letter-spacing:-.025em}.hy-hero__cert span{display:inline-flex;align-items:center;gap:12px}.hy-hero__cert img{display:block;height:31px;width:auto}.hy-hero__cert span:last-child img{height:31px}.hy-scroll{position:absolute;z-index:4;left:50%;bottom:-59px;width:118px;height:118px;padding:0;border:0;background:0;transform:translateX(-50%);cursor:pointer}.hy-scroll img{display:block;width:118px;height:118px}.hy-main-section{padding:150px 0}.hy-project{display:grid;grid-template-columns:283px 1fr;gap:182px;align-items:start}.hy-project__side{padding-top:68px}.hy-main-title{font:700 50px/1 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}.hy-main-title .hy-slash{width:23px;height:36px;transform:skewX(-42.5deg);vertical-align:2px;margin-left:15px}.hy-project__copy{margin:22px 0 149px;color:#666;font-size:20px;line-height:1.35;letter-spacing:-.025em}.hy-controls{display:flex;align-items:center;gap:17px;flex-wrap:nowrap;white-space:nowrap}.hy-controls button{flex:0 0 54px;width:54px;height:54px;padding:0;display:grid;place-items:center;border:1px solid #d5d6da;border-radius:50%;background:#fff;color:#a5a7ad;font-size:25px;cursor:pointer}.hy-controls button.is-red{border-color:var(--red);background:var(--red);color:#fff}.hy-controls span{margin-left:30px;color:#bbb;font:500 17px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}.hy-controls span b{color:#C30F23;border-bottom:5px solid #C30F23;padding:0 2px}.hy-controls span i{font-style:normal;margin-left:27px}.hy-project-cards{display:flex;gap:45px;min-width:0}.hy-project-card{flex:0 0 363px}.hy-project-card__image{display:block;width:363px;height:363px;overflow:hidden;background:#ddd center/cover no-repeat}.hy-project-card:nth-child(1) .hy-project-card__image{background-image:url('../img/final/project-01.jpg');border:2px solid var(--red);background-origin:border-box;background-clip:border-box}.hy-project-card:nth-child(2) .hy-project-card__image{background-image:url('../img/final/project-02.jpg')}.hy-project-card:nth-child(3) .hy-project-card__image{background-image:url('../img/final/project-03.jpg')}.hy-project-card__body{position:relative;padding-top:24px}.hy-project-card small{display:block;color:#CD0E28;font:600 18px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}.hy-project-card h3{margin-top:8px;font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.025em}.hy-project-card h3 a{color:inherit;text-decoration:none}.hy-round{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--red);color:#fff}.hy-project-card .hy-round{position:absolute;right:0;bottom:-8px}.hy-project-card__image{transition:transform .5s}.hy-project-card:hover .hy-project-card__image{transform:scale(1.04)}.hy-project-card .hy-round{transition:transform .3s ease,background .2s,color .2s}.hy-project-card:hover .hy-round{background:#CB071E;color:#fff}.hy-project-card h3{transition:color .2s}.hy-project-card:hover h3{color:#CB071E}.hy-project-card:not(:first-child) .hy-round{background:#E4E5E7;color:#A8AAB0}.hy-about{position:relative;padding:100px 0 145px;color:#fff;background:none}.hy-about:before{content:"";position:absolute;left:0;top:0;width:83.44%;height:583px;background:#27313a url('../img/final/about-bg.jpg') right center/cover no-repeat}.hy-about>.hy-container{position:relative}.hy-about__text{margin:24px 0 89px;font-size:20px;line-height:1.4;letter-spacing:-.025em}.hy-about-links{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);margin-right:calc(-1 * (100vw - min(100vw - 80px, var(--container))) / 2)}.hy-about-link{min-height:363px;padding:49px 55px;background:#CD0D27;position:relative;overflow:hidden;text-decoration:none;color:#fff;transition:transform .3s ease,box-shadow .3s ease}.hy-about-link:hover{transform:translateY(-10px);box-shadow:0 22px 40px rgba(0,0,0,.22);z-index:2}.hy-about-link .hy-round{transition:transform .3s ease,background .2s,color .2s}.hy-about-link:hover .hy-round{transform:translateX(6px)}.hy-about-link:after{transition:transform .5s ease}.hy-about-link:hover:after{transform:scale(1.08)}.hy-about-link strong,.hy-about-link p,.hy-about-link small{transition:transform .3s ease}.hy-about-link:hover strong{transform:translateX(4px)}.hy-about-link:after{content:"";position:absolute;right:0;bottom:0;width:321px;height:321px;background:center/contain no-repeat}.hy-about-link:nth-child(1):after{background-image:url('../img/brand/about-deco1.png')}.hy-about-link:nth-child(2):after{background-image:url('../img/brand/about-deco2.png')}.hy-about-link:nth-child(3):after{background-image:url('../img/brand/about-deco3.png')}.hy-about-link:nth-child(2){background:#fff;color:#25262b}.hy-about-link:nth-child(2) small{color:#CD0E28}.hy-about-link:nth-child(3){background:#2F333D}.hy-about-link small{font:600 20px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}.hy-about-link strong{position:relative;z-index:1;display:block;margin-top:82px;font-size:32px;font-weight:600;letter-spacing:-.025em}.hy-about-link p{position:relative;z-index:1;margin-top:18px;font-size:18px;line-height:1.45;letter-spacing:-.025em}.hy-about-link small{position:relative;z-index:1}.hy-about-link .hy-round{position:absolute;z-index:2;right:60px;top:36px;width:45px;height:45px;background:#fff;color:var(--red)}.hy-about-link:nth-child(2) .hy-round{background:var(--red);color:#fff}.hy-contact{position:relative;height:648px;margin-bottom:103px;overflow:visible;background:#2D3040 url('../img/brand/contact-map.png') 12.6% top/87.4% auto no-repeat}.hy-contact__photo{position:absolute;left:0;top:113px;width:50.1%;height:638px;background:#ccc url('../img/final/contact.jpg') center/cover no-repeat}.hy-contact__data{position:absolute;left:54.58%;top:99px;width:27.86%;color:#fff}.hy-contact__grid{position:relative;display:grid;grid-template-columns:1fr 1fr;height:452px}.hy-contact__grid:before{content:"";position:absolute;left:0;top:50%;width:100%;height:4px;margin-top:-2px;background:rgba(255,255,255,.22)}.hy-contact__grid:after{content:"";position:absolute;left:50%;top:0;width:5px;height:100%;margin-left:-2.5px;background:rgba(255,255,255,.22)}.hy-contact__grid>div{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 14px}.hy-contact__grid i{display:grid;place-items:end center;height:38px}.hy-contact__grid i img{display:block}.hy-contact__grid b{display:block;margin-top:18px;font:500 31px Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.01em}.hy-contact__grid span{display:block;margin-top:12px;font:400 22px/1.45 Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.02em}.hy-contact__grid>div:last-child span{font:400 18px/1.5 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}.hy-location{position:absolute;left:-4.72%;top:503px;display:grid;place-items:center;width:298px;height:86px;color:#fff;text-decoration:none;font:400 22px Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:.02em;background:url('../img/brand/btn-location.png') center/100% 100% no-repeat}.hy-red-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-top:42px;min-width:250px;height:68px;border:0;background:var(--red);color:#fff;font:600 16px Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif}.hy-news{position:relative;padding:209px 0 40px}.hy-news__head{display:flex;align-items:center;gap:95px;margin-bottom:47px}.hy-news__head p{flex:1 1 auto}.hy-news__nav{flex:0 0 auto;display:flex;align-items:center;gap:11px}.hy-news__nav button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:0;color:#25262b;font-size:22px;cursor:pointer}.hy-news__nav span{width:15px;height:15px;border-radius:50%;background:#DEDEE1}.hy-news__nav span.is-on{background:#CD0D27}.hy-news__head p{font-size:22px;font-weight:500;color:#222;letter-spacing:-.025em}.hy-news-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.hy-news-card{display:flex;flex-direction:column;min-height:376px;padding:52px 38px;border:1px solid var(--line)}.hy-news-card.is-active{border:1px solid var(--red)}.hy-news-card small{color:var(--red);font:600 18px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}.hy-news-card h3{margin:31px 0 30px;font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.025em}.hy-news-card p{color:#91939a;font-size:16px;line-height:1.7;letter-spacing:-.025em}.hy-news-card time{display:block;margin-top:auto;padding-top:40px;color:#a2a4ab;font-size:15px;letter-spacing:-.025em}.hy-partners{padding:44px 0 66px;background:#fff}.hy-partners .hy-container{display:grid;grid-template-columns:repeat(5,1fr);gap:26px}.hy-partners a{display:grid;place-items:center;min-height:74px;border:1px solid #dedfe2;background:#fff}.hy-partners img{display:block;max-width:76%;height:auto}.hy-footer{position:relative}.hy-site--main .hy-footer:before{content:"";position:absolute;right:0;top:-295px;width:293px;height:295px;z-index:1;background:url('../img/brand/news-slash.png') right bottom/contain no-repeat;pointer-events:none}.hy-footer__inner{position:relative;background:#2F333D;color:#fff}.hy-footer .hy-container{width:100%}.hy-footer__grid{position:relative;height:302px}.hy-logo--footer{position:absolute;left:4.74%;top:49px}.hy-footer__info{position:absolute;left:25.94%;top:44px}.hy-logo--footer span{color:#fff}.hy-footer__info p{margin:0 0 32px;font-size:16px;font-weight:500;letter-spacing:-.025em}.hy-footer__info p a{color:#fff;text-decoration:none}.hy-footer__info p a+a:before{content:"ㅣ";display:inline-block;margin:0 20px;color:#656565;font-weight:300}.hy-footer__info address{color:#A1A1A1;font-size:15px;font-weight:400;font-style:normal;line-height:25px;letter-spacing:-.025em}.hy-footer__info address b{font-weight:500}.hy-footer__info address em{font-style:normal;font-weight:300;margin-left:10px}.hy-footer__info address span{margin-left:35px}.hy-footer__info small{display:block;margin-top:69px;color:#646464;font-size:14px;letter-spacing:-.025em}.hy-quick{position:absolute;right:3.13%;top:172px;z-index:2;padding:0;border:0;background:transparent;color:#fff;font:300 20px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em;cursor:pointer;text-align:center}.hy-quick i{display:block;margin-bottom:6px;font-size:22px;line-height:12px}
/* company and content */.hy-greeting-visual{position:relative;min-height:400px;background:#f3f4f5 url('../img/final/greeting.jpg') center/cover no-repeat;border:1px solid #ddd}.hy-greeting-card{position:absolute;right:45px;bottom:-45px;width:390px;padding:42px;background:var(--red);color:#fff}.hy-greeting-card h3{font:800 31px/1.2 Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.07em}.hy-greeting-card p{margin-top:13px;font-weight:600;line-height:1.6}.hy-letter{margin-top:78px;max-width:1130px;font-size:15px;line-height:2;color:#4d5058}.hy-letter h3{margin-bottom:35px;color:#292b30;font-size:30px;line-height:1.45;letter-spacing:-.07em}.hy-letter p{margin:20px 0}.hy-letter:before{content:"";display:block;width:40px;height:2px;background:var(--red);margin-bottom:31px}.hy-sign{text-align:right;color:#282a30;font-weight:700}.hy-history{position:relative;max-width:none;margin:0}.hy-history:before{content:"";position:absolute;left:699px;top:26px;bottom:88px;width:3px;background:#313131}.hy-history__row{display:grid;grid-template-columns:591px 226px 88px 1fr;align-items:start;min-height:115px}.hy-history__year{margin:0;padding:0;text-align:right;font:600 50px/1 Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;color:#323232;letter-spacing:-.025em}.hy-history__dot{position:relative}.hy-history__dot:before{content:"";position:absolute;left:98px;top:15px;width:22px;height:22px;box-sizing:border-box;border:3px solid #CB071D;border-radius:50%;background:#fff}.hy-history__date{margin:0;padding-top:14px;font:400 20px/1 Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;color:#121212;letter-spacing:-.025em;white-space:nowrap}.hy-history__content{padding-top:13px}.hy-history__content p{margin:0;font-size:18px;color:#666;letter-spacing:-.025em}.hy-service-nav{margin-top:0}.hy-service-nav ul{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #D7D7D7;border-left:1px solid #D7D7D7}.hy-service-nav li{display:flex}.hy-service-nav li>a{width:100%}.hy-service-nav a{display:grid;place-items:center;min-height:64px;padding:8px 10px;border-right:1px solid #D7D7D7;border-bottom:1px solid #D7D7D7;color:#666;text-align:center;font-size:18px;letter-spacing:-.025em;text-decoration:none;word-break:keep-all}.hy-service-nav a.is-active{position:relative;z-index:1;margin:-1px;border:1px solid #CB071E;color:#CB071E;font-weight:500}.hy-service-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:0;aspect-ratio:1403/293;padding:0;background:#F9F8F7 url('../img/final/service-detail.jpg') center/cover no-repeat}.hy-service-banner h3{margin:0;font-size:32px;font-weight:700;color:#333;letter-spacing:-.025em}.hy-service-banner:after{content:"";display:block;width:47px;height:8px;margin:22px 0 0;background:#CB071D}.hy-service-banner p{order:1;margin:34px 0 0;font-size:22px;font-weight:500;color:#333;line-height:1.5;letter-spacing:-.025em}.hy-service-detail{max-width:none;margin:82px 0 0;padding-left:30px}.hy-detail-row{margin-top:89px}.hy-detail-row h4{display:flex;align-items:center;gap:20px;margin:0;font-size:26px;font-weight:600;color:#222;letter-spacing:-.025em}.hy-detail-row h4:before{content:"";flex:0 0 auto;display:inline-block;width:21px;height:22px;background:var(--red);clip-path:polygon(0 0,100% 0,100% 97.5%,78.4% 77.5%,78.4% 20%,21.6% 20%,21.6% 80%,54.1% 80%,70.3% 100%,0 100%)}.hy-detail-row p,.hy-detail-row li{margin:0;color:#333;font-size:20px;line-height:32px;letter-spacing:-.025em}.hy-board-head{display:flex;align-items:center;justify-content:space-between;margin:-15px 0 40px}.hy-board-search{display:flex;border-bottom:1px solid #333}.hy-board-search input{width:230px;padding:10px 4px;border:0;outline:0}.hy-board-search button{border:0;background:transparent;color:var(--red);font-size:20px}.hy-board{width:100%;border-top:2px solid var(--red);border-collapse:collapse}.hy-board th,.hy-board td{height:58px;padding:10px;border:1px solid var(--line);text-align:center;font-size:14px}.hy-board th{background:#fff5f6}.hy-board td.subject{text-align:left}.hy-pagination{display:flex;justify-content:center;gap:5px;margin-top:45px}.hy-pagination a,.hy-pagination span{display:grid;place-items:center;width:35px;height:35px;color:#777}.hy-pagination .is-current{border:1px solid var(--red);color:var(--red);font-weight:700}
@media(max-width:1000px){.hy-container{width:min(calc(100% - 40px),var(--container))}.hy-header{height:75px}.hy-subvisual{padding-top:75px}.hy-logo{min-width:0}.hy-gnb{display:none}.hy-menu-button{margin-left:auto}.hy-site--main .hy-menu-button span{background:#fff}.hy-dim{display:block}.hy-mobile-nav{position:fixed;z-index:1000;left:auto;right:0;top:0;bottom:auto;display:block;align-content:normal;width:min(440px,92vw);height:100vh;padding:24px;background:#fff;border-top:0;overflow:auto;opacity:1;visibility:visible;transform:translateX(102%);transition:transform .3s}.hy-mobile-nav.is-open{max-height:none;transform:translateX(0)}.hy-mobile-nav nav{width:auto;margin:0;padding:0}.hy-mobile-nav nav>ul{display:block}.hy-mobile-nav nav>ul>li{border-left:0}.hy-mobile-nav nav>ul>li>a{padding-bottom:0;margin-bottom:0;border-bottom:0}.hy-mobile-nav nav>ul>li:nth-child(2){grid-column:auto}.hy-mobile-nav__top{display:flex !important;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--line)}.hy-logo--dark span{color:var(--ink)}.hy-menu-close{border:0;background:transparent;font-size:28px}.hy-mobile-nav nav>ul>li{padding:18px 0;border-bottom:1px solid var(--line)}.hy-mobile-nav nav>ul>li>a{font-size:19px;font-weight:800}.hy-mobile-nav nav>ul ul{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:13px}.hy-mobile-nav nav>ul ul a{color:#777;font-size:14px;padding-left:0}.hy-mobile-nav nav>ul>li:nth-child(2) ul{grid-template-columns:repeat(2,1fr)}.hy-dim{position:fixed;z-index:900;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.3s}.hy-dim.is-open{opacity:1;visibility:visible}.hy-subvisual{height:375px}.hy-subvisual__title .hy-slash:first-child{margin-left:65px}.hy-subvisual__title .hy-slash:last-child{margin-left:-59px}.hy-subvisual__title .hy-slash:first-child{margin-left:52px}.hy-subvisual__title .hy-slash:last-child{margin-left:-72px}.hy-subvisual__title h1,.hy-subvisual__en{font-size:52px}.hy-subvisual__title p{font-size:20px}.hy-tabs{padding-top:25px;overflow:auto}.hy-tabs ul{min-width:max-content}.hy-tabs a{padding-inline:25px}.hy-hero{min-height:700px}.hy-hero__cert{gap:30px;font-size:12px}.hy-project{grid-template-columns:1fr}.hy-project-cards{gap:20px}.hy-project-card__image{height:260px}.hy-about-links{margin-right:0}.hy-contact{height:auto;margin-bottom:0;background-position:center top}.hy-contact__photo{position:static;width:100%;height:360px}.hy-contact__data{position:static;left:auto;top:auto;width:auto;padding:60px 9vw 80px}.hy-contact__grid{height:auto}.hy-contact__grid>div{padding:40px 14px}.hy-location{position:static;margin:40px auto 0;left:auto;top:auto}.hy-news-cards{grid-template-columns:repeat(2,1fr)}.hy-partners .hy-container{grid-template-columns:repeat(3,1fr)}.hy-footer .hy-container{width:min(calc(100% - 40px),var(--container))}.hy-footer__grid{height:auto;padding:55px 0}.hy-logo--footer{position:static}.hy-footer__info{position:static;margin-top:34px}.hy-quick{position:absolute;right:0;top:auto;bottom:20px}.hy-service-nav ul{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.hy-container{width:calc(100% - 32px)}.hy-logo strong{font-size:16px}.hy-hero{min-height:570px}.hy-hero__copy{width:90%}.hy-hero__copy h1{font-size:46px}.hy-hero__copy p{font-size:18px;line-height:1.5}.hy-hero__cert{height:58px;gap:10px;padding:0 12px;font-size:10px}.hy-main-section{padding:86px 0}.hy-main-title{font-size:32px}.hy-project-cards{grid-template-columns:1fr}.hy-project-card{display:grid;grid-template-columns:140px 1fr;gap:16px}.hy-project-card__image{height:140px}.hy-project-card__body{padding-top:14px}.hy-about{padding-top:72px}.hy-about-links{grid-template-columns:1fr}.hy-about-link{min-height:160px;padding:28px 32px}.hy-about-link strong{margin-top:45px;font-size:23px}.hy-contact__photo{height:240px}.hy-contact__data{padding:45px 22px 60px}.hy-contact__grid>div{padding:26px 8px}.hy-contact__grid b{margin-top:12px;font-size:18px}.hy-contact__grid span{font-size:14px}.hy-location{width:250px;height:72px;font-size:19px}.hy-news{padding:85px 0 30px}.hy-news__head{display:block;margin-bottom:30px}.hy-news__head p{margin-top:14px;line-height:1.6}.hy-news__nav{margin-top:18px}.hy-news-cards{grid-template-columns:1fr}.hy-news-card{min-height:260px}.hy-partners .hy-container{grid-template-columns:repeat(2,1fr);gap:8px}.hy-partners a:last-child{grid-column:span 2}.hy-partners a{min-height:62px}.hy-footer__grid{padding:44px 0}.hy-footer__info address span{display:block;margin-left:0}.hy-footer__info address em{display:block;margin-left:0}.hy-footer__info small{margin-top:34px}.hy-quick{position:absolute;right:18px;bottom:30px}.hy-page{padding:65px 0 90px}.hy-page-heading{margin-bottom:60px}.hy-page-heading h1,.hy-page-heading h2{font-size:32px}.hy-page-heading p{margin-top:18px;font-size:16px}.hy-greeting-visual{min-height:250px}.hy-greeting-card{right:15px;bottom:-35px;width:75%;padding:24px}.hy-greeting-card h3{font-size:23px}.hy-letter{margin-top:65px}.hy-letter h3{font-size:24px}.hy-history:before{left:8px;top:12px;bottom:20px}.hy-history__row{grid-template-columns:1fr;padding-left:44px;min-height:0;margin-bottom:34px}.hy-history__year{text-align:left;font-size:32px}.hy-history__dot:before{left:-44px;top:-30px}.hy-history__date{padding-top:10px}.hy-history__content{padding-top:6px}.hy-service-nav ul{grid-template-columns:repeat(2,1fr)}.hy-service-banner{padding:35px 25px}.hy-board-head{display:block}.hy-board-search{margin-top:18px}.hy-board-search input{width:100%}.hy-board th,.hy-board td{font-size:12px;padding:6px}}
/* service detail blocks */.hy-detail-row .hy-lead{margin:14px 0 10px;color:var(--red);font-weight:700;font-size:16px;line-height:1.7}.hy-detail-row .hy-para{margin:45px 0 0}.hy-detail-row .hy-para p{margin:0;color:#333;font-size:20px;line-height:32px}.hy-bullets{margin:45px 0 0}.hy-bullets li{position:relative;margin:0;color:#333;font-size:20px;line-height:32px;word-break:keep-all}.hy-bullets li.is-depth1{padding-left:22px}.hy-bullets li.is-depth2{padding-left:44px}.hy-bullets li.is-depth3{padding-left:66px}.hy-cards{display:grid;gap:18px;margin:24px 0 8px}.hy-cards--2{grid-template-columns:repeat(2,1fr)}.hy-cards--3{grid-template-columns:repeat(3,1fr)}.hy-card{min-height:110px;padding:24px 26px;border:1px solid var(--line);background:#fbfbfc}.hy-card strong{display:block;margin-bottom:11px;font-size:16px;color:#25262b}.hy-card p{margin:4px 0;color:#606369;font-size:14px;line-height:1.7}.hy-steps{margin:26px 0 8px;overflow-x:auto}.hy-steps ol{display:flex;align-items:stretch;gap:34px;min-width:max-content}.hy-step{position:relative;width:230px;display:flex;flex-direction:column;border:1px solid var(--line);background:#fff}.hy-step+.hy-step:before{content:"";position:absolute;left:-24px;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 10px;border-color:transparent transparent transparent #c9cbd1;transform:translateY(-50%)}.hy-step__head{padding:14px 10px;background:#8b909e;color:#fff;text-align:center}.hy-step:nth-child(2) .hy-step__head{background:#6f7686}.hy-step:nth-child(3) .hy-step__head{background:#565e70}.hy-step:nth-child(4) .hy-step__head{background:#333a4d}.hy-step:nth-child(5) .hy-step__head{background:#25262b}.hy-step__head small{display:block;font:600 12px Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:.08em;opacity:.8}.hy-step__head strong{display:block;margin-top:6px;font-size:15px;letter-spacing:-.04em}.hy-step__body{flex:1;padding:18px 16px}.hy-step__body p{margin:6px 0;color:#5c5f66;font-size:13px;line-height:1.65;word-break:keep-all}.hy-flow{display:grid;gap:12px;margin:26px 0 8px}.hy-flow--6{grid-template-columns:repeat(6,1fr)}.hy-flow--4{grid-template-columns:repeat(4,1fr)}.hy-flow li{position:relative;display:grid;align-content:center;justify-items:center;gap:9px;min-height:118px;padding:16px 10px;border:1px solid var(--line);border-top:2px solid var(--red);background:#fff;text-align:center}.hy-flow li b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fdf1f2;color:var(--red);font:700 13px Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif}.hy-flow li span{font-size:13px;line-height:1.45;color:#3f4147;word-break:keep-all}.hy-table--rowhead td{text-align:center}.hy-table--rowhead th:first-child{width:210px;background:#fafafb;font-weight:600}.hy-gnb__sub.is-wide{min-width:660px;display:grid;grid-template-columns:1fr 1fr;column-gap:10px;padding:18px 10px}.hy-gnb__sub.is-wide a{font-size:15px;padding:10px 22px}.hy-gnb__sub.is-wide a:before{left:9px}
@media(max-width:1000px){.hy-cards--2,.hy-cards--3{grid-template-columns:1fr}.hy-flow--6{grid-template-columns:repeat(3,1fr)}.hy-flow--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.hy-detail-row .hy-para p,.hy-bullets li,.hy-detail-row p,.hy-detail-row li{font-size:16px;line-height:1.75}.hy-bullets li.is-depth1{padding-left:14px}.hy-bullets li.is-depth2{padding-left:28px}.hy-bullets li.is-depth3{padding-left:42px}.hy-flow--6,.hy-flow--4{grid-template-columns:repeat(2,1fr)}.hy-table--rowhead th:first-child{width:110px}}

/* ------------------------------------------------------------------
   gnuboard 코어 /css/default.css 가 body,th,td,input... 에
   'Malgun Gothic',dotum 을 직접 지정하고 있어 테마 글꼴을 덮어쓴다.
   코어 CSS 는 게시판 스킨 때문에 유지해야 하므로 여기서 되돌린다.
   ------------------------------------------------------------------ */
body,h1,h2,h3,h4,h5,h6,p,a,span,em,strong,b,small,i,li,dt,dd,label,figcaption,th,td,input,select,textarea,button{font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif}
.hy-logo small{font-family:Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif}
/* ------------------------------------------------------------------
   조직도 — PSD(3_조직도) 실측 좌표. 캔버스 1920 / 컨테이너 1400(좌측 260) 기준
   ------------------------------------------------------------------ */
.hy-page--org{padding-bottom:251px}
.hy-org{position:relative;height:622px}
.hy-org>div{position:absolute;display:grid;place-items:center;text-align:center;box-sizing:border-box}
.hy-org>i{position:absolute;display:block}
.hy-org__dot{width:9px;height:9px;box-sizing:border-box;border:2px solid #fff;border-radius:50%;background:#CB071D;z-index:2}
.hy-org__ceo{left:543px;top:0px;width:331px;height:85px;border:2px solid #FFE6E8;border-radius:20px;overflow:hidden;background:#CB071E;color:#fff;font:600 24.6px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;z-index:1}
.hy-org__ceo:before{content:"";position:absolute;left:50%;top:50%;width:110px;height:110px;margin:-55px 0 0 -55px;background:url('../img/brand/org-ceo.png') center/contain no-repeat;pointer-events:none}
.hy-org__ceo span{position:relative}
.hy-org__dot--ceo{left:701px;top:111px;}
.hy-org__vline{left:703px;top:113px;width:5px;height:352px;background:#2F333D}
.hy-org__line7{left:705px;top:268px;width:89px;height:4px;background:#2F333D}
.hy-org__advisor{left:742px;top:230px;width:241px;height:83px;border-radius:999px;background:#CB071E;color:#fff;font:600 24.6px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif}
.hy-org__line8{left:981px;top:269px;width:20px;height:5px;background:#B1B9C1}
.hy-org__line9{left:997px;top:52px;width:5px;height:356px;background:#B1B9C1}.hy-org__aline{left:999px;width:20px;height:4px;background:#B1B9C1}.hy-org__sub{border:1px solid #CECFD2;border-radius:999px;background:#fff;color:#2F333E;letter-spacing:-.025em;left:1036px;width:244px;height:70px}




.hy-org__sub{border:1px solid #CECFD2;border-radius:999px;background:#fff;color:#2F333E;font:600 17.6px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}


.hy-org__manage{left:573px;top:318px;width:266px;height:76px;border-radius:999px;background:#2F333E;color:#fff;font:600 17.6px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}
.hy-org__hline{left:249px;top:462px;width:899px;height:4px;background:#D2D6DB}
.hy-org__branch--1{left:249px;top:463px;width:4px;height:51px;background:#D2D6DB}
.hy-org__branch--2{left:547px;top:464px;width:4px;height:51px;background:#D2D6DB}
.hy-org__branch--3{left:842px;top:462px;width:4px;height:50px;background:#D2D6DB}
.hy-org__branch--4{left:1145px;top:462px;width:5px;height:50px;background:#D2D6DB}
.hy-org__dot--b1{left:247px;top:511px;}
.hy-org__dot--b2{left:544px;top:512px;}
.hy-org__dot--b3{left:839px;top:509px;}
.hy-org__dot--b4{left:1143px;top:509px;}
.hy-org__team{border:1px solid #CECFD2;border-radius:999px;background:#fff;color:#2F333E;font:600 17.6px "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}
.hy-org__team--1{left:118px;top:545px;width:267px;height:77px;}
.hy-org__team--2{left:416px;top:544px;width:267px;height:78px;}
.hy-org__team--3{left:713px;top:544px;width:265px;height:78px;}
.hy-org__team--4{left:1015px;top:544px;width:267px;height:78px;}
@media(max-width:1000px){
.hy-page--org{padding-bottom:90px}
.hy-org{height:auto;display:grid;gap:14px;justify-items:center}
.hy-org>i{display:none}
.hy-org>div{position:static;left:auto;top:auto;width:min(100%,320px);height:auto;min-height:64px;padding:14px 16px}
.hy-org__ceo{border-radius:16px;font-size:21px}
.hy-org__advisor{font-size:21px}
.hy-org__manage,.hy-org__sub,.hy-org__team{font-size:16px}
}

/* 기술자보유현황 — PSD 4_기술자보유현황 : 표 폭 1443, 섹션제목까지 110px */
.hy-page--tech>.hy-container{width:min(calc(100% - 80px),1443px)}
.hy-page--tech .hy-page-heading{margin-bottom:106px}
@media(max-width:1000px){.hy-page--tech .hy-page-heading{margin-bottom:60px}}

/* 장비보유현황 — PSD 4_장비보유현황 : 헤더 74 / 본문행 77, 두 번째 표 앞 여백 */
.hy-table--equip th{height:74px}
.hy-table--equip td{height:77px}
.hy-page--equip .hy-table-wrap+.hy-section-heading{margin-top:177px}
@media(max-width:1000px){
.hy-table--equip th{height:56px}
.hy-table--equip td{height:60px}
.hy-page--equip .hy-table-wrap+.hy-section-heading{margin-top:70px}
}

/* ------------------------------------------------------------------
   오시는 길 — PSD(5_오시는길) 실측. 컨테이너 1443
   ------------------------------------------------------------------ */
.hy-page--way>.hy-container{width:min(calc(100% - 80px),1443px)}
.hy-page--way .hy-page-heading{margin-bottom:81px}
.hy-map{width:100%;aspect-ratio:1442/540;overflow:hidden;background:#eee}
.hy-map img{display:block;width:100%;height:100%;object-fit:cover}
.hy-way{display:grid;grid-template-columns:1fr 1fr;margin:60px 0 71px}
.hy-way__col{padding-left:13px}
.hy-way__col .hy-section-heading{gap:24px;margin:0 0 27px;font-size:24px}
.hy-way__col .hy-brand-mark{width:29px;height:32px}
.hy-way__item{display:flex;align-items:center;gap:0;min-height:40px;margin:0 0 19px;font-size:20px;font-weight:500;color:#222;letter-spacing:-.025em}.hy-way__name{white-space:nowrap}.hy-way__item--bus .hy-way__name{flex:0 0 209px;width:209px}
.hy-way__item:last-child{margin-bottom:0}
.hy-way__item i{flex:0 0 auto;display:grid;place-items:center;width:29px;margin-right:24px}
.hy-way__item i img{display:block}
.hy-way__bus{display:inline-flex;margin-left:20px}
.hy-way__bus b{box-sizing:border-box;display:grid;place-items:center;width:80px;height:36px;margin-left:3px;border-radius:6px;background:#F1F1F1;font-size:20px;font-weight:500;letter-spacing:-.025em}
.hy-way__bus b:first-child{margin-left:0}
/* 회사정보 표 : 상단 5px 빨간선 / 라벨칸 #F3F3F3 */
.hy-table--info{border-top-width:2px;border-bottom:1px solid #E7E7E7}
.hy-table--info th{background:#F3F3F3;font-size:20px;font-weight:600;color:#222;border-bottom:1px solid #E7E7E7}
.hy-table--info td{text-align:left;padding-left:28px;font-size:18px;color:#000;border-bottom:1px solid #E7E7E7}
.hy-table--info tr:first-child th,.hy-table--info tr:first-child td{height:68px}
.hy-table--info tr:last-child th,.hy-table--info tr:last-child td{height:76px;border-bottom:0}
.hy-table--info th+td,.hy-table--info td+th{border-left:1px solid #E7E7E7}
.hy-table--info tbody tr:nth-child(even) td{background:#fff}
@media(max-width:1000px){
.hy-page--way .hy-page-heading{margin-bottom:50px}
.hy-way{grid-template-columns:1fr;gap:40px;margin:40px 0 50px}
.hy-way__col{padding-left:0}
.hy-way__item{flex-wrap:wrap;font-size:17px}.hy-way__name{white-space:normal}.hy-way__item--bus .hy-way__name{flex:0 1 auto;width:auto;margin-right:12px}.hy-way__item i{margin-right:12px}
.hy-way__bus{margin-left:0;flex-wrap:wrap}
.hy-way__bus b{width:70px;height:32px;font-size:16px}
.hy-table--info th{font-size:16px}
.hy-table--info td{font-size:15px;padding-left:16px}
}

/* ------------------------------------------------------------------
   CEO 인사말 — 1_인사말.jpg / .psd 픽셀 실측 (캔버스 1920, 컨테이너 1400·좌측 260)
   ------------------------------------------------------------------ */
.hy-page--greet .hy-page-heading{margin-bottom:13px}
.hy-greet-visual{position:relative;width:100%;aspect-ratio:1400/523;background:#ddd url('../img/final/greeting.jpg') center/cover no-repeat}
.hy-greet-visual__bar{position:absolute;left:55.64%;top:47.80%;width:5px;height:125px;background:#fff;z-index:1}
.hy-greet-card{position:absolute;left:51.50%;top:62.52%;width:44.86%;height:50.10%;padding:87px 0 0 42px;
  color:#fff;background:linear-gradient(135deg,#DE0000 0%,#A10101 100%);box-sizing:border-box}
.hy-greet-card strong{display:block;font:700 55px/1 Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif;letter-spacing:-.025em}
.hy-greet-card p{margin:26px 0 0;font-size:26px;font-weight:600;line-height:38px;letter-spacing:-.025em}
.hy-greet-title{margin:117px 0 0;font-size:48px;font-weight:400;line-height:1.25;color:#333;letter-spacing:-.025em;word-break:keep-all}
.hy-greet-title b{font-weight:700}
.hy-greet-rule{display:block;width:50px;height:4px;margin:58px 0 0 1px;background:#A10101}
.hy-greet-body{margin-top:46px}
.hy-greet-body p{margin:0 0 29px;font-size:20px;line-height:29px;color:#333;letter-spacing:-.025em}
.hy-greet-body p:last-child{margin-bottom:0}
.hy-greet-sign{display:flex;align-items:center;justify-content:flex-end;gap:0;margin:43px 0 0}
.hy-greet-sign b{font-size:20px;font-weight:700;color:#333;letter-spacing:-.025em}
.hy-greet-sign img{display:block;margin-left:22px}
@media(max-width:1000px){
.hy-page--greet .hy-page-heading{margin-bottom:24px}
.hy-greet-visual{aspect-ratio:auto;height:auto;padding-top:56%;background-size:cover}
.hy-greet-visual__bar{display:none}
.hy-greet-card{position:static;width:100%;height:auto;padding:34px 24px 38px}
.hy-greet-card strong{font-size:34px}
.hy-greet-card p{margin-top:14px;font-size:18px;line-height:28px}
.hy-greet-title{margin-top:50px;font-size:26px;line-height:1.45}
.hy-greet-rule{margin-top:30px}
.hy-greet-body{margin-top:28px}
.hy-greet-body p{margin-bottom:22px;font-size:16px;line-height:1.75}
.hy-greet-body p br{display:none}
.hy-greet-sign{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:32px}
.hy-greet-sign b{font-size:16px}
}

/* ------------------------------------------------------------------
   게시판 — PSD 27·28·29·30 실측 (컨테이너 1403, 좌측 253)
   ------------------------------------------------------------------ */
.hy-page--board>.hy-container{width:min(calc(100% - 80px),1403px)}.hy-page--legal>.hy-container{width:min(calc(100% - 80px),1443px)}.hy-page--gal>.hy-container{width:min(calc(100% - 80px),1439px)}
.hy-page--board .hy-page-heading{margin-bottom:56px}

/* 검색 : 밑줄형, 폭 305 */
.hy-board-search{display:flex;align-items:center;gap:8px;width:280px;margin:0 0 24px auto;padding-bottom:8px;border-bottom:1px solid #CBCBCB}
.hy-board-search input{flex:1;min-width:0;border:0;background:0;font-size:15px;font-weight:500;letter-spacing:-.025em;outline:0}
.hy-board-search input::placeholder{color:#CBCBCB}
.hy-board-search button{flex:0 0 auto;padding:0;border:0;background:0;color:#8b8d93;font-size:17px;line-height:1;cursor:pointer}

/* 목록 */
.hy-board{border-top:3px solid #D8D8D8}
.hy-board__head,.hy-board__row{display:grid;align-items:center}
.hy-board--basic .hy-board__head,.hy-board--basic .hy-board__row{grid-template-columns:120px 1fr 160px}
.hy-board--qna .hy-board__head,.hy-board--qna .hy-board__row{grid-template-columns:120px 1fr 130px 150px 160px}
.hy-board__head{height:56px;background:#F5F5F5;font-size:16px;font-weight:600;color:#262626;letter-spacing:-.025em;text-align:center}
.hy-board__row{min-height:56px;border-bottom:1px solid #EDEDED;text-align:center}
.hy-board__no{font-size:15px;color:#686868}
.hy-board__subject{display:flex;align-items:center;gap:8px;padding:12px 24px;text-align:left}
.hy-board__subject a{color:#686868;font-size:15px;letter-spacing:-.025em;text-decoration:none}
.hy-board__subject a:hover{color:var(--ink);text-decoration:underline}
.hy-board__subject i{flex:0 0 auto;color:#8b8d93;font-size:18px}
.hy-board__state{font-size:14px;color:#686868;letter-spacing:-.025em}
.hy-board__state.is-wait{color:#B80202}
.hy-board__writer,.hy-board__date{font-size:14px;color:#686868;letter-spacing:-.025em}
.hy-board__empty{padding:64px 0;border-bottom:1px solid #EDEDED;text-align:center;color:#8b8d93;font-size:15px}

/* 페이지네이션 : PSD 39x39 */
.hy-paging{display:flex;justify-content:center;gap:0;margin-top:56px}
.hy-paging a,.hy-paging strong,.hy-paging span{display:grid;place-items:center;min-width:34px;height:34px;padding:0 5px;color:#686868;font-size:14px;text-decoration:none}
.hy-paging strong,.hy-paging .sound_only+a,.hy-paging a:hover{color:var(--ink)}
.hy-paging strong{font-weight:600;color:#CB071E}

/* 갤러리 : PSD 카드 443x266, 3열, 가로간격 55 */
.hy-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:54px 55px}
.hy-gallery__item{display:block;text-decoration:none}
.hy-gallery__thumb{display:block;aspect-ratio:443/266;overflow:hidden;background:#eceded}
.hy-gallery__thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.hy-gallery__item:hover img{transform:scale(1.04)}
.hy-gallery__noimg{display:block;width:100%;height:100%;background:#eceded}
.hy-gallery__item small{display:block;margin-top:20px;color:#870606;font-size:14px;font-weight:600;letter-spacing:-.025em}
.hy-gallery__item strong{display:block;margin-top:8px;color:#494949;font-size:15px;font-weight:500;letter-spacing:-.025em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.hy-board__btns{display:flex;justify-content:flex-end;margin-top:30px}
.hy-board__write{display:grid;place-items:center;width:170px;height:52px;background:#fff;border:1px solid #CB071E;color:#CB071E;font-size:16px;font-weight:500;text-decoration:none}
.hy-board__write:hover{background:#CB071E;color:#fff}

@media(max-width:1000px){
.hy-page--board .hy-page-heading{margin-bottom:44px}
.hy-board-search{width:100%;margin-bottom:26px;padding-bottom:8px;border-bottom-width:2px}
.hy-board-search input{font-size:16px}
.hy-board{border-top-width:3px}
.hy-board__head{display:none}
.hy-board--basic .hy-board__row,.hy-board--qna .hy-board__row{grid-template-columns:1fr auto;gap:4px 12px;padding:18px 4px;border-bottom-width:1px;border-bottom-color:#e7e7e7;text-align:left}
.hy-board__no{display:none}
.hy-board__subject{grid-column:1/-1;padding:0}
.hy-board__subject a{font-size:16px}
.hy-board__state,.hy-board__writer,.hy-board__date{font-size:13px}
.hy-paging{margin-top:40px}
.hy-gallery{grid-template-columns:repeat(2,1fr);gap:34px 20px}
.hy-gallery__item small{margin-top:16px;font-size:14px}
.hy-gallery__item strong{font-size:16px}
}
@media(max-width:620px){
.hy-gallery{grid-template-columns:1fr}
}

/* ------------------------------------------------------------------
   법령정보 — PSD 26 실측 (표 1443, 상단선 3px #CB071D)
   ------------------------------------------------------------------ */
.hy-page--legal .hy-page-heading{margin-bottom:70px}
.hy-legal{border-top:2px solid #CB071D}
.hy-legal__head,.hy-legal__row{display:grid;grid-template-columns:13.58% 36.45% 17.53% 16.08% 16.36%;align-items:center;text-align:center}
.hy-legal__head{height:48px;background:#FCF2F3;font-size:16px;font-weight:600;color:#222;letter-spacing:-.025em}
.hy-legal__head span+span,.hy-legal__row span+span{border-left:1px solid #E7E7E7}
.hy-legal__row{min-height:48px;border-bottom:1px solid #E7E7E7}
.hy-legal__row:nth-child(even){background:#FBFBFB}
.hy-legal__no{font-size:14px;font-weight:500;color:#666}
.hy-legal__name{padding:10px 16px;font-size:15px;color:#000;letter-spacing:-.025em}
.hy-legal__row a{color:#333;font-size:14px;letter-spacing:-.025em;text-decoration:underline;text-underline-offset:3px}
.hy-legal__row a:hover{color:#CB071E}
.hy-legal__none{color:#c9cbd0;font-size:14px}

/* 입력 폼 (법령정보 등록 · 견적문의 등에서 공용) */
.hy-form{border-top:3px solid #CB071D}
.hy-form__row{display:grid;grid-template-columns:298px 1fr;align-items:center;border-bottom:1px solid #E7E7E7}
.hy-form__row>label{align-self:stretch;display:grid;place-items:center;padding:22px 10px;background:#F3F3F3;font-size:20px;font-weight:600;color:#333;letter-spacing:-.025em}
.hy-form__row>div{padding:16px 28px}
.hy-form__row input[type=text],.hy-form__row input[type=password],.hy-form__row textarea{
  width:100%;box-sizing:border-box;padding:14px 16px;border:1px solid #E1E1E3;background:#fff;font-size:18px;letter-spacing:-.025em}
.hy-form__row textarea{resize:vertical;line-height:1.6}
.hy-form__btns{display:flex;justify-content:center;gap:12px;margin-top:44px}
.hy-btn{display:grid;place-items:center;width:198px;height:61px;border:1px solid #d5d6da;background:#fff;color:#333;font-size:18px;font-weight:500;text-decoration:none;cursor:pointer}
.hy-btn--red{border-color:#CB071E;background:#CB071E;color:#fff}

@media(max-width:1000px){
.hy-page--legal .hy-page-heading{margin-bottom:56px}
.hy-legal__head{display:none}
.hy-legal__row{grid-template-columns:1fr 1fr 1fr;gap:6px;min-height:0;padding:16px 4px}
.hy-legal__head span+span,.hy-legal__row span+span{border-left:0}
.hy-legal__no{display:none}
.hy-legal__name{grid-column:1/-1;padding:0 0 8px;text-align:left;font-size:16px;font-weight:600}
.hy-legal__row a{font-size:14px}
.hy-form__row{grid-template-columns:1fr}
.hy-form__row>label{justify-items:start;padding:12px 16px;font-size:16px}
.hy-form__row>div{padding:12px 16px}
.hy-form__row input[type=text],.hy-form__row input[type=password],.hy-form__row textarea{font-size:16px}
.hy-btn{width:140px;height:52px;font-size:16px}
}
.hy-org__aline--1{top:85px}.hy-org__dot--a1{left:1013px;top:82px}.hy-org__sub--1{top:52px}.hy-org__aline--2{top:174px}.hy-org__dot--a2{left:1013px;top:171px}.hy-org__sub--2{top:141px}.hy-org__aline--3{top:263px}.hy-org__dot--a3{left:1013px;top:260px}.hy-org__sub--3{top:230px}.hy-org__aline--4{top:352px}.hy-org__dot--a4{left:1013px;top:349px}.hy-org__sub--4{top:319px}.hy-org__aline--5{top:441px}.hy-org__dot--a5{left:1013px;top:438px}.hy-org__sub--5{top:408px}

/* 실적현황 */
.hy-page--perf>.hy-container{width:min(calc(100% - 80px),1403px)}
.hy-perf-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:56px}
.hy-perf-tabs a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;padding:10px 14px;
  border:1px solid #D7D7D7;background:#fff;color:#666;font-size:15px;line-height:1.35;letter-spacing:-.025em;
  text-align:center;text-decoration:none;word-break:keep-all;transition:.15s}
.hy-perf-tabs a:hover{border-color:#CB071E;color:#CB071E}
.hy-perf-tabs a.is-active{border-color:#CB071E;background:#CB071E;color:#fff;font-weight:600}
.hy-perf-tabs em{flex:0 0 auto;font-style:normal;font-size:13px;opacity:.75}
.hy-table--perf td{font-size:15px}
.hy-table--perf .hy-perf-name{text-align:left;padding-left:22px}
@media(max-width:1000px){
.hy-perf-tabs{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:34px}
.hy-perf-tabs a{min-height:50px;font-size:13px}
.hy-table--perf td{font-size:13px}
.hy-table--perf .hy-perf-name{padding-left:10px}
}

/* ------------------------------------------------------------------
   견적문의 폼 — PSD 31 실측 (표 1404, 라벨칸 298)
   ------------------------------------------------------------------ */
.hy-page--estimate>.hy-container{width:min(calc(100% - 80px),1404px)}
.hy-form--estimate{border-top:2px solid #666}
.hy-form--estimate .hy-form__row{grid-template-columns:298px 1fr;align-items:stretch;border-bottom:1px solid #EBEBEB}
.hy-form--estimate .hy-form__row>label,.hy-form--estimate .hy-form__label{display:grid;place-items:center;
  background:#F5F5F5;font-size:16px;font-weight:600;color:#333;letter-spacing:-.025em}
.hy-form--estimate .hy-form__row>div{display:flex;align-items:center;gap:10px;padding:12px 22px;min-height:66px;box-sizing:border-box}
.hy-form--estimate input[type=text],.hy-form--estimate textarea{
  box-sizing:border-box;height:48px;padding:0 15px;border:1px solid #DBDBDB;background:#fff;
  font-size:15px;font-weight:500;letter-spacing:-.025em;color:#333}
.hy-form--estimate input[type=text]::placeholder,.hy-form--estimate textarea::placeholder{color:#A9A9A9}
.hy-form--estimate #wr_name,.hy-form--estimate #hy_tel{width:440px;max-width:100%}
.hy-form__mail{display:flex;align-items:center;gap:10px}
.hy-form__mail input{width:230px}
.hy-form__mail span{color:#A9A9A9;font-size:16px}
/* 문의항목 라디오 */
.hy-form__topics{display:flex;flex-wrap:wrap;gap:10px 34px}
.hy-form__topics label{display:inline-flex;align-items:center;gap:9px;cursor:pointer}
.hy-form__topics input{position:absolute;opacity:0;width:0;height:0}
.hy-form__topics i{width:17px;height:17px;border:2px solid #C7C7C7;border-radius:50%;background:#fff;transition:.15s}
.hy-form__topics input:checked+i{border-color:#5B5B5B;background:#5B5B5B;box-shadow:inset 0 0 0 3.5px #fff}
.hy-form__topics b{font-size:15px;font-weight:500;color:#A9A9A9;letter-spacing:-.025em}
.hy-form__topics input:checked~b{color:#333}
/* 문의내용 */
.hy-form__row--area>div{align-items:flex-start;min-height:220px}
.hy-form--estimate textarea{width:100%;height:190px;padding:15px;line-height:1.65;resize:vertical}
/* 파일첨부 */
.hy-form__file{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hy-form__file #hy_filename{width:440px;max-width:100%;background:#fff}
.hy-btn-file,.hy-btn-add{display:grid;place-items:center;width:118px;height:48px;font-size:15px;font-weight:500;
  letter-spacing:-.025em;color:#fff;cursor:pointer;border:0}
.hy-btn-file{background:#2F333D}
.hy-btn-add{background:#CB071E}
.hy-form__file-inputs input[type=file]{display:none}
/* 동의 */
.hy-form__agree{display:flex;align-items:center;gap:14px;margin-top:36px}
.hy-form__agree label{display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.hy-form__agree input{position:absolute;opacity:0;width:0;height:0}
.hy-form__agree i{width:18px;height:18px;border:1px solid #C7C7C7;background:#fff;transition:.15s}
.hy-form__agree input:checked+i{border-color:#CB071E;background:#CB071E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 5' fill='none' stroke='%23fff' stroke-width='2.2'/%3E%3C/svg%3E") center/13px no-repeat}
.hy-form__agree b{font-size:15px;font-weight:500;color:#A9A9A9;letter-spacing:-.025em}
.hy-btn-terms{display:grid;place-items:center;width:78px;height:30px;border:1px solid #DBDBDB;background:#fff;
  color:#A9A9A9;font-size:13px;text-decoration:none}
.hy-btn-terms:hover{border-color:#CB071E;color:#CB071E}
/* 제출 */
.hy-page--estimate .hy-form__btns{margin-top:56px}
.hy-btn--outline{width:170px;height:52px;border:1px solid #CB071E;background:#fff;color:#CB071E;font-size:16px;font-weight:500}
.hy-btn--outline:hover{background:#CB071E;color:#fff}

@media(max-width:1000px){
.hy-form--estimate .hy-form__row{grid-template-columns:1fr}
.hy-form--estimate .hy-form__row>label,.hy-form--estimate .hy-form__label{justify-items:start;place-items:center start;padding:12px 16px;font-size:16px}
.hy-form--estimate .hy-form__row>div{min-height:0;padding:12px 16px}
.hy-form--estimate input[type=text],.hy-form--estimate textarea{height:52px;font-size:16px}
.hy-form--estimate #wr_name,.hy-form--estimate #hy_tel,.hy-form__file #hy_filename{width:100%}
.hy-form__mail{flex-wrap:wrap}.hy-form__mail input{width:calc(50% - 22px)}
.hy-form__topics{gap:10px 18px}.hy-form__topics b{font-size:15px}
.hy-form__row--area>div{min-height:0}
.hy-form--estimate textarea{height:180px}
.hy-btn-file,.hy-btn-add{width:110px;height:52px;font-size:15px}
.hy-form__agree{flex-wrap:wrap;gap:10px;margin-top:24px}
.hy-form__agree b{font-size:15px}
.hy-page--estimate .hy-form__btns{margin-top:40px}
.hy-btn--outline{width:160px;height:52px;font-size:16px}
}

/* ==================================================================
   모바일 보정 (검수 반영)
   ================================================================== */
@media(max-width:1000px){
/* 서브비주얼 높이 축소 */
.hy-subvisual{height:290px;padding-top:75px}
.hy-subvisual__title h1,.hy-subvisual__en{font-size:42px}
.hy-subvisual__title p{font-size:17px;margin-top:8px}
.hy-subvisual__title .hy-slash{width:24px;height:34px}
.hy-subvisual__title .hy-slash:first-child{margin:0 0 2px 42px}
.hy-subvisual__title .hy-slash:last-child{margin:3px 0 0 -38px}

/* 탭 : 가로 스크롤로 전부 접근 가능하게 */
.hy-tabs{padding-top:22px}
.hy-tabs .hy-container{width:min(calc(100% - 40px),var(--container-sub));overflow:visible}
.hy-tabs ul{min-width:0;display:grid;grid-auto-flow:row;grid-template-columns:repeat(3,1fr)}
.hy-tabs--board ul{display:grid;grid-template-columns:repeat(3,1fr)}
.hy-tabs--board li{flex:none}
.hy-tabs li{border-right:1px solid #D7D7D7;border-bottom:0}
.hy-tabs li:last-child{border-right:1px solid #D7D7D7}
.hy-tabs ul{border-bottom:1px solid #D7D7D7}
.hy-tabs a{min-height:46px;padding:8px 10px;font-size:14px;white-space:normal;word-break:keep-all;line-height:1.3}

/* 사업분야 20여개 탭도 가로 스크롤 */
.hy-service-nav .hy-container{overflow:visible}
.hy-service-nav ul{min-width:0;grid-template-columns:repeat(2,1fr)}
.hy-service-nav a{min-height:52px;padding:8px 10px;font-size:13px;line-height:1.3;word-break:keep-all}

/* 히어로 : 스크롤 버튼이 인증문구를 가리지 않게 축소 */
.hy-hero{min-height:620px}
.hy-hero__cert{gap:14px;height:56px;padding:0 14px;font-size:11px;text-align:center}
.hy-hero__cert img{height:20px}
.hy-hero__cert span:last-child img{height:20px}
.hy-scroll{width:46px;height:46px;border-width:9px;bottom:-32px}
.hy-scroll img{width:12px;height:22px}

/* PROJECT */
.hy-project-card__image{width:100%;height:auto;aspect-ratio:1/1}
.hy-project-card{flex:0 0 78%}
.hy-project-cards{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.hy-project-cards::-webkit-scrollbar{display:none}

/* ABOUT : 카드 글자 넘침 방지 */
.hy-about__text{font-size:16px;line-height:1.6}
.hy-about-link{min-height:0;padding:30px 24px 34px}
.hy-about-link strong{margin-top:34px;font-size:24px}
.hy-about-link p{font-size:15px;line-height:1.55}
.hy-about-link:after{width:180px;height:180px}
.hy-about-link .hy-round{right:24px;top:26px;width:38px;height:38px}
.hy-about-link small{font-size:15px}

/* CONTACT : 십자 구분선 제거하고 2열 유지 */
.hy-contact__grid:before,.hy-contact__grid:after{display:none}
.hy-contact__grid>div{border-bottom:1px solid rgba(255,255,255,.18);padding:26px 10px}
.hy-contact__grid>div:nth-child(odd){border-right:1px solid rgba(255,255,255,.18)}
.hy-contact__grid b{font-size:20px;margin-top:12px}
.hy-contact__grid span{font-size:15px;margin-top:8px}
.hy-contact__grid>div:last-child span{font-size:14px}
.hy-contact__grid i{height:28px}
.hy-contact__grid i img{max-height:26px;width:auto}

/* NEWS : 푸터 위 빨간 사선이 카드를 가리지 않게 */
.hy-site--main .hy-footer:before{width:150px;height:150px;top:-150px;opacity:.9}
.hy-news{padding:70px 0 30px}
.hy-news-cards{grid-template-columns:repeat(2,1fr);gap:10px}
.hy-news-card{min-height:0;padding:26px 20px}
.hy-news-card h3{margin:16px 0;font-size:17px}
.hy-news-card p{font-size:14px}

/* 조직도 : 대표 박스 엠블럼이 다른 요소를 덮지 않게 */
.hy-org__ceo:before{display:none}
.hy-org>div{max-width:320px}

/* 인사말 서명 */
.hy-greet-sign{justify-content:center;gap:14px}
.hy-greet-sign img{width:132px;height:auto;margin-left:0}
}
@media(max-width:620px){
.hy-subvisual{height:250px}
.hy-subvisual__title h1,.hy-subvisual__en{font-size:34px}
.hy-subvisual__title .hy-slash{width:19px;height:27px}
.hy-subvisual__title .hy-slash:first-child{margin-left:33px}
.hy-subvisual__title .hy-slash:last-child{margin-left:-30px}
.hy-hero{min-height:520px}
.hy-hero__cert{flex-direction:column;justify-content:center;gap:5px;height:64px;font-size:10.5px}
.hy-scroll{bottom:-26px;width:38px;height:38px;border-width:7px}
.hy-news-cards{grid-template-columns:1fr}
.hy-contact__grid>div:nth-child(odd){border-right:0}
.hy-contact__grid{grid-template-columns:1fr}
.hy-project-card{flex:0 0 86%}
.hy-site--main .hy-footer:before{width:110px;height:110px;top:-110px}
}

/* PSD 기준 라틴 전용 서체만 재지정. 나머지는 Pretendard 를 그대로 쓴다 */
.hy-hero__copy h1{font-family:Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif}
.hy-contact__grid b,.hy-red-button,.hy-location{font-family:Outfit,Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif}
.hy-logo small{font-family:Montserrat,"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","맑은 고딕",sans-serif}

@media(max-width:620px){
.hy-tabs ul,.hy-tabs--board ul{grid-template-columns:repeat(2,1fr)}
.hy-tabs a{min-height:44px;font-size:13px}
.hy-service-nav ul{grid-template-columns:repeat(2,1fr)}
.hy-service-nav a{min-height:50px;font-size:12px}
}

/* 모바일 좌우 여백 축소 — 페이지별 컨테이너보다 우선순위를 높인다 */
@media(max-width:1000px){
.hy-site .hy-container,
.hy-site--sub .hy-container,
.hy-page--tech>.hy-container,
.hy-page--way>.hy-container,
.hy-page--board>.hy-container,
.hy-page--legal>.hy-container,
.hy-page--gal>.hy-container,
.hy-page--perf>.hy-container,
.hy-page--estimate>.hy-container,
.hy-footer .hy-container{width:calc(100% - 32px)}
.hy-tabs .hy-container{width:calc(100% - 32px)}
.hy-mobile-nav nav{width:calc(100% - 32px)}
}
@media(max-width:620px){
.hy-site .hy-container,
.hy-site--sub .hy-container,
.hy-page--tech>.hy-container,
.hy-page--way>.hy-container,
.hy-page--board>.hy-container,
.hy-page--legal>.hy-container,
.hy-page--gal>.hy-container,
.hy-page--perf>.hy-container,
.hy-page--estimate>.hy-container,
.hy-footer .hy-container,
.hy-tabs .hy-container{width:calc(100% - 24px)}
.hy-header__inner{width:calc(100% - 24px)}
}

/* 모바일 좌우 여백 최소화 */
@media(max-width:1000px){
.hy-container,
.hy-site--sub .hy-container,
.hy-page--tech>.hy-container,
.hy-page--way>.hy-container,
.hy-page--board>.hy-container,
.hy-page--legal>.hy-container,
.hy-page--gal>.hy-container,
.hy-page--perf>.hy-container,
.hy-page--estimate>.hy-container,
.hy-tabs .hy-container,
.hy-footer .hy-container{width:calc(100% - 24px)}
.hy-tabs ul,.hy-tabs--board ul{grid-template-columns:repeat(auto-fit,minmax(105px,1fr))}
}
@media(max-width:620px){
.hy-container,
.hy-site--sub .hy-container,
.hy-page--tech>.hy-container,
.hy-page--way>.hy-container,
.hy-page--board>.hy-container,
.hy-page--legal>.hy-container,
.hy-page--gal>.hy-container,
.hy-page--perf>.hy-container,
.hy-page--estimate>.hy-container,
.hy-tabs .hy-container,
.hy-footer .hy-container{width:calc(100% - 20px)}
.hy-tabs ul,.hy-tabs--board ul{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.hy-board__subject{padding:0}
.hy-legal__name{padding:0 0 8px}
.hy-form--estimate .hy-form__row>div{padding:12px 12px}
.hy-form--estimate .hy-form__row>label,.hy-form--estimate .hy-form__label{padding:10px 12px}
}

/* PROJECT 모바일 정리 (충돌 규칙 최종 덮어쓰기) */
@media(max-width:1000px){
.hy-project{display:block}
.hy-project__side{padding-top:0}
.hy-project__copy{margin:16px 0 26px;font-size:16px;line-height:1.6}
.hy-main-title .hy-slash{width:17px;height:26px;margin-left:11px;vertical-align:0}
.hy-controls{gap:10px;margin-bottom:26px}
.hy-controls button{flex:0 0 42px;width:42px;height:42px;font-size:19px}
.hy-controls span{margin-left:18px;font-size:15px}
.hy-controls span i{margin-left:18px}
.hy-controls span b{border-bottom-width:3px}
.hy-project-cards{display:flex;gap:14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
.hy-project-cards::-webkit-scrollbar{display:none}
.hy-project-card{display:block;flex:0 0 74%;grid-template-columns:none}
.hy-project-card__image{width:100%;height:auto;aspect-ratio:1/1}
.hy-project-card__body{padding-top:16px}
.hy-project-card small{font-size:15px}
.hy-project-card h3{font-size:16px}
.hy-project-card .hy-round{width:38px;height:38px}
}
@media(max-width:620px){
.hy-project-card{display:block;flex:0 0 82%;grid-template-columns:none}
.hy-project-card__image{width:100%;height:auto;aspect-ratio:1/1}
.hy-project__copy{margin-bottom:22px;font-size:15px}
.hy-controls{margin-bottom:22px}
}

/* ABOUT 모바일 : 배경을 화면 전체로 채우고 문구 잘림 방지 */
@media(max-width:1000px){
.hy-about{padding:64px 0 0;background:#27313a url('../img/final/about-bg.jpg') center/cover no-repeat}
.hy-about:before{display:none}
.hy-about .hy-container{position:relative;z-index:1}
.hy-about__text{margin:18px 0 44px;font-size:16px;line-height:1.65}
.hy-about__text br{display:none}
.hy-about .hy-main-title{font-size:32px}
.hy-about-links{margin:0 -12px}
}
@media(max-width:620px){
.hy-about{padding-top:52px}
.hy-about__text{margin-bottom:34px;font-size:15px}
.hy-about-links{margin:0 -10px}
}

/* 사업분야 상세 모바일 정리 */
@media(max-width:1000px){
.hy-service-banner{aspect-ratio:auto;min-height:0;padding:34px 20px 38px;background-position:center;background-size:cover}
.hy-service-banner h3{font-size:20px;line-height:1.4}
.hy-service-banner:after{width:36px;height:5px;margin-top:16px}
.hy-service-banner p{margin-top:20px;font-size:15px;line-height:1.6}
.hy-service-detail{margin-top:44px;padding-left:0}
.hy-detail-row{margin-top:48px}
.hy-detail-row:first-child{margin-top:0}
.hy-detail-row h4{gap:12px;font-size:18px;line-height:1.35}
.hy-detail-row h4:before{width:17px;height:18px}
.hy-detail-row .hy-para{margin-top:22px}
.hy-bullets{margin-top:22px}
.hy-detail-row p,.hy-detail-row li,.hy-detail-row .hy-para p,.hy-bullets li{font-size:15px;line-height:1.7}
.hy-page .hy-page-heading{margin-bottom:40px}
.hy-page-heading h1,.hy-page-heading h2{font-size:24px;line-height:1.35}
.hy-page-heading p{margin-top:12px;font-size:14px}
.hy-page{padding:44px 0 70px}
.hy-table th,.hy-table td{height:auto;padding:12px 10px;font-size:14px}
.hy-table th{font-size:14px}
.hy-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hy-table{min-width:560px}
}
@media(max-width:620px){
.hy-service-banner{padding:28px 16px 32px}
.hy-service-banner h3{font-size:18px}
.hy-service-banner p{margin-top:16px;font-size:14px}
.hy-detail-row{margin-top:40px}
.hy-detail-row h4{font-size:17px}
.hy-detail-row p,.hy-detail-row li,.hy-detail-row .hy-para p,.hy-bullets li{font-size:14px}
.hy-page-heading h1,.hy-page-heading h2{font-size:21px}
}

/* 캐러셀 : 트랙이 넘칠 수 있게 + 활성 표시 */
.hy-project-cards{overflow:visible;min-width:0}.hy-project{align-items:stretch}.hy-project__side{position:relative;z-index:2;align-self:stretch}.hy-project__side:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;right:-182px;left:calc(-50vw + 50%);background:#fff}.hy-project-card .hy-round{right:2px}
.hy-project-card{transition:opacity .3s}
.hy-controls span b,.hy-controls span i{cursor:pointer;transition:color .2s}
.hy-controls span i{font-style:normal;color:#bbb}
.hy-controls span i:hover{color:#666}
.hy-controls span b,.hy-controls span i.is-on{color:#C30F23}
.hy-controls span i.is-on{border-bottom:5px solid #C30F23;padding:0 2px}
.hy-controls span b:not(.is-on){color:#bbb;border-bottom:0;padding:0}
.hy-controls button:disabled{background:#fff;border-color:#e3e4e7;color:#d3d4d8;cursor:default}.hy-controls button:disabled i{opacity:.7}
.hy-news__nav span{cursor:pointer}
.hy-news__nav button:disabled{opacity:.35;cursor:default}

/* 모바일에서는 좌측 덮개 해제 (세로 배치) */
@media(max-width:1000px){
.hy-project__side:before{display:none}
.hy-project__side{z-index:auto}
.hy-project-cards{overflow-x:auto}
}

/* ------------------------------------------------------------------
   게시판 상세보기 / 글쓰기 / 댓글  (2026-08-31 추가)
   ------------------------------------------------------------------ */
.hy-page--view>.hy-container,.hy-page--write>.hy-container{width:min(calc(100% - 80px),1403px)}
.hy-page--view .hy-page-heading,.hy-page--write .hy-page-heading{margin-bottom:56px}

/* 상세 : 머리말 */
.hy-view{border-top:3px solid #D8D8D8}
.hy-view__head{padding:32px 30px;border-bottom:1px solid #EDEDED;background:#FAFAFA}
.hy-view__cate{display:inline-block;margin-bottom:10px;padding:4px 12px;background:#CB071E;color:#fff;font-size:13px;letter-spacing:-.025em}
.hy-view__title{margin:0;color:#262626;font-size:24px;font-weight:600;line-height:1.4;letter-spacing:-.03em;word-break:keep-all}
.hy-view__meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin:16px 0 0;padding:0;list-style:none}
.hy-view__meta li{display:flex;align-items:center;gap:6px;color:#8b8d93;font-size:14px;letter-spacing:-.025em}
.hy-view__meta i{font-size:16px;line-height:1}

/* 상세 : 본문 */
.hy-view__body{padding:52px 30px;min-height:240px;border-bottom:1px solid #EDEDED;color:#494949;font-size:16px;line-height:1.85;letter-spacing:-.025em;word-break:break-word}
.hy-view__body img{max-width:100%;height:auto}
.hy-view__images{display:grid;gap:16px;margin-bottom:34px}
.hy-view__images img{display:block;width:100%;height:auto;margin:0 auto}
.hy-view__content>*:first-child{margin-top:0}
.hy-view__content table{max-width:100%}
.hy-view__sign{margin-top:30px;padding-top:20px;border-top:1px dashed #E3E3E3;color:#8b8d93;font-size:14px}

/* 상세 : 첨부파일 / 관련링크 */
.hy-view__files{padding:20px 30px;border-bottom:1px solid #EDEDED;background:#FBFBFB}
.hy-view__files strong{display:block;margin-bottom:10px;color:#262626;font-size:15px;font-weight:600;letter-spacing:-.025em}
.hy-view__files ul{margin:0;padding:0;list-style:none}
.hy-view__files li{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:15px;color:#686868}
.hy-view__files i{color:#CB071E;font-size:16px}
.hy-view__files a{color:#494949;text-decoration:none;letter-spacing:-.025em}
.hy-view__files a:hover{color:#CB071E;text-decoration:underline}
.hy-view__files span{color:#a9a9a9;font-size:13px}

/* 상세 : 이전글 / 다음글 */
.hy-view__nb{margin:0;padding:0;list-style:none;border-bottom:1px solid #EDEDED}
.hy-view__nb li{display:grid;grid-template-columns:130px 1fr;align-items:center;min-height:56px;border-top:1px solid #EDEDED}
.hy-view__nb li:first-child{border-top:0}
.hy-view__nb span{align-self:stretch;display:grid;place-items:center;background:#F5F5F5;color:#262626;font-size:15px;font-weight:600;letter-spacing:-.025em}
.hy-view__nb a{padding:12px 24px;color:#686868;font-size:15px;text-decoration:none;letter-spacing:-.025em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hy-view__nb a:hover{color:var(--ink);text-decoration:underline}

/* 상세 : 버튼 */
.hy-view__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:44px}
.hy-view__btns .hy-btn{width:150px;height:52px;font-size:16px}
.hy-btn--list{border-color:#2F333D;background:#2F333D;color:#fff}
.hy-btn--list:hover{background:#1f232b}

/* 글쓰기 */
.hy-form--write{border-top:3px solid #CB071D}
.hy-form--write .hy-form__row{grid-template-columns:220px 1fr;align-items:stretch;border-bottom:1px solid #E7E7E7}
.hy-form--write .hy-form__row>label,.hy-form--write .hy-form__label{align-self:stretch;display:grid;place-items:center;padding:18px 10px;background:#F5F5F5;color:#333;font-size:17px;font-weight:600;letter-spacing:-.025em}
.hy-form--write .hy-form__row>div{display:block;padding:14px 24px}
.hy-form--write input[type=text],.hy-form--write input[type=password],.hy-form--write select{
  width:100%;max-width:520px;height:48px;padding:0 14px;border:1px solid #DDD;background:#fff;color:#333;font-size:16px;letter-spacing:-.025em;box-sizing:border-box}
.hy-form--write input::placeholder{color:#A9A9A9}
.hy-form__opts{display:flex;flex-wrap:wrap;gap:10px 24px;padding-top:4px}
.hy-form__note{margin:0 0 10px;color:#8b8d93;font-size:14px}
.hy-form__count{margin-top:8px;color:#8b8d93;font-size:13px;text-align:right}
.hy-editor{width:100%}
.hy-editor textarea{width:100%;min-height:320px;padding:14px;border:1px solid #DDD;font-size:16px;line-height:1.7;box-sizing:border-box;resize:vertical}
.hy-form__file{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.hy-form__file .hy-file-name{flex:1;min-width:200px;max-width:420px}
.hy-form__file .hy-file-desc{flex:1;min-width:200px;max-width:420px}
.hy-form__file .hy-file-input{display:none}
.hy-form__captcha{margin-top:24px;text-align:center}

/* 체크박스 공통 */
.hy-chk{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.hy-chk input{position:absolute;opacity:0;width:0;height:0}
.hy-chk i{width:18px;height:18px;border:1px solid #C7C7C7;background:#fff;transition:.15s}
.hy-chk input:checked+i{border-color:#CB071E;background:#CB071E url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4'%3E%3Cpath d='M3 8.5l3.2 3.2L13 5'/%3E%3C/svg%3E") center/13px no-repeat}
.hy-chk b{color:#494949;font-size:15px;font-weight:500;letter-spacing:-.025em}
.hy-chk--del b{color:#B80202}

/* 댓글 */
.hy-comment{margin-top:56px}
.hy-comment__title{margin:0 0 16px;color:#262626;font-size:18px;font-weight:600;letter-spacing:-.025em}
.hy-comment__title b{color:#CB071E}
.hy-comment__list{border-top:2px solid #D8D8D8}
.hy-comment__item{padding:20px 4px;border-bottom:1px solid #EDEDED}
.hy-comment__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:8px}
.hy-comment__meta strong{color:#262626;font-size:15px;font-weight:600;letter-spacing:-.025em}
.hy-comment__meta span{color:#a9a9a9;font-size:13px}
.hy-comment__act{margin-left:auto;display:flex;gap:12px}
.hy-comment__act a{color:#8b8d93;font-size:13px;text-decoration:none}
.hy-comment__act a:hover{color:#CB071E}
.hy-comment__text{color:#494949;font-size:15px;line-height:1.75;letter-spacing:-.025em;word-break:break-word}
.hy-comment__empty{padding:44px 0;border-bottom:1px solid #EDEDED;color:#8b8d93;font-size:15px;text-align:center}
.hy-comment__write{margin-top:24px}
.hy-comment__write textarea{width:100%;height:120px;padding:14px;border:1px solid #DDD;font-size:15px;line-height:1.7;box-sizing:border-box;resize:vertical}
.hy-comment__foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.hy-comment__user{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.hy-comment__user input{height:44px;padding:0 12px;border:1px solid #DDD;font-size:15px;box-sizing:border-box}
.hy-comment__foot .hy-btn{width:150px;height:44px;margin-left:auto;font-size:15px}

@media(max-width:1000px){
.hy-page--view>.hy-container,.hy-page--write>.hy-container{width:calc(100% - 32px)}
.hy-view__head{padding:22px 16px}
.hy-view__title{font-size:19px}
.hy-view__body{padding:30px 16px}
.hy-view__files{padding:16px}
.hy-view__nb li{grid-template-columns:88px 1fr;min-height:48px}
.hy-view__nb span{font-size:14px}
.hy-view__nb a{padding:10px 14px;font-size:14px}
.hy-view__btns .hy-btn{width:calc(50% - 5px);height:48px;font-size:15px}
.hy-form--write .hy-form__row{grid-template-columns:1fr}
.hy-form--write .hy-form__row>label,.hy-form--write .hy-form__label{justify-items:start;padding:12px 16px;font-size:16px;text-align:left}
.hy-form--write .hy-form__row>div{padding:12px 16px}
.hy-form--write input[type=text],.hy-form--write input[type=password],.hy-form--write select{max-width:100%;font-size:16px}
.hy-editor textarea{min-height:240px}
.hy-comment__foot .hy-btn{width:100%;margin-left:0}
}

/* ------------------------------------------------------------------
   NEWS 캐러셀 : 4열 고정 그리드 → 가로 슬라이드 트랙  (2026-08-31 수정)
   그리드는 카드가 전부 한 화면에 들어가 버려 롤링할 여지가 없었다.
   ------------------------------------------------------------------ */
.hy-news{overflow:hidden}
/* 컨테이너(1400px) 밖으로 흘러나간 카드를 잘라낸다. 섹션에만 걸면 좌우 여백까지 보인다 */
.hy-news>.hy-container{overflow:hidden}
.hy-news-cards{display:flex;flex-wrap:nowrap;align-items:stretch;min-width:0;will-change:transform}
.hy-news-card{flex:0 0 calc((100% - 24px) / 4);min-width:0}
.hy-news__nav{transition:opacity .2s}
.hy-news__nav.is-single{opacity:.3;pointer-events:none}
.hy-news__nav button{transition:color .2s}
.hy-news__nav button:hover{color:#CD0D27}
.hy-news__nav span{cursor:pointer;transition:background .2s,transform .2s}
.hy-news__nav span:hover{background:#B9B9BE}
.hy-news__nav span.is-on{background:#CD0D27;transform:scale(1.06)}
@media(max-width:1000px){
.hy-news-card{flex:0 0 calc((100% - 10px) / 2)}
}
@media(max-width:620px){
.hy-news-card{flex:0 0 100%}
}
.hy-news-card--empty{flex:0 0 100%;justify-content:center;text-align:center;color:#91939a}
.hy-news-card--empty h3{margin:14px 0 10px}

/* 관리자 전용 도구 모음 (일반 방문자에게는 출력되지 않음) */
.hy-board__admin{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:18px;padding:12px 16px;border:1px dashed #d5d6da;border-radius:5px;background:#fafafb}
.hy-board__admin span{margin-right:4px;color:#8b8d93;font-size:13px;font-weight:600;letter-spacing:-.025em}
.hy-board__admin a{padding:7px 14px;border:1px solid #d5d6da;border-radius:4px;background:#fff;color:#494949;font-size:14px;text-decoration:none;letter-spacing:-.025em;transition:.15s}
.hy-board__admin a:hover{border-color:#CB071E;background:#CB071E;color:#fff}
.hy-view .hy-board__admin{margin:24px 0 0}

/* ------------------------------------------------------------------
   게시판 관리자 도구 · 목록 상단 · 체크박스 열  (2026-08-31 추가)
   ------------------------------------------------------------------ */
.hy-board__admin{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;border:1px dashed #d5d6da;border-radius:5px;background:#fafafb}
.hy-board__admin>span:first-child{margin-right:6px;color:#8b8d93;font-size:13px;font-weight:600;letter-spacing:-.025em}
.hy-board__admin a,.hy-board__admin button{padding:7px 14px;border:1px solid #d5d6da;border-radius:4px;background:#fff;color:#494949;font-size:14px;font-family:inherit;line-height:1.4;text-decoration:none;letter-spacing:-.025em;cursor:pointer;transition:.15s}
.hy-board__admin a:hover,.hy-board__admin button:hover{border-color:#CB071E;background:#CB071E;color:#fff}
.hy-board__admin button[value="선택삭제"]{border-color:#CB071E;color:#CB071E}
.hy-allchk{display:inline-flex;align-items:center;gap:6px;margin-right:4px;font-size:14px;color:#494949;cursor:pointer}
.hy-view .hy-board__admin{margin:24px 0 0}

/* 목록 상단 : 건수 + 검색 */
.hy-board-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:18px}
.hy-board-total{color:#686868;font-size:15px;letter-spacing:-.025em}
.hy-board-total b{color:#CB071E;font-weight:600}
.hy-board-search-wrap{display:flex;align-items:center;gap:8px;width:280px;max-width:100%;padding-bottom:8px;border-bottom:1px solid #CBCBCB}
.hy-board-search-wrap input{flex:1;min-width:0;border:0;background:0;font-size:15px;font-weight:500;letter-spacing:-.025em;outline:0}
.hy-board-search-wrap input::placeholder{color:#CBCBCB}
.hy-board-search-wrap button{flex:0 0 auto;padding:0;border:0;background:0;color:#8b8d93;font-size:17px;line-height:1;cursor:pointer}

/* 체크박스 · 관리 열이 붙은 목록 */
.hy-board--basic.hy-board--chk .hy-board__head,.hy-board--basic.hy-board--chk .hy-board__row{grid-template-columns:52px 90px 1fr 160px 110px}
.hy-board--qna.hy-board--chk .hy-board__head,.hy-board--qna.hy-board--chk .hy-board__row{grid-template-columns:52px 80px 1fr 120px 130px 150px 110px}
.hy-board__chk{display:grid;place-items:center}
.hy-board__chk input{width:17px;height:17px;accent-color:#CB071E;cursor:pointer}
.hy-board__manage{display:flex;align-items:center;justify-content:center;gap:8px}
.hy-board__manage a{padding:4px 9px;border:1px solid #e0e0e3;border-radius:3px;color:#8b8d93;font-size:13px;text-decoration:none;transition:.15s}
.hy-board__manage a:hover{border-color:#CB071E;color:#CB071E}

/* 갤러리 : 카드별 체크박스 · 관리 버튼 */
.hy-gallery__cell{position:relative}
.hy-gallery__chk{position:absolute;z-index:2;left:12px;top:12px;display:grid;place-items:center;width:30px;height:30px;border-radius:4px;background:rgba(255,255,255,.92);box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer}
.hy-gallery__chk input{width:17px;height:17px;accent-color:#CB071E;cursor:pointer}
.hy-gallery__manage{display:flex;gap:8px;margin-top:10px}
.hy-gallery__manage a{padding:4px 10px;border:1px solid #e0e0e3;border-radius:3px;color:#8b8d93;font-size:13px;text-decoration:none;transition:.15s}
.hy-gallery__manage a:hover{border-color:#CB071E;color:#CB071E}

@media(max-width:1000px){
.hy-board-top{align-items:stretch}
.hy-board-search-wrap{width:100%}
.hy-board--basic.hy-board--chk .hy-board__row,.hy-board--qna.hy-board--chk .hy-board__row{grid-template-columns:36px 1fr auto;gap:4px 10px}
.hy-board__chk{place-items:start center;padding-top:2px}
.hy-board__manage{grid-column:1/-1;justify-content:flex-start;margin-top:6px}
}

/* 실적현황 게시판 : 테마 기본 표(.hy-table) 디자인을 그대로 쓰고 필요한 것만 더한다 */
.hy-table--perf th{font-size:16px;font-weight:600}
.hy-table--perf td{font-size:15px}
.hy-table--perf th,.hy-table--perf td{height:48px;padding:9px 12px;text-align:center}
.hy-table--perf tbody td.hy-perf-name{text-align:left}
.hy-table--perf .hy-perf-name a{color:inherit;text-decoration:none}
.hy-table--perf .hy-perf-name a:hover{color:#CB071D;text-decoration:underline}
.hy-table--perf .hy-perf-mng a{display:inline-block;margin:0 2px;padding:4px 9px;border:1px solid #d9dade;border-radius:3px;color:#8b8d93;font-size:14px;text-decoration:none;transition:.15s}
.hy-table--perf .hy-perf-mng a:hover{border-color:#CB071D;color:#CB071D}
.hy-table--perf input[type=checkbox]{width:17px;height:17px;accent-color:#CB071D;cursor:pointer}

/* 실적 분류 : 데스크톱은 밑줄형 텍스트, 모바일은 드롭다운 */
.hy-perf-cats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 26px;margin-bottom:34px;padding-bottom:16px;border-bottom:1px solid #E7E7E7}
.hy-perf-cats a{position:relative;padding:6px 0;color:#777;font-size:16px;letter-spacing:-.025em;text-decoration:none;white-space:nowrap;transition:color .15s}
.hy-perf-cats a em{font-style:normal;margin-left:3px;color:#b5b5ba;font-size:13px}
.hy-perf-cats a:hover{color:#25262b}
.hy-perf-cats a.is-active{color:#CB071D;font-weight:600}
.hy-perf-cats a.is-active em{color:#e08b95}
.hy-perf-cats a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#CB071D}
.hy-perf-select{display:none;margin-bottom:26px}
.hy-perf-select select{width:100%;height:48px;padding:0 14px;border:1px solid #D7D7D7;background:#fff;color:#333;font-size:15px;font-family:inherit;letter-spacing:-.025em}

@media(max-width:1000px){
.hy-perf-cats{display:none}
.hy-perf-select{display:block}
.hy-table--perf .hy-perf-mng a{padding:3px 7px;font-size:12px}
/* 게시판 탭 : 줄바꿈 시 빈자리에 선이 남지 않도록 2열 격자로 */
.hy-tabs--board ul{display:grid;grid-template-columns:repeat(2,1fr);justify-content:stretch}
.hy-tabs--board li{flex:none;border:1px solid #D7D7D7;margin:-1px 0 0 -1px}
.hy-tabs--board li:last-child{border-right:1px solid #D7D7D7}
.hy-tabs--board a{min-height:56px;font-size:16px;padding:8px 6px}
}

/* ------------------------------------------------------------------
   페이지네이션 : 그누보드 기본 마크업(.pg_wrap > .pg)에 테마 스타일 적용
   ------------------------------------------------------------------ */
.hy-paging .pg_wrap{display:flex;justify-content:center;width:100%;margin:0;padding:0}
.hy-paging .pg{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px;margin:0;padding:0}
.hy-paging .pg_page,.hy-paging .pg_current,.hy-paging .pg_start,.hy-paging .pg_prev,.hy-paging .pg_next,.hy-paging .pg_end{
  display:grid;place-items:center;min-width:34px;height:34px;margin:0;padding:0 6px;border:0;border-radius:0;
  background:none;color:#686868;font-size:14px;font-weight:400;line-height:1;text-decoration:none;box-shadow:none}
.hy-paging .pg_page:hover,.hy-paging .pg_start:hover,.hy-paging .pg_prev:hover,.hy-paging .pg_next:hover,.hy-paging .pg_end:hover{background:none;color:#25262b}
.hy-paging .pg_current{background:none;color:#CB071D;font-weight:600}
.hy-paging .pg_start,.hy-paging .pg_prev,.hy-paging .pg_next,.hy-paging .pg_end{color:#a9a9a9;font-size:13px}

/* 가로 스크롤 안내 : 표 위에 겹쳐 띄운다 (표가 실제로 넘칠 때만 JS 가 삽입) */
.hy-scroll-hintbox{position:relative}
/* 표가 다 보이는 넓은 화면에서는 안내를 아예 그리지 않는다 */
@media(min-width:1001px){.hy-scroll-hint{display:none}.hy-scroll-hintbox.is-hint:after{display:none}}
.hy-scroll-hintbox.is-hint:after{content:"";position:absolute;z-index:4;right:0;top:0;bottom:0;width:60px;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92));pointer-events:none}
.hy-scroll-hint{position:absolute;z-index:5;left:50%;top:14px;display:flex;align-items:center;gap:10px;
  padding:13px 22px;border-radius:100px;background:rgba(28,30,38,.9);color:#fff;white-space:nowrap;
  box-shadow:0 8px 24px rgba(0,0,0,.28);pointer-events:none;
  transform:translateX(-50%);animation:hy-hint-pop .3s ease-out both;transition:opacity .35s,transform .35s}
.hy-scroll-hint b{font-size:16px;font-weight:600;letter-spacing:-.025em}
.hy-scroll-hint i{font-size:22px;line-height:1;color:#FF6A78;animation:hy-hint-slide 1.2s ease-in-out infinite}
.hy-scroll-hint.is-gone{opacity:0;transform:translateX(-50%) translateY(-6px)}
@keyframes hy-hint-slide{0%,100%{transform:translateX(-5px)}50%{transform:translateX(5px)}}
@keyframes hy-hint-pop{from{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@media(max-width:620px){
.hy-scroll-hint{top:10px;padding:11px 18px;gap:8px}
.hy-scroll-hint b{font-size:15px}
.hy-scroll-hint i{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.hy-scroll-hint i{animation:none}.hy-scroll-hint{animation:none}}

/* ------------------------------------------------------------------
   내용관리 페이지 (이용약관 · 개인정보처리방침)
   ------------------------------------------------------------------ */
.hy-page--content>.hy-container{width:min(calc(100% - 80px),1000px)}
.hy-content{color:#494949;font-size:16px;line-height:1.85;letter-spacing:-.025em;word-break:keep-all}
.hy-content h2,.hy-content h3{margin:44px 0 14px;color:#222;font-size:20px;font-weight:600;letter-spacing:-.025em}
.hy-content h3:first-child,.hy-content h2:first-child{margin-top:0}
.hy-content h4{margin:28px 0 10px;color:#333;font-size:17px;font-weight:600}
.hy-content p{margin:0 0 14px}
.hy-content ul,.hy-content ol{margin:0 0 18px;padding-left:20px;list-style:disc}
.hy-content ol{list-style:decimal}
.hy-content li{margin:5px 0}
.hy-content table{width:100%;margin:18px 0;border-collapse:collapse;border-top:2px solid #CB071D}
.hy-content th,.hy-content td{padding:12px 14px;border-bottom:1px solid #EDEDED;font-size:15px;text-align:center}
.hy-content th{background:#FCF2F3;font-weight:600;color:#222}
.hy-content img{max-width:100%;height:auto}
.hy-content__empty{padding:80px 0;text-align:center;color:#8b8d93;font-size:16px;line-height:1.8}
@media(max-width:1000px){
.hy-page--content>.hy-container{width:calc(100% - 32px)}
.hy-content{font-size:15px}
.hy-content h2,.hy-content h3{margin:34px 0 12px;font-size:18px}
}

/* ------------------------------------------------------------------
   메인 히어로 텍스트 등장 효과
   영문 제목은 한 글자씩, 한글 문구는 한 줄로 밀려 올라온다.
   사선은 맨 마지막에 그어진다.
   ------------------------------------------------------------------ */
.hy-hero__copy h1,
.hy-hero__copy p{overflow:hidden}
.hy-hero__copy h1{padding-bottom:.1em}

.hy-hero__copy .hy-char,
.hy-hero__copy p>span{display:inline-block;will-change:transform,opacity}
.hy-hero__copy .hy-char--space{width:.28em}

/* 시작 상태 : 마스크 아래에 숨어 있다 */
.hy-hero__copy .hy-char,
.hy-hero__copy p>span{opacity:0;transform:translateY(115%)}

.hy-hero.is-ready .hy-hero__copy .hy-char{animation:hy-rise .85s cubic-bezier(.16,.84,.3,1) both}
.hy-hero.is-ready .hy-hero__copy p>span{animation:hy-rise .9s cubic-bezier(.16,.84,.3,1) 1s both}

@keyframes hy-rise{
  from{opacity:0;transform:translateY(115%)}
  to{opacity:1;transform:translateY(0)}
}

/* 사선 : 글자가 다 올라온 뒤 그어지듯 뻗는다 */
.hy-hero__slash{opacity:0}
.hy-hero.is-ready .hy-hero__slash--top{animation:hy-draw-down .75s cubic-bezier(.2,.7,.3,1) 1.45s both}
.hy-hero.is-ready .hy-hero__slash--bottom{animation:hy-draw-up .75s cubic-bezier(.2,.7,.3,1) 1.6s both}

@keyframes hy-draw-down{
  from{opacity:0;transform:skewX(-42.2deg) scaleY(0);transform-origin:top}
  to{opacity:1;transform:skewX(-42.2deg) scaleY(1);transform-origin:top}
}
@keyframes hy-draw-up{
  from{opacity:0;transform:skewX(-42.2deg) scaleY(0);transform-origin:bottom}
  to{opacity:1;transform:skewX(-42.2deg) scaleY(1);transform-origin:bottom}
}

/* 배경 확대는 글자가 자리잡은 뒤 천천히 */
.hy-hero:before{animation-delay:.2s}

/* 자바스크립트가 막힌 경우 : 글자가 사라지지 않게 */
.no-js .hy-hero__copy .hy-char,
.no-js .hy-hero__copy p>span{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
.hy-hero__copy .hy-char,
.hy-hero__copy p>span{opacity:1;transform:none}
.hy-hero.is-ready .hy-hero__copy .hy-char,
.hy-hero.is-ready .hy-hero__copy p>span{animation:none}
.hy-hero__slash{opacity:1}
.hy-hero.is-ready .hy-hero__slash--top,
.hy-hero.is-ready .hy-hero__slash--bottom{animation:none}
}

/* ------------------------------------------------------------------
   메인 히어로 배경 : 확대 애니메이션이 아래로 삐져나오지 않게 감싼다
   (기존에는 히어로 자체에 확대가 걸려 잘리지 않았다)
   ------------------------------------------------------------------ */
.hy-hero:before{display:none}
.hy-hero__bg{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.hy-hero__bg:before{content:"";position:absolute;inset:0;
  background:url('../img/final/main-hero.jpg') center/cover no-repeat;
  animation:hy-zoom 18s ease-out .2s forwards;will-change:transform}

/* ------------------------------------------------------------------
   스크롤 버튼 : 빨간 파동이 은은하게 퍼져나간다
   ------------------------------------------------------------------ */
.hy-scroll:before,
.hy-scroll:after{content:"";position:absolute;left:50%;top:50%;
  width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;
  background:rgba(223,0,27,.28);pointer-events:none;
  animation:hy-ripple 2.8s cubic-bezier(.2,.6,.35,1) infinite}
.hy-scroll:after{animation-delay:1.4s}
.hy-scroll img{position:relative;z-index:1}

@keyframes hy-ripple{
  0%{transform:scale(.62);opacity:.55}
  60%{opacity:.16}
  100%{transform:scale(1.75);opacity:0}
}

@media(max-width:620px){
.hy-scroll:before,.hy-scroll:after{width:34px;height:34px;margin:-17px 0 0 -17px}
}
@media(prefers-reduced-motion:reduce){
.hy-scroll:before,.hy-scroll:after{animation:none;opacity:0}
.hy-hero__bg:before{animation:none}
}

/* CONTACT : 이메일·주소가 칸을 넘치지 않게 글자 크기만 조정 */
.hy-contact__grid>div:nth-child(2) span{font-size:17px;letter-spacing:-.04em;word-break:break-all}
.hy-contact__grid>div:nth-child(4) span{font-size:16px;letter-spacing:-.04em;line-height:1.5;word-break:keep-all}
@media(max-width:1000px){
.hy-contact__grid>div:nth-child(2) span{font-size:13px}
.hy-contact__grid>div:nth-child(4) span{font-size:13px}
}

/* NEWS 카드 : 마우스를 올린 카드로 빨간 테두리가 옮겨간다
   두께는 box-shadow 로 안쪽에 그려 카드 크기가 흔들리지 않게 한다 */
.hy-news-card{border:1px solid var(--line);box-shadow:none;transition:border-color .2s,box-shadow .2s}
.hy-news-cards:hover .hy-news-card.is-active{border-color:var(--line);box-shadow:none}
.hy-news-card.is-active,
.hy-news-cards .hy-news-card:hover{border-color:var(--red);box-shadow:inset 0 0 0 3px var(--red)}

/* ------------------------------------------------------------------
   스크롤 등장 효과
   자바스크립트가 클래스를 붙여줄 때만 동작하므로,
   스크립트가 막혀 있어도 내용은 그대로 보인다.
   ------------------------------------------------------------------ */
.hy-reveal{opacity:0;transform:translateY(24px);
  transition:opacity .75s cubic-bezier(.16,.84,.3,1),transform .75s cubic-bezier(.16,.84,.3,1);
  transition-delay:var(--hy-d,0s);will-change:opacity,transform}
.hy-reveal.is-in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
.hy-reveal{opacity:1;transform:none;transition:none}
}

/* ------------------------------------------------------------------
   표 구분선 통일 : 실적현황 · 기술자보유현황 · 장비보유현황 등 전체
   가로/세로 3px → 1px, 상단 빨간선 4px → 2px
   ------------------------------------------------------------------ */
.hy-table{border-top-width:2px}
.hy-table th,.hy-table td{border-bottom:1px solid #EDEDED}
.hy-table th+th,.hy-table td+td{border-left:1px solid #EDEDED}

/* ------------------------------------------------------------------
   모바일 보정 (2026-08-31)
   ------------------------------------------------------------------ */
/* 히어로 제목 : 단어 중간에서 잘리지 않게 */
.hy-hero__copy .hy-word{display:inline-block;white-space:nowrap}
.hy-hero__copy p{word-break:keep-all}

@media(max-width:620px){
.hy-hero__copy h1{font-size:38px;letter-spacing:-.04em}
.hy-hero__copy p{font-size:16px}
/* 스크롤 버튼 파동은 좁은 화면에서 깨져 보여 끈다 */
.hy-scroll:before,.hy-scroll:after{display:none}
}

/* PROJECT 제목 영역 정리 */
@media(max-width:620px){
.hy-project__side{padding-right:0}
.hy-project__side p{margin-bottom:26px;font-size:15px;line-height:1.7;word-break:keep-all}
.hy-controls{gap:8px;margin-bottom:24px}
.hy-controls button{flex:0 0 38px;width:38px;height:38px;font-size:17px}
.hy-controls span{margin-left:14px;font-size:14px}
.hy-controls span i{margin-left:14px}
.hy-controls span b{border-bottom-width:2px}
}

/* ------------------------------------------------------------------
   모바일 히어로 세부 보정
   ------------------------------------------------------------------ */
@media(max-width:1000px){
/* 스크롤 버튼 : 118x118 이미지를 12x22 로 줄여 찌그러지던 문제 */
.hy-scroll{width:64px;height:64px;bottom:-32px;border:0}
.hy-scroll img{width:64px;height:64px}
}

@media(max-width:620px){
/* 제목과 문구 사이 간격을 좁힌다. 아래 여백은 유지해야 블록이 아래로 밀리지 않는다 */
.hy-hero__copy{transform:translateY(6px)}
.hy-hero__copy p{margin:14px 0 46px}
.hy-hero__copy h1{padding-bottom:.06em}

/* 사선을 글자 가까이 붙이고 크기도 줄인다 */
.hy-hero__slash{width:26px;height:38px}
.hy-hero__slash--top{top:-36px;margin-left:53px}
.hy-hero__slash--bottom{top:86px;margin-left:-58px}

.hy-scroll{width:56px;height:56px;bottom:-28px}
.hy-scroll img{width:56px;height:56px}
}

/* 모바일 : 스크롤 안내 아이콘을 인증기관 띠 위로 올려 글자와 겹치지 않게 한다 */
@media(max-width:620px){
.hy-scroll{bottom:-24px;width:48px;height:48px}
.hy-scroll img{width:48px;height:48px}
.hy-hero__cert{height:72px;padding:11px 14px;gap:7px;font-size:11px;line-height:1.35}
.hy-hero__cert span{align-items:center;text-align:left;word-break:keep-all}
}

/* 모바일 : PROJECT 제목 옆에 설명글을 나란히 놓는다 */
@media(max-width:620px){
.hy-project__side{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:start}
.hy-project__side .hy-main-title{grid-column:1;grid-row:1;margin:0}
.hy-project__side .hy-project__copy{grid-column:2;grid-row:1;margin:0;align-self:center;font-size:13px;line-height:1.6;color:#8b8d93}
.hy-project__side .hy-controls{grid-column:1/-1;grid-row:2;margin-top:24px}
}

/* 모바일 : NEWS 도 제목 옆에 설명글을 나란히 (PROJECT 와 동일한 구성) */
@media(max-width:620px){
.hy-news__head{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:start;margin-bottom:30px}
.hy-news__head .hy-main-title{grid-column:1;grid-row:1;margin:0}
.hy-news__head p{grid-column:2;grid-row:1;margin:0;align-self:center;font-size:13px;font-weight:400;line-height:1.6;color:#8b8d93;word-break:keep-all}
.hy-news__nav{grid-column:1/-1;grid-row:2;margin-top:2px;justify-content:center}
}

/* 모바일 : NEWS 제목줄 여백 제거
   사선이 인라인이라 줄 높이만큼 빈 공간이 생기던 것을 블록으로 바꿔 없앴다 */
@media(max-width:620px){
.hy-news__head{margin-bottom:6px}
.hy-news{padding:60px 0 24px}
.hy-news__head .hy-main-title{line-height:1}
.hy-news__head .hy-main-title .hy-slash{display:block;width:20px;height:15px;margin:6px 0 0;vertical-align:top}
.hy-news__nav{margin-top:0}
}

/* 모바일 NEWS 제목 : 제목 상자를 flex 로 바꿔 사선 아래 생기던 빈 줄을 없앤다 */
@media(max-width:620px){
.hy-news__head{margin-bottom:24px !important;row-gap:0}
.hy-news__head .hy-main-title{display:flex !important;flex-direction:column;align-items:flex-start;
  line-height:1;margin:0 !important;padding:0 !important}
.hy-news__head .hy-main-title .hy-slash{width:17px;height:26px;margin:2px 0 0 !important;vertical-align:top}
.hy-news__nav{margin-top:34px !important}
}

/* 모바일 : 제목 아래 빨간 사선을 오른쪽으로 옮긴다 (설명글 위치는 원래대로) */
@media(max-width:620px){
.hy-news__head .hy-main-title{align-items:flex-start !important}
.hy-news__head .hy-main-title .hy-slash{margin:2px 0 0 24px !important}
}
