/* =====================================================
   (주)현대에프앤비 홈페이지 스타일 v4 — Quiet Luxury
===================================================== */
:root{
  /* 브랜드 컬러: 대표 명함 Emerald Green 계열 (기존 딥그린 대체) */
  --green-900:#075e37;
  --green-800:#0a7c46;
  --green-700:#069e51;
  --green-600:#10b263;
  --green-500:#22c579;
  --green-400:#5ad69c;
  --green-100:#e4f7ee;
  --green-050:#f1fbf6;

  --ink:#20231d;
  --ink-soft:#4f5348;
  --muted:#8a8c7f;
  --line:#e8e5d9;

  --sage-800:#436350;
  --sage-900:#31493b;

  --paper:#ffffff;
  --mist:#faf9f5;
  --mist-2:#f2f0e7;

  --shadow:0 22px 46px -24px rgba(20,20,15,.28);
  --shadow-sm:0 8px 20px -12px rgba(20,20,15,.16);
  --radius:14px;
  --maxw:1200px;
  font-size:16px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Pretendard Variable","Pretendard","Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-weight:800;letter-spacing:-.01em;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
button{font:inherit;cursor:pointer;background:none;border:0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- Typography helpers ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12.5px;font-weight:700;letter-spacing:.14em;
  color:var(--green-600);text-transform:uppercase;
  margin-bottom:16px;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--green-500);display:inline-block;border-radius:2px;}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head.center{max-width:680px;margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .eyebrow{justify-content:center;}
.section-head h2{font-size:clamp(26px,3.4vw,38px);line-height:1.38;margin:0 0 16px;}
.section-head p{color:var(--muted);font-size:16px;margin:0;font-weight:400;}
.on-dark .section-head h2{color:#fff;}
.on-dark .section-head p{color:#cfe0d5;}

section{padding:104px 0;}
.bg-mist{background:var(--mist);}
.bg-mist-2{background:var(--mist-2);}
.bg-green{background:linear-gradient(165deg,var(--green-800),var(--green-900));color:#eef6f0;}
.bg-green .muted-l{color:#bfd7c9;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:16px 30px;border-radius:8px;font-weight:700;font-size:14.5px;
  border:1px solid transparent;transition:.2s transform ease,.2s box-shadow ease,.2s background ease,.2s border-color ease;
  white-space:nowrap;letter-spacing:.01em;
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--green-700);color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover{background:var(--green-800);}
.btn-invert{background:#fff;color:var(--green-800);}
.btn-invert:hover{background:var(--green-050);}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5);}
.btn-ghost:hover{background:rgba(255,255,255,.14);border-color:#fff;}
.btn-line{background:transparent;color:var(--ink);border-color:var(--line);font-weight:700;}
.btn-line:hover{border-color:var(--green-600);color:var(--green-700);background:var(--green-050);}
.btn-block{width:100%;}
.btn-pastel{background:#f5e2a3;color:var(--green-900);box-shadow:var(--shadow-sm);}
.btn-pastel:hover{background:#efd888;}
.btn-emoji{font-size:17px;line-height:1;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:500;
  background:rgba(255,255,255,.95);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{max-width:1600px;margin:0 auto;padding:0 10px;
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:8px;height:117px;}
.brand{grid-column:1;justify-self:start;display:flex;flex-direction:row;align-items:baseline;gap:10px;white-space:nowrap;line-height:1.1;}
.brand b{font-size:28.5px;font-weight:800;color:var(--ink);letter-spacing:-.01em;}
.brand small{font-size:19.5px;color:var(--green-600);letter-spacing:.1em;font-weight:700;}

.nav-contact{grid-column:3;justify-self:end;display:flex;align-items:center;gap:18px;padding-left:6px;border-left:1px solid var(--line);}
.nav-contact a{font-size:18.75px;font-weight:600;color:var(--ink-soft);white-space:nowrap;}
.nav-contact a:hover{color:var(--green-700);}
.nav-links{grid-column:2;justify-self:center;display:flex;align-items:center;gap:0;}
.nav-links a{
  padding:8px 9px;font-weight:600;font-size:21.75px;color:var(--ink-soft);
  transition:.15s;position:relative;white-space:nowrap;
}
.nav-links a::after{content:"";position:absolute;left:9px;right:9px;bottom:6px;height:2px;background:var(--green-500);
  border-radius:2px;transform:scaleX(0);transition:.2s;}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-links a.nav-cta{background:var(--green-700);color:#fff;margin-left:9px;padding:8px 12px;border-radius:8px;}
.nav-links a.nav-cta::after{display:none;}
.nav-links a.nav-cta:hover{background:var(--green-800);}
@media (min-width:1600px){
  .nav{position:relative;display:flex;justify-content:center;}
  .brand{position:absolute;left:16px;top:50%;transform:translateY(-50%);}
  .nav-contact{position:absolute;right:16px;top:50%;transform:translateY(-50%);}
}
@media (min-width:861px) and (max-width:1400px){
  .nav{padding:0 4px;column-gap:6px;}
  .nav-links a{padding:8px 7px;}
  .nav-links a::after{left:7px;right:7px;}
  .nav-links a.nav-cta{margin-left:7px;}
  .nav-contact{gap:14px;padding-left:4px;}
}
.nav-toggle{display:none;background:none;border:0;width:40px;height:40px;position:relative;}
.nav-toggle span{position:absolute;left:8px;right:8px;height:2px;background:var(--ink);border-radius:2px;transition:.2s;}
.nav-toggle span:nth-child(1){top:14px;}
.nav-toggle span:nth-child(2){top:20px;}
.nav-toggle span:nth-child(3){top:26px;}

/* ---------- Hero ---------- */
.hero{padding:60px 0 76px;background:linear-gradient(180deg,#f2f8f4 0%,#fff 100%);position:relative;overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 55% 68% at 50% 22%, rgba(255,255,255,.98) 0%, rgba(255,255,255,.88) 35%, rgba(255,255,255,.4) 62%, rgba(255,255,255,0) 82%),
    url('../img/hero-bg.jpg') center top/cover no-repeat;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 42%,transparent 68%);
  mask-image:linear-gradient(180deg,#000 0%,#000 42%,transparent 68%);
  animation:heroBgZoom 16s ease-in-out infinite alternate;transform-origin:center;
}
@keyframes heroBgZoom{from{transform:scale(1);}to{transform:scale(1.035);}}
.hero .wrap{display:grid;grid-template-columns:1fr;gap:44px;position:relative;z-index:1;max-width:1340px;}
.hero-copy{text-align:center;max-width:780px;margin:0 auto;}
.hero-copy .hero-title{font-size:clamp(32px,5.6vw,52px);line-height:1.32;letter-spacing:-.02em;font-weight:800;color:var(--ink);margin:0 0 22px;opacity:0;animation:heroFadeUp .7s cubic-bezier(.22,.61,.36,1) .1s both;}
.hero-copy .hero-title .kw{color:var(--green-700);}
.hero-br-m,.br-m{display:none;}
.hero-copy .hero-title .hl{background-image:linear-gradient(transparent 58%,rgba(245,158,11,.42) 58%);background-repeat:no-repeat;background-position:left center;background-size:0% 100%;padding:0 2px;animation:heroHlDraw .6s ease .95s forwards;}
.hero-copy .hero-sub{font-size:clamp(17px,2.3vw,22px);line-height:1.5;font-weight:600;color:var(--ink-soft);margin:0 0 14px;opacity:0;animation:heroFadeUp .7s cubic-bezier(.22,.61,.36,1) .25s both;}
.hero-copy .hero-desc{font-size:17px;line-height:1.7;font-weight:400;color:var(--muted);max-width:600px;margin:0 auto;opacity:0;animation:heroFadeUp .7s cubic-bezier(.22,.61,.36,1) .4s both;}
.hero-copy .hero-desc .kw{color:var(--green-700);font-weight:700;}
@keyframes heroFadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes heroHlDraw{to{background-size:100% 100%;}}
@media (prefers-reduced-motion:reduce){
  .hero-copy .hero-title,.hero-copy .hero-sub,.hero-copy .hero-desc{animation:none;opacity:1;}
  .hero-copy .hero-title .hl{background-size:100% 100%;animation:none;}
  .hero::before{animation:none;}
}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:50px;}

.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:920px;margin:0 auto 54px;}
.hero-stats .stat-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;padding:18px 22px;opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .4s cubic-bezier(.22,.61,.36,1);}
.hero-stats .stat-item:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:56px;background:linear-gradient(180deg,transparent 0%,rgba(32,35,29,.09) 50%,transparent 100%);}
.hero-stats .stat-ic{width:40px;height:40px;border-radius:12px;background:var(--green-050);display:flex;align-items:center;justify-content:center;transition:background .3s ease;}
.hero-stats .stat-ic svg{width:21px;height:21px;fill:none;stroke:var(--green-600);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s ease;}
.hero-stats .stat-num{display:block;font-size:44px;font-weight:800;color:var(--green-700);letter-spacing:-.02em;line-height:1.02;font-variant-numeric:tabular-nums;transition:color .3s ease;}
.hero-stats .stat-num.stat-text{font-size:32px;letter-spacing:-.01em;}
.hero-stats .stat-label{font-size:14.5px;font-weight:600;color:var(--ink-soft);letter-spacing:-.01em;}
.hero-stats.in .stat-item{opacity:1;transform:none;}
.hero-stats.in .stat-item:nth-child(2){transition-delay:.13s;}
.hero-stats.in .stat-item:nth-child(3){transition-delay:.26s;}
.hero-stats.in .stat-item:nth-child(4){transition-delay:.39s;}
.hero-stats.in .stat-item:hover{transform:translateY(-4px);transition-delay:0s;}
.hero-stats.in .stat-item:hover .stat-ic{background:var(--green-100);}
.hero-stats.in .stat-item:hover .stat-ic svg{stroke:var(--green-700);}
.hero-stats.in .stat-item:hover .stat-num{color:var(--green-800);}
@media (prefers-reduced-motion:reduce){.hero-stats .stat-item{opacity:1;transform:none;transition:none;}}

.dual-video{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.video-panel{
  position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/12;
  background:#0c1a12;cursor:pointer;box-shadow:var(--shadow);
  isolation:isolate;
}
.video-panel .vp-bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.08);transition:transform 7s ease;filter:saturate(1.05);
}
.video-panel.playing .vp-bg{transform:scale(1.18);transition:transform 9s linear;}
.video-panel video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .5s ease;
}
.video-panel.playing video{opacity:1;}
.video-panel::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(6,20,12,.8) 0%,rgba(6,20,12,.06) 42%,rgba(6,20,12,.28) 100%);
  z-index:1;
}
.vp-tag{
  position:absolute;top:18px;left:18px;z-index:2;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.5);
  color:#fff;font-size:12px;font-weight:700;padding:7px 14px;border-radius:999px;
  backdrop-filter:blur(4px);letter-spacing:.02em;
}
.vp-info{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;color:#fff;}
.vp-info h3{margin:0 0 4px;font-size:20px;letter-spacing:-.01em;font-weight:700;}
.vp-info p{margin:0;font-size:13px;color:#d6ecdd;}
.vp-play{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:60px;height:60px;border-radius:50%;z-index:2;
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.75);
  display:flex;align-items:center;justify-content:center;backdrop-filter:blur(3px);
  transition:.25s;
}
.video-panel:hover .vp-play{background:var(--green-500);border-color:var(--green-500);transform:translate(-50%,-50%) scale(1.06);}
.video-panel.playing .vp-play{opacity:0;transform:translate(-50%,-50%) scale(.7);}
.vp-play svg{width:18px;height:18px;fill:#fff;margin-left:3px;}
/* 히어로 영상 패널: 영상만 (오버레이 없음, 틀 비율=영상 16:9, 컨트롤 표시) */
.video-panel.vp-solo{background:#0c1a12;cursor:default;aspect-ratio:16/9;align-self:start;}
.video-panel.vp-solo video{opacity:1;object-fit:cover;}
.video-panel.vp-solo::after{display:none;}
/* 중앙 큰 재생버튼 (재생 전 표시, 재생 중 숨김) */
.video-panel.vp-solo iframe {pointer-events:none;}
.vp-solo .vp-bigplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:92px;height:92px;border:0;border-radius:50%;cursor:pointer;background:rgba(6,20,12,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(0,0,0,.32);transition:opacity .25s ease,transform .25s ease,background .2s ease;}
.vp-solo .vp-bigplay svg{width:38px;height:38px;fill:#fff;margin-left:6px;}
.vp-solo .vp-bigplay:hover{background:var(--green-600);transform:translate(-50%,-50%) scale(1.06);}
.vp-solo.is-playing .vp-bigplay{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.7);}
@media (max-width:640px){.vp-solo .vp-bigplay{width:66px;height:66px;}.vp-solo .vp-bigplay svg{width:28px;height:28px;}}
/* 상담폼 허니팟(스팸 방지) — 사람에게는 보이지 않음 */
.hp-field{position:absolute !important;left:-9999px !important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;}
.hero-hint{text-align:center;font-size:13px;color:var(--muted);margin-top:16px;}

/* ---------- Business cards (사업분야 카드) ---------- */
.grid{display:grid;gap:24px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

.biz-card{
  border-radius:12px;overflow:hidden;background:var(--paper);
  border:1px solid var(--line);
  display:flex;flex-direction:column;transition:.3s transform ease,.3s box-shadow ease;
}
.biz-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.biz-photo{aspect-ratio:4/3;background-size:cover;background-position:center;position:relative;}
.biz-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.3) 100%);}
.biz-photo .num{
  position:absolute;top:16px;left:16px;z-index:2;
  width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--green-800);
  font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;
}
.biz-body{padding:26px 26px 30px;flex:1;display:flex;flex-direction:column;border-top:3px solid var(--green-600);}
.biz-body .tag{font-size:11.5px;font-weight:700;color:var(--green-600);letter-spacing:.1em;text-transform:uppercase;}
.biz-body h3{font-size:22px;margin:10px 0 12px;}
.biz-body p{color:var(--muted);font-size:14.5px;margin:0 0 18px;flex:1;}
.biz-body .link{font-weight:700;font-size:13.5px;color:var(--green-700);display:inline-flex;align-items:center;gap:6px;
  border-bottom:1px solid var(--green-700);padding-bottom:2px;align-self:flex-start;}

