/* ==========================================================================
   FLOWLINK — 종합상품 유통 · B2B 납품 전문기업 웹사이트
   Design tokens & shared styles
   ========================================================================== */

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

:root{
  /* Brand */
  --navy:#0a1f3d;
  --navy-2:#0f2c52;
  --navy-3:#122f56;
  --blue:#1657d0;
  --blue-2:#1e6fea;
  --mint:#22c9b8;
  --grad: linear-gradient(90deg,var(--blue) 0%,var(--mint) 100%);
  --grad-soft: linear-gradient(135deg, rgba(22,87,208,.10), rgba(34,201,184,.10));

  /* Neutrals */
  --white:#ffffff;
  --bg:#ffffff;
  --bg-soft:#f4f7fb;
  --bg-soft-2:#eef2f7;
  --line:#e4e9f0;
  --text:#0a1f3d;
  --text-soft:#5b6b80;
  --text-faint:#8a97a8;

  --radius:16px;
  --radius-sm:10px;
  --radius-lg:24px;
  --shadow: 0 10px 30px -12px rgba(10,31,61,.18);
  --shadow-sm: 0 4px 16px -6px rgba(10,31,61,.14);
  --maxw:1180px;
  --header-h:76px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  word-break:keep-all;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4,p{margin:0;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea,select{font-family:inherit;font-size:1rem;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- utility ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.82rem;font-weight:700;letter-spacing:.14em;
  color:var(--blue);text-transform:uppercase;margin-bottom:14px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--grad);border-radius:2px;}
.section-title{font-size:clamp(1.6rem,3.2vw,2.3rem);font-weight:800;letter-spacing:-.02em;line-height:1.35;}
.section-sub{margin-top:14px;color:var(--text-soft);font-size:1.02rem;line-height:1.75;max-width:640px;}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;}
.grad-text-onDark{background:linear-gradient(90deg,#5aa8ff,var(--mint));-webkit-background-clip:text;background-clip:text;}

/* 모바일에서만 자연스러운 지점에 줄바꿈을 넣기 위한 유틸리티 (PC에서는 숨김) */
.br-m{display:none;}
@media (max-width:640px){
  .br-m{display:inline;}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:999px;font-weight:700;font-size:.96rem;
  transition:.22s ease;white-space:nowrap;
}
/* 버튼은 기본값에서는 모두 동일하게 색이 없고(흰 배경+테두리), 마우스를 올렸을 때만
   브랜드 그라데이션이 들어오도록 통일했습니다. */
.btn-primary{background:#fff;color:var(--navy);border:1.5px solid var(--line);}
.btn-primary:hover{background:var(--grad);color:#fff;border:none;transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(22,87,208,.45);}
.btn-ghost{border:1.5px solid var(--line);color:var(--navy);background:#fff;}
.btn-ghost:hover{background:var(--grad);color:#fff;border:none;transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(22,87,208,.45);}
.btn-outline{border:1.5px solid rgba(255,255,255,.55);color:#fff;background:transparent;}
.btn-outline:hover{background:linear-gradient(90deg,#5aa8ff,var(--mint));border:none;color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px -8px rgba(34,201,184,.35);}
.btn-sm{padding:10px 18px;font-size:.86rem;}
.btn-block{width:100%;}

.tag{
  display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;
  font-size:.76rem;font-weight:700;background:var(--bg-soft-2);color:var(--blue);letter-spacing:.02em;
}

.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

/* ---------- header ---------- */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  height:var(--header-h);
  display:flex;align-items:center;
}
.site-header .container{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:var(--maxw);
  height:100%;border-radius:0;margin-top:0;
  background:transparent;backdrop-filter:none;
  border:1px solid transparent;box-shadow:none;
  transition:max-width .45s cubic-bezier(.4,0,.2,1), margin-top .45s cubic-bezier(.4,0,.2,1),
             border-radius .45s cubic-bezier(.4,0,.2,1), background .3s ease,
             box-shadow .35s ease, border-color .35s ease, padding .45s ease;
}
/* 스크롤 시: 넓은 바 -> 가운데로 좁아지고 위에 살짝 뜨는 알약(pill) 모양으로 축소 */
.site-header.is-solid .container{
  max-width:1040px;margin-top:14px;height:calc(var(--header-h) - 20px);
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-color:var(--line);border-radius:999px;
  box-shadow:0 12px 30px -12px rgba(10,31,61,.25);
  padding-left:28px;padding-right:16px;
}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.14rem;letter-spacing:-.01em;}
.brand img{height:30px;width:auto;}
.brand .navy{color:var(--navy);}
.brand .mint{color:var(--mint);}
.site-header:not(.is-solid) .brand{color:#fff;}
.site-header:not(.is-solid) .brand img{filter:brightness(0) invert(1);}

.gnb{display:flex;align-items:center;gap:36px;}
.gnb a{font-weight:600;font-size:.95rem;color:var(--navy);position:relative;padding:6px 0;}
.gnb a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--grad);transition:width .25s ease;}
.gnb a:hover::after,.gnb a.active::after{width:100%;}
.site-header:not(.is-solid) .gnb a{color:#fff;}

.header-actions{display:flex;align-items:center;gap:14px;}
.header-cta{white-space:nowrap;}
.site-header:not(.is-solid) .btn-ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:#fff;}

.nav-toggle{display:none;width:40px;height:40px;border-radius:10px;align-items:center;justify-content:center;}
.nav-toggle span,.nav-toggle::before,.nav-toggle::after{content:"";display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:.25s;}
.nav-toggle{flex-direction:column;gap:5px;color:var(--navy);}
.site-header:not(.is-solid) .nav-toggle{color:#fff;}

.mobile-nav{position:fixed;inset:0;background:var(--navy);z-index:1200;display:flex;flex-direction:column;padding:28px 24px;transform:translateY(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);}
.mobile-nav.open{transform:translateY(0);}
.mobile-nav-top{display:flex;justify-content:space-between;align-items:center;}
.mobile-nav-close{width:40px;height:40px;color:#fff;font-size:1.5rem;}
.mobile-nav ul{display:flex;flex-direction:column;margin-top:40px;gap:6px;}
.mobile-nav a{display:block;padding:16px 4px;font-size:1.3rem;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);}
.mobile-nav .btn{margin-top:30px;}
.mobile-nav .btn-primary{color:var(--blue);display:flex;justify-content:center;}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:rgba(255,255,255,.78);padding:64px 0 110px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:48px;}
.footer-brand img{height:28px;filter:brightness(0) invert(1);margin-bottom:16px;}
.footer-slogan{font-size:.92rem;color:rgba(255,255,255,.55);margin-bottom:22px;}
.footer-info{font-size:.86rem;line-height:2;color:rgba(255,255,255,.65);}
.footer-info b{color:#fff;font-weight:600;}
.footer-col h4{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:18px;letter-spacing:.02em;}
.footer-col ul{display:flex;flex-direction:column;gap:11px;}
.footer-col a{font-size:.88rem;color:rgba(255,255,255,.65);transition:.2s;}
.footer-col a:hover{color:var(--mint);}
.footer-bottom{margin-top:48px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;color:rgba(255,255,255,.42);}

/* ---------- mobile fixed bottom bar ---------- */
.mobile-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:900;
  display:none;
  background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -8px 24px -12px rgba(10,31,61,.2);
}
.mobile-bar ul{display:grid;grid-template-columns:repeat(3,1fr);}
.mobile-bar a,.mobile-bar button{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:10px 4px 12px;font-size:.72rem;font-weight:700;color:var(--navy);
  border-right:1px solid var(--line);width:100%;
}
.mobile-bar li:last-child a,.mobile-bar li:last-child button{border-right:none;}
.mobile-bar li:nth-child(3) a{color:var(--blue);}
.mobile-bar svg{width:20px;height:20px;}

/* ---------- page hero (subpages) ---------- */
.page-hero{
  position:relative;padding:calc(var(--header-h) + 90px) 0 70px;
  background:var(--navy);color:#fff;overflow:hidden;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(900px 420px at 85% -10%, rgba(34,201,184,.35), transparent 60%),
             radial-gradient(700px 380px at 10% 110%, rgba(22,87,208,.35), transparent 60%);
}
.page-hero .container{position:relative;}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:.82rem;color:rgba(255,255,255,.55);margin-bottom:18px;}
.breadcrumb span{color:var(--mint);}
.page-hero h1{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:800;letter-spacing:-.02em;}
.page-hero p{margin-top:16px;color:rgba(255,255,255,.7);max-width:820px;font-size:1.02rem;}

/* ---------- generic section ---------- */
.section{padding:96px 0;}
.section-soft{background:var(--bg-soft);}
.section-head{max-width:720px;margin-bottom:52px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head.center .section-sub{margin-left:auto;margin-right:auto;}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-1{transition-delay:.05s;} .reveal-2{transition-delay:.15s;} .reveal-3{transition-delay:.25s;} .reveal-4{transition-delay:.35s;} .reveal-5{transition-delay:.45s;}

/* 통통 튀는(bounce/pop) 등장 - 특정 카드 그룹에만 적용하는 .reveal 보조 클래스 */
.reveal.pop-in{transform:translateY(28px) scale(.86);transition-timing-function:cubic-bezier(.34,1.56,.64,1);}
.reveal.pop-in.in{transform:translateY(0) scale(1);}

/* ---------- card grids ---------- */
.grid{display:grid;gap:26px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-5{grid-template-columns:repeat(5,1fr);}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 26px;transition:.28s ease;}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent;}
.card-icon{width:52px;height:52px;border-radius:14px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--blue);transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .35s ease,color .35s ease;}
.card:hover .card-icon{transform:rotate(-8deg) scale(1.12);background:var(--grad);color:#fff;}
.card-icon svg{width:26px;height:26px;}
.card h3{font-size:1.12rem;font-weight:800;margin-bottom:10px;letter-spacing:-.01em;}

/* 아이콘+한 줄 캡션만 보여주는 미니멀 카드 (COMPANY 강점 섹션) */
.strength-grid{background:var(--bg-soft);border-radius:var(--radius-lg);padding:44px 30px;gap:0;}
.strength-card{
  background:transparent;border:none;padding:18px 12px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.strength-card:hover{transform:translateY(-4px);box-shadow:none;}
.strength-card .card-icon{
  width:64px;height:64px;margin:0 0 16px;
  background:var(--grad);color:#fff;
}
.strength-card .card-icon svg{width:30px;height:30px;}
.strength-card:hover .card-icon{
  background:#fff;border:1.5px solid var(--line);color:var(--blue);
  transform:scale(1.18);box-shadow:var(--shadow-sm);
}
.strength-card h3{font-size:.98rem;margin-bottom:0;}
.card p{color:var(--text-soft);font-size:.92rem;line-height:1.7;}
.card .tag{margin-top:16px;}

/* ---------- HOME page sections ---------- */
.hero-why{
  position:relative;min-height:100vh;display:flex;align-items:center;color:#fff;
  background-color:var(--navy);
  background-image:linear-gradient(180deg, rgba(6,16,32,.55), rgba(6,16,32,.82)), url('../images/hero-network.png');
  background-size:cover, cover;
  background-position:center, 62% top;
  background-repeat:no-repeat, no-repeat;
}
.hero-why .container{position:relative;width:100%;padding-top:var(--header-h);}
.hero-why h1{
  font-size:clamp(2rem,3.6vw,2.85rem);font-weight:800;line-height:1.35;letter-spacing:-.02em;max-width:840px;
  opacity:0;animation:heroFadeUp .9s cubic-bezier(.2,.6,.2,1) .15s both;
}
.hero-why h1 .line2{display:block;white-space:nowrap;}
@media (max-width:960px){
  .hero-why h1 .line2{white-space:normal;}
}
.hero-why h1 .hl{color:var(--mint);}
.hero-why .lead{
  margin-top:26px;font-size:1.08rem;color:rgba(255,255,255,.75);max-width:440px;line-height:1.85;
  opacity:0;animation:heroFadeUp .9s cubic-bezier(.2,.6,.2,1) .45s both;
}
@keyframes heroFadeUp{
  from{opacity:0;transform:translateY(26px);}
  to{opacity:1;transform:translateY(0);}
}
@media (prefers-reduced-motion:reduce){
  .hero-why h1,.hero-why .lead{animation:none;opacity:1;transform:none;}
}
.scroll-cue{position:absolute;z-index:2;left:50%;bottom:38px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.6);font-size:.76rem;letter-spacing:.1em;}
.scroll-cue .dot{width:1px;height:34px;background:linear-gradient(180deg,rgba(255,255,255,.7),transparent);position:relative;overflow:hidden;}
.scroll-cue .dot::after{content:"";position:absolute;top:-34px;left:0;width:100%;height:12px;background:var(--mint);animation:cueMove 1.8s ease-in-out infinite;}
@keyframes cueMove{0%{top:-12px;}100%{top:34px;}}

.connect-section{
  position:relative;padding:130px 0;color:#fff;
  background:radial-gradient(1100px 520px at 50% -10%, rgba(34,201,184,.22), transparent 65%), var(--navy);
  text-align:center;overflow:hidden;
}
.connect-section .logo-reveal{height:64px;margin:0 auto 26px;filter:brightness(0) invert(1);}
.connect-section .lead-q{font-size:clamp(1.3rem,2.6vw,1.7rem);font-weight:700;color:rgba(255,255,255,.82);max-width:680px;margin:0 auto 30px;line-height:1.6;}
.connect-section .slogan{font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.02em;}
.connect-section .slogan .grad-text{background:linear-gradient(90deg,#5aa8ff,var(--mint));-webkit-background-clip:text;background-clip:text;}
.connect-section .kr{margin-top:14px;color:rgba(255,255,255,.62);font-size:1rem;}
.connect-section .cta-row{justify-content:center;}

.flow-diagram{display:flex;align-items:stretch;gap:0;flex-wrap:wrap;margin-top:20px;}
.flow-step{
  flex:1 1 130px;min-width:130px;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:22px 16px;text-align:center;position:relative;
}
.flow-step .num{width:30px;height:30px;border-radius:50%;background:var(--grad);color:#fff;font-size:.8rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.flow-step h4{font-size:.92rem;font-weight:800;}
.flow-arrow{display:flex;align-items:center;justify-content:center;color:var(--text-faint);flex:0 0 26px;font-size:1.2rem;}

.partner-section{
  padding:110px 0;background:var(--navy);color:#fff;text-align:center;position:relative;overflow:hidden;
}
.partner-section::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 360px at 15% 20%, rgba(22,87,208,.35),transparent 60%);}
.partner-section .container{position:relative;}
.partner-q{font-size:clamp(1.7rem,3.6vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.5;}
.partner-q .grad-text{background:linear-gradient(90deg,#5aa8ff,var(--mint));-webkit-background-clip:text;background-clip:text;}
.partner-section p{margin:22px auto 0;color:rgba(255,255,255,.68);max-width:560px;}
.partner-section .cta-row{justify-content:center;}

.link-section{padding:120px 0 130px;background:linear-gradient(180deg,#fff,var(--bg-soft));}
.link-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:10px;}
.link-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;transition:.25s;}
.link-card:hover{border-color:transparent;box-shadow:var(--shadow);transform:translateY(-5px);}
.link-card .tag{margin-bottom:16px;}
.link-card h3{font-size:1.1rem;font-weight:800;margin-bottom:10px;}
.link-card p{color:var(--text-soft);font-size:.88rem;margin-bottom:20px;}

/* ---------- Product cards ---------- */
.product-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.filter-btn{padding:10px 20px;border-radius:999px;border:1.5px solid var(--line);font-size:.86rem;font-weight:700;color:var(--text-soft);transition:.2s;}
.filter-btn.active,.filter-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--grad-soft);}

.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s;}
.product-card:hover{box-shadow:var(--shadow);transform:translateY(-6px);border-color:transparent;}
.product-thumb{aspect-ratio:4/3;overflow:hidden;background:var(--bg-soft-2);}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.product-card:hover .product-thumb img{transform:scale(1.05);}
.product-body{padding:22px 22px 24px;}
.product-body .tag{margin-bottom:12px;}
.product-body h3{font-size:1.12rem;font-weight:800;margin-bottom:8px;}
.product-body p{font-size:.86rem;color:var(--text-soft);margin-bottom:18px;line-height:1.65;}
.product-body .btn{width:100%;}

.product-detail{margin-top:14px;overflow:hidden;max-height:0;transition:max-height .4s ease;}
.product-card.open .product-detail{max-height:600px;}
.product-detail-inner{padding:0 22px 24px;}
.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;border-radius:10px;overflow:hidden;}
.detail-gallery img{width:100%;height:100%;object-fit:cover;}
.more-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;font-size:.8rem;font-weight:700;color:var(--text-soft);border-top:1px solid var(--line);}
.more-toggle svg{width:14px;height:14px;transition:.25s;}
.product-card.open .more-toggle svg{transform:rotate(180deg);}

/* ---------- Process timeline ---------- */
.process-list{display:flex;flex-direction:column;gap:0;position:relative;}
.process-item{display:flex;gap:28px;padding:34px 0;border-bottom:1px solid var(--line);position:relative;}
.process-item:last-child{border-bottom:none;}
.process-num{flex:0 0 78px;font-size:2.2rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;}
.process-body h3{font-size:1.22rem;font-weight:800;margin-bottom:8px;}
.process-body p{color:var(--text-soft);font-size:.94rem;max-width:560px;}
.process-tag{margin-top:14px;}

/* ---------- Company page ---------- */
.greeting-card{background:var(--bg-soft);border-radius:var(--radius-lg);padding:48px;display:grid;grid-template-columns:1fr 1.4fr;gap:44px;align-items:center;}
.greeting-card blockquote{font-size:1.18rem;font-weight:600;line-height:1.85;color:var(--navy);margin:0 0 20px;}
.greeting-sign{font-size:.92rem;color:var(--text-soft);}
.greeting-sign b{color:var(--navy);font-size:1.02rem;}

.story-table{width:100%;border-collapse:collapse;margin-top:10px;}
.story-table th,.story-table td{padding:20px 22px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;}
.story-table th{width:130px;color:var(--blue);font-weight:800;font-size:1.4rem;}
.story-table td h4{font-weight:700;margin-bottom:6px;}
.story-table td p{color:var(--text-soft);font-size:.92rem;}

.value-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:16px;}
.value-strip .v-item{text-align:center;padding:28px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);}
.value-strip .v-item .ic{width:44px;height:44px;margin:0 auto 14px;color:var(--blue);}
.value-strip .v-item h4{font-weight:800;font-size:1rem;margin-bottom:6px;}
.value-strip .v-item p{font-size:.8rem;color:var(--text-soft);}

.info-table{width:100%;border-collapse:collapse;}
.info-table tr{border-bottom:1px solid var(--line);}
.info-table tr:last-child{border-bottom:none;}
.info-table th,.info-table td{text-align:left;padding:18px 4px;font-size:.94rem;}
.info-table th{width:150px;color:var(--text-soft);font-weight:600;}
.info-table td{font-weight:700;color:var(--navy);}

/* ---------- Business page ---------- */
.biz-block{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:64px 0;border-bottom:1px solid var(--line);}
.biz-block:last-child{border-bottom:none;}
.biz-block.reverse{direction:rtl;}
.biz-block.reverse > *{direction:ltr;}
.biz-visual{aspect-ratio:5/4;border-radius:var(--radius-lg);background:var(--grad-soft);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.biz-visual .num{font-size:6rem;font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;}
.biz-audience{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px;}

/* 아코디언 (BUSINESS 사업영역) */
.accordion{border-top:1px solid var(--line);}
.acc-item{border-bottom:1px solid var(--line);}
.acc-head{
  width:100%;display:flex;align-items:center;gap:22px;
  padding:30px 4px;background:none;border:none;text-align:left;cursor:pointer;
}
.acc-num{
  flex:0 0 54px;font-size:1.9rem;font-weight:800;letter-spacing:-.02em;
  background:var(--grad-soft);color:var(--blue);opacity:.6;
  transition:.3s ease;
}
.acc-item.active .acc-num{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:1;
}
.acc-head-text{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;}
.acc-eyebrow{font-size:.78rem;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.08em;}
.acc-title{font-size:1.28rem;font-weight:800;color:var(--navy);letter-spacing:-.01em;transition:color .25s ease;}
.acc-head:hover .acc-title{color:var(--blue);}
.acc-chevron{flex:0 0 auto;width:22px;height:22px;color:var(--text-faint);transition:transform .35s cubic-bezier(.4,0,.2,1),color .25s ease;}
.acc-item.active .acc-chevron{transform:rotate(180deg);color:var(--blue);}
.acc-body{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1);}
.acc-item.active .acc-body{max-height:420px;}
.acc-body-inner{padding:0 40px 32px 76px;}
.acc-body-inner p{color:var(--text-soft);font-size:.98rem;line-height:1.8;max-width:620px;}
.acc-body-inner .biz-audience{margin-top:18px;}
@media (max-width:640px){
  .acc-head{gap:14px;padding:24px 0;}
  .acc-num{flex-basis:36px;font-size:1.3rem;}
  .acc-title{font-size:1.05rem;}
  .acc-body-inner{padding:0 4px 26px 50px;}
}

/* ---------- Contact page ---------- */
.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;}
.inquiry-tabs{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap;}
.inquiry-tab{flex:1;padding:16px 12px;text-align:center;border-radius:12px;border:1.5px solid var(--line);font-weight:700;font-size:.9rem;color:var(--text-soft);transition:.2s;min-width:150px;}
.inquiry-tab.active{border:none;background:var(--grad);color:#fff;}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-field{display:flex;flex-direction:column;gap:8px;}
.form-field.full{grid-column:1/-1;}
.form-field label{font-size:.85rem;font-weight:700;color:var(--navy);}
.form-field input,.form-field select,.form-field textarea{
  padding:14px 16px;border-radius:10px;border:1.5px solid var(--line);font-size:.94rem;color:var(--navy);background:#fff;
}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--blue);}
.form-field textarea{resize:vertical;min-height:130px;}
.form-note{font-size:.8rem;color:var(--text-faint);margin-top:14px;}

.contact-side{display:flex;flex-direction:column;gap:20px;}
.contact-card{background:var(--bg-soft);border-radius:var(--radius);padding:28px;}
.contact-card h4{font-size:.85rem;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;}
.contact-card p{font-size:1.02rem;font-weight:700;color:var(--navy);}
.contact-card span{font-size:.82rem;color:var(--text-soft);}
.map-frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);height:280px;}
.map-frame iframe{width:100%;height:100%;border:0;}

