:root{
  --ink:#0E1A12; --body:#47544B; --mute:#8B968E; --line:#E6ECE7;
  --g:#18752F; --g2:#0C3F1A; --acc:#35B34A; --acc2:#57D06B;
  --soft:#F3F8F4; --soft2:#EAF3EC; --sea:#123449; --sea2:#0B2231;
  --max:1200px; --top:74px; --bot:66px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--top)}
body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;
  color:var(--body);background:#fff;line-height:1.75;-webkit-text-size-adjust:100%;
  padding-bottom:var(--bot);word-break:keep-all;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ── 안내 띠 ── */
#tape{background:var(--g2);color:#CFE6D5;font-size:.8rem;text-align:center;padding:7px 14px;position:fixed;
  top:0;left:0;right:0;z-index:90;letter-spacing:-.2px}
#tape b{color:#fff}

/* ── 헤더 ── */
#hdr{position:fixed;top:0;left:0;right:0;height:var(--top);z-index:80;background:#fff;
  border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}
#hdr.stuck{border-color:var(--line);box-shadow:0 2px 20px rgba(0,0,0,.05)}
#hdr .in{max-width:var(--max);height:100%;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:18px}
#hdr .logo{display:flex;align-items:center;gap:11px;flex:none}
#hdr .logo .mk{height:38px;width:auto}
#hdr .logo .wd{height:33px;width:auto}
nav{margin-left:auto;display:flex;align-items:center;gap:30px}
nav a{font-size:.97rem;font-weight:700;color:var(--ink);letter-spacing:-.4px;position:relative;padding:6px 0}
nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--acc);transition:right .25s}
nav a:hover::after,nav a.on::after{right:0}
nav a.on{color:var(--g)}
#burger{margin-left:auto;display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;position:relative}
#burger i{position:absolute;left:11px;right:11px;height:2px;background:var(--ink);transition:.25s}
#burger i:nth-child(1){top:15px} #burger i:nth-child(2){top:21px} #burger i:nth-child(3){top:27px}

#mnav{position:fixed;inset:0;z-index:95;background:#fff;padding:calc(var(--top) + 50px) 28px 40px;
  transform:translateY(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto}
#mnav.on{transform:none}
#mnav a{display:block;font-size:1.5rem;font-weight:800;color:var(--ink);letter-spacing:-1px;padding:15px 0;
  border-bottom:1px solid var(--line)}
#mnav .x{position:absolute;top:26px;right:22px;width:46px;height:46px;border:0;background:var(--soft);
  border-radius:50%;font-size:1.3rem;color:var(--ink);cursor:pointer}
#mnav .call{margin-top:26px;display:block;text-align:center;background:var(--g);color:#fff;border-radius:14px;
  padding:16px;font-size:1.05rem;font-weight:800}

