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

/* ===== Base / Tokens ===== */
body, h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6, p,.navbar,.brand,.btn-simple,.alert,a,.td-name,td, button.close,div,input,span{font-family:'Pretendard'!important;}
:root{--header-h:76px;--header-h-sm:60px;--header-bg:#00441D;--header-fg:#fff;--benefit-dark:#064221;--benefit-light:#fafafa;--benefit-radius:28px;--vision-size:clamp(200px,24vw,320px);}
.maingreen{color:#00441D}.icon-yellow{background:#FBC100;color:#fff;border-radius:5px}.icon-black{background:#000;color:#fff;border-radius:5px}.icon-red{background:#EF4224;color:#fff!important;border-radius:5px}.icon-purple{background:#7B51A9;color:#fff!important;border-radius:5px}.bg-purple{background:#7B51A9!important}
.bg-bk{background:linear-gradient(45deg,#000,#2D2D2D,#000)} .text-light{color:#fff!important}.text-light .desc{color:#71D85C!important}.text-light .tit{color:#fff!important}.text-light .tit .em{color:#71D85C!important}.text-light .txt{color:#f8f8f8!important}
.btn-white{background-color: #f5f5f5;color: #000;border: 1px solid #ccc;}

/* ===== Layout: disable inner scrollers ===== */
html,body{margin:0;padding:0;max-width:100%;overflow-x:hidden;overflow-y:auto;height:auto}
.wrapper,#content,.content,.main-panel,.pc-container,.pc-content,.content-wrapper,.page-inner,.scrollbar,.scrollbar-inner,.ps,.ps--active-y,.ps--active-x{position:static!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important}

/* ===== Header ===== */
header{position:fixed;inset:0 0 auto;z-index:1040;height:var(--header-h);background:var(--header-bg);color:var(--header-fg);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(16px,4vw,40px);transition:height .25s,background .25s,box-shadow .25s,transform .25s}
body{padding-top:var(--header-h)}
header .logo-brand img{display:block;height:40px;max-height:40px;width:auto}
header nav{flex:1 1 auto}
header nav ul{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3.2vw,48px);margin:0;padding:0;list-style:none}
header nav ul li a{color:white;font-size:16px;font-weight:600;letter-spacing:.02em;opacity:.9;cursor:pointer;white-space:nowrap;transition:opacity .2s,transform .2s}
header nav ul li a:hover{color:white;opacity:1;transform:translateY(-1px);}
header .navbar-header-left ul{display:flex;align-items:center;gap:18px;margin:0;padding:0;list-style:none}
header .navbar-header-left i{font-size:24px;color:var(--header-fg);opacity:.9;transition:opacity .2s,transform .2s}
header .navbar-header-left i:hover{opacity:1;transform:scale(1.06)}
header.is-sticky{height:64px;background:rgba(0,68,29,.95);box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:saturate(1.2) blur(6px)}
@media (max-width:992px){
  header{height:var(--header-h-sm)} body{padding-top:var(--header-h-sm)}
  header{justify-content:flex-start}
  .nav-toggle{display:grid;place-items:center;width:44px;height:44px;margin-right:4px;background:transparent;color:var(--header-fg);border:0;font-size:22px;cursor:pointer}
  .logo-brand{position:absolute;left:50%;transform:translateX(-50%)} .logo-brand img{height:32px;max-height:32px}
  header nav,header .navbar-header-left{display:none}
}
header :is(button,li,i):focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px}

/* 드롭다운을 카드처럼 */
.lang-dropdown .dropdown-menu.lang-menu{
  background:linear-gradient(60deg, rgba(255,255,255,0.65),rgba(255,255,255,0.50));
  min-width: 100px;
  border:0;
  border-radius:16px;
  padding:.5rem;
  backdrop-filter:saturate(180%) blur(6px);
}
.lang-dropdown .dropdown-header{
  font-size:.8rem; padding:.25rem .5rem .5rem; color:#111;
}
.lang-dropdown .dropdown-item{
  border-radius:10px;
}
.lang-dropdown .dropdown-item.active,
.lang-dropdown .dropdown-item:active{
  background: #0d6efd; color:#fff;
}


/* ===== Hero ===== */
#main-hero{position:relative;min-height:560px;height:calc(100svh - var(--header-h));width:100%;margin:0}
@supports not (height:100svh){#main-hero{height:calc(100dvh - var(--header-h))}}
#main-hero .container,#main-hero .container-fluid,#main-hero .row{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
#main-hero [class^="col-"],#main-hero [class*=" col-"]{padding-left:0!important;padding-right:0!important}
#main-hero .swiper{height:100%} #main-hero .swiper-slide{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:1}
#main-hero .inner-text{position:absolute;inset:0;z-index:2;display:block;text-align:center;top:50%;transform:translateY(-35%);color:#fff;padding:24px}
#main-hero .inner-text h6{font-size:14px;letter-spacing:.06em;opacity:.9;margin-bottom:16px}
#main-hero .inner-text h2{font-weight:800;line-height:1.25;font-size:clamp(26px,3.2vw,40px);margin-bottom:14px}
#main-hero .inner-text p{opacity:.9;font-size:clamp(12px,1.4vw,14px)}
#main-hero .slide_move{position:absolute;left: 40%; transform: translateX(-42%);bottom:clamp(16px,3.5vh,34px);display:grid;grid-auto-flow:column;align-items:center;gap:4px;z-index:10;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);}
#main-hero .slide_move .arr{cursor:pointer;width:28px;height:28px;display:grid;place-items:center}
#main-hero .slide_move .arr svg{width:18px;height:18px;fill:#fff;opacity:.95;transition:opacity .2s}
#main-hero .slide_move .arr:hover svg{opacity:1}
#main-hero .slide_move .swiper-button-prev::after,#main-hero .slide_move .swiper-button-next::after{content:none!important}
#main-hero .slide_move .arr::before,#main-hero .slide_move .arr::after{content:none!important;display:none!important}
#main-hero .slide_move .swiper-pagination{display:grid;grid-template-columns:auto 240px auto auto;align-items:center;gap:12px;font-size:12px;letter-spacing:.08em;color:#fff}
#main-hero .slide_move .num{opacity:.95}
#main-hero .slide_move .swiper-button-prev{top:-15px;left:-32px} #main-hero .slide_move .swiper-button-next{top:-15px;left:296px}
#main-hero .swiper-progress-bar{position:relative;width:240px;height:2px}
#main-hero .slide_progress-bar{position:absolute;inset:0;transform-origin:left center}
#main-hero .swiper-progress-bar .bg{background:rgba(255,255,255,.35)}
#main-hero .swiper-progress-bar .loading{background:#fff;transform:scaleX(0);animation:heroLoad var(--dur,6000ms) linear forwards}
@keyframes heroLoad{to{transform:scaleX(1)}}
#main-hero .slide_move .btn{background:transparent;border:0;width:28px;height:28px;display:grid;place-items:center;cursor:pointer}
#main-hero .slide_move .btn svg{width:18px;height:18px;fill:#fff;margin-top:-4px}
#main-hero .slide_move.paused .btn .stop{display:none} #main-hero .slide_move:not(.paused) .btn .play{display:none}
@media (max-width:576px){
  #main-hero .slide_move{padding:auto 24px;bottom:40px;position:relative;width:200px;left:33%}
  #main-hero .swiper-progress-bar{width:200px}
  #main-hero .slide_move .btn svg{margin-left:-16px}
  #main-hero .slide_move .swiper-button-prev{top:-15px;left:-32px}
  #main-hero .slide_move .swiper-button-next{top:-15px;left:260px}
  #main-hero .slide_move .swiper-pagination-total{margin-left:-54px}
}

/* [MINIMAL] Swiper width 100% + center only */
#main-hero .hero-swiper{
  width:100% !important;
  margin:0 auto !important; /* 가운데 정렬 */
  display:block;
}

/* ===== Section title (left) ===== */
.section-title-left .desc{color:#00441D;font-weight:800;letter-spacing:.08em;font-size:clamp(12px,1.6vw,14px);margin:0 0 10px}
.section-title-left .tit{color:#111;font-weight:800;line-height:1.25;font-size:clamp(26px,3.6vw,44px);margin:0 0 12px}
.section-title-left .txt{color:#333;opacity:.9;font-size:clamp(13px,1.5vw,15px);margin:0}
.btn-benefit{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid #0A5B38;color:#0A5B38;border-radius:9999px;font-weight:700;font-size:14px;background:#fff;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.btn-benefit svg{width:14px;height:14px;fill:currentColor}
.btn-benefit:hover{background:#0A5B38;color:#fff}

/* ===== Vision ===== */
.htb-vision{padding:clamp(80px,10vw,120px) 0} #about .container{padding-top:80px !important;}
.htb-vision .section-title-center{text-align:center;margin-bottom:clamp(32px,6vw,56px)}
.htb-vision .section-title-center .desc{color:#00441D;font-weight:800;letter-spacing:.08em;font-size:clamp(12px,1.6vw,14px);margin-bottom:10px}
.htb-vision .section-title-center .tit{color:#111;font-weight:800;line-height:1.35;font-size:clamp(24px,3.4vw,36px);margin:0}
.htb-vision p img {width:100%;margin:auto;}
.htb-vision .row:nth-of-type(2){display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(12px,2.4vw,24px)}
.htb-vision .row:nth-of-type(2)>div{position:relative;width:var(--vision-size);height:var(--vision-size);flex:0 0 auto}
.htb-vision .row:nth-of-type(2)>div .bg,.htb-vision .row:nth-of-type(2)>div svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.htb-vision .row:nth-of-type(2)>div .bg{overflow:hidden;border-radius:9999px}
.htb-vision .row:nth-of-type(2)>div .bg img{width:100%;height:100%;object-fit:cover}
.htb-vision .row:nth-of-type(2)>div .txt_box{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0;color:#fff}
.htb-vision .row:nth-of-type(2)>div .txt_box .tit{font-weight:800;font-size:clamp(18px,2vw,22px);margin:0}
.htb-vision .row:nth-of-type(2)>div .txt_box .txt{font-size:clamp(12px,1.2vw,14px);line-height:1.3;margin:2px 0 0;opacity:.95}
.htb-vision .vision1 svg,.htb-vision .vision3 svg{width:100%;height:100%}
.htb-vision .vision2 .bg::after,.htb-vision .vision4 .bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(0,0,0,.16),rgba(0,0,0,.26));pointer-events:none}
@media (min-width:992px){.htb-vision .vision2{margin-left:-2.5vw;z-index:2}.htb-vision .vision3{margin-left:-2.5vw;z-index:3}.htb-vision .vision4{margin-left:-2.5vw;z-index:4}}
@media (min-width:768px) and (max-width:991.98px){.htb-vision .vision2,.htb-vision .vision3,.htb-vision .vision4{margin-left:-4vw}}
@media (max-width:767.98px){.htb-vision .row:nth-of-type(2){gap:18px}.htb-vision .vision2,.htb-vision .vision3,.htb-vision .vision4{margin-left:0}}

/* ===== Benefits ===== */
.htb-benefits{padding:clamp(56px,7.5vw,96px) 0;background:linear-gradient(45deg,#e2e2e2,#f9f9f9,#e2e2e2)}
.benefit-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:1fr;gap:clamp(16px,2vw,24px);margin-top:clamp(20px,3vw,28px)}
.benefit-card{position:relative;background:var(--benefit-light);border-radius:var(--benefit-radius);padding:clamp(18px,2.5vw,28px);min-height:clamp(150px,18vw,220px);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.benefit-card.is-dark{background:var(--benefit-dark);color:#fff}
.benefit-card .kicker{font-size:clamp(12px,1.3vw,13px);color:rgba(0,0,0,.75);margin:0 0 6px}
.benefit-card.is-dark .kicker{color:rgba(255,255,255,.9)}
.benefit-card .numline{display:flex;align-items:flex-end;gap:6px;line-height:1;margin:6px 0}
.benefit-card .num{font-weight:800;font-size:clamp(36px,6vw,64px);color:#0A5B38}
.benefit-card.is-dark .num{color:#fff}
.benefit-card .suffix{font-weight:800;font-size:clamp(22px,2.6vw,28px);color:#0A5B38;transform:translateY(-4px)}
.benefit-card .suffix.small{font-size:clamp(16px,1.8vw,20px);transform:translateY(-8px)}
.benefit-card.is-dark .suffix{color:#fff}
.benefit-card .note{margin:0;color:rgba(0,0,0,.7);font-size:clamp(12px,1.4vw,14px)}
.benefit-card.is-dark .note{color:rgba(255,255,255,.92)}
.benefit-card.with-illus .illus{position:absolute;right:clamp(8px,2vw,16px);bottom:clamp(-6px,-1vw,0);width:min(40%,220px);height:auto;opacity:.9;pointer-events:none}
@media (min-width:992px){.card-a{grid-column:1 / span 5;grid-row:1}.card-b{grid-column:6 / -1;grid-row:1}.card-c{grid-column:1 / span 8;grid-row:2}.card-d{grid-column:9 / -1;grid-row:2}}
@media (min-width:768px) and (max-width:991.98px){.benefit-grid{grid-template-columns:repeat(8,1fr)}.card-a{grid-column:1 / span 4}.card-b{grid-column:5 / -1}.card-c{grid-column:1 / span 5}.card-d{grid-column:6 / -1}}
@media (max-width:767.98px){.benefit-grid{grid-template-columns:1fr}.benefit-card{min-height:160px}.card-a,.card-b,.card-c,.card-d{grid-column:auto;grid-row:auto}.btn-benefit{margin-top:10px}}

/* ===== Process ===== */
.process{padding:5vw;width:100vw} #portfolio .container-fluid{padding-top: 24px;}
.process .section-title-center{text-align:center;width:100%;margin:auto;display:flex;flex-direction:column}
.process .section-title-center .desc{color:#00441D;font-weight:800;letter-spacing:.08em;font-size:clamp(12px,1.6vw,14px);margin-bottom:10px}
.process .section-title-center .tit{color:#111;font-weight:800;line-height:1.35;font-size:clamp(24px,3.4vw,36px);margin:0 0 24px}
.process .section-title-center .tit .em{color:#00441D}
.process-slider{margin-top:60px}

/* card(merged) */
.proc-card{width:100%;height:500px;position:relative;border-radius:18px;overflow:hidden;background:#ddd center/cover no-repeat;background-image:var(--bg);box-shadow:0 8px 20px rgba(0,0,0,.08);isolation:isolate;transform-origin:50% 50%;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.proc-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.20) 70%,rgba(0,0,0,.45) 100%);z-index:0;transition:opacity .35s ease;opacity:1}
.proc-card::before{content:"";position:absolute;inset:0;padding:4px;border-radius:18px;background:linear-gradient(90deg,#28c76f,#00441D,#28c76f);background-size:200% 100%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2;opacity:0;transition:opacity .35s ease}
.proc-card .meta{position:absolute;left:14px;bottom:40px;z-index:1;font-size:12px;color:rgba(255,255,255,.9)}
.proc-card .label{position:absolute;left:14px;bottom:14px;z-index:1;color:#fff;font-weight:600;font-size:clamp(16px,2.2vw,20px)}
.proc-card:hover{transform:scale(1.05);box-shadow:0 14px 30px rgba(0,0,0,.16)}
.proc-card:hover::after{opacity:0} .proc-card:hover::before{opacity:1;animation:borderMove 1.4s linear infinite}
@keyframes borderMove{to{background-position:200% 0}}

.process-swiper{padding:6px 2px 10px}
.process,.process .container,.process-slider,.process-swiper,.process .swiper,.process .swiper-wrapper,.process .swiper-slide{overflow:visible!important}
.process .swiper-slide{position:relative;z-index:1}.process .swiper-slide:hover{z-index:5}
@media (max-width:767.98px){.process-slider{margin-top:60px}.process .proc-card{height:420px}}

/* ===== Solution ===== */
.solution{padding:clamp(48px,8vw,96px) 0}
.solution .section-title-left .desc{color:#00441D;font-weight:800;letter-spacing:.08em}
.solution .section-title-left .tit{font-weight:800}
.solution-slider{margin-top:48px;position:relative}
.sol-card{display:block;border-radius:18px;overflow:hidden;position:relative;box-shadow:0 8px 20px rgba(0,0,0,.08);transition:transform .28s ease,box-shadow .28s ease}
.sol-card .img{display:block;width:100%;aspect-ratio:16/9;background:#111 center/cover no-repeat;background-image:var(--bg)}
.sol-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.4));opacity:0;transition:opacity .28s ease}
.sol-card:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.16)} .sol-card:hover::after{opacity:.15}
.solution-swiper{padding-bottom:24px}
.solution .swiper,.solution .swiper-wrapper,.solution .swiper-slide{overflow:visible}
.solution .swiper-slide{position:relative;z-index:1}.solution .swiper-slide:hover{z-index:3}

/* ===== Swiper progressbar (process & solution 공통 하단 고정) ===== */
.process-swiper,.solution-swiper{position:relative;padding-bottom:40px!important}
.process .swiper-horizontal>.swiper-pagination-progressbar,
.process .swiper-pagination-progressbar.swiper-pagination-progressbar-horizontal,
.solution .swiper-horizontal>.swiper-pagination-progressbar,
.solution .swiper-pagination-progressbar.swiper-pagination-progressbar-horizontal{top:auto!important;bottom:16px!important;left:50%!important;transform:translateX(-50%)!important;width:90%!important;height:3px!important;background:rgba(185,185,185,.3)!important;border-radius:999px!important;z-index:10}
.process .swiper-pagination-progressbar .swiper-pagination-progressbar-fill,
.solution .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:#00441D!important;border-radius:999px!important;transition:transform .3s linear}

/* ===== Philosophy / Brand Story ===== */
.philosophy{position:relative;padding:clamp(64px,10vw,120px) 0 0;margin-bottom:80px}
.philosophy .section-title-center{text-align:center;color:#111}
.philosophy .section-title-center .desc{font-weight:800;letter-spacing:.08em;color:#00441D}
.philosophy .section-title-center .tit{font-weight:800;line-height:1.35;font-size:clamp(22px,3.2vw,34px);color:#111}
.philosophy .section-title-center .txt{margin-top:40px;color:#222;opacity:.85;font-size:clamp(16px,1.5vw,18px);line-height:1.8}

.philo-cards{position:relative;z-index:1;height:clamp(320px,38vw,560px);max-width:min(1800px,92vw);margin:-40px auto 0}
.philo-card{position:absolute;display:block;width:clamp(140px,18vw,280px);aspect-ratio:4/5;border-radius:16px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.16);background:#000;transform:translateZ(0)}
.philo-card img{width:100%;height:100%;object-fit:cover;display:block}
.philo-card:nth-child(1),.philo-card:nth-child(3),.philo-card:nth-child(5){animation:floatY 4.8s ease-in-out infinite}
.philo-card:nth-child(2),.philo-card:nth-child(4){animation:floatYP 4.8s ease-in-out infinite}
.philo-card:nth-child(1){left:4%;top:0%;animation-delay:.0s}
.philo-card:nth-child(2){left:23%;top:28%;animation-delay:.2s}
.philo-card:nth-child(3){left:42%;top:16%;animation-delay:.4s}
.philo-card:nth-child(4){left:61%;top:30%;animation-delay:.1s}
.philo-card:nth-child(5){left:80%;top:0%;animation-delay:.3s}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes floatYP{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media (max-width:767.98px){
  .philo-cards{height:70vw}
  .philo-card{width:30vw;border-radius:12px}
  .philo-card:nth-child(1){left:0%;top:10%}
  .philo-card:nth-child(2){left:22%;top:38%}
  .philo-card:nth-child(3){left:44%;top:14%}
  .philo-card:nth-child(4){left:64%;top:44%}
  .philo-card:nth-child(5){left:80%;top:18%}
  .philo-card{margin-top:40px;margin-left:-30px}
}
@media (prefers-reduced-motion:reduce){.philo-card{animation:none}}

/* ===== Partners ===== */
.partners{ padding:clamp(56px,8vw,96px) 0; background:#f5f5f5; }
.partners .section-title-center{ text-align:center; margin-bottom:clamp(24px,5vw,40px); color: #111; }

.partners .section-title-center .desc{font-weight:800;letter-spacing:.08em;color:#00441D}
.partners .section-title-center .tit{font-weight:800;line-height:1.35;font-size:clamp(22px,3.2vw,34px);color:#111}
.partners .section-title-center .txt{margin-top:40px;color:#222;opacity:.85;font-size:clamp(16px,1.5vw,18px);line-height:1.8}
.partners-slider{ margin-top:18px; }

.partners-swiper .swiper-slide{ width:auto; }   /* 마키형: 슬라이드 폭 자동 */
.partner-card{
  width:200px; height:75px; padding:16px 20px; margin: auto 16px;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border-radius:18px; box-shadow:0 8px 18px rgba(0,0,0,.05);
  transition:transform .25s ease, box-shadow .25s ease, filter .25s;
}
.partner-card img{ max-width:100%; max-height:42px; filter:grayscale(100%) contrast(.95) opacity(.95); transition:filter .25s; }
.partner-card:hover{ transform:translateY(-2px); box-shadow:0 14px 28px rgba(0,0,0,.08); }
.partner-card:hover img{ filter:none; }

@media (max-width:576px){
  .partner-card{ width:200px; height:75px; }
  .partner-card img{ max-height:36px; }
}

/* ===== Contact ===== */
.contact{padding:clamp(56px,8vw,96px) 0; background:linear-gradient(180deg,#00441D 0,#062b1e 100%);}
.contact{overflow-x:hidden;} /* 가로 넘침 방지 */

.contact .section-title-left .desc{color:#71D85C; margin-top: 48px;}
.contact .section-title-left .tit{color:#fff;}
.contact .section-title-left .txt{color:#f5f7f6; opacity:.92;margin-top: 28px;}

.contact-form{margin-top:48px;}
/* 폼 */
.contact-form label{display:none !important;}
.contact-form input[type="text"],
.contact-form input[type="tel"],
.contact-form select{
  width:100%; height:52px; border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:#fff; padding:0 16px; outline:0;
  transition:border-color .2s, box-shadow .2s;
  -webkit-appearance:none; appearance:none; color-scheme:light; /* iOS 옵션 밝게 */
}
.contact-form select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23ffffff' d='M6 8L0 0h12z'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center; background-size:12px 8px; padding-right:40px;
}
.contact-form input::placeholder{color:rgba(255,255,255,.7);}
.contact-form select option{color:#111; background:#fff;} /* 안드/데스크톱 */

.contact-form :is(input,select):focus{
  border-color:#71D85C; box-shadow:0 0 0 3px rgba(113,216,92,.18);
}

/* 버튼 */
.btn-contact{
  display:inline-flex; align-items:center; justify-content:center;
  height:54px; border-radius:12px; width:auto;
  font-weight:800; letter-spacing:.02em; color:#0b2c19;
  background:linear-gradient(180deg,#71D85C 0,#40b43a 100%);
  border:0; box-shadow:0 8px 20px rgba(0,0,0,.16);
  transition:transform .15s ease, filter .15s ease;
}
.btn-contact:hover{filter:brightness(1.03); transform:translateY(-1px);}

/* 카드 */
.contact-card{
  display:flex; flex-direction:column; gap:6px; align-items:center; justify-content:center;
  text-align:center; min-height:140px; border-radius:16px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  color:#eaf4ef; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.contact-card i{font-size:28px; margin-bottom:4px; opacity:.95;}
.contact-card .small{font-size:13px; opacity:.9; margin:0;}
.contact-card .strong{font-weight:800; margin:0; font-size:16px; color:#fff;}
.contact-card:hover{transform:translateY(-2px); background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.28); color: white; opacity: 1;}
/* contact 카드 기본 */


/* 이미지 카드 전용 */
.contact-imgcard{
  /* 축약형으로 한 번에 덮어쓰기 (이미지 + 색) */
  background:
    url("../img/contact.gif") center bottom / cover no-repeat,
    rgba(255,255,255,.08);
    min-height:420px;
    border-radius: 16px;

}
/* 반응형 : 모바일에서 좌우패딩 조금 */
@media (max-width: 991.98px){
  .contact .container{padding-left:16px !important; padding-right:16px !important;}
}

/* Footer base */
.site-footer{ color:#eaf5ef; padding: clamp(40px,6vw,72px) 0; }
.site-footer a{ color:#eaf5ef; text-decoration:none; }
.site-footer a:hover{ color:#71D85C; }
.site-footer .muted{ color:rgba(255,255,255,.75); }

.footer-brand{
  margin:0 0 8px;
  font-weight:800;
  letter-spacing:.02em;
}
.footer-sub{ margin:0; font-size:14px; }

/* 라벨칩 + 정의리스트 */
.footer-dl{
  display:grid;
  grid-template-columns: 120px 1fr;
  align-items:start;
  column-gap:16px; row-gap:10px;
  margin:0;
}
.footer-dl dt{
  font-weight:700; font-size:12px; letter-spacing:.04em;
  color:#c9e6d7;
  padding:6px 10px; border:1px solid rgba(255,255,255,.22);
  border-radius:999px; text-align:center; white-space:nowrap;
  background:rgba(255,255,255,.06);
}
.footer-dl dd{ margin:0; font-size:15px; }
.footer-dl .sep{ display:inline-block; margin:0 6px; opacity:.7; }

/* 구분선 */
.footer-hr{
  border:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);
  margin: clamp(24px,4vw,40px) 0;
}

/* 약관/정책 링크 */
.footer-links{ display:flex; gap:18px; flex-wrap:wrap; }
.footer-links a{
  font-weight:700; font-size:14px;
  padding:6px 10px; border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.18);
}

/* 하단 카피 */
.footer-bottom{
  margin-top: clamp(20px,4vw,28px);
  padding-top: 12px;
  border-top: 1px dashed rgba(255,255,255,.14);
  text-align:center;
  font-size:13px;
}

/* 반응형 */
@media (max-width: 767.98px){
  .footer-dl{ grid-template-columns: 110px 1fr; }
  .footer-links{ justify-content:flex-start; }
  .legal{ margin-top:6px; }
}


/* ====== about스타일 ===== */
#about{text-align: center; background-color: white; margin: 80px auto;padding-top: 60px;}
#about .section-title-center{color: #111; margin-bottom: 40px;}
#about .section-title-center .desc{font-weight:800;letter-spacing:.08em;color:#00441D}
#about .section-title-center .tit{font-weight:800;line-height:1.35;font-size:clamp(22px,3.2vw,34px);color:#111}
#about .section-title-center .txt{margin-top:40px;color:#222;opacity:.85;font-size:clamp(16px,1.5vw,18px);line-height:1.8;}

#about img{border-radius: 16px; margin: 32px auto;}