.quick-links{display:flex;flex-direction:column;gap:12px;}
.quick-link{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;border:1.5px solid var(--line);font-weight:700;transition:.2s;}
.quick-link:hover{border-color:var(--blue);}
.quick-link .ic{width:36px;height:36px;border-radius:10px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--blue);flex-shrink:0;}
.quick-link small{display:block;font-weight:400;color:var(--text-soft);font-size:.78rem;margin-top:2px;}

/* ---------- cert strip ---------- */
.cert-strip{margin-top:20px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-5{grid-template-columns:repeat(3,1fr);}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-layout{grid-template-columns:1fr;}
  .greeting-card{grid-template-columns:1fr;}
  .biz-block,.biz-block.reverse{grid-template-columns:1fr;direction:ltr;}
}
@media (max-width:768px){
  .gnb,.header-actions .btn-ghost{display:none;}
  .nav-toggle{display:flex;}
  .mobile-bar{display:block;}
  .hero-why{background-position:center, 78% top;}
  body{padding-bottom:64px;}
  .grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr 1fr;}
  .product-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:36px;}
  .form-grid{grid-template-columns:1fr;}
  .value-strip{grid-template-columns:1fr 1fr;}
  .story-table th,.story-table td{display:block;width:100%;padding:10px 0;}
  .story-table th{padding-top:22px;}
  .flow-diagram{flex-direction:column;}
  .flow-arrow{transform:rotate(90deg);padding:6px 0;}
  .section{padding:64px 0;}
  .connect-section,.partner-section{padding:80px 0;}
}
@media (max-width:520px){
  .grid-2,.grid-3,.grid-4,.grid-5,.value-strip{grid-template-columns:1fr;}
  .link-cards{grid-template-columns:1fr;}
}
