/* =====================================================
   service-fulfillment.css — /services/fulfillment 전용
   Design language: Stripe/Shopify — ice bg, split,
   3-structure cards, 4-step process, plan integration
   네임스페이스: fl-*
===================================================== */

/* ── 토큰 ─────────────────────────────────────────── */
:root {
  --fl-canvas:      #ffffff;
  --fl-ice:         #f6f9fc;
  --fl-border:      #e3e8ee;
  --fl-accent:      #533afd;
  --fl-accent2:     #4434d4;
  --fl-text:        #0d253d;
  --fl-text2:       #273951;
  --fl-muted:       #64748d;
  --fl-green:       #16a34a;
  --fl-blue:        #1d4ed8;
  --fl-purple:      #7c3aed;
  --fl-orange:      #d97706;
  --fl-radius:      12px;
  --fl-radius-sm:   8px;
  --fl-shadow:      0 1px 3px rgba(0,55,112,.08);
  --fl-shadow-lg:   0 8px 24px rgba(0,55,112,.10), 0 2px 6px rgba(0,55,112,.05);
}

*, *::before, *::after { box-sizing: border-box; }
/* ── Container ── */
.fl-container{max-width:1160px;margin:0 auto;padding:0 32px;}

/* ── Section common ── */
.fl-section-eyebrow{font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--fl-muted);margin:0 0 10px;}
.fl-section-title{font-size:36px;font-weight:800;color:var(--fl-text);margin:0 0 16px;letter-spacing:-0.03em;line-height:1.2;}
.fl-section-sub{font-size:16px;color:var(--fl-muted);line-height:1.7;margin:0 0 48px;max-width:640px;}

/* ══════════════════════════════════════
   HERO
══════════════════════════════════════ */
.fl-hero{background:var(--fl-ice);border-bottom:1px solid var(--fl-border);padding:128px 32px 80px;max-width:100%;}
.fl-hero-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 420px;gap:64px;align-items:flex-start;}

.fl-hero-eyebrow{font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--fl-muted);margin:0 0 16px;}
.fl-hero-h1{font-size:52px;font-weight:800;color:var(--fl-text);line-height:1.12;margin:0 0 20px;letter-spacing:-0.035em;}
.fl-hero-h1 em{font-style:normal;background:linear-gradient(90deg,#1d4ed8,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.fl-hero-sub{font-size:17px;color:var(--fl-muted);line-height:1.7;margin:0 0 36px;max-width:520px;}

.fl-hero-blocks{display:flex;flex-direction:column;gap:0;}
.fl-hero-block{padding:16px 0;border-top:1px solid var(--fl-border);}
.fl-hero-block:last-child{border-bottom:1px solid var(--fl-border);}
.fl-hero-block-label{font-size:11px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--fl-muted);margin-bottom:6px;}
.fl-hero-block-text{font-size:14px;color:var(--fl-text2);line-height:1.65;}
.fl-hero-checklist{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;}
.fl-hero-checklist li{font-size:14px;color:var(--fl-text2);padding-left:18px;position:relative;line-height:1.5;}
.fl-hero-checklist li::before{content:'✓';position:absolute;left:0;color:var(--fl-green);font-weight:800;font-size:12px;}

/* Hero KPI Card */
.fl-hero-kpi-card{background:var(--fl-accent);border-radius:var(--fl-radius);padding:32px;color:#fff;position:sticky;top:88px;}
.fl-kpi-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;}
.fl-kpi-badge{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;font-size:16px;}
.fl-kpi-title{font-size:14px;font-weight:600;color:rgba(255,255,255,0.75);}
.fl-kpi-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;}
.fl-kpi-stat{}
.fl-kpi-num{font-size:24px;font-weight:800;color:#fff;margin-bottom:4px;}
.fl-kpi-label{font-size:11px;color:rgba(255,255,255,0.5);line-height:1.5;}
.fl-kpi-divider{border:none;border-top:1px solid rgba(255,255,255,0.1);margin:0 0 16px;}
.fl-kpi-quote{font-size:14px;line-height:1.7;color:rgba(255,255,255,0.82);margin:0 0 8px;font-style:italic;}
.fl-kpi-author{font-size:12px;color:rgba(255,255,255,0.45);margin-bottom:20px;}
.fl-kpi-channels{display:flex;flex-wrap:wrap;gap:6px;}
.fl-kpi-tag{font-size:11px;font-weight:600;padding:4px 9px;border-radius:6px;background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.75);}