/* ── 히어로 ── */
.hero{min-height:100vh;padding:calc(var(--top) + 90px) 0 120px;display:flex;align-items:center;position:relative;
  background:radial-gradient(120% 90% at 78% 12%,#1E8A3A 0%,#14652A 42%,#0A3A18 100%);color:#DCEBE0;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(closest-side,rgba(255,255,255,.10),transparent 70%) 18% 78%/56% 56% no-repeat,
             radial-gradient(closest-side,rgba(255,255,255,.07),transparent 70%) 86% 30%/44% 44% no-repeat}
.hero .in{position:relative;z-index:1;text-align:center;width:100%}
.hero .eye{font-size:.82rem;font-weight:800;letter-spacing:5px;color:var(--acc2)}
.hero h1{margin-top:20px;font-size:clamp(2.15rem,6.2vw,4.4rem);line-height:1.24;letter-spacing:-2.6px;
  font-weight:800;color:#fff}
.hero h1 em{font-style:normal;color:var(--acc2)}
.hero p{margin:24px auto 0;max-width:640px;font-size:clamp(.98rem,1.6vw,1.12rem);color:rgba(255,255,255,.84)}
.hero .chips{margin-top:30px;display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.hero .chips span{border:1px solid rgba(255,255,255,.34);border-radius:99px;padding:7px 16px;font-size:.86rem;
  font-weight:700;color:#fff}
.hero .btns{margin-top:36px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:9px;border-radius:99px;padding:14px 28px;font-size:.97rem;
  font-weight:800;letter-spacing:-.4px;border:0;cursor:pointer;transition:.2s}
.pill.acc{background:var(--acc);color:#fff}
.pill.acc:hover{background:var(--acc2)}
.pill.line{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5)}
.pill.line:hover{background:rgba(255,255,255,.12)}
.pill.dark{background:var(--g);color:#fff}
.pill.dark:hover{background:var(--g2)}
.pill.out{background:#fff;color:var(--g);border:1.5px solid var(--g)}
.pill.out:hover{background:var(--soft2)}
.pill i{font-style:normal;font-size:1.05em;line-height:1}
.hero .down{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:1;color:rgba(255,255,255,.6);
  font-size:.78rem;font-weight:700;letter-spacing:1px;text-align:center}
.hero .down em{display:block;width:20px;height:20px;margin:8px auto 0;border-right:2px solid rgba(255,255,255,.6);
  border-bottom:2px solid rgba(255,255,255,.6);transform:rotate(45deg);animation:bob 1.8s infinite}
@keyframes bob{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(5px,5px)}}

/* ── 공통 섹션 ── */
section{padding:110px 0}
section.soft{background:var(--soft)}
.eye{font-size:.8rem;font-weight:800;letter-spacing:3.4px;color:var(--acc);text-transform:uppercase}
h2.tt{margin-top:14px;font-size:clamp(1.7rem,3.8vw,2.85rem);line-height:1.32;letter-spacing:-1.8px;
  font-weight:800;color:var(--ink)}
h2.tt em{font-style:normal;color:var(--g)}
.lead{margin-top:18px;font-size:1.03rem;color:var(--body);max-width:700px}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}

/* 체크 칩 */
.checks{margin-top:26px;display:flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.checks div{flex:1 1 auto;padding:13px 18px;font-size:.9rem;font-weight:700;color:var(--ink);
  border-left:1px solid var(--line);white-space:nowrap}
.checks div:first-child{border-left:0}
.checks div::before{content:"✓";color:var(--acc);font-weight:900;margin-right:7px}

/* 성과 밴드 */
.band{background:var(--g2);color:#fff;padding:78px 0}
.band .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}
.band .n{text-align:center;padding:26px 12px;border-radius:16px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12)}
.band .n b{display:block;font-size:clamp(2rem,4.4vw,3rem);font-weight:800;letter-spacing:-2px;color:var(--acc2);line-height:1.1}
.band .n b i{font-style:normal;font-size:.44em;margin-left:2px}
.band .n span{display:block;margin-top:8px;font-size:.94rem;color:rgba(255,255,255,.82);font-weight:700}
.band .note{margin-top:20px;text-align:center;font-size:.86rem;color:rgba(255,255,255,.55)}
.band .eye{color:var(--acc2)}
.band h2.tt{color:#fff}

/* 2단 블록 */
.two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.two.rev .txt{order:2}
.two .fig img{width:100%;border-radius:20px}
.two .fig.round img{border-radius:50%;box-shadow:0 30px 70px rgba(0,0,0,.12)}
.two .fig .cap{margin-top:12px;font-size:.84rem;color:var(--mute);text-align:center}

/* 제품 행 */
.prow{padding:78px 0;border-top:1px solid var(--line)}
.prow:first-of-type{border-top:0}
.prow .in{display:grid;grid-template-columns:380px 1fr;gap:60px;align-items:center;max-width:var(--max);
  margin:0 auto;padding:0 24px}
.prow.rev .in{grid-template-columns:1fr 380px}
.prow.rev .pic{order:2}
.prow .pic img{width:100%;border-radius:50%}
.prow .noimg{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 32%,#E7A93B,#B36F14 70%);
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9);font-weight:800;
  font-size:.92rem;text-align:center;padding:30px;line-height:1.6}
.prow .kk{font-size:.78rem;font-weight:800;letter-spacing:2.6px;color:var(--acc)}
.prow h3{margin-top:9px;font-size:clamp(1.45rem,2.8vw,2.05rem);font-weight:800;letter-spacing:-1.3px;color:var(--ink)}
.prow p{margin-top:14px;font-size:1rem;color:var(--body);max-width:560px}
.prow .tags{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.prow .tags span{background:var(--soft2);color:var(--g);border-radius:99px;padding:6px 14px;font-size:.85rem;font-weight:700}
.prow .price{margin-top:20px;font-size:1.02rem;color:var(--ink);font-weight:800}
.prow .price em{font-style:normal;color:var(--mute);font-weight:600;font-size:.88rem;margin-left:6px}

/* 표 */
.tbl{margin-top:34px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.tbl .r{display:flex;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--line);font-size:1rem}
.tbl .r:first-child{border-top:0;background:var(--soft);font-weight:800;color:var(--ink);font-size:.9rem}
.tbl .r b{color:var(--ink);font-weight:700}
.tbl .r span{color:var(--g);font-weight:800;white-space:nowrap}

/* 카드 그리드 */
.cards{margin-top:38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px}
.card .no{width:30px;height:30px;border-radius:50%;background:var(--g);color:#fff;display:flex;align-items:center;
  justify-content:center;font-size:.84rem;font-weight:800}
.card h4{margin-top:14px;font-size:1.05rem;font-weight:800;color:var(--ink);letter-spacing:-.6px}
.card p{margin-top:7px;font-size:.92rem;color:var(--mute)}

/* 어종 */
.fish{margin-top:26px;display:flex;flex-wrap:wrap;gap:9px}
.fish span{border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:8px 18px;font-size:.92rem;
  font-weight:700;color:#fff}
.sea{background:linear-gradient(160deg,var(--sea) 0%,var(--sea2) 100%);color:#CFE0EC}
.sea h2.tt{color:#fff} .sea h2.tt em{color:#7FD4F5} .sea .eye{color:#7FD4F5} .sea .lead{color:rgba(255,255,255,.84)}
.sea .card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.sea .card h4{color:#fff} .sea .card p{color:rgba(255,255,255,.72)}
.sea .card .no{background:#7FD4F5;color:var(--sea2)}

/* 특허 */
.pats{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 26px}
.pat .tag{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:1px;color:#fff;background:var(--g);
  border-radius:99px;padding:5px 13px}
.pat h3{margin-top:14px;font-size:1.12rem;line-height:1.5;font-weight:800;color:var(--ink);letter-spacing:-.7px}
.pat dl{margin-top:18px;display:flex;flex-direction:column;gap:9px}
.pat dl > div{display:flex;gap:14px;font-size:.92rem}
.pat dt{width:74px;flex:none;color:var(--mute);font-weight:700}
.pat dd{color:var(--ink);font-weight:700}
.cert{margin-top:22px;display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;
  background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:11px;transition:.2s}
.cert:hover{border-color:var(--acc);box-shadow:0 8px 22px rgba(0,0,0,.07)}
.cert img{width:60px;height:82px;object-fit:cover;object-position:top center;border:1px solid var(--line);
  border-radius:8px;background:#fff;flex:none}
.cert b{display:block;font-size:.94rem;color:var(--ink)}
.cert em{display:block;font-style:normal;margin-top:3px;font-size:.8rem;color:var(--mute)}
/* 특허증 큰 사진 */
.certbig{display:block;width:100%;margin-top:22px;border:1px solid var(--line);border-radius:14px;
  background:#fff;cursor:zoom-in;transition:border-color .2s,box-shadow .2s}
.certbig:hover{border-color:var(--acc);box-shadow:0 14px 34px rgba(0,0,0,.09)}
.certcap{margin-top:10px;text-align:center;font-size:.82rem;color:var(--mute)}
/* 구분선 */
.hr{height:1px;background:var(--line);margin:56px 0 46px}

#lb{position:fixed;inset:0;z-index:200;background:rgba(8,20,11,.88);display:flex;align-items:center;
  justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .25s}
#lb.on{opacity:1;pointer-events:auto}
#lb img{max-width:min(94vw,720px);max-height:78vh;border-radius:10px;background:#fff}
#lb .cap{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:rgba(255,255,255,.9);
  font-size:.85rem;font-weight:700;padding:0 22px}
#lb .x{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.16);color:#fff;font-size:1.3rem}

/* 뉴스 */
.news{margin-top:38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.nw{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:block;transition:.2s}
.nw:hover{box-shadow:0 16px 40px rgba(0,0,0,.09);transform:translateY(-3px)}
.nw .th{aspect-ratio:16/10;overflow:hidden;background:var(--soft)}
.nw .th img{width:100%;height:100%;object-fit:cover;object-position:top center}
.nw .tx{padding:20px}
.nw .src{font-size:.78rem;font-weight:800;color:var(--acc);letter-spacing:.4px}
.nw h4{margin-top:7px;font-size:1.02rem;line-height:1.55;font-weight:800;color:var(--ink);letter-spacing:-.5px}
.nw time{display:block;margin-top:10px;font-size:.84rem;color:var(--mute)}

/* 글로벌 */
.glob{background:var(--g2);color:#fff}
.glob h2.tt{color:#fff} .glob .eye{color:var(--acc2)} .glob .lead{color:rgba(255,255,255,.82)}
.steps{margin-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.step{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);border-radius:18px;padding:28px 24px}
.step .k{font-size:.78rem;font-weight:800;letter-spacing:2px;color:var(--acc2)}
.step h4{margin-top:10px;font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:-.6px}
.step p{margin-top:8px;font-size:.94rem;color:rgba(255,255,255,.74)}

/* 문의 */
.cwrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:44px}
.rows{margin-top:8px}
.rows .r{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--line);font-size:1rem}
.rows .r b{width:96px;flex:none;color:var(--mute);font-weight:700;font-size:.92rem;letter-spacing:-.4px}
.rows .r a,.rows .r span{color:var(--ink);font-weight:700}
.rows .r a{border-bottom:1px solid var(--line)}
form{background:var(--soft);border:1px solid var(--line);border-radius:22px;padding:30px 26px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fl{margin-top:14px}
.fl:first-child,.f2 .fl{margin-top:0}
.fl label{display:block;font-size:.9rem;font-weight:700;color:var(--ink);margin-bottom:7px}
.fl input,.fl select,.fl textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:12px;padding:13px 14px;outline:none;transition:.15s}
.fl textarea{min-height:110px;resize:vertical}
.fl input:focus,.fl select:focus,.fl textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(53,179,74,.14)}
form button{width:100%;margin-top:18px;font:inherit;font-size:1.02rem;font-weight:800;color:#fff;background:var(--g);
  border:0;border-radius:14px;padding:16px;cursor:pointer}
form button:hover{background:var(--g2)}
form button:disabled{opacity:.6}
.msg{margin-top:12px;font-size:.92rem;font-weight:700;display:none}
.msg.on{display:block}
.msg.ok{color:var(--g)} .msg.no{color:#DE362D}

/* 푸터 */
footer{background:#0A1710;color:rgba(255,255,255,.62);padding:56px 0 34px;font-size:.92rem}
footer .in{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:26px}
footer b{display:block;color:#fff;font-weight:800;margin-bottom:9px;font-size:.98rem}
footer a{border-bottom:1px solid rgba(255,255,255,.2)}
footer .cp{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);margin-top:14px;padding-top:18px;
  font-size:.84rem;color:rgba(255,255,255,.42)}

/* 하단 고정 상담바 */
#bar{position:fixed;left:0;right:0;bottom:0;z-index:85;background:var(--g2);color:#fff;height:var(--bot);
  display:flex;align-items:center}
#bar .in{max-width:var(--max);margin:0 auto;padding:0 20px;width:100%;display:flex;align-items:center;gap:16px}
#bar .lbl{font-size:.92rem;font-weight:700;color:rgba(255,255,255,.8)}
#bar .tel{font-size:1.45rem;font-weight:800;letter-spacing:-.5px;color:var(--acc2)}
#bar .bts{margin-left:auto;display:flex;gap:9px}
#bar .bts a{border-radius:10px;padding:11px 20px;font-size:.94rem;font-weight:800;white-space:nowrap}
#bar .bts .sms{background:#fff;color:var(--g2)}
#bar .bts .go{background:var(--acc);color:#fff}

@media(max-width:1024px){
  .two{gap:40px}
  .prow .in{grid-template-columns:300px 1fr;gap:40px}
  .prow.rev .in{grid-template-columns:1fr 300px}
}
@media(max-width:860px){
  nav{display:none} #burger{display:block}
  section{padding:74px 0}
  .two,.cwrap{grid-template-columns:1fr;gap:34px}
  .two.rev .txt{order:0}
  /* 대표 소개는 좁은 화면에서도 사진이 먼저 */
  .two.rev.face .txt{order:2}
  .prow .in,.prow.rev .in{grid-template-columns:1fr;gap:28px}
  .prow .pic,.prow.rev .pic{order:0;max-width:280px;margin:0 auto}
  .band .grid{grid-template-columns:1fr 1fr}
  .pats,.steps{grid-template-columns:1fr}
  .checks{flex-direction:column}
  .checks div{border-left:0;border-top:1px solid var(--line);white-space:normal}
  .checks div:first-child{border-top:0}
  #bar .lbl{display:none}
  #bar .tel{font-size:1.15rem}
  #bar .bts a{padding:10px 14px;font-size:.88rem}
  .f2{grid-template-columns:1fr}
}
@media(max-width:520px){
  .wrap,#hdr .in,.prow .in{padding-left:18px;padding-right:18px}
  #bar .tel{font-size:1.02rem}
  #bar .in{gap:10px}
}
@media(max-width:400px){
  #bar .in{padding:0 12px;gap:8px}
  #bar .tel{font-size:.92rem;white-space:nowrap;letter-spacing:-.8px}
  #bar .bts{gap:6px}
  #bar .bts a{padding:9px 11px;font-size:.83rem}
}
/* ── 서브 페이지 ── */
.sub{padding:calc(var(--top) + 128px) 0 74px;background:var(--soft);border-bottom:1px solid var(--line)}
.sub .eye{color:var(--acc)}
.sub h1{margin-top:14px;font-size:clamp(1.9rem,4.4vw,3.2rem);line-height:1.3;letter-spacing:-2px;
  font-weight:800;color:var(--ink)}
.sub h1 em{font-style:normal;color:var(--g)}
.sub p{margin-top:20px;font-size:1.05rem;color:var(--body);max-width:720px}
.subnav{background:#fff;border-bottom:1px solid var(--line);overflow-x:auto;-webkit-overflow-scrolling:touch}
.subnav .in{max-width:var(--max);margin:0 auto;padding:0 24px;display:flex;gap:28px;white-space:nowrap}
.subnav a{padding:17px 0;font-size:.95rem;font-weight:700;color:var(--mute);border-bottom:2px solid transparent}
.subnav a.on{color:var(--g);border-color:var(--acc)}
.subnav a:hover{color:var(--ink)}
/* 홈 안내 카드 */
.gates{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;text-align:left}
.gate2{display:block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px 24px;transition:.2s}
.gate2:hover{box-shadow:0 18px 44px rgba(0,0,0,.09);transform:translateY(-3px);border-color:var(--acc)}
.gate2 .k{font-size:.76rem;font-weight:800;letter-spacing:2.4px;color:var(--acc)}
.gate2 h3{margin-top:10px;font-size:1.24rem;font-weight:800;color:var(--ink);letter-spacing:-.8px}
.gate2 p{margin-top:8px;font-size:.94rem;color:var(--mute)}
.gate2 .go{margin-top:16px;display:inline-block;font-size:.9rem;font-weight:800;color:var(--g)}

/* ── 사진 묶음 ── */
.gal{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;text-align:left}
.gal figure{margin:0}
.gal img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;border:1px solid var(--line);
  cursor:zoom-in;transition:.2s;background:var(--soft)}
.gal img:hover{box-shadow:0 16px 40px rgba(0,0,0,.12);transform:translateY(-3px)}
.gal figcaption{margin-top:10px;font-size:.87rem;color:var(--mute)}
/* 인포그래픽 한 장 */
.shot{margin-top:34px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}
.shot img{width:100%;cursor:zoom-in}
.shot .cap2{padding:12px 16px;font-size:.86rem;color:var(--mute);border-top:1px solid var(--line);text-align:center}
.sea .shot,.glob .shot,.band .shot{border-color:rgba(255,255,255,.18)}
.sea .shot .cap2,.glob .shot .cap2{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.05)}
/* 작은 글자 버튼 */
.tiny{display:inline-block;margin-top:12px;font-size:.86rem;font-weight:800;color:var(--g);
  background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:8px 14px;cursor:pointer}
.tiny:hover{border-color:var(--acc)}
/* 명함 */
.namecard{margin-top:26px;border-radius:20px;overflow:hidden;border:1px solid var(--line);max-width:420px}
.namecard img{width:100%;cursor:zoom-in}
/* 수상 */
.awards{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:18px;text-align:left}
.awd{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.2s}
.awd:hover{box-shadow:0 14px 34px rgba(0,0,0,.09);transform:translateY(-3px)}
.awd img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;
  background:var(--soft);border-bottom:1px solid var(--line);cursor:zoom-in}
.awd .b{padding:16px 17px 19px}
.awd .yr{font-size:.74rem;font-weight:800;letter-spacing:1px;color:var(--g)}
.awd h4{margin-top:7px;font-size:.97rem;line-height:1.5;font-weight:800;color:var(--ink);letter-spacing:-.4px}
.awd p{margin-top:9px;font-size:.85rem;color:var(--mute);line-height:1.6}

/* 숫자 카드 */
.figs{margin-top:38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:16px;text-align:left}
.fg{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px}
.fg b{display:block;font-size:2.05rem;font-weight:800;color:var(--g);letter-spacing:-1.6px;line-height:1.1}
.fg b i{font-style:normal;font-size:.48em;margin-left:2px;letter-spacing:-.5px}
.fg h4{margin-top:11px;font-size:1rem;font-weight:800;color:var(--ink);letter-spacing:-.5px}
.fg p{margin-top:7px;font-size:.87rem;color:var(--mute);line-height:1.6}

/* 막대 그래프 */
.bars{margin:34px auto 0;max-width:700px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:end}
.bars .bx{text-align:center}
.bars .v{font-size:.95rem;font-weight:800;color:var(--mute);margin-bottom:8px}
.bars .bar{height:190px;display:flex;align-items:flex-end}
.bars .bar i{display:block;width:100%;background:var(--soft2);border:1px solid var(--line);border-bottom:0;
  border-radius:10px 10px 0 0}
.bars .lb{margin-top:10px;font-size:.86rem;font-weight:700;color:var(--mute);border-top:1px solid var(--line);padding-top:9px}
.bars .bx.hi .v{color:var(--g);font-size:1.1rem}
.bars .bx.hi .bar i{background:var(--acc);border-color:var(--acc)}
.bars .bx.hi .lb{color:var(--g)}

/* 비교표 */
.cmp{margin-top:34px;overflow-x:auto}
.cmp table{width:100%;min-width:620px;border-collapse:collapse;background:#fff;font-size:.94rem;
  border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cmp th,.cmp td{padding:14px 10px;text-align:center;border-bottom:1px solid var(--line);color:var(--body)}
.cmp thead th{background:var(--soft);color:var(--ink);font-weight:800;font-size:.9rem}
.cmp thead th.hi{background:var(--g);color:#fff}
.cmp tbody th{background:var(--soft);color:var(--ink);font-weight:700;text-align:left;padding-left:18px;
  white-space:nowrap;font-size:.9rem}
.cmp td.hi{background:rgba(53,179,74,.09);color:var(--g);font-weight:800}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.swipe{margin-top:10px;font-size:.8rem;color:var(--mute);text-align:center}

/* 로드맵 */
.road{margin-top:38px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;text-align:left}
.rd{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 20px}
.rd.now{border-color:var(--acc);box-shadow:0 14px 34px rgba(53,179,74,.13)}
.rd .y{font-size:1.3rem;font-weight:800;color:var(--g);letter-spacing:-1.2px;line-height:1}
.rd h4{margin-top:8px;font-size:1rem;font-weight:800;color:var(--ink);letter-spacing:-.5px}
.rd ul{margin-top:13px;list-style:none}
.rd li{position:relative;padding-left:13px;font-size:.86rem;color:var(--mute);margin-top:7px;line-height:1.6}
.rd li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--acc)}

/* 점 목록 */
.bul{margin-top:20px;list-style:none}
.bul li{position:relative;padding-left:17px;font-size:.95rem;color:var(--body);margin-top:9px}
.bul li::before{content:"";position:absolute;left:0;top:.66em;width:6px;height:6px;border-radius:50%;background:var(--acc)}

@media(max-width:520px){
  .bars{gap:7px}
  .bars .bar{height:138px}
  .bars .v{font-size:.8rem} .bars .bx.hi .v{font-size:.92rem}
  .bars .lb{font-size:.72rem;padding-top:7px}
  .fg b{font-size:1.8rem}
}

/* ═══ 홈 첫 화면 — 손님이 준 시안 그림 그대로 ═══
   그림 위쪽의 메뉴 줄은 진짜 헤더와 겹치므로 잘라내고 씁니다. */
.hshot{position:relative;padding:0;margin-top:calc(var(--top) + 31px);background:#DFEAF0;line-height:0}
.hshot .hpic{position:relative;line-height:0}
.hshot .hpic > img{width:100%;height:auto;display:block}
/* 순환 그림 한가운데에 진짜 회사 로고를 얹습니다 */
.hshot .hpic > img.clogo{position:absolute;left:55.4%;top:41%;transform:translate(-50%,-50%);
  width:10.4%;height:auto}
/* 그림 속 「엔토모로의 이야기」 버튼 자리에 진짜 링크를 얹습니다 */
.hshot .spot{position:absolute;left:3.6%;top:46.4%;width:14.5%;height:8%;border-radius:99px}
.hshot .hmob{display:none}

@media(max-width:760px){
  /* 휴대폰에서는 그림 글씨가 너무 작아 읽히지 않으므로 아래에 같은 내용을 글로 한 번 더 둡니다 */
  .hshot .spot{display:none}
  .hshot .hmob{display:block;line-height:1.7;padding:26px 20px 30px;text-align:center;background:#fff}
  .hshot .hmob h1{font-size:1.85rem;line-height:1.35;letter-spacing:-1.4px;font-weight:800;color:#0E2C19}
  .hshot .hmob h1 em{font-style:normal;color:var(--g)}
  .hshot .hmob p{margin-top:14px;font-size:.95rem;color:var(--body)}
  .hshot .hmob .mb{margin-top:20px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
  .hshot .hmob .mb a{padding:12px 20px;font-size:.92rem}
}

/* 함께하는 기관 로고 */
.plogo{height:30px;width:auto;margin-bottom:16px}
.card .plogo + h4{margin-top:0}

/* 문의 접수 확인창 */
#okpop{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:22px;
  background:rgba(8,20,11,.55);opacity:0;pointer-events:none;transition:opacity .22s}
#okpop.on{opacity:1;pointer-events:auto}
#okpop .box{width:100%;max-width:380px;background:#fff;border-radius:22px;padding:34px 26px 26px;text-align:center;
  box-shadow:0 30px 70px rgba(0,0,0,.25);transform:translateY(14px) scale(.97);transition:transform .25s cubic-bezier(.2,.8,.3,1)}
#okpop.on .box{transform:none}
#okpop .ic{width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:var(--soft2);
  display:flex;align-items:center;justify-content:center}
#okpop .ic svg{width:32px;height:32px;stroke:var(--g);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}
#okpop h3{font-size:1.22rem;font-weight:800;color:var(--ink);letter-spacing:-.6px}
#okpop p{margin-top:9px;font-size:.95rem;color:var(--body);line-height:1.7}
#okpop button{margin-top:22px;width:100%;border:0;cursor:pointer;background:var(--g);color:#fff;
  font-family:inherit;font-size:1rem;font-weight:800;padding:14px 18px;border-radius:12px}
#okpop button:hover{background:var(--g2)}