/* ---------- 사업분야 상세 블록 (alternating) ---------- */
/* 섹션 구분: 사업분야 위(기업성과)·아래(고객사) 경계선 */
#business{border-top:2px solid rgba(6,94,55,.22);border-bottom:2px solid rgba(6,94,55,.22);}
@media (max-width:640px){.biz-detail{padding:56px 0;}}
/* 위탁급식-식자재유통-외식카페 간격 확대 + 사이 구분선 */
.biz-detail{padding:84px 0;border-bottom:1px solid rgba(6,94,55,.12);}
.biz-detail:last-child{border-bottom:none;}
#bizWt{border-bottom:none;}
.biz-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.biz-detail.reverse .biz-detail-grid{direction:rtl;}
.biz-detail.reverse .biz-detail-grid > *{direction:ltr;}
.biz-detail-media{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4;}
.biz-detail-media img{width:100%;height:100%;object-fit:cover;}
.fade-slider{position:absolute;inset:0;}
.fade-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;}
.fade-slider img.active{opacity:1;}
.slider-dots{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;display:flex;gap:6px;}
.slider-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:.3s;}
.slider-dots span.active{background:#fff;width:18px;border-radius:4px;}

.urgent-badge{
  display:inline-flex;align-items:center;gap:10px;background:var(--green-100);
  border:1px solid var(--green-400);border-radius:999px;padding:9px 18px 9px 10px;
  margin:2px 0 18px;
}
.urgent-badge .ub-num{
  background:var(--green-700);color:#fff;font-weight:800;font-size:15px;
  border-radius:999px;padding:4px 12px;
}
.urgent-badge span{font-weight:700;color:var(--green-800);font-size:13.5px;}
.biz-detail-media .bd-badge{
  position:absolute;top:18px;left:18px;background:rgba(255,255,255,.95);color:var(--green-800);
  font-weight:800;font-size:13px;padding:8px 16px;border-radius:999px;letter-spacing:.02em;
}
.biz-detail-copy .tag{font-size:12px;font-weight:700;color:var(--green-600);letter-spacing:.1em;text-transform:uppercase;}
.biz-detail-copy h3{font-size:26px;margin:10px 0 14px;}
.biz-detail-copy .quote-line{font-size:15.5px;color:var(--green-800);font-weight:700;margin:0 0 12px;padding:12px 16px;background:var(--green-050);border-radius:10px;border-left:3px solid var(--green-600);}
.biz-detail-copy p.desc{color:var(--muted);font-size:15px;margin:0 0 22px;}
.bd-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;}
.bd-tile{background:var(--mist);border:1px solid var(--line);border-radius:10px;padding:16px 18px;}
.bd-tile b{display:block;font-size:14.5px;margin-bottom:4px;}
.bd-tile span{font-size:12.5px;color:var(--muted);}
.bd-note{font-size:12.5px;color:var(--muted);margin-top:4px;}
.menu-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 8px;}
.menu-card{
  border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);transition:.3s transform ease,.3s box-shadow ease;
}
.menu-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.menu-card .mc-photo{position:relative;aspect-ratio:4/3;overflow:hidden;background-size:cover;background-position:center;}
.menu-card .mc-photo .slider-dots{bottom:8px;}
.menu-card .mc-photo .slider-dots span{width:5px;height:5px;}
.menu-card .mc-photo .slider-dots span.active{width:14px;}
.menu-card .mc-body{padding:16px 16px 18px;}
.menu-card .mc-body h4{margin:0 0 8px;font-size:15px;}
.menu-card .mc-body p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.55;}

