@charset "utf-8";

/* =========================
   COMMON / RESET
========================= */

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css");

/* 관리자 내용 수정 버튼 */
.ctt_admin{position:fixed; right:28px; bottom:28px; z-index:9999; margin:0 !important; padding:0 !important;}
.ctt_admin .btn_admin{display:flex; align-items:center; justify-content:center; gap:9px; min-width:122px; height:48px; padding:0 20px !important; border:0 !important; border-radius:8px; background:#f47721; box-shadow:0 8px 24px rgba(0,0,0,.2); font-size:14px; line-height:1; font-weight:700; color:#fff; transition:background-color .25s ease,box-shadow .25s ease,transform .25s ease;}
.ctt_admin .btn_admin:hover{background:#df6414; box-shadow:0 12px 30px rgba(0,0,0,.26); transform:translateY(-2px);}
.ctt_admin .btn_admin:focus-visible{outline:3px solid rgba(244,119,33,.3); outline-offset:4px;}
.ctt_admin .btn_admin .sound_only{display:block !important; width:auto !important; height:auto !important; position:static !important; overflow:visible !important; margin:0 !important; padding:0 !important; clip:auto !important; clip-path:none !important; white-space:nowrap !important;}
.ctt_admin .btn_admin i{display:flex !important; align-items:center; justify-content:center; order:-1; width:18px !important; height:18px !important; position:static !important; margin:0 !important; padding:0 !important; background:none !important; font-size:0 !important; line-height:1 !important; color:#fff !important; animation:none !important; -webkit-mask:none !important; mask:none !important;}
.ctt_admin .btn_admin i:before{content:"⚙" !important; display:block; font-family:Arial,sans-serif !important; font-size:17px !important; line-height:1 !important; font-weight:400 !important; color:#fff !important;}


:root{--orange:#f47b20; --navy:#07111d; --text:#111418; --muted:#6e737a; --line:#e6e8eb; --bg:#f6f6f6; --container:1280px;}
*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:92px;}
body{min-width:320px; font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.6; color:var(--text); background:#fff; word-break:keep-all;}
a{color:inherit; text-decoration:none;}
button,input{font:inherit;}
button{border:0; background:none; cursor:pointer;}
img{display:block; max-width:100%;}
.site{width:100%; overflow:hidden;}
.container{width:min(calc(100% - 80px),var(--container)); margin:0 auto;}
.section-space{padding:150px 0;}
.section-label{display:block; margin-bottom:22px; font-size:13px; line-height:1; font-weight:800; color:var(--orange); letter-spacing:.01em;}
.section-copy h2{font-size:50px; line-height:1.22; font-weight:800; letter-spacing:-.045em;}
.section-copy p{margin-top:28px; font-size:17px; line-height:1.9; color:var(--muted);}

.media-slot{display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;  background-size:cover; background-position:center; color:#6e747b; text-align:center;}
.media-slot span{position:relative; z-index:1; padding:14px; border-radius:8px; background:rgba(255,255,255,.74); font-size:13px; line-height:1.55; font-weight:700; backdrop-filter:blur(5px);}
.media-slot small{font-size:11px; font-weight:500; color:#737980;}

.header{height:92px; position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid rgba(7,17,29,.06); transition:background-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;}
.header.is-scrolled{background:rgba(255,255,255,.9); box-shadow:0 10px 34px rgba(7,17,29,.08); backdrop-filter:blur(14px);}

.header__inner{width:100%; max-width:1280px; height:100%; margin:0 auto; padding:0 20px; display:flex; align-items:center; box-sizing:border-box;}

.logo{display:inline-flex; align-items:center; gap:12px; flex:0 0 auto;}
.logo__mark{display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:11px 4px 11px 4px; background:var(--orange); font-size:12px; font-weight:900; color:#fff;}
.logo__text{display:flex; flex-direction:column; line-height:1.05;}
.logo__text strong{font-size:17px; font-weight:800; letter-spacing:-.02em;}
.logo__text small{margin-top:5px; font-size:10px; font-weight:700; color:#767b81; letter-spacing:.18em;}

.gnb{display:flex; align-items:center; gap:42px; height:100%; margin-left:auto;}
.gnb-item{display:flex; align-items:center; height:100%; position:relative;}
.gnb-link{display:flex; align-items:center; height:100%; position:relative; padding:0 2px; font-size:17px; font-weight:600; color:#111; white-space:nowrap;}
.gnb-link:after{content:""; width:0; height:2px; position:absolute; right:0; bottom:0; background:var(--orange); transition:width .3s ease;}
.gnb-item:hover > .gnb-link:after,
.gnb-item:focus-within > .gnb-link:after{width:100%; right:auto; left:0;}

.gnb-sub{visibility:hidden; opacity:0; min-width:180px; position:absolute; top:100%; left:50%; z-index:100; padding-top:12px; transform:translate(-50%,10px); transition:opacity .2s ease,transform .2s ease,visibility .2s;}
.gnb-sub-inner{overflow:hidden; padding:10px; border:1px solid #e6e8ec; border-radius:8px; background:#fff; box-shadow:0 12px 35px rgba(0,0,0,.12);}
.gnb-sub-link{display:block; padding:12px 16px; border-radius:5px; font-size:15px; line-height:1.4; color:#555; white-space:nowrap; transition:background .2s ease,color .2s ease;}
.gnb-sub-link:hover,
.gnb-sub-link:focus{background:#fff4eb; color:var(--orange);}

.gnb-item:hover .gnb-sub,
.gnb-item:focus-within .gnb-sub{visibility:visible; opacity:1; transform:translate(-50%,0);}

.header-consult{display:inline-flex; align-items:center; justify-content:center; gap:10px; flex:0 0 auto; min-width:154px; height:52px; margin-left:34px; padding:0 24px; border-radius:999px; background:var(--orange); box-shadow:0 10px 24px rgba(11,49,143,.16); font-size:15px; line-height:1; font-weight:800; color:#fff; transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;}
.header-consult svg{width:22px; height:22px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round;}

.nav-toggle,
.nav-toggle-button{display:none;}

.hero{height:calc(100vh - 92px); position:relative; color:#fff; background:#303842;}
.hero__media{position:absolute; inset:-40px 0; background-image:linear-gradient(90deg,rgba(0,0,0,.4),rgba(0,0,0,.14)),url("/img/main-hero.jpg"); background-size:cover; background-position:center; transform:translate3d(0,var(--parallax-y,0),0) scale(1.08); animation:heroSlowZoom 10s cubic-bezier(.2,.65,.3,1) forwards; will-change:transform;}
.hero__media span{display:none;}
.hero__overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,10,16,.08) 0%,rgba(5,10,16,.16) 55%,rgba(5,10,16,.4) 100%);}
.hero__content{height:100%; display:flex; align-items:center; justify-content:center; position:relative; z-index:2; text-align:center;}
.hero__content:before{content:""; width:1px; height:74px; position:absolute; left:50%; bottom:0; background:rgba(255,255,255,.55);}
.hero__eyebrow{display:block; margin-bottom:16px; font-size:12px; line-height:1; font-weight:800; color:var(--orange); letter-spacing:.12em;}
.hero__content > div{width:100%;}
.hero h1{width:100%; min-height:1.08em; position:relative; padding:0 50px 20px; font-size:62px; line-height:1.08; font-weight:800; letter-spacing:-.04em; white-space:nowrap;}
.hero h1:after{content:""; width:100%; height:1px; position:absolute; left:0; bottom:0; background:rgba(255,255,255,.34); transform:scaleX(1); transform-origin:left center; transition:transform 1.05s cubic-bezier(.22,.61,.36,1);}
.motion-ready .hero h1:after{transform:scaleX(0);}
.motion-ready .hero h1.is-typed:after{transform:scaleX(1);}
.hero-typing-cursor{display:inline-block; width:3px; height:.82em; margin-left:7px; position:relative; top:.05em; background:var(--orange); animation:heroCursorBlink .75s steps(1,end) infinite;}
.hero h1.is-typed .hero-typing-cursor{opacity:0; animation:none; transition:opacity .2s ease;}
.hero p{max-width:860px; margin:22px auto 0; font-size:16px; line-height:1.8; color:rgba(255,255,255,.82);}
.motion-ready .hero__eyebrow{opacity:0; transform:translate3d(0,24px,0); transition:opacity .7s cubic-bezier(.2,.65,.3,1),transform .7s cubic-bezier(.2,.65,.3,1);}
.motion-ready .hero h1{opacity:0; transform:translate3d(0,20px,0); transition:opacity .5s cubic-bezier(.2,.65,.3,1),transform .5s cubic-bezier(.2,.65,.3,1);}
.motion-ready .hero p{opacity:0; transform:translate3d(0,24px,0); transition:opacity .0s cubic-bezier(.2,.65,.3,1),transform .85s cubic-bezier(.2,.65,.3,1);}
.motion-ready .hero__content.is-loaded .hero__eyebrow{opacity:1; transform:translate3d(0,0,0);}
.motion-ready .hero__content.is-typing h1{opacity:1; transform:translate3d(0,0,0);}
.motion-ready .hero__content.is-complete p{opacity:1; transform:translate3d(0,0,0);}
@keyframes heroCursorBlink{0%,48%{opacity:1;} 49%,100%{opacity:0;}}

.overview{height:600px; position:relative; overflow:hidden; color:#fff; background:linear-gradient(110deg,#03070d 0%,#07131f 55%,#091a2a 100%);}
.overview__inner{height:100%; display:flex; align-items:center; position:relative; z-index:2;}
.overview__graphic{width:100%; height:100%; position:absolute; top:0px; right:0; background-color:transparent; background-image:url("/img/overview-graphic.png"); background-size:cover; background-position:center;}
.overview__graphic span{display:none;}
.overview__graphic:after{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px); background-size:12px 12px; opacity:.35; mask-image:linear-gradient(90deg,transparent,#000);}
.overview .section-copy{width:560px;}
.section-copy--light h2{font-size:48px;}
.section-copy--light p{font-size:15px; color:rgba(255,255,255,.64);}

.standard{background:#fff;}
.standard__layout{display:grid; grid-template-columns:310px 1fr; gap:80px; align-items:start;}
.standard__copy{padding-top:8px;}
.standard__copy h2{font-size:47px;}
.standard__copy p{font-size:15px;}
.standard-grid{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:300px; gap:18px;}
.standard-card{position:relative; overflow:hidden; border-radius:24px; color:#fff; background:#252c34;}
.standard-card--01{grid-column:1 / span 3;}
.standard-card--02{grid-column:4 / span 3;}
.standard-card--03{grid-column:1 / span 2;}
.standard-card--04{grid-column:3 / span 2;}
.standard-card--05{grid-column:5 / span 2;}
.standard-card__media{position:absolute; inset:0; transition:transform .8s cubic-bezier(.2,.65,.3,1);}
.standard-card__media span{display:none;}
.standard-card--01 .standard-card__media{background-image:url("/img/standard-01.jpg");}
.standard-card--02 .standard-card__media{background-image:url("/img/standard-02.jpg");}
.standard-card--03 .standard-card__media{background-image:url("/img/standard-03.jpg");}
.standard-card--04 .standard-card__media{background-image:url("/img/standard-04.jpg");}
.standard-card--05 .standard-card__media{background-image:url("/img/standard-05.jpg");}
.standard-card__shade{position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,7,12,.12) 35%,rgba(3,7,12,.88) 100%);}
.standard-card__text{position:absolute; left:30px; right:30px; bottom:27px; z-index:2; text-align:center;}
.standard-card__text h3{font-size:23px; line-height:1.25; font-weight:800;}
.standard-card__text p{margin-top:8px; font-size:13px; line-height:1.55; color:rgba(255,255,255,.7);}
.standard-card:hover .standard-card__media{transform:scale(1.055);}

.value{background:#fff;}
.value__layout{display:grid; grid-template-columns:380px 1fr; gap:120px; align-items:start;}
.value__copy h2{font-size:48px;}
.value-list{border-top:1px solid #cfd3d7;}
.value-row{display:grid; grid-template-columns:56px 220px 1fr; gap:22px; align-items:center; min-height:104px; position:relative; border-bottom:1px solid #d8dbde;}
.value-row:after{content:""; width:0; height:1px; position:absolute; left:0; bottom:-1px; background:#171b20; transition:width 1s cubic-bezier(.2,.65,.3,1); transition-delay:calc(var(--reveal-delay,0ms) + 160ms);}
.value-row.is-visible:after{width:100%;}
.value-row__num{font-size:20px; font-weight:800;}
.value-row h3{font-size:22px; font-weight:800;}
.value-row p{font-size:15px; line-height:1.65; color:#686e74;}

.facilities{}
.facilities__copy{margin-bottom:66px;}
.facilities__copy h2{font-size:48px;}
.facilities__copy p{margin-top:18px; font-size:15px;}
.facility-slider{display:grid; grid-template-columns:48px minmax(0,1fr) 48px; gap:22px; align-items:center;}
.facility-grid{display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 44px)/3); gap:22px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none;}
.facility-grid::-webkit-scrollbar{display:none;}
.facility-card{overflow:hidden; scroll-snap-align:start; background:#fff; border:1px solid #e7e9eb; transition:transform .25s ease,box-shadow .25s ease;}
.facility-card:hover{transform:translateY(-8px); box-shadow:0 20px 50px rgba(11,18,28,.09);}
.facility-card__media{height:275px; transition:transform .8s cubic-bezier(.2,.65,.3,1);}
.facility-card__media span{display:none;}
.facility-card:nth-child(1) .facility-card__media{background-image:url("/img/facility-01.jpg");}
.facility-card:nth-child(2) .facility-card__media{background-image:url("/img/facility-02.jpg");}
.facility-card:nth-child(3) .facility-card__media{background-image:url("/img/facility-03.jpg");}
.facility-card:hover .facility-card__media{transform:scale(1.055);}
.facility-card__body{min-height:145px; padding:26px 24px 30px; text-align: center;}
.facility-card__body h3{font-size:19px; line-height:1.35; font-weight:800;}
.facility-card__body p{margin-top:11px; font-size:14px; line-height:1.65; color:#747a80;}
.slider-arrow{display:flex; align-items:center; justify-content:center; width:48px; height:48px; font-size:40px; font-weight:200; color:#454b52; transition:color .2s ease,transform .2s ease;}
.slider-arrow:hover{color:var(--orange); transform:scale(1.12);}
.center-action{margin-top:46px; text-align:center;}
.text-link{display:inline-flex; align-items:center; gap:16px; padding:10px 18px; font-size:14px; font-weight:700; background:#fafafa; padding:15px 35px; border-radius: 10px;}
.text-link span{transition:transform .2s ease;}
.text-link:hover span{transform:translateX(5px);}

.story{padding:110px 0; background:#f2f3f4;}
.story__layout{display:grid; grid-template-columns:1.05fr .95fr; gap:80px; align-items:center;}
.story__media{height:425px; background-image:url("/img/story.jpg"); transform:translate3d(0,var(--parallax-y,0),0); will-change:transform;}
.story__media span{display:none;}
.story__copy h2{font-size:48px;}
.story__copy p{font-size:15px;}
.story-features{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; text-align: center;}
.story-features span img{display: inline-block;}
.story-features div{text-align:center;}
.story-features strong{font-size:14px; display: block; margin-top: 10px;}

.contact{background:#fff;}
.contact__grid{display:grid; grid-template-columns:1.1fr .9fr .9fr; border-top:1px solid #e1e4e6; border-bottom:1px solid #e1e4e6;}
.contact-panel{min-height:430px; padding:54px 44px; border-right:1px solid #e1e4e6;}
.contact-panel:last-child{border-right:0;}
.contact-panel h2{font-size:25px; line-height:1.3; font-weight:800;}
.contact-panel__address{margin-top:22px; font-size:14px; color:#6f757b;}
.contact-map{height:250px; margin-top:26px; overflow:hidden; background:#eef0f2;}
.contact-map iframe{display:block; width:100%; height:100%; border:0;}
.contact-list{margin-top:30px;}
.contact-list div{padding:14px 0; border-bottom:1px solid #eceeef;}
.contact-list div:last-child{border-bottom:0;}
.contact-list dt{font-size:13px; font-weight:800;}
.contact-list dd{margin-top:7px; font-size:14px; color:#666c72;}
.contact-list__tel{font-size:26px!important; line-height:1.2!important; font-weight:900!important; color:var(--orange)!important;}
.contact-list__notice{font-weight:700; color:var(--orange)!important;}

.footer{padding:42px 0; background:#060a10; color:#fff;}
.footer__inner{display:flex; align-items:flex-start; gap:54px;}
.logo--footer{min-width:176px;}
.logo--footer .logo__text strong{font-size:15px;}
.logo--footer .logo__text small{color:rgba(255,255,255,.52);}
.footer__info p{font-size:12px; line-height:1.9; color:rgba(255,255,255,.55);}
.footer__info i{display:inline-block; width:1px; height:10px; margin:0 13px; background:rgba(255,255,255,.25); vertical-align:-1px;}

.motion-ready [data-reveal]{opacity:0; transition:opacity .9s cubic-bezier(.2,.65,.3,1),transform .9s cubic-bezier(.2,.65,.3,1),clip-path 1s cubic-bezier(.2,.65,.3,1); transition-delay:var(--reveal-delay,0ms); will-change:opacity,transform,clip-path;}
.motion-ready [data-reveal].reveal-up{transform:translate3d(0,54px,0);}
.motion-ready [data-reveal].reveal-left{transform:translate3d(-58px,0,0);}
.motion-ready [data-reveal].reveal-right{transform:translate3d(58px,0,0);}
.motion-ready [data-reveal].reveal-mask{opacity:0; clip-path:inset(0 0 0 0); transform:translate3d(0,46px,0) scale(.985);}
.motion-ready [data-reveal].reveal-mask.is-visible{opacity:1; transform:translate3d(0,0,0) scale(1);}
.motion-ready [data-reveal].is-visible{opacity:1; transform:translate3d(0,0,0); clip-path:inset(0 0 0 0);}


.content_1280{width:min(1280px,calc(100% - 80px)); margin:0 auto;}
.section_space{padding:140px 0; }
.section_heading > span{display:block; margin-bottom:18px; font-size:13px; line-height:1; font-weight:800; letter-spacing:.06em; color:var(--orange);}
.section_heading h2{font-size:42px; line-height:1.28; letter-spacing:-.045em;}
.site_header{height:82px; position:absolute; z-index:20; top:0; left:0; width:100%; color:#fff;}
.site_header_inner{width:min(1440px,calc(100% - 80px)); height:100%; margin:0 auto; display:flex; align-items:center; justify-content:space-between;}
.site_logo{width:160px;}
.site_logo img{filter:brightness(0) invert(1);}
.site_nav{display:flex; align-items:center; gap:44px; margin-left:auto; margin-right:34px;}
.site_nav a{position:relative; font-size:14px; font-weight:600;}
.site_nav a:after{content:""; width:0; height:2px; position:absolute; left:0; bottom:-10px; background:var(--orange); transition:.25s;}
.site_nav a:hover:after,.site_nav a.on:after{width:100%;}
.header_contact{display:flex; align-items:center; gap:10px; padding:14px 22px; border-radius:999px; background:var(--orange); font-size:14px; font-weight:700;}
.company_hero{height:620px; position:relative; overflow:hidden; color:#fff;}
.company_hero_bg{position:absolute; inset:0; background:url("/img/company_hero.jpg") center/cover no-repeat; transform:scale(1.02);}
.company_hero_dim{position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,9,17,.82) 0%,rgba(3,9,17,.48) 45%,rgba(3,9,17,.16) 100%);}
.company_hero_inner{width:min(1440px,calc(100% - 80px)); height:100%; position:relative; z-index:2; margin:0 auto; display:flex; flex-direction:column; justify-content:center;}
.breadcrumb{display:flex; align-items:center; gap:10px; margin-bottom:34px; font-size:12px; color:rgba(255,255,255,.7);}
.breadcrumb strong{color:#fff;}
.company_hero_copy .eyebrow{display:block; margin-bottom:14px; font-size:12px; font-weight:800; letter-spacing:.16em; color:var(--orange);}
.company_hero_copy h1{font-size:86px; line-height:.95; letter-spacing:-.055em;}
.company_hero_copy p{margin-top:28px; padding-top:24px; position:relative; font-size:22px; line-height:1.55; font-weight:600;}
.company_hero_copy p:before{content:""; width:42px; height:3px; position:absolute; top:0; left:0; background:var(--orange);}
.intro_head{display:grid; grid-template-columns:1.05fr 1fr; gap:120px; align-items:start;}
.intro_head h2{font-size:48px; line-height:1.35; letter-spacing:-.055em;}
.intro_text{padding-top:8px;}
.intro_text p{font-size:18px; line-height:1.9; color:#4e4e4e;}
.intro_text p + p{margin-top:20px;}
.company_metrics{height:430px; margin-top:70px; position:relative; overflow:hidden; border-radius:22px;}
.company_metrics > img{height:100%; object-fit:cover;}
.company_metrics_dim{position:absolute; inset:0; background:rgba(5,13,25,.62);}
.company_metrics_list{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.company_metrics_list > div{width:220px; height:220px; display:flex; align-items:center; justify-content:center; flex-direction:column; position:relative; margin-left:-1px; border:1px solid rgba(255,255,255,.78); border-radius:50%; color:#fff; text-align:center;}
.company_metrics_list span{font-size:30px; line-height:1.15; font-weight:800; letter-spacing:-.03em;}
.company_metrics_list b{margin-top:12px; font-size:15px; font-weight:500; color:rgba(255,255,255,.82);}
.company_values{background:#F5F3EE;}
.values_layout{display:grid; grid-template-columns:1fr 1.55fr; gap:100px; align-items:start;}
.values_heading p{margin-top:26px; max-width:380px; font-size:16px; line-height:1.8; color:#777;}
.values_list{display:grid; grid-template-columns:repeat(3,1fr);}
.values_list article{min-height:280px; padding:12px 34px 0; border-left:1px solid #d7d2c9;}
.values_list article:first-child{padding-left:0; border-left:0;}
.values_list article > span{display:block; margin-bottom:32px; font-size:18px; font-weight:800; color:var(--orange);}
.values_list h3{font-size:25px; line-height:1.45; letter-spacing:-.04em;}
.values_list p{margin-top:24px; font-size:15px; line-height:1.8; color:#686868;}
.ceo_layout{display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center;}
.ceo_body{margin-top:40px;}
.ceo_body p{font-size:16px; line-height:1.9; color:#555;}
.ceo_body p + p{margin-top:16px;}
.ceo_sign{display:flex; align-items:center; gap:18px; margin-top:34px;}
.ceo_sign span{font-size:14px; color:#666;}
.ceo_sign strong{font-size:22px;}
.ceo_sign em{margin-left:8px; font-family:"Nanum Myeongjo",serif; font-size:28px; font-style:normal; color:#333;}
.ceo_visual{height:650px; position:relative; overflow:hidden; background:#f1f3f5;}
.ceo_visual img{width:100%; position:relative; z-index:1; object-fit:cover; object-position:center bottom;}
.company_information{background:#fafafa;}

.information_top{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top: 50px;}
.factory_main{height:390px; overflow:hidden;}
.factory_main img{height:100%; object-fit:cover;}
.company_profile{border-top:2px solid #111;}
.company_profile > div{display:grid; grid-template-columns:120px 1fr; min-height:46px; border-bottom:1px solid #ddd;}
.company_profile dt,.company_profile dd{display:flex; align-items:center; font-size:15px;}
.company_profile dt{font-weight:700;}
.company_profile dd{color:#555;}
.facility_gallery{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px;}
.facility_gallery figure{height:320px; position:relative; overflow:hidden;}
.facility_gallery img{height:100%; object-fit:cover; transition:.5s;}
.facility_gallery figure:hover img{transform:scale(1.035);}
.facility_gallery figcaption{position:absolute; left:0; bottom:0; width:100%; padding:24px 28px; color:#fff; background:linear-gradient(0deg,rgba(6,11,18,.85),rgba(6,11,18,0));}
.facility_gallery figcaption strong{font-size:19px;}
.facility_gallery figcaption span{margin-left:10px; font-size:13px; color:rgba(255,255,255,.72);}
.rd_layout{display:grid; grid-template-columns:.72fr 1.55fr; gap:90px; align-items:start;}
.rd_intro > p{margin-top:24px; font-size:16px; line-height:1.85; color:#666;}
.rd_intro > p + p{margin-top:12px;}
.rd_fields{display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #ddd; border-bottom:1px solid #ddd;}
.rd_fields article{min-height:330px; position:relative; padding:30px 28px; border-left:1px solid #ddd; overflow:hidden;}
.rd_fields article:first-child{border-left:0;}
.rd_fields span{font-size:18px; font-weight:800; color:var(--orange);}
.rd_fields h3{margin-top:18px; font-size:24px;}
.rd_fields p{margin-top:12px; font-size:14px; line-height:1.7; color:#666;}
.rd_fields img{width:160px; height:120px; position:absolute; right:12px; bottom:20px; object-fit:contain;}
.organization{margin-top:54px;}
.organization_top,.organization_middle{width:230px; margin:0 auto; padding:15px 20px; text-align:center; font-size:14px; font-weight:700;}
.organization_top{color:#fff; background:var(--navy);}
.organization_middle{background:#efefef;}
.organization_line{width:1px; height:20px; margin:0 auto; background:#bbb;}
.organization_branch{width:calc(66.666% + 1px); height:28px; margin:0 auto; border-top:1px solid #bbb; border-left:1px solid #bbb; border-right:1px solid #bbb;}
.organization_teams{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.organization_teams span{padding:16px 12px; background:#f2f2f2; text-align:center; font-size:14px;}
.company_cta{height:400px; position:relative; overflow:hidden; color:#fff;}
.company_cta_bg{position:absolute; inset:0; background:url("/img/company_cta.jpg") center/cover no-repeat;}
.company_cta_dim{position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,16,28,.9),rgba(8,16,28,.55));}
.company_cta_inner{height:100%; position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between;}
.company_cta_inner > div:first-child > span{font-size:12px; font-weight:800; letter-spacing:.14em; color:var(--orange);}
.company_cta_inner h2{margin-top:14px; font-size:45px; line-height:1.28; letter-spacing:-.05em;}
.company_cta_inner p{margin-top:20px; font-size:16px; color:rgba(255,255,255,.72);}
.company_cta_buttons{display:flex; gap:12px;}
.company_cta_buttons a{width:200px; height:62px; display:flex; align-items:center; justify-content:space-between; padding:0 24px; border:1px solid rgba(255,255,255,.65); font-size:15px; font-weight:700; transition:.25s;}
.company_cta_buttons a:first-child{border-color:var(--orange); background:var(--orange);}
.company_cta_buttons a:hover{transform:translateY(-3px);}
.site_footer{padding:38px 0; background:#070d16; color:#fff;}
.site_footer_inner{width:min(1280px,calc(100% - 80px)); margin:0 auto; display:flex; align-items:center; gap:34px;}
.site_footer_inner img{width:150px;}
.site_footer_inner p{font-size:13px; color:rgba(255,255,255,.62);}
.site_footer_inner span{margin-left:auto; font-size:12px; color:rgba(255,255,255,.42);}

.location-page{overflow:hidden;}
.location-section{padding:96px 24px 120px;}
.location-container{width:min(1280px,100%); margin:0 auto;}

.location-overview{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr); gap:72px; align-items:center;}
.location-map{overflow:hidden; height:478px; border:1px solid #edf0f4; border-radius:28px; background:#f4f6f8; box-shadow:0 18px 45px rgba(12,33,69,.06);}
.location-map iframe{display:block; width:100%; height:100%; border:0; filter:saturate(.82) contrast(.96);}

.location-summary{padding:12px 0;}
.location-heading h2{margin:0; font-size:42px; line-height:1.25; letter-spacing:-.045em; color:var(--dj-navy); font-weight:800;}
.location-heading > span,.section-heading > span{display:block; width:38px; height:4px; margin-top:24px; border-radius:99px; background:var(--dj-orange);}
.location-details{display:grid; gap:18px; margin-top:34px;}
.location-details__row{display:grid; grid-template-columns:116px minmax(0,1fr); align-items:center; min-height:30px; font-size:17px; line-height:1.65;}
.location-details__row dt{display:flex; align-items:center; gap:12px; color:var(--dj-navy); font-weight:700;}
.location-details__row dt svg{flex:0 0 auto; width:21px; height:21px; fill:var(--dj-navy);}
.location-details__row dd{color:#202938; font-weight:500;}
.location-details__row--address{grid-template-columns:32px minmax(0,1fr); margin-bottom:6px; font-size:20px; font-weight:700;}
.location-details__row--address dt svg{width:26px; height:26px; fill:var(--dj-orange);}
.location-details__row--address dd{font-weight:700; color:#101827;}

.location-links{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:48px;}
.location-link{display:grid; grid-template-columns:28px 1fr 22px; align-items:center; gap:10px; min-height:62px; padding:0 24px; border:1px solid var(--dj-navy); border-radius:999px; background:#fff; color:var(--dj-navy); font-size:16px; font-weight:700; transition:transform .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease; border: 1px solid #e7e7e7;}
.location-link > svg{width:21px; height:21px; fill:currentColor;}
.location-link__brand{display:flex; align-items:center; justify-content:center; width:26px; height:26px; font-weight:900; line-height:1;}
.location-link__brand--naver{color:#03c75a; font-size:23px;}
.location-link__brand--kakao{color:#ffcf00; font-size:23px; text-shadow:0 0 0 #3b1e1e;}

.facility{margin-top:106px;}
.section-heading h2{margin:0; font-size:38px; line-height:1.3; letter-spacing:-.04em; color:var(--dj-navy); font-weight:800;}
.section-heading > span{margin-top:18px;}
.section-heading p{margin:20px 0 0; color:var(--dj-muted); font-size:16px; line-height:1.75;}
.facility-main{overflow:hidden; margin-top:34px; aspect-ratio:16/6.75; border-radius:30px; background:#edf1f5;}
.facility-main img{width:100%; height:100%; object-fit:cover;}
.facility-list{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:22px;}
.facility-card{overflow:hidden; border:1px solid var(--dj-line); border-radius:22px; background:#fff; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.facility-card:hover{transform:translateY(-4px); border-color:#d2d8e1; box-shadow:0 16px 32px rgba(12,33,69,.09);}
.facility-card__image{overflow:hidden; aspect-ratio:16/9; background:#edf1f5;}
.facility-card__image img{width:100%; height:100%; object-fit:cover; transition:transform .45s ease;}
.facility-card:hover img{transform:scale(1.035);}
.facility-card figcaption{display:flex; align-items:center; justify-content:center; min-height:68px; padding:14px; color:#172033; font-size:17px; font-weight:700; text-align:center;}

.visit-guide{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:48px; padding:38px 28px; border-radius:28px; background:linear-gradient(135deg,#f7f8fa 0%,#f0f2f5 100%);}
.visit-guide__item{display:grid; grid-template-columns:62px minmax(0,1fr); gap:18px; align-items:center; min-height:110px; padding:0 28px; border-right:1px solid #d8dde5;}
.visit-guide__item:last-child{border-right:0;}
.visit-guide__icon{display:flex; align-items:center; justify-content:center; width:58px; height:58px; border-radius:20px; background:#fff; box-shadow:0 9px 24px rgba(12,33,69,.07);}
.visit-guide__icon svg{width:34px; height:34px; fill:var(--dj-navy);}
.visit-guide__item h3{margin:0; color:var(--dj-navy); font-size:18px; line-height:1.4; font-weight:800;}
.visit-guide__item p{margin:9px 0 0; color:#596273; font-size:14px; line-height:1.7;}

.small-screw-page{padding:70px 24px 110px; background:#fff;}
.small-screw-inner{width:100%; max-width:1280px; margin:0 auto;}

.product-page-head{display:flex; align-items:flex-end; justify-content:flex-start; margin-bottom:34px;}
.product-page-title{display:flex; align-items:flex-end; gap:18px;}
.product-page-title h1{font-size:40px; line-height:1; font-weight:800; letter-spacing:-.045em; color:var(--dj-black);}
.product-page-title span{padding-bottom:2px; color:#77808a; font-size:16px; font-weight:500;}

/* 제품 분류 탭 */
.small-screw-page .product-tabs{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-bottom:28px; padding:6px; border:1px solid #e2e6ea; border-radius:12px; background:#f6f7f8;}
.small-screw-page .product-tabs a{display:flex; align-items:center; justify-content:center; min-height:56px; padding:0 18px; border:1px solid transparent; border-radius:8px; background:transparent; color:#343d46; font-size:16px; font-weight:700; text-align:center; transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;}
.small-screw-page .product-tabs a:hover{border-color:#f5c7a5; background:#fff; color:#e96812;}
.small-screw-page .product-tabs a.is-active{border-color:#f47b20; background:#f47b20; color:#fff; box-shadow:0 7px 16px rgba(244,123,32,.22);}



.product-visual-card{display:grid; grid-template-columns:minmax(250px,.8fr) minmax(330px,1fr) minmax(410px,1.15fr); align-items:center; min-height:430px; padding:48px 46px; border:1px solid #e2e6e9; border-radius:12px; background:#fff; box-shadow:0 14px 36px rgba(23,34,45,.045);}
.product-summary{align-self:center; padding-right:34px;}
.product-summary-en{display:block; margin-bottom:7px; color:#707982; font-size:14px; font-weight:500;}
.product-summary h2{color:var(--dj-black); font-size:30px; line-height:1.25; font-weight:800; letter-spacing:-.045em;}
.product-summary-copy{margin-top:24px; color:#46515b; font-size:15px; line-height:1.9;}
.product-summary-meta{margin-top:26px; padding-top:14px; border-top:1px solid #dde2e6;}
.product-summary-meta div{display:grid; grid-template-columns:78px minmax(0,1fr); gap:10px; padding:8px 0; border-bottom:1px solid #edf0f2; font-size:14px;}
.product-summary-meta dt{position:relative; padding-left:13px; color:#5f6871; font-weight:600;}
.product-summary-meta dt::before{content:""; position:absolute; top:10px; left:0; width:4px; height:4px; border-radius:50%; background:var(--dj-orange);}
.product-summary-meta dd{color:#28313a; font-weight:500;}

.product-photo{display:flex; align-items:center; justify-content:center; min-height:315px; padding:16px 20px;}
.product-photo img{width:100%; max-width:430px; max-height:310px; object-fit:contain;}

.product-drawing{display:flex; flex-direction:column; min-width:0; min-height:340px; padding-left:38px; border-left:1px solid #edf0f2;}
.product-drawing figcaption{display:flex; align-items:center; gap:10px; color:#202831; font-size:16px; font-weight:800;}
.product-drawing figcaption span{display:block; width:3px; height:20px; background:var(--dj-orange);}
.product-drawing img{width:100%; max-width:520px; max-height:300px; margin:auto; object-fit:contain;}

.spec-section{margin-top:54px;}
.spec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px;}
.spec-head h2{position:relative; padding-left:16px; color:var(--dj-black); font-size:22px; line-height:1.35; font-weight:800; letter-spacing:-.035em;}
.spec-head h2::before{content:""; position:absolute; top:3px; bottom:3px; left:0; width:3px; background:var(--dj-orange);}
.spec-head span{color:#636d76; font-size:13px; white-space:nowrap;}

.table-scroll-guide{display:none; margin-bottom:10px; color:#7a838c; font-size:13px;}
.spec-table-wrap{width:100%; overflow-x:auto; border-top:2px solid #1f2932; -webkit-overflow-scrolling:touch;}
.spec-table{min-width:1280px;}
.spec-table table{width:100%; border-collapse:collapse; table-layout:fixed; background:#fff;}
.spec-table th,.spec-table td{height:46px; padding:7px 7px; border-right:1px solid #e3e7ea; border-bottom:1px solid #e3e7ea; color:#434c55; font-size:12px; line-height:1.35; text-align:center; vertical-align:middle;}
.spec-table th:first-child,.spec-table td:first-child{border-left:1px solid #e3e7ea;}
.spec-table thead th{background:#f5f7f8; color:#222b34; font-weight:700;}
.spec-table thead tr:first-child th{height:42px; background:#f1f4f6;}
.spec-table tbody th{background:#fafbfc; color:#202831; font-weight:700;}
.spec-table th[rowspan],.spec-table td[rowspan]{vertical-align:middle;}

.spec-note{margin-top:12px; color:#727b84; font-size:13px;}

.fastener-page{padding:70px 24px 110px; background:#fff;}
.fastener-inner{width:100%; max-width:1280px; margin:0 auto;}

.product-page-head{display:flex; align-items:flex-end; justify-content:flex-start; margin-bottom:34px;}
.product-page-title{display:flex; align-items:flex-end; gap:18px;}
.product-page-title h1{font-size:40px; line-height:1; font-weight:800; letter-spacing:-.045em; color:var(--dj-black);}
.product-page-title span{padding-bottom:2px; color:#77808a; font-size:16px; font-weight:500;}

/* 제품 분류 탭 */
.fastener-page .product-tabs{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:28px; padding:6px; border:1px solid #e2e6ea; border-radius:12px; background:#f6f7f8;}
.fastener-page .product-tabs a{display:flex; align-items:center; justify-content:center; min-height:56px; padding:0 18px; border:1px solid transparent; border-radius:8px; background:transparent; color:#343d46; font-size:16px; font-weight:700; text-align:center; transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;}
.fastener-page .product-tabs a:hover{border-color:#f5c7a5; background:#fff; color:#e96812;}
.fastener-page .product-tabs a.is-active{border-color:#f47b20; background:#f47b20; color:#fff; box-shadow:0 7px 16px rgba(244,123,32,.22);}



.product-visual-card{display:grid; grid-template-columns:minmax(250px,.8fr) minmax(330px,1fr) minmax(410px,1.15fr); align-items:center; min-height:430px; padding:48px 46px; border:1px solid #e2e6e9; border-radius:12px; background:#fff; box-shadow:0 14px 36px rgba(23,34,45,.045);}
.product-summary{align-self:center; padding-right:34px;}
.product-summary-en{display:block; margin-bottom:7px; color:#707982; font-size:14px; font-weight:500;}
.product-summary h2{color:var(--dj-black); font-size:30px; line-height:1.25; font-weight:800; letter-spacing:-.045em;}
.product-summary-copy{margin-top:24px; color:#46515b; font-size:15px; line-height:1.9;}
.product-summary-meta{margin-top:26px; padding-top:14px; border-top:1px solid #dde2e6;}
.product-summary-meta div{display:grid; grid-template-columns:78px minmax(0,1fr); gap:10px; padding:8px 0; border-bottom:1px solid #edf0f2; font-size:14px;}
.product-summary-meta dt{position:relative; padding-left:13px; color:#5f6871; font-weight:600;}
.product-summary-meta dt::before{content:""; position:absolute; top:10px; left:0; width:4px; height:4px; border-radius:50%; background:var(--dj-orange);}
.product-summary-meta dd{color:#28313a; font-weight:500;}

.product-photo{display:flex; align-items:center; justify-content:center; min-height:315px; padding:16px 20px;}
.product-photo img{width:100%; max-width:430px; max-height:310px; object-fit:contain;}

.product-drawing{display:flex; flex-direction:column; min-width:0; min-height:340px; padding-left:38px; border-left:1px solid #edf0f2;}
.product-drawing figcaption{display:flex; align-items:center; gap:10px; color:#202831; font-size:16px; font-weight:800;}
.product-drawing figcaption span{display:block; width:3px; height:20px; background:var(--dj-orange);}
.product-drawing img{width:100%; max-width:520px; max-height:300px; margin:auto; object-fit:contain;}

.spec-section{margin-top:54px;}
.spec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px;}
.spec-head h2{position:relative; padding-left:16px; color:var(--dj-black); font-size:22px; line-height:1.35; font-weight:800; letter-spacing:-.035em;}
.spec-head h2::before{content:""; position:absolute; top:3px; bottom:3px; left:0; width:3px; background:var(--dj-orange);}
.spec-head span{color:#636d76; font-size:13px; white-space:nowrap;}

.table-scroll-guide{display:none; margin-bottom:10px; color:#7a838c; font-size:13px;}
.spec-table-wrap{width:100%; overflow-x:auto; border-top:2px solid #1f2932; -webkit-overflow-scrolling:touch;}
.spec-table{min-width:1280px;}
.spec-table table{width:100%; border-collapse:collapse; table-layout:fixed; background:#fff;}
.spec-table th,.spec-table td{height:46px; padding:7px 7px; border-right:1px solid #e3e7ea; border-bottom:1px solid #e3e7ea; color:#434c55; font-size:12px; line-height:1.35; text-align:center; vertical-align:middle;}
.spec-table th:first-child,.spec-table td:first-child{border-left:1px solid #e3e7ea;}
.spec-table thead th{background:#f5f7f8; color:#222b34; font-weight:700;}
.spec-table thead tr:first-child th{height:42px; background:#f1f4f6;}
.spec-table tbody th{background:#fafbfc; color:#202831; font-weight:700;}
.spec-table th[rowspan],.spec-table td[rowspan]{vertical-align:middle;}

.spec-note{margin-top:12px; color:#727b84; font-size:13px;}