/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}
ol, ul { list-style: none;}
a { text-decoration: none; color: inherit; }

blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

img{max-width:100%}

html{font-size:62.5%}

@media screen and (min-width: 0\0) {
  /* IE 9, IE 10, IE 11 */
  :root,
  html {
    font-size: 10px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  /* IE 10, IE 11 */
  :root,
  html {
    font-size: 10px;
  }
}

body{font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;font-size:1.6rem;line-height:1.2;color:#333;font-weight:400;letter-spacing:-0.025%;overflow-x:hidden}

input,textarea{font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;font-size:1.6rem;line-height:1.5;color:#333;font-weight:400;letter-spacing:-0.025%}

.roboto-mono{
  font-family: "Roboto Mono", monospace;font-optical-sizing:auto;font-style:normal}

#wrap{width:100%}

/* header gnb */
.header{position:fixed;top:0;left:0;width:100%;box-sizing:border-box;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:0 40px;height:80px;background:transparent;border-bottom:1px solid transparent;transition:transform .35s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease}
.header.hide{transform:translateY(-100%)}
/* 스크롤 시 흰 배경 헤더 */
.header.scrolled{background:#fff;border-bottom-color:#f0f0f0;box-shadow:0 2px 10px rgba(0,0,0,0.05)}
.header.scrolled .gnb ul li a{color:#555}
.header.scrolled .gnb ul li a:hover,.header.scrolled .gnb ul:not(:hover) li.selected a{color:#111}
.header.scrolled .btn_contact button{background:#e8521f;color:#fff}
.header.scrolled .btn_contact button .icon{color:#fff}
.header.scrolled .btn_contact button:hover{box-shadow:0 6px 16px rgba(232,82,31,0.35)}
.header .logo{font-size:0}
.header .gnb{height:80px}
.header .gnb ul{display:flex;height:80px;align-items:center}
.header .gnb ul li{padding:0 30px}
.header .gnb ul li a{color:#ccc;padding-bottom:8px;position:relative;font-size:1.4rem;font-weight:600;transition:color .3s ease}
.header .gnb ul li a::after{content:"";position:absolute;left:0;bottom:0;width:100%;border-bottom:2px solid #e8521f;transform:scaleX(0);transform-origin:center;transition:transform .3s ease}
.header .gnb ul li a:hover::after,.header .gnb ul:not(:hover) li.selected a::after{transform:scaleX(1)}
.header .gnb ul li a:hover,.header .gnb ul:not(:hover) li.selected a{color:#fff}
.header .btn_contact button{padding:13px 28px 11px;transition:transform .3s ease,box-shadow .3s ease}
.header .btn_contact button .icon{transition:transform .3s ease}
.header .btn_contact button:hover{box-shadow:0 6px 16px rgba(255,255,255,0.25)}
.header .btn_contact button:hover .icon{animation:arrowMove .7s ease-in-out infinite}
@keyframes arrowMove{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}

main{margin:0 auto}
section{width:100%}

.section{scroll-margin-top:80px}
.section .wrap{width:1194px;margin:0 auto;padding:80px 0}
.section.and .wrap{padding-top:0}
.section.second{background:#f7f7f7}
.section .sub{display:block;padding:20px 0 14px;font-weight:300}
.section:not(.index_section) .sub{padding-top:0}
.section h1{font-size:4.8rem;color:#1a1a1a;font-weight:500}
.section p{padding-top:20px;color:#666;font-size:1.8rem;line-height:1.5em;}

/* index section */

.index_section .wrap{width:1194px;margin:0 auto;padding:120px 0}
.index_section .line{display:block;width:40px;height:1px;background:#333}

/* hero section */
.hero{width:100%;position:relative;background:#000;overflow:hidden}
/* index 히어로(영상) 어둡게 + 우측 가장자리 페이드 */
.hero:not(.sub)::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:rgba(0,0,0,0.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-mask:radial-gradient(circle at 80% 50%,transparent 0%,transparent 22%,#000 70%);mask:radial-gradient(circle at 80% 50%,transparent 0%,transparent 22%,#000 70%)}
.hero .hero_bg{position:absolute;top:0;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%);mask-image:linear-gradient(to bottom,transparent 0,#000 30%);animation:heroBlurIn 1.6s ease-out both}
.hero:not(.sub) .hero_bg{animation-name:heroBlurInIndex;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%),linear-gradient(to right,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 30%),linear-gradient(to right,#000 80%,transparent 100%);mask-composite:intersect}
@keyframes heroBlurIn{0%{filter:blur(22px);opacity:0}100%{filter:blur(0);opacity:1}}
@keyframes heroBlurInIndex{0%{filter:blur(22px);opacity:0}100%{filter:blur(0.5px);opacity:1}}
/* hero 반짝임 파티클 */
.hero_fx{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.hero_fx .particle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.95) 0%,rgba(255,255,255,0) 70%);opacity:0;box-shadow:0 0 6px 1px rgba(255,255,255,0.45);animation:floatUp ease-in-out infinite,twinkle ease-in-out infinite}
@keyframes floatUp{0%{transform:translate(0,0) scale(0.5);opacity:0}15%{opacity:var(--max,0.3)}85%{opacity:var(--max,0.3)}100%{transform:translate(10px,-150px) scale(1);opacity:0}}
@keyframes twinkle{0%,100%{box-shadow:0 0 3px 1px rgba(255,255,255,0.3)}50%{box-shadow:0 0 12px 2px rgba(255,255,255,0.85)}}

.hero .wrap{position:relative;z-index:2;width:1194px;margin:0 auto;padding:200px 0}
.hero.sub .wrap{padding:140px 0}
.hero .title_cap{display:inline-block;padding:8px 24px;font-size:1.3rem;border-radius:999px;border:1px solid #fff;color:#fff}
.hero.sub .title_cap{border:none;padding:0;text-transform:uppercase}

/* hero 등장 애니메이션 */
.hero .title_cap,.hero header p,.hero .btn_group{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.hero header p{line-height:1.5em}
.hero .title_cap.show,.hero header p.show,.hero .btn_group.show{opacity:1;transform:translateY(0)}
.hero h1 .char{display:inline-block;opacity:0;transform:translateY(0.5em);transition:opacity .4s ease,transform .4s ease}
.hero h1 .char.show{opacity:1;transform:translateY(0)}
.hero h1{padding:16px 0;font-size:7.2rem;color:#fff;font-weight:500}
.hero.sub h1{font-size:5.6rem}
.hero h1 strong{color:#e8521f}
.hero p{font-size:2rem;color:#ddd}
.hero .btn_group{margin-top:48px}
.hero .btn_group .btn{background:none;border:1px solid #888;color:#ddd;transition:transform .3s ease,border-color .3s ease,color .3s ease,background-color .3s ease,box-shadow .3s ease}
.hero.sub .btn_group .btn{border:none;background:#ddd;color:#4b4b4b}
.hero .btn_group .btn:not(.primary):hover{border-color:#fff;color:#fff;background-color:rgba(255,255,255,0.08)}
.hero.sub .btn_group .btn:not(.primary):hover{background:#e8521f;box-shadow:0 0 14px rgba(232,82,31,0.45)}
.hero .btn_group .btn:not(.primary):hover .icon{color:#fff}
.hero .btn_group .btn.btn.primary{background:#e8521f;border-color:#e8521f;transition:transform .3s ease,box-shadow .3s ease}
.hero .btn_group .btn.btn.primary:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(232,82,31,0.5),0 0 16px rgba(232,82,31,0.45);color:#fff}

.scroll_icon{position:absolute;left:50%;bottom:40px}
.scroll_icon div{display:flex;align-items:center;flex-direction:column}
.scroll_icon p{font-size:1.2rem;color:#888;letter-spacing:30%;text-transform:uppercase}
.scroll_icon .bar{display:block;position:relative;margin-top:8px;width:1px;height:40px;background:#888;overflow:hidden}
.scroll_icon .bar::after{content:"";position:absolute;left:0;top:0;width:1px;height:10px;background:#fff;animation:scrollDown 1.6s ease-in-out infinite}
@keyframes scrollDown{0%{transform:translateY(-10px);opacity:0}30%{opacity:1}80%{opacity:1}100%{transform:translateY(40px);opacity:0}}

.count_num{display:flex;gap:28px;position:absolute;right:40px;bottom:40px;padding:20px 24px;border:1px solid rgba(255, 255, 255, 0.2);border-radius:8px;background:rgba(255, 255, 255, 0.1);opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}
.count_num.show{opacity:1;transform:translateY(0)}
.count_num::before{content:"";position:absolute;inset:-1px;border-radius:8px;padding:1px;background:linear-gradient(135deg,transparent 35%,rgba(255,255,255,0.35) 50%,transparent 65%);background-size:250% 250%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:borderBeam 3s linear infinite;pointer-events:none}
@keyframes borderBeam{0%{background-position:0% 0%}100%{background-position:100% 100%}}
.count_num .item span{display:block}
.count_num .item .num{font-size:2.2rem;color:#fff;font-weight:300}
.count_num .item .num strong{color:#e8521f}
.count_num .item .txt{font-size:1.1rem;text-transform:uppercase;color:#888}

/* index_section 등장 애니메이션 */
.index_section .sub,.index_section header p,.index_section .item_group .item,.index_section .btn_group{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.index_section .sub.show,.index_section header p.show,.index_section .item_group .item.show,.index_section .btn_group.show{opacity:1;transform:translateY(0)}
.index_section .img,.section .img{clip-path:inset(0 100% 0 0);transition:clip-path .8s ease}
.index_section .img.show,.section .img.show{clip-path:inset(0 0 0 0)}
.index_section .line{transform:scaleX(0);transform-origin:left;transition:transform .6s ease}
.index_section .line.show{transform:scaleX(1)}
.index_section h1 .char{display:inline-block;opacity:0;transform:translateY(0.5em);transition:opacity .4s ease,transform .4s ease}
.index_section h1 .char.show{opacity:1;transform:translateY(0)}

/* section 등장 애니메이션 */
.section .sub,.section header p,.section .item_group .item,.section .history .item,.section .location .item,.section .form .item,.section .button,.section .map{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.section .sub.show,.section header p.show,.section .item_group .item.show,.section .history .item.show,.section .location .item.show,.section .form .item.show,.section .button.show,.section .map.show{opacity:1;transform:translateY(0)}
.section h1 .char{display:inline-block;opacity:0;transform:translateY(0.5em);transition:opacity .4s ease,transform .4s ease}
.section h1 .char.show{opacity:1;transform:translateY(0)}
.section .icon_sub{display:flex;align-items:center;gap:16px;margin-bottom:40px}
.section .icon_sub .icon{display:flex;justify-content:center;align-items:center;background:#e8521f;border-radius:8px;width:56px;height:56px;color:#fff}
.section .icon_sub .txt span{display:block;font-family:"Roboto Mono", monospace;font-size:1.1rem}
.section .icon_sub .txt span:first-child{color:#e8521f}

.index_section:nth-child(2n+1){background:#f7f7f7}

.index_section .item_group,.section .item_group{display:flex;margin-top:64px}
.index_section .img,.section .img{margin-top:64px;height:320px;background:#000}
.index_section .img img,.section .img img{display:block;width:100%;height:100%;object-fit: cover;object-position: center}
.index_section .btn_group{margin-top:48px}
.index_section .btn_group .btn .icon{transition:transform .3s ease}
.index_section .btn_group .btn:hover .icon{animation:arrowMove .7s ease-in-out infinite}

.item_group.item4 .item{width:288px}
.item_group.item4 .item.x2{width:calc((100% - 14px) / 2)}
.item_group.item4{gap:14px;flex-wrap:wrap}
.item_group.item4 .sub_cap{font-family:"Roboto Mono", monospace;font-size:1.1rem;color:#e8521f}
.item_group.item4 .sub_cap.with_icon{margin:30px 0 16px}
.item_group.item4 .sub_cap.with_icon+.title{margin-top:0}
.item_group.item3 .item{width:386px}
.item_group.item3{gap:18px}
.item_group .item{padding:24px;background:#eeeae7;border-radius:8px;box-sizing:border-box}
.item_group.item3 .item{padding:32px;background:#e1e1e1}
.section .item_group.item4 .item{border:1px solid #d8c8bd}
.section.second .item_group.item4 .item{background:#fff;border-color:#ddd}
.section .item_group.item3 .item{padding:24px;background:#f3f1f0;border:1px solid #d8c8bd}
.item_group .item .num{font-family:"Roboto Mono", monospace;font-size:1.1rem}
.item_group .item .title_cap{font-family:"Roboto Mono", monospace;font-size:1.1rem}
.item_group .item .icon{display:flex;justify-content:center;align-items:center;width:56px;height:56px;background:#fff;border-radius:8px}
.section .item_group .item .icon{background:#fff;color:#1c1b1f;border:1px solid #ddd}
.item_group.item3 .icon{background:#777;color:#fff;border:1px solid #777}
.section .item_group.item3 .icon{margin:0}
.index_section .item_group.item3 .icon{margin:20px 0}
.item_group .item .title{margin-top:30px;font-size:2rem;color:#4b4b4b;font-weight:500}
.item_group .item .em{padding:20px 0 12px;font-style:italic;font-size:1.4rem}
.item_group .item .em+p{font-size:1.4rem;line-height:1.5;}
.item_group.item3 .title{font-weight:600;font-size:2.8rem}
.section .item_group.item3 .title{font-weight:500;font-size:2rem}
.item_group .item p{padding-top:8px;font-size:1.8rem;color:#666}
.section .item_group .item p{font-size:1.6rem}
.item_group .item .btn{margin-top:40px;background:none;padding:0;font-size:1.3rem}

.index_section .item_group.item3 .item.selected,.index_section .item_group.item3 .item:hover{transition:transform .55s ease,background-color .55s ease,box-shadow .55s ease}
.index_section .item_group.item3 .item.selected{background:#2a1a12;transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,0,0,0.25)}
.index_section .item_group.item3 .item.selected .num{color:#888}
.index_section .item_group.item3 .item.selected .icon,.index_section .item_group.item3 .item:hover .icon{background:#e8521f;border-color:#e8521f;color:#fff}
.index_section .item_group.item3 .item.selected .title_cap,.index_section .item_group.item3 .item.selected .btn{color:#e8521f}
.index_section .item_group.item3 .item.selected .title{color:#fff}
.index_section .item_group.item3 .item.selected .em,.index_section .item_group.item3 .item.selected .em+p{color:#ccc}
.index_section .item_group.item3 .item .btn a{transition:color .3s ease}
.index_section .item_group.item3 .item .btn a:hover{color:#fff}

/* selected 전환 시 내부 요소 색상 순차 변경 */
.index_section .item_group.item3 .item .num,.index_section .item_group.item3 .item .icon,.index_section .item_group.item3 .item .title_cap,.index_section .item_group.item3 .item .title,.index_section .item_group.item3 .item .em,.index_section .item_group.item3 .item .em+p,.index_section .item_group.item3 .item .btn{transition:color .4s ease,background-color .4s ease,border-color .4s ease}
.index_section .item_group.item3 .item.selected .num,.index_section .item_group.item3 .item:hover .num{transition-delay:.05s}
.index_section .item_group.item3 .item.selected .icon,.index_section .item_group.item3 .item:hover .icon{transition-delay:.13s}
.index_section .item_group.item3 .item.selected .title_cap,.index_section .item_group.item3 .item:hover .title_cap{transition-delay:.21s}
.index_section .item_group.item3 .item.selected .title,.index_section .item_group.item3 .item:hover .title{transition-delay:.29s}
.index_section .item_group.item3 .item.selected .em,.index_section .item_group.item3 .item:hover .em{transition-delay:.37s}
.index_section .item_group.item3 .item.selected .em+p,.index_section .item_group.item3 .item:hover .em+p{transition-delay:.45s}
.index_section .item_group.item3 .item.selected .btn,.index_section .item_group.item3 .item:hover .btn{transition-delay:.53s}

.history{margin-top:64px}
.history .item{position:relative;padding:0 0 32px 32px}
.history .item:last-child{padding-bottom:0}
.history .item::before{content:"";position:absolute;top:2px;left:0;width:14px;height:14px;border-radius:999px;border:3px solid #e8521f;background:#fff;box-sizing:border-box;z-index:1}
.history .item:not(:last-child)::after{content:"";position:absolute;top:6px;left:6px;bottom:0;width:1px;background:#888}
.history .item span{display:block}
.history .item .num{font-family:"Roboto Mono", monospace;font-size:1.1rem;color:#e8521f}
.history .item .note{margin-top:8px}

.list_item{margin-top:40px}
.list_item p{margin-bottom:20px}
.list_item .item{display:flex;flex-wrap:wrap;gap:16px}
.list_item .item span{display:block;padding:16px 24px;border:1px solid #ddd;border-radius:999px;color:#484848;}
.list_item p,.list_item .item span{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.list_item p.show,.list_item .item span.show{opacity:1;transform:translateY(0)}

.portfolio{margin-top:64px}
.portfolio .tab ul{display:flex;gap:16px}
.portfolio .tab ul li{padding:16px 24px;background:#fff;border:1px solid #ddd;border-radius:999px;color:#4b4b4b;cursor:pointer;opacity:0;transform:translateY(24px);transition:color .3s ease,background-color .3s ease,border-color .3s ease,opacity .7s ease,transform .7s ease}
.portfolio .tab ul li.show{opacity:1;transform:translateY(0)}
.portfolio .tab ul li.selected,.portfolio .tab ul li:hover{color:#fff;background:#e8521f;border-color:#e8521f}
.portfolio .tab ul li span{color:#888;transition:color .3s ease}
.portfolio .tab ul li.selected span,.portfolio .tab ul li:hover span{color:#eee}
.portfolio table{margin-top:24px;width:100%;border:1px solid #d8c8bd;border-radius:16px;border-collapse:separate;border-spacing:0;overflow:hidden;opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.portfolio table.show{opacity:1;transform:translateY(0)}
.portfolio table tbody{transition:opacity .22s ease}
.portfolio table.filtering tbody{opacity:0}
.portfolio table th,.portfolio table td{padding:12px 16px;border-bottom:1px solid #d8c8bd;color:#666;vertical-align:middle}
.portfolio table tbody tr.last-visible td{border-bottom:none}
.portfolio table td{font-weight:300}
.portfolio table th{background:#eeeae7;padding:20px 16px;color:#333}
.portfolio table td:first-child{text-align:center}
.portfolio table td:first-child span{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;background:#eeeae7;border-radius:4px;font-weight:500;font-size:1.3rem;color:#333}
.portfolio table td:last-child span{display:block;margin:4px 0}
.portfolio table td:last-child span::before{content:"공개";display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;margin-right:8px;padding:0 8px;background:#eeeae7;border-radius:4px;font-size:1.4rem}
.portfolio table td:last-child span:first-child::before{content:"출원"}
.portfolio table td:last-child span:nth-child(3)::before{content:"등록"}
.portfolio table tr:last-child td{border:none}

.location{display:flex;gap:20px;margin-top:64px}
.location .item{width:calc((100% - 20px) / 2);box-sizing:border-box;padding:32px;background:#f3f1f0;border:1px solid #d8c8bd;border-radius:8px}
.location .item .icon{display:flex;justify-content:center;align-items:center;width:56px;height:56px;color:#fff;background:#e8521f;border-radius:8px}
.location .item .title{margin-top:20px;font-size:2.8rem;color:#4b4b4b;font-weight:500}
.location .address{margin-top:40px}
.location .address li{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #ccc}
.location .address li:last-child{border:none;padding:0;margin:0}
.location .address span{display:inline-block;font-size:1.5rem;vertical-align:top;font-weight:300}
.location .address span.head{width:100px}
.location .address span.content{color:#666}
.location .direction{margin-top:40px;display:flex;padding:24px;background:#fff;border:1px solid #d8c8bd;border-radius:8px}
.location .direction+.direction{margin-top:16px}
.location .direction span{display:inline-block;font-size:1.5rem;vertical-align:top;font-weight:300}
.location .direction span.head{width:120px}
.location .direction span.content{color:#666}

.map{margin-top:20px}
.map iframe{width:100%;height:420px;border-radius:16px}

.form{margin-top:64px;padding:48px 32px;background:#f3f1f0;border-radius:16px}
.form .item{display:flex;gap:32px}
.form .item.whole{display:initial}
.form .item div{margin-bottom:32px;width:calc((100% - 32px) / 2);box-sizing:border-box}
.form .item label{display:block;margin-bottom:16px}
.form .item input,.form .item select,.form .item textarea{width:100%;padding:14px 16px;border:1px solid #ccc;box-sizing:border-box;border-radius:6px}
.form .item select{padding:18px 44px 17px 16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center}
.form .item input,.form .item select,.form .item textarea{transition:border-color .25s ease,box-shadow .25s ease}
.form .item input:focus,.form .item select:focus,.form .item textarea:focus{outline:none;border-color:#e8521f;box-shadow:0 0 0 3px rgba(232,82,31,0.15)}
.form .button{margin-top:24px;display:flex;justify-content:end}
.form .button .btn{transition:transform .3s ease,box-shadow .3s ease}
.form .button .btn .icon{transition:transform .3s ease}
.form .button .btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(232,82,31,0.45),0 0 14px rgba(232,82,31,0.4)}
.form .button .btn:hover .icon{transform:translateX(4px)}

/* custom select */
.custom_select,.form .item .custom_select{position:relative;width:100%;margin:0}
.custom_select .cs_trigger{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 20px 17px 16px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#333;font-size:1.6rem;text-align:left;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease}
.custom_select.open .cs_trigger{border-color:#e8521f;box-shadow:0 0 0 3px rgba(232,82,31,0.15)}
.custom_select .cs_arrow{flex:0 0 auto;width:8px;height:8px;margin-left:12px;margin-top:-4px;border-right:2px solid #666;border-bottom:2px solid #666;transform:rotate(45deg);transition:transform .25s ease,border-color .25s ease}
.custom_select.open .cs_arrow{margin-top:2px;transform:rotate(-135deg);border-color:#e8521f}
.custom_select .cs_options{position:absolute;top:calc(100% + 8px);left:0;width:100%;padding:6px;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 12px 28px rgba(0,0,0,0.12);z-index:50;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.custom_select.open .cs_options{opacity:1;transform:translateY(0);pointer-events:auto}
.custom_select .cs_options li{padding:13px 14px;border-radius:6px;color:#555;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.custom_select .cs_options li:hover{background:#f7eae6;color:#e8521f}
.custom_select .cs_options li.selected{background:#e8521f;color:#fff}

/* footer */
footer{width:100%;background:#000;padding:56px 0}
footer .wrap{display:flex;justify-content:space-between;width:1194px;margin:0 auto}
footer .logo p{font-size:1.5rem;color:#888}
footer .logo p+p{margin-top:8px}
footer .f_nav{display:flex;justify-content:space-between;gap:96px}
footer .f_nav .item{padding:0 24px;font-size:1.3rem;color:#888}
footer .f_nav .item li{margin-top:16px;color:#ccc}
footer .f_nav .item li a{display:inline-block;color:#ccc;transition:color .3s ease,transform .3s ease}
footer .f_nav .item li a:hover{color:#fff;transform:translateX(4px)}
footer .copyright{display:flex;justify-content:space-between;width:1194px;margin:32px auto;padding-top:32px;border-top:1px solid #333}
footer .copyright p{font-size:1.3rem;color:#888}

/* footer 등장 애니메이션 */
footer .logo,footer .f_nav .item,footer .copyright{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
footer .logo.show,footer .f_nav .item.show,footer .copyright.show{opacity:1;transform:translateY(0)}

/* button */
button{border:0;background:none;color:#333;font-size:1.6rem;cursor:pointer}
.btn{display:flex;align-items:center;gap:8px;padding:16px 28px 14px;background:#fff;border-radius:999px}
.btn.primary{background:#e8521f;color:#fff}
.btn.primary .icon{color:#fff}
.btn .icon{color:#333;font-size:2rem}
.btn_group{display:flex;gap:16px}

/* 모바일 네비 토글(햄버거) — 기본 숨김 */
.nav_toggle{display:none;position:relative;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;padding:0;background:none;border:0;cursor:pointer;z-index:1001;filter:drop-shadow(0 0 3px rgba(0,0,0,0.45))}
.nav_toggle span{display:block;width:24px;height:2px;border-radius:2px;background:#fff;transition:transform .3s ease,opacity .3s ease,background-color .3s ease}
.header.scrolled .nav_toggle{filter:none}
.header.scrolled .nav_toggle span{background:#222}
.header.nav_open .nav_toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.header.nav_open .nav_toggle span:nth-child(2){opacity:0}
.header.nav_open .nav_toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* 모바일 메뉴 전용 항목 (데스크톱 숨김) */
.header .gnb ul li.mobile_only{display:none}

/* ================= 반응형 ================= */
/* 와이드 컨테이너 → 가변 폭 */
@media (max-width:1240px){
  .section .wrap,.index_section .wrap,.hero .wrap,footer .wrap,footer .copyright{width:auto;max-width:100%;box-sizing:border-box;padding-left:40px;padding-right:40px}
}

/* 태블릿(가로 포함)에서 스크롤 아이콘 숨김 */
@media (max-width:1024px){
  .scroll_icon{display:none}
}

/* 태블릿 */
@media (max-width:900px){
  /* 헤더 / 모바일 메뉴 */
  .header{padding:0 24px}
  .nav_toggle{display:flex}
  .btn_contact{display:none}
  .header .gnb{height:auto}
  .header .gnb ul{position:fixed;left:0;top:80px;bottom:0;width:100%;height:auto;flex-direction:column;align-items:stretch;gap:0;background:#111;padding:8px 0;opacity:0;transform:translateY(-12px);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
  .header.nav_open .gnb ul{opacity:1;transform:translateY(0);pointer-events:auto}
  .header.scrolled .gnb ul{background:#fff}
  .header .gnb ul li{padding:0}
  .header .gnb ul li.mobile_only{display:block}
  .header .gnb ul li a{display:block;padding:16px 24px;color:#ddd}
  .header.scrolled .gnb ul li a{color:#333}
  .header .gnb ul li a::after{display:none}

  /* 히어로 */
  .hero .wrap{padding:160px 40px 120px}
  .hero.sub .wrap{padding:140px 40px 90px}
  .hero h1{font-size:5rem}
  .hero.sub h1{font-size:4rem}
  .hero p{font-size:1.8rem}
  .hero .hero_bg{width:100%;height:100%;object-fit:cover;object-position:50% center}
  .hero:not(.sub) .hero_bg{animation-name:heroBlurIn}
  .hero:not(.sub)::after{background:rgba(0,0,0,0.7);-webkit-mask:none;mask:none}
  .hero.sub .btn_group .btn{justify-content:flex-start;text-align:left}
  .count_num{display:none}
  .scroll_icon{display:none}

  /* 섹션 */
  .section .wrap{padding-top:64px;padding-bottom:64px}
  .index_section .wrap{padding-top:90px;padding-bottom:90px}
  main > section:nth-child(2) > .wrap{padding-top:64px}
  .section h1,.index_section h1{font-size:3.6rem}

  /* 카드 그룹: 2열 */
  .index_section .item_group,.section .item_group{flex-wrap:wrap;margin-top:48px}
  .item_group.item4 .item,.item_group.item4 .item.x2{width:calc((100% - 14px) / 2)}
  .item_group.item3 .item{width:calc((100% - 18px) / 2)}

  /* 방문정보 / 폼 */
  .location{flex-direction:column}
  .location .item{width:100%}
  .form .item{flex-direction:column;gap:0}
  .form .item div{width:100%}

  /* 푸터 */
  footer .wrap{flex-direction:column;gap:40px}
  footer .f_nav{gap:48px;flex-wrap:wrap}
}

/* 모바일 */
@media (max-width:600px){
  .section .wrap,.index_section .wrap,.hero .wrap,footer .wrap,footer .copyright{padding-left:20px;padding-right:20px}
  .header{padding:0 20px}

  /* 히어로 */
  .hero .wrap{padding:100px 20px 60px}
  .hero.sub .wrap{padding:120px 20px 70px}
  .hero.sub.dim::after{content:"";position:absolute;inset:0;z-index:0;background:rgba(0,0,0,0.72);pointer-events:none}
  .hero.contact .hero_bg{object-position:60% center}
  .hero:not(.sub) .hero_bg{object-position:91% center}
  .hero h1{font-size:3.6rem}
  .hero.sub h1{font-size:3rem}
  .hero p{font-size:1.6rem}
  .hero p br,.hero h1 br{display:none}
  .hero .title_cap{padding:0;border:none;margin-bottom:20px;color:#999}
  .hero .btn_group{flex-direction:row;flex-wrap:nowrap}
  .hero .btn_group .btn{justify-content:center}
  .hero .btn_group .btn.primary .icon{display:none}
  .hero.sub .btn_group{display:none}

  /* 섹션 */
  .section h1,.index_section h1{font-size:2.8rem}
  .section p,.index_section p{font-size:1.6rem}  

  /* 카드 그룹: 1열 */
  .item_group.item4 .item,.item_group.item4 .item.x2,.item_group.item3 .item{width:100%}
  .item_group.item3 .title{font-size:2.4rem}
  /* index item4: 아이콘 + 텍스트 가로 배치 */
  .index_section .item_group.item4 .item{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:16px;row-gap:4px}
  .index_section .item_group.item4 .item .icon{grid-column:1;grid-row:1 / 3}
  .index_section .item_group.item4 .item .title{grid-column:2;margin-top:0}
  .index_section .item_group.item4 .item p{grid-column:2;padding-top:0}
  .location .item .title{font-size:2.4rem}
  .index_section .img,.section .img{height:auto;aspect-ratio:16/9}

  /* 폼 */
  .form{padding:32px 20px}
  .form .button{justify-content:stretch}
  .form .button .btn{width:100%;justify-content:center}

  /* 특허 테이블: 가로 스크롤 */
  .portfolio .tab ul{flex-wrap:wrap}
  .portfolio table th:last-child,.portfolio table td:last-child{display:none}
  .portfolio table colgroup col:nth-child(1){width:64px}
  .portfolio table colgroup col:nth-child(3){width:0}
  .portfolio table th,.portfolio table td{word-break:break-word}

  /* 푸터 */
  footer .f_nav{flex-direction:row;flex-wrap:wrap;gap:32px 16px}
  footer .f_nav .item{padding:0}
  footer .f_nav .item:nth-child(1),footer .f_nav .item:nth-child(2){width:calc((100% - 16px) / 2)}
  footer .f_nav .item:nth-child(3){width:100%}
  footer .f_nav .item li br{display:none}
  footer .copyright{flex-direction:column;gap:8px}
  .map iframe{height:320px}
}