/* ===== 위탁급식 메뉴 필터 갤러리 + 라이트박스 ===== */
.menu-gallery-wrap{margin-top:8px;}
.mg-filters{display:flex;justify-content:center;margin:0 auto 22px;max-width:860px;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;}
.mg-chip{flex:1 1 0;display:flex;align-items:center;justify-content:center;text-align:center;padding:13px 12px;border:0;background:#fff;color:var(--ink-soft);font-weight:700;font-size:18px;line-height:1.3;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .2s,color .2s;}
.mg-chip:hover{background:var(--mist);}
.mg-chip + .mg-chip{border-left:1px solid var(--line);}
.mg-chip.on[data-filter="all"]{background:var(--green-100);color:var(--green-800);}
.mg-chip.on[data-filter="meal"]{background:#fdf3c4;color:#856d0a;}
.mg-chip.on[data-filter="corner"]{background:#e4eefd;color:#1d4ed8;}
.mg-chip.on[data-filter="special"]{background:#ffe9d2;color:#b45309;}
.mg-chip.on[data-filter="season"]{background:#fbe6f0;color:#be185d;}
@media (max-width:860px){.mg-chip{font-size:15px;padding:12px 6px;}}
@media (max-width:640px){.mg-chip{font-size:12.5px;padding:11px 4px;white-space:normal;}}
.mg-desc{text-align:center;color:var(--muted);font-size:19px;line-height:1.55;margin:-4px 0 22px;}
.mg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px;border-radius:16px;transition:background .25s ease;}
.mg-grid[data-active="all"]{background:var(--green-100);}
.mg-grid[data-active="meal"]{background:#fdf3c4;}
.mg-grid[data-active="corner"]{background:#e4eefd;}
.mg-grid[data-active="special"]{background:#ffe9d2;}
.mg-grid[data-active="season"]{background:#fbe6f0;}
.mg-item{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:0;padding:0;cursor:pointer;box-shadow:var(--shadow-sm);background:var(--mist);}
.mg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.mg-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 58%,rgba(0,0,0,.4));opacity:0;transition:opacity .25s ease;}
.mg-item::before{content:"🔍";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);z-index:2;font-size:24px;opacity:0;transition:.25s ease;}
.mg-item:hover img{transform:scale(1.06);}
.mg-item:hover::after{opacity:1;}
.mg-item:hover::before{opacity:1;transform:translate(-50%,-50%) scale(1);}
.mg-item .mg-label{position:absolute;right:10px;top:10px;z-index:3;background:rgba(255,255,255,.9);color:var(--ink);font-size:15px;font-weight:700;letter-spacing:.02em;padding:5px 12px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.18);backdrop-filter:blur(3px);pointer-events:none;}
.mg-item.hide{display:none;}
.mg-item.mg-in{animation:mgIn .42s ease both;}
@keyframes mgIn{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.mg-item.mg-in{animation:none;}}
@media (max-width:860px){.mg-grid{grid-template-columns:repeat(2,1fr);gap:10px;}}
/* 라이트박스 */
.mg-lightbox{position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;}
.mg-lightbox.open{opacity:1;pointer-events:auto;}
.mg-lb-img{max-width:90vw;max-height:82vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.mg-lb-close{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font-size:34px;line-height:1;cursor:pointer;}
.mg-lb-prev,.mg-lb-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.15);border:0;color:#fff;width:54px;height:54px;border-radius:50%;font-size:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.mg-lb-prev{left:22px;}
.mg-lb-next{right:22px;}
.mg-lb-prev:hover,.mg-lb-next:hover{background:rgba(255,255,255,.3);}
.mg-lb-cap{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:#fff;font-size:16px;font-weight:600;}
@media (max-width:640px){.mg-lb-prev,.mg-lb-next{width:42px;height:42px;font-size:26px;}.mg-lb-close{font-size:30px;top:12px;right:16px;}}

/* ===== 위탁급식(01) 영역 한정: 글자 1.5배 + 강조 (사업분야 다른 항목 미영향) ===== */
#business .section-head h2{font-size:clamp(39px,5.1vw,57px);}
#business .section-head p{font-size:24px;}

/* ===== 사업분야 소개(제목·설명) 블록 차별화 ===== */
#business .section-head.center{position:relative;max-width:900px;padding:62px 58px 66px;margin-bottom:56px;background:linear-gradient(180deg,#f6faf5 0%,#f1f7f1 100%);border:1px solid rgba(22,107,60,.09);border-radius:24px;overflow:hidden;}
#business .section-head.center::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='520'%20height='360'%20viewBox='0%200%20520%20360'%20fill='none'%3E%3Cpath%20d='M40%2040%20C200%20-20%20320%20160%20500%2060'%20stroke='%23166b3c'%20stroke-opacity='0.10'%20stroke-width='1.4'/%3E%3Cpath%20d='M20%20110%20C200%2060%20340%20240%20520%20140'%20stroke='%23166b3c'%20stroke-opacity='0.08'%20stroke-width='1.4'/%3E%3Cpath%20d='M60%20200%20C220%20150%20360%20320%20520%20230'%20stroke='%23166b3c'%20stroke-opacity='0.06'%20stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right -30px top -24px;background-size:520px auto;opacity:.72;}
#business .section-head.center::after{content:"";position:absolute;left:-70px;bottom:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(22,107,60,.06),transparent 70%);pointer-events:none;z-index:0;}
#business .section-head.center>*{position:relative;z-index:1;}
#business .section-head h2{font-weight:600;line-height:1.34;margin-bottom:18px;letter-spacing:-.02em;}
#business .section-head h2 .t-key{font-weight:800;}
#business .section-head .head-accent{width:60px;height:3px;border-radius:3px;margin:0 auto 24px;background:linear-gradient(90deg,var(--green-600),var(--green-400));transform:scaleX(0);transform-origin:center;transition:transform .6s cubic-bezier(.22,.61,.36,1);}
#business .section-head p{line-height:1.82;letter-spacing:-.01em;color:var(--ink-soft);max-width:640px;margin-left:auto;margin-right:auto;}
#business .section-head p .kw{font-weight:600;background-image:linear-gradient(#F59E0B,#F59E0B);background-repeat:no-repeat;background-position:left calc(100% - 1px);background-size:0% 2px;padding-bottom:3px;transition:background-size .45s ease;}
/* 컨테이너 기본 리빌 중화 → 제목·설명 Fade Up + 포인트 라인/키워드 순차 강조 */
#business .section-head.reveal{opacity:1;transform:none;transition:none;}
#business .section-head h2,#business .section-head p{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1);}
#business .section-head.in-view h2{opacity:1;transform:none;}
#business .section-head.in-view p{opacity:1;transform:none;transition-delay:.15s;}
#business .section-head.in-view .head-accent{transform:scaleX(1);transition-delay:.3s;}
#business .section-head.in-view p .kw{background-size:100% 2px;}
#business .section-head.in-view p .kw:nth-of-type(1){transition-delay:.6s;}
#business .section-head.in-view p .kw:nth-of-type(2){transition-delay:.82s;}
#business .section-head.in-view p .kw:nth-of-type(3){transition-delay:1.04s;}
#business .section-head.in-view p .kw:nth-of-type(4){transition-delay:1.26s;}
#business .section-head.in-view p .kw:nth-of-type(5){transition-delay:1.48s;}
@media (prefers-reduced-motion:reduce){#business .section-head h2,#business .section-head p{opacity:1;transform:none;transition:none;}#business .section-head .head-accent{transform:none;transition:none;}#business .section-head p .kw{background-size:100% 2px;transition:none;}}

#bizWt .bd-tile span{white-space:nowrap;}
#bizWt .biz-detail-copy p.desc{font-size:22.5px;}
#bizWt .bd-tile b{font-size:21.75px;width:fit-content;padding:0 4px;}
#bizWt .bd-tile:nth-child(1) b,#bizWt .bd-tile:nth-child(2) b{background:linear-gradient(transparent 48%,rgba(245,158,11,.32) 48%);}
#bizWt .bd-tile:nth-child(3) b,#bizWt .bd-tile:nth-child(4) b{background:linear-gradient(transparent 48%,rgba(250,204,21,.42) 48%);}
#bizWt .bd-tile span{font-size:16px;}
#bizWt .biz-detail-media .bd-badge{font-size:19.5px;}
#bizWt .menu-card .mc-body h4{font-size:22.5px;}
#bizWt .menu-card .mc-body p{font-size:18.75px;}
#bizWt .link,#bizDist .link,#bizCafe .link{position:relative;overflow:hidden;font-size:20.25px;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(180deg,var(--green-500) 0%,var(--green-700) 100%);color:#fff;padding:14px 30px;border-radius:999px;font-weight:700;box-shadow:0 6px 16px rgba(18,82,47,.25),inset 0 1px 0 rgba(255,255,255,.28);transition:background .25s ease,transform .25s ease,box-shadow .25s ease;text-decoration:none;}
#bizWt .link::before,#bizDist .link::before,#bizCafe .link::before{content:"";position:absolute;top:0;left:-130%;width:65%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-18deg);transition:left .6s ease;pointer-events:none;}
#bizWt .link:hover,#bizDist .link:hover,#bizCafe .link:hover{background:linear-gradient(180deg,var(--green-600) 0%,var(--green-800) 100%);transform:translateY(-2px);box-shadow:0 13px 28px rgba(18,82,47,.34),inset 0 1px 0 rgba(255,255,255,.24);}
#bizWt .link:hover::before,#bizDist .link:hover::before,#bizCafe .link:hover::before{left:150%;}

/* ===== 식자재유통(02): 위탁급식(01)과 동일 스타일/크기 (내용 유지) ===== */
#bizDist .biz-wt-title{font-size:39px;margin:0 0 26px;line-height:1.3;}
#bizDist .biz-detail-copy p.desc{font-size:22.5px;}
#bizDist .bd-tile{border:2px solid var(--green-500);box-shadow:0 6px 16px rgba(0,0,0,.12);}
#bizDist .bd-tile b{font-size:21.75px;width:fit-content;padding:0 3px;background:linear-gradient(transparent 52%,rgba(75,178,124,.55) 52%);}
#bizDist .bd-tile span{font-size:18.75px;}
#bizDist .biz-detail-media .bd-badge{font-size:19.5px;}
#bizDist .urgent-badge .ub-num{font-size:22.5px;}
#bizDist .urgent-badge span{font-size:20.25px;}
/* 식자재유통: 4개 분류 이미지 카드 (distribution 사진 형식) */
#bizDist .biz-detail-grid{grid-template-columns:1fr;}
.dist-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:22px;}
.dist-photo{position:relative;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4;background:var(--mist);}
.dist-photo::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 52%,rgba(0,0,0,.62) 100%);}
.dist-label{position:absolute;left:16px;bottom:13px;z-index:2;color:#fff;font-weight:800;font-size:19px;letter-spacing:-.01em;text-shadow:0 1px 4px rgba(0,0,0,.5);}
.dist-desc{margin:11px 2px 0;font-size:15px;color:var(--muted);line-height:1.55;}
/* 5단계 유통 과정 플로우 */
.dist-flow-title{font-weight:800;color:var(--green-800);font-size:27px;margin:30px 0 18px;letter-spacing:-.01em;position:relative;padding-left:17px;}
.dist-flow-title::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:5px;border-radius:3px;background:var(--green-600);}
.dist-flow{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;gap:20px 16px;max-width:920px;margin:0 auto 26px;align-items:stretch;}
.dist-flow>:nth-child(1){grid-column:1;grid-row:1;}
.dist-flow>:nth-child(2){grid-column:2;grid-row:1;}
.dist-flow>:nth-child(3){grid-column:3;grid-row:1;}
.dist-flow>:nth-child(4){grid-column:3;grid-row:2;}
.dist-flow>:nth-child(5){grid-column:3;grid-row:3;}
.dist-flow>:nth-child(6){grid-column:2;grid-row:3;}
.dist-flow>:nth-child(7){grid-column:1;grid-row:3;}
.flow-step{min-width:0;background:var(--green-050);border:1px solid var(--green-100);border-radius:16px;padding:14px 14px 22px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;}
.flow-ic{width:100%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;box-shadow:0 6px 16px rgba(6,60,40,.14);}
.flow-ic img{width:100%;height:100%;object-fit:cover;display:block;}
.flow-tx{display:flex;flex-direction:column;gap:6px;}
.flow-tx b{font-size:23px;color:var(--green-800);}
.flow-tx span{font-size:15px;color:var(--muted);line-height:1.5;}
.flow-arrow{align-self:center;justify-self:center;color:var(--green-500);font-size:34px;font-weight:800;}
/* 5단계 순차 애니메이션: 카드가 위로 튀어올랐다 내려오고 옆 화살표가 반짝 (무한 반복) */
#bizDist .dist-flow .flow-step{animation:flowBounce 4.5s ease-in-out infinite;}
#bizDist .dist-flow .flow-arrow{animation:flowFlash 4.5s ease-in-out infinite;}
#bizDist .dist-flow .flow-step:nth-child(1){animation-delay:0s;}
#bizDist .dist-flow .flow-arrow:nth-child(2){animation-delay:.4s;}
#bizDist .dist-flow .flow-step:nth-child(3){animation-delay:.55s;}
#bizDist .dist-flow .flow-arrow:nth-child(4){animation-delay:.95s;}
#bizDist .dist-flow .flow-step:nth-child(5){animation-delay:1.1s;}
#bizDist .dist-flow .flow-arrow:nth-child(6){animation-delay:1.5s;}
#bizDist .dist-flow .flow-step:nth-child(7){animation-delay:1.65s;}
@keyframes flowBounce{0%{transform:translateY(0);}5.5%{transform:translateY(-14px);}11%{transform:translateY(0);}100%{transform:translateY(0);}}
@keyframes flowFlash{0%{transform:scale(1);opacity:.8;}4%{transform:scale(1.5);opacity:1;text-shadow:0 0 10px rgba(16,178,99,.85);}9%{transform:scale(1);opacity:.8;}100%{transform:scale(1);opacity:.8;}}
@media (prefers-reduced-motion:reduce){#bizDist .dist-flow .flow-step,#bizDist .dist-flow .flow-arrow{animation:none;}}
@media (max-width:760px){
  .dist-flow{gap:10px 6px;}
  .flow-step{padding:10px 10px 14px;gap:10px;}
  .flow-ic{border-radius:9px;box-shadow:0 4px 10px rgba(6,60,40,.13);}
  .flow-tx b{font-size:17px;}
  .flow-tx span{font-size:12px;line-height:1.45;}
  .flow-arrow{font-size:24px;}
}
@media (max-width:640px){.dist-cards{grid-template-columns:1fr;}}

/* ===== 식자재유통(02) 섹션 리디자인 ===== */
/* 1. 타이틀 카드 (위탁급식과 동일 톤) */
#bizDist .biz-wt-head,#bizCafe .biz-wt-head{border-bottom:none;background:#fff;border:1px solid var(--line);border-left:5px solid var(--green-600);border-radius:14px;padding:20px 30px;margin-bottom:30px;box-shadow:0 12px 32px rgba(6,94,55,.09);}
/* 2. 서브타이틀 */
#bizDist .wt-head-desc,#bizCafe .wt-head-desc{margin:10px 0 0;font-size:17px;line-height:1.5;color:var(--muted);font-weight:400;}
#bizDist .wt-head-desc b,#bizCafe .wt-head-desc b{color:var(--green-700);font-weight:600;}
/* 3. 경쟁력 강조 영역 */
#bizDist .dist-compete{text-align:center;white-space:nowrap;font-size:clamp(20px,5.4vw,34px);font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.42;margin:52px 0 28px;}
#bizDist .dist-compete .dc-point{color:#F59E0B;}
#bizDist .dist-compete b{color:var(--green-700);background:linear-gradient(transparent 56%,rgba(245,158,11,.32) 56%);padding:0 3px;}
/* 4. 핵심 서비스 3카드: 상단 번호 + (아이콘+제목) + 설명, 카드별 포인트 컬러 */
#bizDist .dist-strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 40px;}
#bizDist .ds-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 22px 22px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:13px;box-shadow:0 10px 26px rgba(6,60,40,.07);opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease;}
#bizDist .ds-red{--pc:#e0484d;--pc-bg:#fdecec;--pc-sh:rgba(224,72,77,.18);}
#bizDist .ds-green{--pc:#0aa257;--pc-bg:var(--green-050);--pc-sh:rgba(10,162,87,.2);}
#bizDist .ds-blue{--pc:#2f6fed;--pc-bg:#ebf1fe;--pc-sh:rgba(47,111,237,.18);}
#bizDist .ds-num{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--pc);}
#bizDist .ds-head{display:flex;align-items:center;gap:12px;}
#bizDist .ds-ic{width:46px;height:46px;border-radius:13px;background:var(--pc-bg);flex:none;display:flex;align-items:center;justify-content:center;}
#bizDist .ds-ic svg{width:25px;height:25px;fill:none;stroke:var(--pc);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
#bizDist .ds-card b{font-size:23px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.15;}
#bizDist .ds-desc{font-size:21.75px;color:var(--muted);line-height:1.55;}
#bizDist.dist-in .ds-card{opacity:1;transform:none;}
#bizDist.dist-in .ds-card:nth-child(1){transition-delay:.15s;}
#bizDist.dist-in .ds-card:nth-child(2){transition-delay:.3s;}
#bizDist.dist-in .ds-card:nth-child(3){transition-delay:.45s;}
#bizDist.dist-in .ds-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px var(--pc-sh);border-color:var(--pc);transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease;}
@media (prefers-reduced-motion:reduce){#bizDist .ds-card{opacity:1;transform:none;transition:box-shadow .28s ease,border-color .28s ease;}}
/* 6,7. 실제 공급 중인 사업장 타이틀 */
#bizDist .dist-sites-title{font-size:31px;font-weight:800;letter-spacing:-.01em;margin:10px 0 20px;padding-left:18px;position:relative;background:linear-gradient(100deg,var(--green-800) 0%,var(--green-800) 42%,#a7f3c9 48%,#ffffff 50%,#a7f3c9 52%,var(--green-800) 58%,var(--green-800) 100%);background-size:250% 100%;background-position:130% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:sitesShine 3s ease-in-out infinite;}
#bizDist .dist-sites-title::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:5px;border-radius:3px;background:linear-gradient(180deg,var(--green-600),var(--green-400));}
@keyframes sitesShine{0%{background-position:150% 50%;}42%{background-position:-50% 50%;}100%{background-position:-50% 50%;}}
@media (prefers-reduced-motion:reduce){#bizDist .dist-sites-title{animation:none;}}
/* 8,9. 사업장 Badge → 사진 상단, 둥근 화이트 반투명 */
#bizDist .dist-label{left:12px;top:12px;bottom:auto;background:rgba(255,255,255,.9);color:var(--green-800);font-size:13.5px;font-weight:800;letter-spacing:-.01em;padding:6px 13px;border-radius:999px;text-shadow:none;box-shadow:0 3px 10px rgba(0,0,0,.15);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
#bizDist .dist-photo::after{background:linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,0) 30%);}
/* 10. 사진 Hover Zoom + Shadow */
#bizDist .dist-photo{box-shadow:0 16px 36px rgba(6,60,40,.18),0 0 0 1px rgba(6,60,40,.08);transition:box-shadow .3s ease,transform .3s ease;}
#bizDist .dist-photo .fade-slider img{transition:opacity 1.4s ease,transform .55s cubic-bezier(.22,.61,.36,1);}
#bizDist .dist-photo:hover{box-shadow:0 24px 50px rgba(6,60,40,.28),0 0 0 1px rgba(6,60,40,.1);transform:translateY(-3px);}
#bizDist .dist-photo:hover img{transform:scale(1.03);}
/* 사진별 시설명 캡션 (하단 반투명) */
#bizDist .dist-photo .dist-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px 16px 13px;text-align:right;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.74) 100%);color:#fff;font-size:15.5px;font-weight:700;letter-spacing:-.01em;line-height:1.3;text-shadow:0 1px 4px rgba(0,0,0,.55);pointer-events:none;}
#bizDist .dist-photo .dist-cap:empty{display:none;}
#bizDist .dist-photo .dist-cap.cap-in{animation:distCapIn .5s ease;}
@keyframes distCapIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
/* 좌우 이동 버튼: hover 시에만 노출 (위탁급식 갤러리와 동일 방식) */
#bizDist .dist-photo .ds-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.34);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;font-size:21px;line-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .25s ease,background .25s ease,box-shadow .25s ease,color .25s ease;}
#bizDist .dist-photo .ds-prev{left:10px;}
#bizDist .dist-photo .ds-next{right:10px;}
#bizDist .dist-photo:hover .ds-nav{opacity:1;}
#bizDist .dist-photo .ds-nav:hover{background:#fff;color:var(--green-800);box-shadow:0 5px 16px rgba(0,0,0,.24);}
@media (hover:none),(max-width:640px){#bizDist .dist-photo .ds-nav{opacity:1;background:rgba(255,255,255,.5);}}

/* 식자재 유통 핵심(안정·가격·특징) 강조 블록 */
#bizDist .dist-core{margin-top:88px;margin-bottom:88px;}
#bizDist .dist-core-title{text-align:center;font-size:28px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.42;margin:0 0 26px;}
#bizDist .dist-core-title .dck-green{color:var(--green-700);background:linear-gradient(transparent 56%,rgba(245,158,11,.32) 56%);padding:0 3px;}
#bizDist .dist-core-title .dck-orange{color:var(--green-700);background:linear-gradient(transparent 56%,rgba(245,158,11,.32) 56%);padding:0 3px;}
#bizDist .dist-core-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
#bizDist .dc-item{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;box-shadow:0 10px 26px rgba(6,60,40,.07);opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease;}
#bizDist .dc-ic{width:50px;height:50px;border-radius:14px;background:var(--green-050);flex:none;display:flex;align-items:center;justify-content:center;}
#bizDist .dc-ic svg{width:26px;height:26px;fill:none;stroke:var(--green-600);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
#bizDist .dc-tx{display:flex;flex-direction:column;gap:12px;}
#bizDist .dc-key{font-size:24px;font-weight:800;color:var(--green-700);letter-spacing:-.01em;line-height:1;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;}
#bizDist .dc-item:nth-child(1) .dc-key{text-decoration-color:#10b263;}
#bizDist .dc-item:nth-child(2) .dc-key{text-decoration-color:#e8890c;}
#bizDist .dc-item:nth-child(3) .dc-key{text-decoration-color:#2f6fed;}
#bizDist .dc-tx span{font-size:17px;color:var(--ink-soft);line-height:1.55;}
#bizDist.dist-in .dc-item{opacity:1;transform:none;}
#bizDist.dist-in .dc-item:nth-child(1){transition-delay:.1s;}
#bizDist.dist-in .dc-item:nth-child(2){transition-delay:.24s;}
#bizDist.dist-in .dc-item:nth-child(3){transition-delay:.38s;}
#bizDist.dist-in .dc-item:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(6,60,40,.16);border-color:var(--green-500);transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease;}
@media (prefers-reduced-motion:reduce){#bizDist .dc-item{opacity:1;transform:none;transition:box-shadow .28s ease,border-color .28s ease;}}
@media (max-width:860px){#bizDist .dist-core-cards{grid-template-columns:1fr;}}
@media (max-width:640px){#bizDist .dist-core{margin-top:66px;margin-bottom:66px;}#bizDist .dist-core-title{font-size:22px;}#bizDist .dc-key{font-size:22px;}#bizDist .dc-tx span{font-size:16px;}}
/* 11-14. 섹션 구분: 여백 + 연한 그린 배경 밴드 + 웨이브 Divider + Fade Up */
#bizDist{position:relative;opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);}
#bizDist.dist-in{opacity:1;transform:none;}
#bizDist::before{content:"";position:absolute;top:0;bottom:0;left:-24px;right:-24px;z-index:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1600'%20height='44'%20viewBox='0%200%201600%2044'%20fill='none'%3E%3Cpath%20d='M0%2030%20C200%2010%20400%2010%20560%2024%20S900%2044%201120%2026%20S1440%206%201600%2022'%20stroke='%2310b263'%20stroke-opacity='0.2'%20stroke-width='2'/%3E%3C/svg%3E") top center/1600px 44px no-repeat,linear-gradient(180deg,#edf8f1 0%,#f6fcf9 42%,#ffffff 100%);}
#bizDist>*{position:relative;z-index:1;}
#bizDist .biz-detail-grid.reveal{opacity:1;transform:none;transition:none;}
@media (prefers-reduced-motion:reduce){#bizDist{opacity:1;transform:none;transition:none;}}
@media (max-width:860px){#bizDist .dist-strengths{grid-template-columns:1fr;}}
@media (max-width:640px){#bizDist .biz-wt-head,#bizCafe .biz-wt-head{padding:18px 20px;}#bizDist .dist-compete{margin-top:36px;font-size:22px;white-space:normal;line-height:1.42;}#bizDist .dist-sites-title{font-size:24px;}#bizDist .ds-card b{font-size:21px;}}

/* ===== 외식·카페운영(03): 위탁급식/식자재유통과 동일 스타일/크기 ===== */
#bizCafe .biz-wt-title{font-size:39px;margin:0 0 26px;line-height:1.3;}
#bizCafe .biz-detail-copy p.desc{font-size:22.5px;}
#bizCafe .biz-detail-media .bd-badge{font-size:19.5px;}
/* 위탁급식운영 헤더 + 전체폭 구분선 */
#bizCafe .desc b{color:var(--green-700);font-weight:700;}
#bizCafe .biz-detail-media{background:var(--mist);}
#sliderCafe img.cafe-fit{object-fit:contain;}
#bizCafe .cafe-recruit{display:inline-flex;align-items:center;gap:9px;margin:20px 0 0;padding:11px 22px;border-radius:999px;background:#fff7ed;border:1.6px solid #F59E0B;color:#b45309;font-weight:800;font-size:19px;letter-spacing:-.01em;box-shadow:0 5px 16px rgba(245,158,11,.22);animation:crPulse 2.4s ease-in-out infinite;}
#bizCafe .cafe-recruit .cr-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#F59E0B;box-shadow:0 0 0 0 rgba(245,158,11,.6);animation:crDot 1.6s ease-out infinite;}
@keyframes crPulse{0%,100%{box-shadow:0 5px 16px rgba(245,158,11,.22);}50%{box-shadow:0 5px 22px rgba(245,158,11,.48);}}
@keyframes crDot{0%{box-shadow:0 0 0 0 rgba(245,158,11,.55);}70%{box-shadow:0 0 0 8px rgba(245,158,11,0);}100%{box-shadow:0 0 0 0 rgba(245,158,11,0);}}
@media (prefers-reduced-motion:reduce){#bizCafe .cafe-recruit,#bizCafe .cafe-recruit .cr-dot{animation:none;}}
@media (max-width:640px){#bizCafe .cafe-recruit{font-size:15.5px;padding:9px 16px;gap:7px;}}
#bizWt .biz-wt-head .tag,#bizDist .biz-wt-head .tag,#bizCafe .biz-wt-head .tag{display:inline-block;font-size:36px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(100deg,var(--green-600) 0%,var(--green-600) 42%,#d8ffe8 48%,#ffffff 50%,#d8ffe8 52%,var(--green-600) 58%,var(--green-600) 100%);background-size:250% 100%;background-position:130% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:wtSparkle 2.6s ease-in-out infinite;}
@keyframes wtSparkle{0%{background-position:130% 50%;}45%{background-position:-30% 50%;}100%{background-position:-30% 50%;}}
@media (prefers-reduced-motion:reduce){#bizWt .biz-wt-head .tag,#bizDist .biz-wt-head .tag,#bizCafe .biz-wt-head .tag{animation:none;}}
/* 사업장 유형 타일 테두리 강조 */
#bizWt .bd-tile{border:2px solid var(--green-500);box-shadow:0 6px 16px rgba(0,0,0,.12);}

/* ===== 위탁급식(01) 섹션 개선 ===== */
/* 1. 타이틀 헤더 카드 (긴 밑줄 제거, 화이트 카드 + 좌측 포인트 + 은은한 그림자) */
#bizWt .biz-wt-head{border-bottom:none;background:#fff;border:1px solid var(--line);border-left:5px solid var(--green-600);border-radius:14px;padding:20px 30px;margin-bottom:34px;box-shadow:0 12px 32px rgba(18,82,47,.09);}
/* 타이틀 하단 설명 문구 */
#bizWt .wt-head-desc{margin:10px 0 0;font-size:17px;line-height:1.5;color:var(--muted);font-weight:400;}
#bizWt .wt-head-desc b{color:var(--green-700);font-weight:600;}
/* 타일 Hover: Lift + 은은한 그림자 */
#bizWt .biz-detail-grid.in-view .bd-tile:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(18,82,47,.16);border-color:var(--green-600);transition:transform .28s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease;}
/* CTA Hover: 화살표 우측 이동 */
#bizWt .link .cta-arrow,#bizDist .link .cta-arrow,#bizCafe .link .cta-arrow{display:inline-block;transition:transform .25s ease;}
#bizWt .link:hover .cta-arrow,#bizDist .link:hover .cta-arrow,#bizCafe .link:hover .cta-arrow{transform:translateX(4px);}
/* 좌우 균형 미세 조정 */
#bizWt .biz-detail-grid{align-items:start;}
#bizWt .bd-tile{padding:15px 15px;}
#bizWt .bd-tiles{gap:14px;margin-bottom:24px;}
#bizWt .biz-detail-copy p.desc{margin-bottom:26px;}
/* 9. 진입 애니메이션: 좌측 이미지 Fade In, 우측 타일 좌상단부터 순차 Fade Up */
#bizWt .biz-detail-grid.reveal{opacity:1;transform:none;transition:none;}
#bizWt .biz-detail-media{opacity:0;transition:opacity .8s ease;}
#bizWt .biz-detail-grid.in-view .biz-detail-media{opacity:1;}
#bizWt .bd-tile{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1),box-shadow .28s ease,border-color .28s ease;}
#bizWt .biz-detail-grid.in-view .bd-tile{opacity:1;transform:none;}
#bizWt .biz-detail-grid.in-view .bd-tile:nth-child(1){transition-delay:.1s;}
#bizWt .biz-detail-grid.in-view .bd-tile:nth-child(2){transition-delay:.24s;}
#bizWt .biz-detail-grid.in-view .bd-tile:nth-child(3){transition-delay:.38s;}
#bizWt .biz-detail-grid.in-view .bd-tile:nth-child(4){transition-delay:.52s;}
@media (prefers-reduced-motion:reduce){#bizWt .biz-detail-media{opacity:1;transition:none;}#bizWt .bd-tile{opacity:1;transform:none;}}
/* 3-1. 그리드 2단이 유지되는 좁은 폭에서 타일 소개문구 한 줄 보장(조기 1단 배치, #bizWt 한정) */
@media (min-width:1021px) and (max-width:1240px){#bizWt .biz-detail-grid{grid-template-columns:1fr;}}

/* ===== 위탁급식(01) 갤러리 슬라이더 ===== */
#bizWt .biz-detail-media.wt-gallery{border-radius:20px;box-shadow:0 18px 44px rgba(18,82,47,.14),0 0 0 1px rgba(18,82,47,.05);}
#bizWt .wt-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:translateX(26px) scale(1.015);transition:opacity .8s ease,transform .9s cubic-bezier(.22,.61,.36,1);}
#bizWt .wt-gallery img.active{opacity:1;transform:translateX(0) scale(1);z-index:1;}
#bizWt .wt-gallery:hover img.active{transform:translateX(0) scale(1.02);}
/* 좌우 이동 버튼: hover 시에만 노출, 심플 반투명 원형 */
#bizWt .wt-gallery .wt-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.32);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:#fff;font-size:26px;line-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .25s ease,background .25s ease,box-shadow .25s ease,color .25s ease;}
#bizWt .wt-gallery .wt-prev{left:14px;}
#bizWt .wt-gallery .wt-next{right:14px;}
#bizWt .wt-gallery:hover .wt-nav{opacity:1;}
#bizWt .wt-gallery .wt-nav:hover{background:#fff;color:var(--green-800);box-shadow:0 6px 18px rgba(0,0,0,.24);}
/* 터치 기기(hover 불가)·좁은 화면에서는 좌우 버튼 상시 노출 → 수동 이동 보장 */
@media (hover:none),(max-width:640px){#bizWt .wt-gallery .wt-nav{opacity:1;background:rgba(255,255,255,.5);}}
/* 페이지 번호 카운터 (우측 하단) */
#bizWt .wt-gallery .wt-counter{position:absolute;right:14px;bottom:14px;z-index:3;background:rgba(0,0,0,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;font-size:13px;font-weight:600;letter-spacing:.05em;padding:5px 12px;border-radius:999px;}
@media (prefers-reduced-motion:reduce){#bizWt .wt-gallery img{transition:opacity .3s ease;transform:none;}#bizWt .wt-gallery img.active{transform:none;}#bizWt .wt-gallery:hover img.active{transform:none;}}

/* ---------- Trust section (photo cards, light) ---------- */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:54px;}
.trust-photo-card{
  border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);transition:.3s transform ease,.3s box-shadow ease;
}
.trust-photo-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.trust-photo-card .tpc-photo{aspect-ratio:4/3;background-size:cover;background-position:center;position:relative;}
.trust-photo-card .tpc-num{
  position:absolute;top:14px;left:14px;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.95);color:var(--green-800);font-weight:800;font-size:13px;
  display:flex;align-items:center;justify-content:center;
}
.tpc-body{padding:24px 24px 28px;border-top:3px solid var(--green-600);}
.tpc-body h3{font-size:19px;margin:0 0 10px;}
.tpc-body p{font-size:13.5px;color:var(--muted);margin:0 0 14px;}
.tpc-body ul{display:flex;flex-direction:column;gap:7px;}
.tpc-body ul li{font-size:12.5px;color:var(--ink-soft);padding-left:16px;position:relative;}
.tpc-body ul li::before{content:"—";position:absolute;left:0;color:var(--green-500);}

.trust-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:10px;overflow:hidden;
}
.trust-stats div{background:#fff;padding:26px 16px;text-align:center;}
.trust-stats b{display:block;font-size:23px;font-weight:800;color:var(--green-700);}
.trust-stats span{font-size:12.5px;color:var(--muted);}

/* ---------- Partner / client logo marquee (light, seamless) ---------- */
.marquee-outer{overflow:hidden;position:relative;padding:20px 0 4px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.marquee-track{display:flex;width:max-content;align-items:center;gap:52px;animation:marquee 30s linear infinite;}
.marquee-outer:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.logo-badge{
  display:flex;align-items:center;justify-content:center;
  height:46px;flex:none;
}
.logo-badge img{height:100%;width:auto;max-width:150px;object-fit:contain;}

.client-track{gap:14px;animation-duration:38s;}
.client-badge{
  display:flex;align-items:center;flex:none;white-space:nowrap;
  padding:10px 20px;background:#fff;border:1px solid var(--line);border-radius:999px;
  font-weight:600;color:var(--ink-soft);font-size:13.5px;
}

/* ===== 함께하는 고객사 / 파트너사 (화이트 미니멀, Emerald) ===== */
.clients-partners{background:#fff;}
.clients-partners .cp-block{max-width:1120px;margin:0 auto;}
.clients-partners .cp-head{margin-bottom:26px;}
.clients-partners .cp-title{position:relative;font-size:29px;font-weight:800;color:var(--green-700);letter-spacing:-.01em;padding-left:18px;margin:0;}
.clients-partners .cp-title::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:4px;border-radius:3px;background:linear-gradient(180deg,var(--green-600),var(--green-400));}
.clients-partners .cp-sub{margin:11px 0 0;padding-left:18px;font-size:16px;color:var(--muted);font-weight:400;}
/* 메인 타이틀 '함께하는 고객사' — 연한 그린 카드(띠), 중앙정렬, Fade Up */
.clients-partners .cp-main{text-align:center;margin-bottom:14px;padding:34px 28px;background:linear-gradient(180deg,#eef9f2 0%,#f7fcf9 100%);border:1px solid rgba(6,94,55,.1);border-radius:22px;box-shadow:0 14px 40px rgba(6,94,55,.1);opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.clients-partners .cp-main.cp-in{opacity:1;transform:none;}
.clients-partners .cp-main .cp-title{display:flex;align-items:center;justify-content:center;gap:16px;position:static;padding-left:0;font-size:30px;background:linear-gradient(100deg,var(--green-700) 0%,var(--green-700) 42%,#8fe9b8 48%,#ffffff 50%,#8fe9b8 52%,var(--green-700) 58%,var(--green-700) 100%);background-size:250% 100%;background-position:130% 50%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:cpShine 3.4s ease-in-out infinite;}
.clients-partners .cp-main .cp-title::before{position:static;top:auto;bottom:auto;width:34px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--green-500));}
.clients-partners .cp-main .cp-title::after{content:"";flex:none;width:34px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--green-500),transparent);}
.clients-partners .cp-main .cp-sub{padding-left:0;}
@keyframes cpShine{0%{background-position:150% 50%;}45%{background-position:-50% 50%;}100%{background-position:-50% 50%;}}
@media (prefers-reduced-motion:reduce){.clients-partners .cp-main{opacity:1;transform:none;transition:none;}.clients-partners .cp-main .cp-title{animation:none;}}
.clients-partners .client-cat{margin-top:36px;padding-bottom:26px;}
.clients-partners .client-cat:not(:last-child){border-bottom:1px solid rgba(6,94,55,.1);}
.clients-partners .cat-head{position:relative;font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.01em;padding-left:14px;margin:0;}
.clients-partners .cat-head::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;border-radius:2px;background:var(--green-600);}
.clients-partners .marquee-outer{padding:26px 0 10px;}
.clients-partners .logo-badge{height:68px;transition:transform .28s cubic-bezier(.22,.61,.36,1),filter .28s ease;}
.clients-partners .logo-badge img{height:100%;width:auto;max-width:230px;object-fit:contain;}
/* 교육기관 로고만 80% 축소 */
.clients-partners .edu-sm .logo-badge{height:54px;}
.clients-partners .logo-badge:hover{transform:scale(1.05);filter:drop-shadow(0 5px 12px rgba(0,0,0,.16));}
.client-logo-track{gap:60px;animation-duration:34s;}
.client-logo-track.rev{animation-direction:reverse;}
@keyframes marqueePartner{from{transform:translateX(0);}to{transform:translateX(-25%);}}
.partner-track{animation-name:marqueePartner;animation-duration:30s;}
/* 고객사 ↔ 파트너사 구분: 연한 Emerald Divider + 넉넉한 여백 */
.cp-divider{height:1px;max-width:1120px;margin:64px auto;background:linear-gradient(90deg,transparent,rgba(16,178,99,.3),transparent);}
@media (max-width:860px){
  .clients-partners .cp-title{font-size:24px;}
  .clients-partners .cp-main{padding:26px 18px;}
  .clients-partners .cp-main .cp-title{font-size:23px;gap:12px;}
  .clients-partners .cp-main .cp-title::before,.clients-partners .cp-main .cp-title::after{width:22px;}
  .clients-partners .cp-sub{font-size:12px;word-break:keep-all;}
  .clients-partners .cat-head{font-size:16.5px;}
  .clients-partners .logo-badge{height:54px;}
  .clients-partners .edu-sm .logo-badge{height:43px;}
  .client-logo-track{gap:40px;}
  .cp-divider{margin:48px auto;}
}

/* ---------- Split (CEO / about) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.reverse .split-media{order:2;}
.split-media{position:relative;}
.split-media img{border-radius:12px;box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 6%;}
.quote-block{border-left:3px solid var(--green-500);padding-left:22px;margin:22px 0;}
.quote-block p{font-size:16.5px;color:var(--ink-soft);margin:0 0 12px;}
.quote-block .who{font-size:13.5px;color:var(--muted);font-weight:600;}

/* ===== CEO 메시지 레이아웃 (사진 우측 상단 + 텍스트 좌·하단 흐름) ===== */
#about .eyebrow{font-size:18.75px;}
#about .ceo-wrap{position:relative;}
#about .ceo-wrap::after{content:"";display:block;clear:both;}
#about .ceo-photo{float:right;width:270px;margin:6px 0 22px 48px;border-radius:16px;box-shadow:0 0 0 1px rgba(6,120,60,.12),0 30px 60px -16px rgba(13,61,36,.40),0 12px 24px -14px rgba(0,0,0,.16);}
#about .ceo-title{font-size:33px;line-height:1.34;margin:13px 0 26px;letter-spacing:-.01em;}
#about .ceo-msg{font-size:17.5px;line-height:1.75;color:var(--ink-soft);margin:0 0 18px;}
#about .ceo-sign{margin-top:10px;}
#about .ceo-name{margin-right:14px;}
#about .ceo-divider{color:var(--muted);font-weight:400;font-size:14px;margin-right:14px;vertical-align:middle;}
#about .ceo-name{font-size:23px;font-weight:800;color:var(--ink);letter-spacing:-.01em;}
#about .ceo-certs{font-size:14px;font-weight:400;color:var(--muted);vertical-align:middle;}
@media (max-width:760px){
  #about .ceo-photo{float:none;display:block;width:230px;margin:0 auto 24px;}
  #about .ceo-title{font-size:26px;}
  #about .ceo-msg{font-size:16px;}
}
.check{display:flex;flex-direction:column;gap:10px;margin:18px 0;}
.check li{padding-left:26px;position:relative;font-size:15px;color:var(--ink-soft);}
.check li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--green-500);}
.check li::after{content:"";position:absolute;left:5px;top:8px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(40deg);}

/* ---------- 운영시스템: 사진 카드 그리드 ---------- */
.sys-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.sys-card{
  background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);transition:.3s transform ease,.3s box-shadow ease;
}
.sys-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.sys-photo{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative;}
.sys-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.28) 100%);}
.sys-photo .sys-num{
  position:absolute;top:16px;left:16px;z-index:2;
  width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--ink);
  font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;
}
.sys-body{padding:26px 26px 28px;}
.sys-body h3{font-size:19px;margin:0 0 10px;}
.sys-body .comp-lead{margin:0 0 12px;color:var(--green-700);font-weight:700;font-size:14px;}
.sys-body p{margin:0;color:var(--muted);font-size:14px;}
.comp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:14px;}
.comp-tiles div{background:var(--mist);border-radius:8px;padding:10px 12px;font-size:12.5px;color:var(--ink-soft);}
.comp-tiles b{display:block;font-size:12.5px;color:var(--ink);margin-bottom:2px;}

/* ===== 운영시스템 탭 (앤들리스풀 방식: 상단 탭 + 좌 이미지·우 설명) ===== */
#system .section-head h2{font-size:clamp(39px,5.1vw,54px);}
#system .section-head h2 .hl-o{background:linear-gradient(transparent 56%,rgba(245,158,11,.38) 56%);padding:0 3px;}
#system .section-head p{font-size:24px;}
.sys-tabbar{display:flex;justify-content:center;margin:0 auto 30px;max-width:860px;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;}
.sys-tab{flex:1 1 0;display:flex;align-items:center;justify-content:center;text-align:center;padding:13px 12px;border:0;background:#fff;color:var(--ink-soft);font-weight:700;font-size:18px;line-height:1.3;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .2s,color .2s;}
.sys-tab:hover{background:var(--mist);}
.sys-tab + .sys-tab{border-left:1px solid var(--line);}
.sys-tab.on[data-pane="hygiene"]{background:var(--green-100);color:var(--green-800);}
.sys-tab.on[data-pane="menu"]{background:#fdf3c4;color:#856d0a;}
.sys-tab.on[data-pane="buy"]{background:#e4eefd;color:#1d4ed8;}
.sys-tab.on[data-pane="delivery"]{background:#ffe9d2;color:#b45309;}
.sys-pane{display:none;grid-template-columns:minmax(0,570px) 1fr;gap:44px;align-items:center;}
.sys-pane.on{display:grid;animation:sysPaneIn .4s ease;}
@keyframes sysPaneIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.sys-pane-img{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:var(--mist);}
.sys-pane-img .fade-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.sys-pane-num{position:absolute;top:14px;left:14px;z-index:2;background:rgba(255,255,255,.94);color:var(--green-800);font-weight:800;font-size:19.5px;padding:4px 12px;border-radius:999px;letter-spacing:.02em;}
.sys-pane-info h3{font-size:37.5px;line-height:1.34;margin:0 0 14px;color:var(--ink);letter-spacing:-.01em;}
.sys-pane-info > p{margin:0 0 22px;color:var(--muted);font-size:22.5px;line-height:1.7;}
.sys-ben{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:14px;}
.sys-ben li{display:flex;gap:13px;align-items:flex-start;}
.sys-ben-ic{flex:none;width:42px;height:42px;border-radius:11px;background:var(--green-050);display:flex;align-items:center;justify-content:center;font-size:20px;}
.sys-ben li > div{display:flex;flex-direction:column;gap:3px;}
.sys-ben strong{font-size:22.5px;color:var(--ink);}
.sys-ben span{font-size:20.25px;color:var(--muted);line-height:1.5;}
.sys-cta{display:inline-flex;align-items:center;gap:8px;background:var(--green-700);color:#fff;padding:13px 28px;border-radius:999px;font-weight:700;font-size:22.5px;text-decoration:none;box-shadow:0 6px 16px rgba(18,82,47,.22);transition:background .2s,transform .2s;}
.sys-cta:hover{background:var(--green-800);transform:translateY(-2px);}
/* 운영시스템 3단계 목록 (위생·안전 / 고객보상관리 공용) */
.sys-ben.hy-steps{gap:18px;}
.sys-ben .hy-bullets{list-style:none;margin:7px 0 0;padding:0;display:flex;flex-direction:column;gap:5px;}
.sys-ben .hy-bullets li{display:block;font-size:17px;color:var(--muted);line-height:1.5;position:relative;padding-left:15px;}
.sys-ben .hy-bullets li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--green-500);}
/* 고객보상관리 1번 사진 전체 표시 */
#pane-delivery .fade-slider img.sys-fit{object-fit:contain;}
@media (max-width:760px){
  .sys-pane.on{grid-template-columns:1fr;gap:22px;}
  .sys-tab{display:block;text-align:center;font-size:15px;line-height:1.25;padding:11px 6px;white-space:normal;word-break:keep-all;}
  .sys-pane-info h3{font-size:31.5px;}
  #pane-hygiene .sys-pane-info h3,#pane-buy .sys-pane-info h3{font-size:clamp(18px,5vw,31.5px);word-break:keep-all;}
}

/* ===== 위탁급식 사업장 분류 탭 ===== */
.wt-tabs{max-width:1000px;margin:0 auto;}
.wt-tabbar{display:flex;justify-content:center;margin:0 auto 30px;max-width:720px;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;}
.wt-tab{flex:1 1 0;display:flex;align-items:center;justify-content:center;text-align:center;padding:13px 12px;border:0;background:#fff;color:var(--ink-soft);font-weight:700;font-size:18px;line-height:1.3;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .2s,color .2s;}
.wt-tab:hover{background:var(--mist);}
.wt-tab + .wt-tab{border-left:1px solid var(--line);}
.wt-tab.on[data-wtpane="small"]{background:var(--green-100);color:var(--green-800);}
.wt-tab.on[data-wtpane="factory"]{background:#e4eefd;color:#1d4ed8;}
.wt-tab.on[data-wtpane="care"]{background:#ffe9d2;color:#b45309;}
.wt-tab.on[data-wtpane="medium"]{background:#fdf3c4;color:#856d0a;}
.wt-pane{display:none;}
.wt-pane.on{display:flex;flex-direction:column;align-items:center;text-align:center;animation:sysPaneIn .4s ease;}
.wt-pane .sys-pane-info{order:1;}
.wt-pane .sys-pane-info h3{display:inline-block;margin-bottom:12px;padding:0 6px;}
#wtpane-small .sys-pane-info h3{background:linear-gradient(transparent 58%,rgba(0,166,81,.30) 58%);}
#wtpane-factory .sys-pane-info h3{background:linear-gradient(transparent 58%,rgba(59,130,246,.32) 58%);}
#wtpane-care .sys-pane-info h3{background:linear-gradient(transparent 58%,rgba(245,158,11,.34) 58%);}
#wtpane-medium .sys-pane-info h3{background:linear-gradient(transparent 58%,rgba(250,204,21,.55) 58%);}
@media (max-width:640px){
  .hide-m{display:none;}
  #wtpane-small .sys-pane-info > p,#wtpane-medium .sys-pane-info > p{font-size:16px;line-height:1.55;word-break:keep-all;}
}
.wt-pane .sys-pane-img{order:2;width:100%;max-width:780px;aspect-ratio:3/2;}
.wt-tab-note{text-align:center;color:var(--muted);font-size:16px;line-height:1.7;margin:34px auto 0;max-width:none;white-space:nowrap;}
@media (max-width:760px){
  .wt-tab{display:block;text-align:center;font-size:15px;line-height:1.25;padding:11px 6px;white-space:normal;word-break:keep-all;}
  .wt-tab-note{font-size:14px;white-space:normal;word-break:keep-all;}
}

/* ---------- Timeline / history ---------- */
#history .section-head h2{font-size:clamp(39px,5.1vw,57px);}
#history .section-head p{font-size:24px;}
#honors .section-head h2{font-size:clamp(39px,5.1vw,57px);}
#honors .section-head p{font-size:24px;}
.timeline{position:relative;max-width:840px;margin:0 auto;padding-left:30px;}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:1px;background:var(--line);}
.tl-item{position:relative;padding-bottom:36px;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{content:"";position:absolute;left:-30px;top:4px;width:13px;height:13px;border-radius:50%;
  background:var(--green-600);border:3px solid #fff;box-shadow:0 0 0 1px var(--line);}
.tl-year{font-size:31.5px;font-weight:800;color:var(--ink);}
.tl-year small{font-size:18.75px;font-weight:700;color:var(--green-600);margin-left:8px;vertical-align:3px;}
.tl-desc{color:var(--ink-soft);font-size:22.5px;margin-top:6px;}

.tl-item.now{padding:26px 28px;background:#fff;border:1px solid var(--green-100);border-left:5px solid var(--green-600);border-radius:12px;margin-left:-28px;box-shadow:0 14px 30px rgba(20,20,15,.12);}
.tl-item.now::before{left:-2px;top:30px;background:var(--green-500);box-shadow:0 0 0 4px rgba(34,197,121,.3);}
.tl-item.now .tl-year{color:var(--ink);}
.tl-item.now .tl-year small{color:#fff;background:#F59E0B;border-radius:999px;padding:2px 11px;font-size:14px;font-weight:700;margin-left:10px;vertical-align:4px;}
.tl-item.now .tl-lead{font-size:30px;font-weight:800;color:var(--green-800);margin:14px 0 8px;line-height:1.4;}
.tl-item.now .tl-desc{color:var(--ink-soft);}
@keyframes tlNowGlow{0%,100%{box-shadow:0 14px 32px rgba(6,94,55,.25);}50%{box-shadow:0 16px 46px rgba(16,178,99,.5);}}
/* 제목 '(주)현대에프앤비' 초록 형광펜 + 반짝 */
#history .section-head h2 .hl-gs{position:relative;display:inline-block;background:linear-gradient(transparent 56%,rgba(16,178,99,.34) 56%);padding:0 4px;}
#history .section-head h2 .hl-gs::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.7) 50%,transparent 62%);background-size:250% 100%;background-position:175% 0;animation:hlGsShine 3.2s ease-in-out infinite;pointer-events:none;}
@keyframes hlGsShine{0%{background-position:175% 0;}45%,100%{background-position:-75% 0;}}
@media (prefers-reduced-motion:reduce){.tl-item.now{animation:none;}#history .section-head h2 .hl-gs::after{animation:none;}}

/* ---------- Awards / donation / volunteer marquee gallery ---------- */
.honor-marquee-outer{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.honor-track{display:flex;width:max-content;gap:22px;animation:honorScroll 48s linear infinite;}
.honor-marquee-outer:hover .honor-track{animation-play-state:paused;}
@keyframes honorScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.honor-item{
  width:320px;flex:none;border-radius:12px;overflow:hidden;background:#fff;
  border:1px solid var(--line);box-shadow:var(--shadow-sm);
}
.honor-item .hi-photo{aspect-ratio:4/3;background-size:cover;background-position:center;position:relative;}
.honor-item .hi-cat{position:absolute;top:14px;left:14px;background:var(--sage-800);color:#fff;
  font-size:11px;font-weight:700;letter-spacing:.06em;padding:6px 12px;border-radius:999px;text-transform:uppercase;}
.honor-item .hi-body{padding:20px 22px 24px;}
.honor-item .hi-date{font-size:12.5px;font-weight:700;color:var(--green-700);}
.honor-item h4{margin:8px 0 8px;font-size:16px;line-height:1.4;}
.honor-item p{margin:0;font-size:13.5px;color:var(--muted);}

/* ---------- Certification seals ---------- */
.cert-band{display:flex;justify-content:center;gap:56px;flex-wrap:wrap;}
.seal{
  width:150px;height:150px;border-radius:50%;position:relative;flex:none;
  background:#fff;border:2px solid var(--green-600);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:var(--shadow-sm);
}
.seal::before{
  content:"";position:absolute;inset:8px;border:1px dashed var(--green-400);border-radius:50%;
}
.seal b{color:var(--green-800);font-size:19px;letter-spacing:.02em;font-weight:800;}
.seal span{font-size:10.5px;color:var(--green-600);letter-spacing:.04em;margin-top:4px;text-align:center;padding:0 14px;}
.cert-caption{text-align:center;margin-top:18px;}
.cert-caption b{display:block;font-size:22.5px;margin-bottom:3px;}
.cert-caption span{font-size:18.75px;color:var(--muted);}
.cert-item{display:flex;flex-direction:column;align-items:center;}
.cert-mark{height:clamp(130px,18vw,180px);width:auto;object-fit:contain;animation:certFloat 3.4s ease-in-out infinite;}
.cert-item:nth-child(2) .cert-mark{animation-delay:-1.7s;}
.cert-item:nth-child(3) .cert-mark{animation-delay:-1.13s;}
@keyframes certFloat{
  0%,100%{transform:translateY(0);filter:drop-shadow(0 12px 20px rgba(0,0,0,.28));}
  50%{transform:translateY(-12px);filter:drop-shadow(0 24px 30px rgba(0,0,0,.20));}
}
@media (prefers-reduced-motion:reduce){.cert-mark{animation:none;filter:drop-shadow(0 12px 20px rgba(0,0,0,.28));}}
/* 모바일: 인증마크 3개를 한 줄(가로)로 표시 */
@media (max-width:640px){
  #certification .cert-band{gap:8px;flex-wrap:nowrap;align-items:flex-start;}
  #certification .cert-item{flex:1 1 0;min-width:0;}
  #certification .cert-mark{height:auto;width:auto;max-width:100%;max-height:clamp(60px,21vw,110px);}
  #certification .cert-caption{margin-top:10px;}
  #certification .cert-caption b{font-size:12.5px;line-height:1.25;margin-bottom:2px;word-break:keep-all;}
  #certification .cert-caption span{font-size:10.5px;line-height:1.3;word-break:keep-all;}
}
#certification .section-head h2{font-size:clamp(39px,5.1vw,48px);}
#certification .section-head p{font-size:24px;}

/* ---------- Map / location ---------- */
.loc-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:0;border-radius:14px;overflow:hidden;box-shadow:var(--shadow);}
#location .section-head h2,#contact .section-head h2{font-size:clamp(39px,5.1vw,57px);}
#location .section-head p,#contact .section-head p{font-size:24px;}
#contact .section-head h2 .hl-o{background:linear-gradient(transparent 56%,rgba(245,158,11,.38) 56%);padding:0 3px;}
#location .section-head h2 .hl-g{background:linear-gradient(transparent 56%,rgba(16,178,99,.34) 56%);padding:0 3px;}
#location .btn{font-size:21.75px;}
.loc-map{position:relative;background:var(--mist);min-height:360px;}
.loc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;min-height:360px;}
.loc-info{background:linear-gradient(165deg,var(--green-700),var(--green-800));color:#fff;padding:44px 40px;display:flex;flex-direction:column;justify-content:center;gap:20px;}
.loc-info h3{margin:0;font-size:33px;color:#fff;}
.loc-row{display:flex;gap:14px;align-items:flex-start;}
.loc-row .li-ic{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.14);flex:none;
  display:flex;align-items:center;justify-content:center;}
.loc-row .li-ic svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:1.8;}
.loc-row div b{display:block;font-size:19.5px;color:rgba(255,255,255,.72);font-weight:600;margin-bottom:3px;}
.loc-row div span{font-size:22.5px;font-weight:600;}
#location .loc-info .btn-primary{background:#fff;color:var(--green-700);}
#location .loc-info .btn-primary:hover{background:var(--green-050);color:var(--green-800);}

/* ---------- Contact (compact) ---------- */
.contact-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);}
.contact-side{background:#fff;color:var(--ink);padding:46px 40px;display:flex;flex-direction:column;gap:22px;border-right:1px solid var(--line);}
.contact-side h3{font-size:36px;margin:0;letter-spacing:-.01em;color:var(--ink);padding-bottom:18px;border-bottom:2px solid var(--green-600);}
.contact-side>p{color:var(--muted);font-size:20px;margin:0;white-space:nowrap;}
.contact-quick{background:var(--mist);border:1px solid var(--line);border-radius:10px;padding:16px 18px;display:flex;gap:14px;align-items:center;transition:.15s;}
.contact-quick:hover{background:var(--green-050);border-color:var(--green-100);}
.contact-quick .cq-ic{width:38px;height:38px;border-radius:50%;background:rgba(245,158,11,.20);flex:none;display:flex;align-items:center;justify-content:center;}
.contact-quick .cq-ic svg{width:18px;height:18px;stroke:#F59E0B;fill:none;stroke-width:1.8;}
.contact-quick b{display:block;font-size:18px;font-weight:600;color:var(--muted);}
.contact-quick span{font-size:24px;font-weight:700;}
.contact-points{display:flex;flex-direction:column;gap:10px;margin-top:auto;}
.contact-points li{font-size:20.25px;color:var(--ink-soft);padding-left:20px;position:relative;}
.contact-points li::before{content:"●";position:absolute;left:0;color:#F59E0B;font-size:8px;top:6px;}

.contact-form{padding:46px 42px;}
.f-row{margin-bottom:18px;}
.f-row label{display:block;font-size:20.25px;font-weight:700;color:var(--ink-soft);margin-bottom:8px;}
.f-row input,.f-row textarea,.f-row select{
  width:100%;border:1px solid var(--line);border-radius:8px;padding:13px 16px;
  font:inherit;font-size:22.5px;color:var(--ink);background:var(--mist);
  transition:.15s border-color ease,.15s background ease;
}
.f-row input:focus,.f-row textarea:focus,.f-row select:focus{outline:none;border-color:var(--green-600);background:#fff;}
.f-row textarea{resize:vertical;min-height:88px;}
.f-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.f-agree{display:flex;align-items:center;gap:9px;font-size:19.5px;color:var(--muted);margin-bottom:20px;}
.f-agree input{width:16px;height:16px;accent-color:var(--green-700);}
.type-btn-group{display:flex;gap:10px;}
.type-btn{
  flex:1;padding:13px 16px;border:1px solid var(--line);border-radius:8px;
  font:inherit;font-size:22.5px;font-weight:700;color:var(--ink-soft);background:var(--mist);
  cursor:pointer;transition:.15s border-color ease,.15s background ease,.15s color ease;
}
.type-btn:hover{border-color:var(--green-600);}
.type-btn.active{background:var(--green-700);border-color:var(--green-700);color:#fff;}
.contact-form .btn{font-size:21.75px;}
#contact .contact-form .btn-primary::before{content:"✓";color:#F59E0B;font-weight:900;}
.form-note{font-size:12.5px;color:var(--muted);text-align:center;margin-top:14px;}
.form-msg{display:none;background:var(--green-100);color:var(--green-800);border-radius:8px;padding:14px 16px;font-size:14px;font-weight:600;margin-bottom:18px;text-align:center;}
.form-msg.show{display:block;}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(120deg,var(--green-700),var(--green-800));
  border-radius:16px;padding:54px 52px;display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;color:#fff;box-shadow:var(--shadow);
}
.cta-band h2{margin:0 0 8px;font-size:26px;color:#fff;}
.cta-band p{margin:0;color:rgba(255,255,255,.82);}
.cta-band .btn-invert{color:var(--green-800);}
.cta-lines{display:flex;flex-direction:column;gap:9px;}
.cta-band .cta-lines p{margin:0;color:rgba(255,255,255,.92);font-size:18px;font-weight:500;display:flex;align-items:flex-start;gap:9px;}
.cta-band .cta-lines p::before{content:"✓";color:#F59E0B;font-weight:800;flex:none;}

/* ---------- Footer ---------- */
footer{background:#fff;color:var(--ink-soft);padding:70px 0 28px;border-top:1px solid var(--line);}
.foot-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:32px;padding-bottom:42px;border-bottom:1px solid var(--line);}
.foot-brand{font-size:30px;font-weight:800;color:var(--ink);margin-bottom:12px;}
footer h5{color:var(--green-700);font-size:18px;letter-spacing:.12em;margin:0 0 18px;opacity:1;}
footer ul{display:flex;flex-direction:column;gap:11px;}
footer ul li{font-size:20.25px;color:var(--ink-soft);}
footer a:hover{color:var(--green-700);}
.foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:24px;font-size:18px;color:var(--muted);}
/* 모바일: 푸터 글자 크기 원래대로(작게) — PC는 1.5배 유지 */
@media (max-width:640px){
  .foot-brand{font-size:20px;}
  footer .foot-grid p{font-size:13.5px !important;}
  footer h5{font-size:12px;}
  footer ul li{font-size:13.5px;}
  .foot-bottom{font-size:12px;}
}

/* ---------- Floating consult button ---------- */
.floating-consult{
  position:fixed;right:20px;bottom:166px;z-index:900;
  display:block;padding:0;
  filter:drop-shadow(0 10px 30px rgba(34,50,40,.12));
  animation:floatIn .6s ease .4s both;
  transition:filter .25s ease;
}
.floating-consult img{width:119px;max-width:46vw;height:auto;display:block;transition:transform .25s ease;}
.floating-consult:hover{filter:drop-shadow(0 16px 40px rgba(34,50,40,.22));}
.floating-consult:hover img{transform:translateY(-4px) scale(1.03);}
.floating-consult:active img{transform:translateY(1px) scale(.99);}
@keyframes floatIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}

/* ---------- Scroll-to-top button ---------- */
.scroll-top-btn{
  position:fixed;right:35px;bottom:26px;z-index:900;
  width:89px;height:89px;
  background:none;border:none;padding:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 8px 24px rgba(34,50,40,.12));
  animation:floatIn .6s ease .55s both;
  transition:filter .25s ease;
}
.scroll-top-btn img{width:100%;height:auto;transition:transform .25s ease;}
.scroll-top-btn:hover{filter:drop-shadow(0 14px 34px rgba(34,50,40,.22));}
.scroll-top-btn:hover img{transform:translateY(-4px) scale(1.03);}
.scroll-top-btn:active img{transform:translateY(1px) scale(.99);}

/* ---------- Entry popup ---------- */
.entry-overlay{
  position:fixed;inset:0;background:rgba(15,23,20,.5);z-index:1000;
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.entry-overlay.show{opacity:1;pointer-events:auto;}
.entry-modal{position:relative;max-width:440px;width:100%;opacity:0;transform:translateY(12px) scale(.985);transition:opacity .4s ease,transform .45s cubic-bezier(.22,.61,.36,1);}
.entry-overlay.show .entry-modal{opacity:1;transform:none;}
.entry-card{background:#fff;border-radius:20px;padding:44px 42px 38px;box-shadow:0 24px 60px -14px rgba(15,23,20,.26),0 6px 18px rgba(0,0,0,.05);border:1px solid #edf0ed;}
/* 라인 아이콘 통일 스타일 */
.entry-card svg,.entry-close svg{fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
/* 브랜드 로고 */
.entry-card .ec-logo{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:11px;background:var(--green-050);margin-bottom:18px;}
.entry-card .ec-logo svg{width:22px;height:22px;stroke:var(--green-600);}
/* 제목 / 부제목 */
.entry-card .ec-title{margin:0 0 8px;font-size:25px;line-height:1.3;font-weight:800;color:var(--ink);letter-spacing:-.02em;}
.entry-card .ec-sub{margin:0 0 26px;font-size:16px;line-height:1.55;color:var(--muted);font-weight:500;}
.entry-card .ec-sub mark{background:linear-gradient(transparent 58%,rgba(245,158,11,.34) 58%);color:var(--ink-soft);font-weight:700;padding:0 1px;}
/* 본문 포인트 */
.entry-card .ec-points{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:13px;}
.entry-card .ec-points li{display:flex;align-items:center;gap:12px;font-size:15.5px;font-weight:600;color:var(--ink-soft);}
.entry-card .ec-check{width:24px;height:24px;border-radius:50%;background:var(--green-050);display:flex;align-items:center;justify-content:center;flex:none;}
.entry-card .ec-check svg{width:14px;height:14px;stroke:var(--green-600);stroke-width:2.4;}
/* 연락처 */
.entry-card .ec-contact{display:flex;flex-direction:column;gap:9px;margin:0 0 28px;padding:20px 0 0;border-top:1px solid #edf0ed;}
.entry-card .ec-contact a{display:inline-flex;align-items:center;gap:11px;font-size:16.5px;font-weight:700;color:var(--ink);text-decoration:none;transition:color .18s ease;}
.entry-card .ec-contact a svg{width:18px;height:18px;stroke:var(--green-600);flex:none;}
.entry-card .ec-contact a:hover{color:var(--green-700);}
/* CTA (브랜드 그린, 은은) */
.entry-card .ec-cta{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 24px;border:0;border-radius:12px;background:var(--green-700);color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .25s ease,box-shadow .25s ease;box-shadow:0 4px 14px rgba(18,82,47,.15);}
.entry-card .ec-cta svg{width:18px;height:18px;stroke:#fff;transition:transform .25s ease;}
.entry-card .ec-cta:hover{background:var(--green-800);box-shadow:0 8px 22px rgba(18,82,47,.22);}
.entry-card .ec-cta:hover svg{transform:translateX(3px);}
/* 닫기 */
.entry-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:transparent;border:0;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease;z-index:2;}
.entry-close svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;}
.entry-close:hover{background:#f2f4f2;color:var(--ink);}
/* 오늘 하루 보지 않기 */
.entry-dontshow{display:block;width:fit-content;margin:16px auto 0;padding:9px 18px;background:transparent;border:0;color:rgba(255,255,255,.82);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:color .2s ease;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.3);}
.entry-dontshow:hover{color:#fff;text-decoration-color:rgba(255,255,255,.7);}
@media (prefers-reduced-motion:reduce){.entry-modal{transition:opacity .25s ease;transform:none;}.entry-card .ec-cta:hover svg{transform:none;}}
@media (max-width:640px){
  .entry-overlay{padding:16px;overflow-y:auto;height:100vh;height:100dvh;}
  .entry-modal{margin:auto;width:100%;max-width:400px;}
  .entry-card{padding:28px 22px 24px;text-align:center;}
  .entry-card .ec-logo{margin-bottom:12px;}
  .entry-card .ec-title{font-size:21px;margin-bottom:6px;}
  .entry-card .ec-sub{font-size:14.5px;margin-bottom:16px;}
  .entry-card .ec-points{gap:10px;margin-bottom:16px;}
  .entry-card .ec-points li{font-size:14px;justify-content:center;}
  .entry-card .ec-contact{gap:8px;margin-bottom:18px;padding-top:16px;align-items:center;}
  .entry-card .ec-contact a{font-size:15px;justify-content:center;}
  .entry-card .ec-cta{padding:13px 20px;font-size:15px;}
  .entry-dontshow{margin-top:12px;}
}

/* ---------- Utility ---------- */
.mt-lg{margin-top:48px;}
.center-btn{text-align:center;margin-top:40px;}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.16,.72,.28,1),transform .8s cubic-bezier(.16,.72,.28,1);}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- Responsive ---------- */
@media (max-width:1020px){
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .trust-grid{grid-template-columns:1fr;}
  .split{grid-template-columns:1fr;gap:40px;}
  .split.reverse .split-media{order:0;}
  .biz-detail-grid{grid-template-columns:1fr;gap:32px;}
  .biz-detail.reverse .biz-detail-grid{direction:ltr;}
  .sys-grid{grid-template-columns:1fr;}
  .menu-cards{grid-template-columns:repeat(2,1fr) !important;}
  .contact-wrap{grid-template-columns:1fr;}
  .contact-wrap .contact-form,.contact-wrap .contact-side{min-width:0;}
  .contact-side{border-right:none;border-bottom:1px solid var(--line);}
  .loc-grid{grid-template-columns:1fr;}
  .cert-band{gap:32px;}
}
@media (max-width:860px){
  .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;}
  .nav{display:flex;justify-content:space-between;align-items:center;}
  .brand b{font-size:19px;}
  .brand small{font-size:12.5px;}
  .nav-toggle{display:block;position:relative;z-index:600;}
  .nav-links{
    display:none;
    position:fixed;top:117px;left:0;width:100%;bottom:64px;background:#fff;
    flex-direction:column;align-items:stretch;padding:12px 18px;gap:2px;
    overflow-y:auto;z-index:590;border-top:1px solid var(--line);box-shadow:0 16px 28px rgba(0,0,0,.12);
  }
  .nav-links.open{display:flex;}
  .nav-links a{padding:15px 12px;font-size:20px;color:var(--ink);border-bottom:1px solid var(--line);}
  .nav-links a::after{display:none;}
  .nav-links a.nav-cta{margin:12px 0 0;text-align:center;border-radius:10px;border-bottom:none;background:var(--green-700);color:#fff;}
  .nav-contact{
    display:none;
    position:fixed;left:0;width:100%;bottom:0;height:64px;
    flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 22px;
    padding:0 18px;border-left:none;border-top:1px solid var(--line);background:#fff;z-index:591;
  }
  .nav-links.open ~ .nav-contact{display:flex;}
  .dual-video{grid-template-columns:1fr;}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:20px 0;max-width:420px;}
  .hero-stats .stat-item{padding:8px 12px;}
  .hero-stats .stat-item::after{display:none;}
  .hero-stats .stat-num{font-size:32px;white-space:nowrap;}
  .hero-stats .stat-num.stat-text{font-size:26px;}
  section{padding:72px 0;}
  .floating-consult{bottom:143px;right:15px;}
  .floating-consult img{width:71px;}
  .scroll-top-btn{width:60px;height:60px;bottom:24px;right:22px;}
  .tl-item.now{margin-left:0;padding:22px;}
  .bd-tiles{grid-template-columns:1fr;}
  #business .section-head.center{padding:38px 22px 42px;border-radius:18px;margin-bottom:40px;}
  #business .section-head.center::before{background-size:340px auto;background-position:right -20px top -14px;}
  #business .section-head h2{margin-bottom:16px;}
}
@media (max-width:640px){
  .hero-br-m{display:inline;}
  .hero-copy .hero-title{word-break:keep-all;}
  #business .section-head h2{font-size:30px;word-break:keep-all;}
  .br-m{display:inline;}
  .hero-copy .hero-sub{word-break:keep-all;}
  .hero-copy .hero-desc{font-size:15px;word-break:keep-all;}
  #business .section-head p{font-size:21px;line-height:1.55;word-break:keep-all;}
  .dist-flow-title{font-size:19px;word-break:keep-all;}
  .mg-desc{font-size:16px;word-break:keep-all;}
  .hero-stats .stat-label{font-size:13px;white-space:nowrap;}
  #bizWt .wt-head-desc{font-size:15px;word-break:keep-all;}
  #bizWt .biz-detail-copy p.desc{font-size:13px;line-height:1.55;word-break:keep-all;}
  #system .section-head p{font-size:14px;word-break:keep-all;}
  #system .section-head h2{font-size:37px;word-break:keep-all;}
  #about .ceo-title{font-size:22px;word-break:keep-all;}
  #about .ceo-sign{white-space:nowrap;}
  #about .ceo-name{font-size:18px;margin-right:8px;}
  #about .ceo-divider{font-size:12px;margin-right:8px;}
  #about .ceo-certs{font-size:12px;}
  #history .tl-desc{font-size:16px;word-break:keep-all;}
  #history .tl-item.now .tl-lead{font-size:28px;word-break:keep-all;}
  #honors .section-head p{font-size:15px;word-break:keep-all;}
  #certification .section-head p{font-size:22px;word-break:keep-all;}
  #location .loc-row div span{font-size:16px;word-break:keep-all;}
  #contact .contact-points li{font-size:17px;word-break:keep-all;}
  #contact .f-agree{font-size:17px;word-break:keep-all;}
  .cta-band .cta-lines p{font-size:14px;word-break:keep-all;}
  #bizDist .ds-desc{font-size:17px;word-break:keep-all;}
  #bizDist .dist-desc{font-size:13px;word-break:keep-all;}
  #bizDist .dc-tx span{word-break:keep-all;}
  #bizDist .dist-compete .dc-text{text-align:center;word-break:keep-all;}
  #honors .section-head h2{font-size:32px;white-space:nowrap;}
  .grid-3,.grid-4,.grid-2{grid-template-columns:1fr;}
  .f-2col{grid-template-columns:1fr;}
  .cta-band{flex-direction:column;text-align:center;padding:44px 28px;}
  .cta-lines{align-items:center;}
  .cta-band .cta-lines p{justify-content:center;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .contact-form{padding:32px 24px;}
  .contact-side{padding:32px 24px;}
  .contact-side>p{white-space:normal;font-size:18px;}
  .contact-quick span{font-size:18px;}
  .contact-quick b{font-size:15px;}
  .f-row input,.f-row textarea,.f-row select{font-size:18px;}
  .type-btn{font-size:18px;}
  .loc-info{padding:28px 24px;}
  .honor-item{width:260px;}
  .seal{width:120px;height:120px;}
  .comp-row{grid-template-columns:1fr;gap:10px;}
}