/* ══════════════════════════════════════
   WHY SECTION — 3 Split Steps
══════════════════════════════════════ */
.fl-why{padding:96px 0;background:var(--fl-canvas);}
.fl-why-grid{display:flex;flex-direction:column;gap:0;}

.fl-why-step{display:grid;grid-template-columns:64px 1fr 440px;gap:40px;align-items:center;padding:64px 0;border-top:1px solid var(--fl-border);}
.fl-why-step:last-child{border-bottom:1px solid var(--fl-border);}
.fl-why-step-alt{grid-template-columns:64px 440px 1fr;}

.fl-why-step-num{font-size:48px;font-weight:800;color:var(--fl-border);letter-spacing:-0.04em;line-height:1;flex-shrink:0;}
.fl-why-step-body{}
.fl-why-step-title{font-size:22px;font-weight:800;color:var(--fl-text);margin:0 0 12px;letter-spacing:-0.02em;line-height:1.3;}
.fl-why-step-text{font-size:15px;color:var(--fl-muted);line-height:1.75;margin:0 0 20px;}

/* Compare 박스 */
.fl-why-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;}
.fl-why-compare-item{border-radius:var(--fl-radius-sm);padding:16px 18px;border:1.5px solid;}
.fl-cmp-bad{background:#fff1f2;border-color:#fecdd3;}
.fl-cmp-good{background:#f0fdf4;border-color:#bbf7d0;}
.fl-cmp-label{font-size:11px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:10px;color:var(--fl-text);}
.fl-cmp-list{margin:0;padding:0 0 0 14px;font-size:13px;color:var(--fl-text2);line-height:1.8;}

/* Tags */
.fl-why-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.fl-why-tag{font-size:12px;font-weight:600;padding:5px 12px;border-radius:6px;background:var(--fl-ice);border:1.5px solid var(--fl-border);color:var(--fl-text2);}

/* Return flow */
.fl-why-return-flow{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap;}
.fl-return-step{display:flex;flex-direction:column;align-items:center;gap:4px;}
.fl-return-icon{font-size:24px;}
.fl-return-label{font-size:11px;font-weight:700;color:var(--fl-text2);text-align:center;}
.fl-return-arrow{font-size:18px;color:var(--fl-border);flex-shrink:0;}

/* Visual Cards */
.fl-why-step-visual{}
.fl-why-visual-card{border-radius:var(--fl-radius);padding:28px;border:1.5px solid var(--fl-border);}
.fl-visual-dark{background:var(--fl-accent);border-color:var(--fl-accent);}
.fl-visual-light{background:var(--fl-ice);}
.fl-visual-green{background:#f0fdf4;border-color:#bbf7d0;}

.fl-vc-eyebrow{font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:16px;color:rgba(255,255,255,0.5);}
.fl-visual-light .fl-vc-eyebrow,.fl-visual-green .fl-vc-eyebrow{color:var(--fl-muted);}
.fl-vc-steps{display:flex;flex-direction:column;gap:12px;}
.fl-vc-step{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,0.85);}
.fl-vc-icon{font-size:18px;flex-shrink:0;}

/* Cross-border flow */
.fl-flow-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fl-flow-item{display:flex;flex-direction:column;align-items:center;gap:4px;}
.fl-flow-icon{font-size:28px;}
.fl-flow-text{font-size:12px;font-weight:600;color:var(--fl-text);text-align:center;line-height:1.4;}
.fl-flow-text small{font-weight:400;color:var(--fl-muted);font-size:11px;}
.fl-flow-arrow{font-size:20px;color:var(--fl-muted);}

/* SLA items */
.fl-sla-items{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.fl-sla-item{}
.fl-sla-metric{font-size:24px;font-weight:800;color:var(--fl-green);margin-bottom:4px;}
.fl-sla-label{font-size:11px;color:var(--fl-muted);line-height:1.5;}

/* ══════════════════════════════════════
   물류 구조 — 3열 카드
══════════════════════════════════════ */
.fl-structure{padding:96px 0;background:var(--fl-ice);border-top:1px solid var(--fl-border);border-bottom:1px solid var(--fl-border);}
.fl-struct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

.fl-struct-card{background:var(--fl-canvas);border:1.5px solid var(--fl-border);border-radius:var(--fl-radius);padding:32px 28px;transition:box-shadow 0.2s,transform 0.2s;}
.fl-struct-card:hover{box-shadow:var(--fl-shadow-lg);transform:translateY(-2px);}
.fl-struct-featured{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,58,237,0.08);}

.fl-struct-icon{font-size:32px;margin-bottom:12px;}
.fl-struct-badge{display:inline-block;font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;margin-bottom:16px;}
.fl-badge-blue{background:#dbeafe;color:var(--fl-blue);}
.fl-badge-purple{background:#ede9fe;color:var(--fl-purple);}
.fl-badge-orange{background:#fff7ed;color:var(--fl-orange);}

.fl-struct-name{font-size:20px;font-weight:800;color:var(--fl-text);margin:0 0 4px;}
.fl-struct-sub{font-size:12px;color:var(--fl-muted);margin:0 0 14px;font-style:italic;}
.fl-struct-desc{font-size:14px;color:var(--fl-muted);line-height:1.7;margin:0 0 20px;}
.fl-struct-list{margin:0 0 20px;padding:0 0 0 16px;font-size:13px;color:var(--fl-text2);line-height:2;}
.fl-struct-fit{background:var(--fl-ice);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--fl-muted);}
.fl-struct-fit-label{font-weight:700;color:var(--fl-text);display:block;margin-bottom:3px;}

/* ══════════════════════════════════════
   PROCESS — 4단계
══════════════════════════════════════ */
.fl-process{padding:96px 0;background:var(--fl-canvas);}
.fl-proc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--fl-border);border-radius:var(--fl-radius);overflow:hidden;}

.fl-proc-step{padding:40px 36px;border-right:1.5px solid var(--fl-border);border-bottom:1.5px solid var(--fl-border);position:relative;}
.fl-proc-step:nth-child(2n){border-right:none;}
.fl-proc-step:nth-child(n+3){border-bottom:none;}
.fl-proc-step-alt{background:var(--fl-ice);}

.fl-proc-num{font-size:52px;font-weight:800;color:var(--fl-border);letter-spacing:-0.04em;line-height:1;margin-bottom:16px;}
.fl-proc-icon-wrap{width:48px;height:48px;border-radius:12px;background:var(--fl-ice);display:flex;align-items:center;justify-content:center;margin-bottom:16px;border:1.5px solid var(--fl-border);}
.fl-proc-step-alt .fl-proc-icon-wrap{background:var(--fl-canvas);}
.fl-icon-blue .fl-proc-icon-wrap,
.fl-proc-step .fl-icon-blue{background:#dbeafe;border-color:#bfdbfe;}
.fl-proc-icon-wrap.fl-icon-blue{background:#dbeafe;border-color:#bfdbfe;}
.fl-proc-icon-wrap.fl-icon-green{background:#dcfce7;border-color:#bbf7d0;}
.fl-proc-icon-wrap.fl-icon-orange{background:#fff7ed;border-color:#fed7aa;}
.fl-proc-icon{font-size:22px;}
.fl-proc-title{font-size:18px;font-weight:800;color:var(--fl-text);margin:0 0 4px;}
.fl-proc-sub{font-size:12px;color:var(--fl-muted);margin:0 0 12px;font-style:italic;}
.fl-proc-desc{font-size:14px;color:var(--fl-muted);line-height:1.7;margin:0 0 16px;}
.fl-proc-list{margin:0;padding:0 0 0 16px;font-size:13px;color:var(--fl-text2);line-height:2;}
.fl-proc-timeline{margin-top:20px;}
.fl-proc-time-badge{display:inline-block;font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;background:var(--fl-ice);border:1.5px solid var(--fl-border);color:var(--fl-muted);}
.fl-proc-step-alt .fl-proc-time-badge{background:var(--fl-canvas);}

/* ══════════════════════════════════════
   WHAT'S INCLUDED — 2열 8카드
══════════════════════════════════════ */
.fl-includes{padding:96px 0;background:var(--fl-ice);border-top:1px solid var(--fl-border);border-bottom:1px solid var(--fl-border);}
.fl-includes-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

.fl-inc-card{background:var(--fl-canvas);border:1.5px solid var(--fl-border);border-radius:var(--fl-radius-sm);padding:24px;transition:box-shadow 0.2s;}
.fl-inc-card:hover{box-shadow:var(--fl-shadow);}
.fl-inc-icon{font-size:26px;margin-bottom:10px;display:block;}
.fl-inc-title{font-size:15px;font-weight:700;color:var(--fl-text);margin:0 0 8px;}
.fl-inc-desc{font-size:13px;color:var(--fl-muted);line-height:1.7;margin:0;}

/* ══════════════════════════════════════
   PLAN INTEGRATION
══════════════════════════════════════ */
.fl-plan-link{padding:96px 0;background:var(--fl-canvas);}
.fl-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

.fl-plan-card{background:var(--fl-ice);border:1.5px solid var(--fl-border);border-radius:var(--fl-radius);padding:28px 24px;}
.fl-plan-card-featured{background:var(--fl-canvas);border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,58,237,0.07);}
.fl-plan-badge{display:inline-block;font-size:11px;font-weight:800;padding:5px 12px;border-radius:6px;margin-bottom:14px;letter-spacing:0.05em;}
.fl-plan-a{background:#dbeafe;color:var(--fl-blue);}
.fl-plan-b{background:#ede9fe;color:var(--fl-purple);}
.fl-plan-cd{background:#dcfce7;color:var(--fl-green);}
.fl-plan-title{font-size:18px;font-weight:800;color:var(--fl-text);margin:0 0 8px;}
.fl-plan-desc{font-size:14px;color:var(--fl-muted);line-height:1.7;margin:0 0 16px;}
.fl-plan-logistics{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;}
.fl-plan-tag{font-size:11px;font-weight:600;padding:4px 9px;border-radius:6px;background:var(--fl-canvas);border:1.5px solid var(--fl-border);color:var(--fl-text2);}
.fl-plan-card-featured .fl-plan-tag{background:var(--fl-ice);}
.fl-plan-link-btn{font-size:13px;font-weight:700;color:var(--fl-blue);text-decoration:none;display:inline-flex;align-items:center;gap:4px;}
.fl-plan-link-btn:hover{text-decoration:underline;}

/* ══════════════════════════════════════
   FAQ
══════════════════════════════════════ */
.fl-faq{padding:96px 0;background:var(--fl-ice);border-top:1px solid var(--fl-border);}
.fl-faq-list{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--fl-border);border-radius:var(--fl-radius);overflow:hidden;background:var(--fl-canvas);}

.fl-faq-item{border-bottom:1.5px solid var(--fl-border);}
.fl-faq-item:last-child{border-bottom:none;}
.fl-faq-q{font-size:15px;font-weight:700;color:var(--fl-text);padding:20px 24px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:background 0.15s;}
.fl-faq-q::-webkit-details-marker{display:none;}
.fl-faq-q::after{content:'＋';font-size:18px;color:var(--fl-muted);flex-shrink:0;font-weight:400;}
.fl-faq-item[open] .fl-faq-q{background:var(--fl-ice);}
.fl-faq-item[open] .fl-faq-q::after{content:'－';}
.fl-faq-a{padding:0 24px 20px;font-size:14px;color:var(--fl-muted);line-height:1.8;}
.fl-faq-a p{margin:0;}

/* ══════════════════════════════════════
   CTA
══════════════════════════════════════ */
.fl-cta{background:var(--fl-accent);padding:88px 32px;text-align:center;}
.fl-cta-inner{max-width:640px;margin:0 auto;}
.fl-cta-eyebrow{font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin:0 0 16px;}
.fl-cta-title{font-size:40px;font-weight:800;color:#fff;margin:0 0 16px;letter-spacing:-0.03em;line-height:1.2;}
.fl-cta-sub{font-size:16px;color:rgba(255,255,255,0.65);line-height:1.7;margin:0 0 36px;}
.fl-cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}
.fl-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:10px;font-size:15px;font-weight:700;background:#fff;color:var(--fl-accent);text-decoration:none;transition:opacity 0.15s;}
.fl-btn-primary:hover{opacity:0.92;}
.fl-btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:10px;font-size:15px;font-weight:700;background:rgba(255,255,255,0.1);color:#fff;border:1.5px solid rgba(255,255,255,0.2);text-decoration:none;transition:background 0.15s;}
.fl-btn-secondary:hover{background:rgba(255,255,255,0.16);}
.fl-cta-note{font-size:13px;color:rgba(255,255,255,0.35);}

/* ══════════════════════════════════════
   RESPONSIVE — Tablet ≤1024px
══════════════════════════════════════ */
@media(max-width:1024px){
  .fl-hero-inner{grid-template-columns:1fr 360px;gap:40px;}
  .fl-hero-h1{font-size:42px;}
  .fl-why-step{grid-template-columns:48px 1fr 360px;gap:28px;}
  .fl-why-step-alt{grid-template-columns:48px 360px 1fr;}
  .fl-struct-grid{grid-template-columns:repeat(3,1fr);gap:16px;}
  .fl-struct-card{padding:24px 20px;}
  .fl-proc-grid{grid-template-columns:1fr 1fr;}
  .fl-plan-grid{grid-template-columns:repeat(3,1fr);gap:16px;}
}

/* ══════════════════════════════════════
   RESPONSIVE — Mobile ≤768px
══════════════════════════════════════ */
@media(max-width:768px){
  .fl-container{padding:0 16px;}

  /* Hero */
  .fl-hero{padding:72px 16px 40px;}
  .fl-hero-inner{grid-template-columns:1fr;gap:32px;}
  .fl-hero-h1{font-size:34px;}
  .fl-hero-sub{font-size:15px;margin-bottom:24px;}
  .fl-hero-kpi-card{position:static;}
  .fl-kpi-stats{grid-template-columns:repeat(3,1fr);}

  /* Section titles */
  .fl-section-title{font-size:26px;}
  .fl-section-sub{font-size:14px;margin-bottom:28px;}

  /* Why */
  .fl-why{padding:40px 0;}
  .fl-why-step,.fl-why-step-alt{
    display:flex;flex-direction:column;gap:16px;
    padding:28px 0;
  }
  .fl-why-step-num{font-size:36px;}
  .fl-why-step-title{font-size:18px;}
  .fl-why-compare{grid-template-columns:1fr;}
  .fl-sla-items{grid-template-columns:repeat(3,1fr);gap:8px;}
  .fl-sla-metric{font-size:20px;}
  .fl-flow-steps{gap:6px;}
  .fl-flow-icon{font-size:22px;}

  /* Structure */
  .fl-structure{padding:40px 0;}
  .fl-struct-grid{grid-template-columns:1fr;}

  /* Process */
  .fl-process{padding:40px 0;}
  .fl-proc-grid{grid-template-columns:1fr;border-radius:var(--fl-radius-sm);}
  .fl-proc-step{border-right:none;border-bottom:1.5px solid var(--fl-border);padding:28px 20px;}
  .fl-proc-step:last-child{border-bottom:none;}
  .fl-proc-num{font-size:36px;}

  /* Includes */
  .fl-includes{padding:40px 0;}
  .fl-includes-grid{grid-template-columns:1fr;}

  /* Plan link */
  .fl-plan-link{padding:40px 0;}
  .fl-plan-grid{grid-template-columns:1fr;}

  /* FAQ */
  .fl-faq{padding:40px 0;}
  .fl-faq-q{font-size:14px;padding:16px 18px;}
  .fl-faq-a{padding:0 18px 16px;}

  /* CTA */
  .fl-cta{padding:48px 16px;}
  .fl-cta-title{font-size:28px;}
  .fl-cta-btns{flex-direction:column;align-items:center;}
  .fl-btn-primary,.fl-btn-secondary{width:100%;justify-content:center;max-width:360px;}
}

/* ══════════════════════════════════════
   RESPONSIVE — Small ≤480px
══════════════════════════════════════ */
@media(max-width:480px){
  .fl-hero{padding:64px 14px 32px;}
  .fl-hero-h1{font-size:28px;}
  .fl-hero-sub{font-size:14px;}

  .fl-section-title{font-size:22px;}
  .fl-section-sub{font-size:13px;}

  .fl-why{padding:32px 0;}
  .fl-why-step,.fl-why-step-alt{padding:24px 0;}

  .fl-structure{padding:32px 0;}
  .fl-process{padding:32px 0;}
  .fl-proc-step{padding:22px 16px;}

  .fl-includes{padding:32px 0;}
  .fl-plan-link{padding:32px 0;}
  .fl-faq{padding:32px 0;}

  .fl-cta{padding:40px 14px;}
  .fl-cta-title{font-size:24px;}

  .fl-kpi-stats{grid-template-columns:1fr 1fr;gap:12px;}
  .fl-kpi-num{font-size:20px;}

  .fl-sla-items{grid-template-columns:1fr;}
  .fl-why-return-flow{gap:6px;}
  .fl-return-icon{font-size:20px;}
  .fl-return-label{font-size:10px;}
  .fl-return-arrow{font-size:14px;}
}
