/* =====================================================================
   Algorithm LABS — 통합 디자인 시스템 (brand.css)
   화이트 베이스 + 컬러 액센트로 정보 구분 · Pretendard · SVG 아이콘
   교육/롤플레잉/홈 3페이지 공용
   ===================================================================== */

:root{
  /* base */
  --white:#FFFFFF; --bg:#FFFFFF; --bg-soft:#F6F9FC; --bg-tint:#F1F6FF;
  --ink:#0F1B2D; --ink-soft:#5A677A; --ink-mute:#8A97A9; --line:#E7ECF3;
  /* brand */
  --blue:#2D7FF9; --blue-deep:#1E63D0;
  --mint:#12B8A6; --mint-soft:#2BE5C8;
  --violet:#7C5CFC; --violet-deep:#6A45E8;
  --orange:#FF8A3D; --orange-deep:#E06A1B;
  --pink:#F75590; --green:#2BB573;
  /* gradients — 오퍼링을 색으로 구분 */
  --grad-brand:linear-gradient(115deg,#2D7FF9,#7C5CFC);
  --grad-edu:linear-gradient(120deg,#12B8A6,#2D7FF9);
  --grad-role:linear-gradient(120deg,#7C5CFC,#2D7FF9);
  /* system */
  --radius:18px; --radius-sm:12px; --radius-lg:24px;
  --shadow-sm:0 2px 12px rgba(15,27,45,.05);
  --shadow:0 10px 34px rgba(15,27,45,.08);
  --shadow-lg:0 26px 64px rgba(15,27,45,.12);
  --maxw:1160px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;word-break:keep-all;
}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
section{position:relative;}

/* ===== layout / utility ===== */
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.block{padding:clamp(64px,9vw,112px) 0;}
.block.tint{background:linear-gradient(180deg,var(--bg-soft),#fff);}
.eyebrow{
  display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;letter-spacing:.2px;
  color:var(--blue);background:rgba(45,127,249,.09);padding:7px 15px;border-radius:999px;
  border:1px solid rgba(45,127,249,.22);
}
.grad-text{background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;}
.grad-edu-text{background:var(--grad-edu);-webkit-background-clip:text;background-clip:text;color:transparent;}
.grad-role-text{background:var(--grad-role);-webkit-background-clip:text;background-clip:text;color:transparent;}
.sec-head{text-align:center;max-width:720px;margin:0 auto 54px;}
.sec-head h2{font-size:clamp(27px,4vw,42px);font-weight:800;letter-spacing:-.9px;line-height:1.24;margin:15px 0 14px;}
.sec-head p{font-size:clamp(15px,2vw,17px);color:var(--ink-soft);line-height:1.72;}

/* ===== buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;
  font-size:15px;font-weight:800;cursor:pointer;padding:15px 26px;border-radius:13px;
  border:1.5px solid transparent;white-space:nowrap;
  transition:transform .15s ease,box-shadow .2s ease,background .2s,border-color .2s,color .2s;
}
.btn svg{flex:none;}
.btn-primary{color:#fff;border:none;background:var(--grad-brand);box-shadow:0 10px 26px rgba(45,127,249,.30);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(45,127,249,.4);}
.btn-edu{color:#fff;border:none;background:var(--grad-edu);box-shadow:0 10px 26px rgba(18,184,166,.28);}
.btn-edu:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(18,184,166,.4);}
.btn-role{color:#fff;border:none;background:var(--grad-role);box-shadow:0 10px 26px rgba(124,92,252,.28);}
.btn-role:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(124,92,252,.4);}
.btn-ghost{background:var(--white);color:var(--ink);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px);}
.btn-sm{padding:11px 18px;font-size:14px;border-radius:11px;}
.btn-lg{padding:17px 30px;font-size:16px;}

/* ===== nav (공통 GNB) ===== */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s;}
.nav.scrolled{border-color:var(--line);box-shadow:0 4px 20px rgba(15,27,45,.05);}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:70px;gap:20px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;letter-spacing:-.3px;line-height:1.1;}
.brand .mark{width:34px;height:34px;flex:none;border-radius:9px;display:block;}
.brand-logo{height:28px;width:auto;object-fit:contain;display:block;flex:none;}
.brand small{display:block;font-size:10.5px;font-weight:700;color:var(--ink-mute);letter-spacing:.2px;margin-top:2px;}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{font-size:14.5px;font-weight:700;color:var(--ink-soft);transition:color .15s;}
.nav-links a:hover{color:var(--ink);}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;color:var(--ink);}
@media(max-width:900px){
  .nav-links,.nav-cta .btn-ghost{display:none;}
  .nav-toggle{display:inline-flex;}
}
/* mobile drawer */
.nav-mobile{display:none;flex-direction:column;gap:4px;padding:10px 24px 20px;border-bottom:1px solid var(--line);background:#fff;}
.nav-mobile.open{display:flex;}
.nav-mobile a{padding:12px 6px;font-size:15px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--line);}
.nav-mobile .btn{margin-top:12px;}

/* ===== footer (공통) ===== */
.ft{border-top:1px solid var(--line);padding:52px 0 44px;margin-top:clamp(48px,7vw,90px);background:var(--bg-soft);}
.ft-in{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.ft-brand{max-width:360px;}
.ft-brand .brand{margin-bottom:12px;}
.ft-brand p{font-size:13px;color:var(--ink-soft);line-height:1.7;}
.ft-cols{display:flex;gap:56px;flex-wrap:wrap;}
.ft-col h5{font-size:12px;font-weight:800;color:var(--ink-mute);letter-spacing:.4px;margin-bottom:14px;text-transform:uppercase;}
.ft-col a{display:block;font-size:13.5px;font-weight:600;color:var(--ink-soft);margin-bottom:10px;transition:color .15s;}
.ft-col a:hover{color:var(--blue);}
.ft-meta{margin-top:36px;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-mute);}

/* ===== reveal ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* =====================================================================
   HOME (허브) 전용
   ===================================================================== */
.home-hero{position:relative;overflow:hidden;padding:clamp(64px,10vw,120px) 0 clamp(56px,7vw,92px);text-align:center;}
.home-hero .bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.home-hero .blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;}
.home-hero .blob.b1{width:520px;height:520px;background:radial-gradient(circle,rgba(18,184,166,.42),transparent 68%);top:-160px;left:-120px;}
.home-hero .blob.b2{width:560px;height:560px;background:radial-gradient(circle,rgba(45,127,249,.38),transparent 68%);top:-200px;right:-140px;}
.home-hero .blob.b3{width:440px;height:440px;background:radial-gradient(circle,rgba(124,92,252,.30),transparent 70%);bottom:-220px;left:42%;}
.home-hero .grid-fade{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:48px 48px;opacity:.4;mask-image:radial-gradient(ellipse 78% 60% at 50% 24%,#000,transparent 74%);-webkit-mask-image:radial-gradient(ellipse 78% 60% at 50% 24%,#000,transparent 74%);}
.home-hero .inner{position:relative;z-index:1;max-width:860px;margin:0 auto;}
.home-hero h1{font-size:clamp(34px,6vw,62px);font-weight:800;letter-spacing:-1.6px;line-height:1.12;margin:20px 0 20px;}
.home-hero .sub{font-size:clamp(16px,2.2vw,19px);color:var(--ink-soft);line-height:1.7;max-width:600px;margin:0 auto 32px;}
.home-hero .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
@media(max-width:560px){.home-hero .actions{width:100%;}.home-hero .actions .btn{flex:1;}}

/* trust strip */
.trust{padding:34px 0 10px;}
.trust .lead{text-align:center;font-size:12.5px;font-weight:700;color:var(--ink-mute);letter-spacing:.3px;margin-bottom:20px;}
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:38px;}
.logos span{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:12px;background:var(--bg-soft);border:1px solid var(--line);font-size:13.5px;font-weight:800;color:var(--ink-soft);}
.logos span .d{width:9px;height:9px;padding:0;flex:none;border-radius:50%;display:inline-block;}
/* 기업 로고 티커 (무한 스크롤) */
.ticker{overflow:hidden;position:relative;width:100%;margin-bottom:38px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.ticker-track{display:flex;width:max-content;animation:ticker 36s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.ticker-item{display:flex;align-items:center;gap:9px;padding:12px 30px;white-space:nowrap;border-right:1px solid var(--line);transition:opacity .2s;}
.ticker-item img{height:24px;width:auto;max-width:74px;object-fit:contain;opacity:.55;flex-shrink:0;}
.ticker-item span{font-size:14px;font-weight:800;color:var(--ink-mute);}
.ticker-item:hover img{opacity:.9;}
.ticker-item:hover span{color:var(--blue);}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none;}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;max-width:900px;margin:0 auto;}
.statc .n{font-size:clamp(30px,4.6vw,50px);font-weight:800;letter-spacing:-1.4px;line-height:1;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent;}
.statc .l{font-size:13px;font-weight:700;color:var(--ink-soft);margin-top:10px;line-height:1.5;}
@media(max-width:680px){.stats{grid-template-columns:1fr 1fr;gap:30px 16px;}}

/* two pillars */
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.pillar{position:relative;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-sm);padding:34px 32px 30px;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.pillar:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.pillar::before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;}
.pillar.edu::before{background:var(--grad-edu);}
.pillar.role::before{background:var(--grad-role);}
.pillar .tag{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:12px;font-weight:800;padding:6px 13px;border-radius:999px;margin-bottom:18px;}
.pillar.edu .tag{color:var(--mint);background:rgba(18,184,166,.1);}
.pillar.role .tag{color:var(--violet);background:rgba(124,92,252,.1);}
.pillar .picon{width:54px;height:54px;border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:18px;}
.pillar.edu .picon{background:var(--grad-edu);}
.pillar.role .picon{background:var(--grad-role);}
.pillar h3{font-size:23px;font-weight:800;letter-spacing:-.5px;margin-bottom:9px;}
.pillar p{font-size:14.5px;color:var(--ink-soft);line-height:1.66;margin-bottom:18px;}
.pillar .chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px;}
.pillar .chips span{font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line);color:var(--ink-soft);}
.pillar .go{margin-top:auto;align-self:flex-start;}
@media(max-width:820px){.pillars{grid-template-columns:1fr;}}

/* why cards */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.wcard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;}
.wcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(45,127,249,.28);}
.wcard .wi{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.wcard h4{font-size:16.5px;font-weight:800;letter-spacing:-.3px;margin-bottom:8px;}
.wcard p{font-size:13.5px;color:var(--ink-soft);line-height:1.62;}
@media(max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.why-grid{grid-template-columns:1fr;}}

/* testimonials / cases */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.tst{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px;}
.tst .quote{font-size:14.5px;color:var(--ink);line-height:1.7;font-weight:500;}
.tst .who{display:flex;align-items:center;gap:11px;margin-top:auto;}
.tst .who .av{width:38px;height:38px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;}
.tst .who b{display:block;font-size:13.5px;font-weight:800;}
.tst .who span{font-size:12px;color:var(--ink-mute);}
@media(max-width:900px){.tst-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto;}}

/* AI Canvas band */
.canvas-band{border-radius:var(--radius-lg);overflow:hidden;position:relative;background:linear-gradient(120deg,#0F1B2D,#182a44);color:#fff;padding:clamp(34px,5vw,56px);display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;}
.canvas-band::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 20%,rgba(45,127,249,.3),transparent 52%),radial-gradient(circle at 12% 90%,rgba(18,184,166,.22),transparent 48%);}
.canvas-band>*{position:relative;z-index:1;}
.canvas-band .ck{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:#9fd6ff;background:rgba(45,127,249,.16);border:1px solid rgba(45,127,249,.3);padding:6px 13px;border-radius:999px;margin-bottom:16px;}
.canvas-band h3{font-size:clamp(21px,3vw,30px);font-weight:800;letter-spacing:-.6px;line-height:1.32;margin-bottom:13px;}
.canvas-band p{font-size:14.5px;line-height:1.72;color:rgba(255,255,255,.82);}
.canvas-mini{display:flex;flex-direction:column;gap:11px;}
.canvas-mini .row{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:14px 16px;}
.canvas-mini .row .ic{width:34px;height:34px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;}
.canvas-mini .row b{font-size:13.5px;font-weight:800;display:block;}
.canvas-mini .row span{font-size:12px;color:rgba(255,255,255,.7);}
@media(max-width:820px){.canvas-band{grid-template-columns:1fr;}}

/* contact (오퍼링별 분리) */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:940px;margin:0 auto;}
.ccard{border-radius:var(--radius-lg);padding:34px 30px;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;}
.ccard.edu{background:var(--grad-edu);}
.ccard.role{background:var(--grad-role);}
.ccard::before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.14);top:-80px;right:-50px;}
.ccard h3{font-size:22px;font-weight:800;letter-spacing:-.4px;margin-bottom:10px;position:relative;}
.ccard p{font-size:14px;line-height:1.65;opacity:.94;margin-bottom:24px;position:relative;}
.ccard .btn{background:#fff;align-self:flex-start;margin-top:auto;position:relative;}
.ccard.edu .btn{color:var(--mint);}
.ccard.role .btn{color:var(--violet);}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr;}}

/* =====================================================================
   HOME — 3대 솔루션 / Blueprint / 레퍼런스 / 상담 (카피 반영)
   ===================================================================== */
/* SOLUTIONS 3박스 */
.sol-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.solbox{position:relative;background:#fff;border:1px solid var(--line);border-top:5px solid var(--pa,var(--blue));border-radius:var(--radius-lg);padding:30px 28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;}
.solbox:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.solbox .sk{font-size:11.5px;font-weight:800;letter-spacing:.5px;color:var(--pa,var(--blue));margin-bottom:14px;}
.solbox .sic{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:16px;background:var(--pa,var(--blue));}
.solbox h3{font-size:21px;font-weight:800;letter-spacing:-.4px;margin-bottom:18px;line-height:1.3;}
.solbox .srow{display:flex;gap:11px;margin-bottom:13px;font-size:13.5px;line-height:1.56;}
.solbox .srow .sl{flex:none;width:52px;font-size:11px;font-weight:800;color:var(--pa,var(--blue));padding-top:2px;letter-spacing:.2px;}
.solbox .srow .sv{color:var(--ink-soft);}
.solbox .srow .sv b{color:var(--ink);font-weight:700;}
.solbox .go-row{margin-top:auto;padding-top:20px;display:flex;align-items:center;gap:13px;}
.solbox .go-thumb{position:relative;width:140px;height:104px;border-radius:14px;flex:none;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,var(--pa,var(--blue)),#fff);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.92);box-shadow:var(--shadow-sm);}
.solbox .go-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.solbox .go{align-self:center;font-size:13.5px;font-weight:800;display:inline-flex;align-items:center;gap:6px;color:var(--pa,var(--blue));}
.solbox .go svg{transition:transform .15s;}
.solbox:hover .go svg{transform:translateX(3px);}
@media(max-width:900px){.sol-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto;}}

/* Blueprint — 4단계 프로세스 */
.pflow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:p;margin-bottom:clamp(34px,5vw,52px);}
.pstep{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;box-shadow:var(--shadow-sm);}
.pstep .pn{font-size:11px;font-weight:800;letter-spacing:.4px;color:var(--blue);margin-bottom:9px;}
.pstep h4{font-size:15px;font-weight:800;letter-spacing:-.3px;margin-bottom:7px;}
.pstep p{font-size:12.5px;color:var(--ink-soft);line-height:1.55;}
.pstep .par{position:absolute;top:26px;right:-12px;z-index:2;color:#C9D2E0;background:#fff;border-radius:50%;}
.pstep:last-child .par{display:none;}
@media(max-width:880px){.pflow{grid-template-columns:1fr 1fr;}.pstep .par{display:none;}}
@media(max-width:520px){.pflow{grid-template-columns:1fr;}}

/* ROI × 실행가능성 매트릭스 */
.roi{max-width:760px;margin:0 auto;}
.roi-head{text-align:center;font-size:13px;font-weight:700;color:var(--ink-soft);margin-bottom:16px;}
.roi-axis-y{display:inline-block;transform:rotate(-90deg);white-space:nowrap;}
.roi-frame{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:stretch;}
.roi-ylab{display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:800;color:var(--ink-mute);}
.roi-quad{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;}
.rq{border:1px solid var(--line);border-radius:14px;padding:15px 15px 13px;background:var(--bg-soft);min-height:120px;}
.rq.target{background:linear-gradient(150deg,rgba(45,127,249,.09),rgba(18,184,166,.07));border-color:rgba(45,127,249,.3);}
.rq .rqt{font-size:11.5px;font-weight:800;margin-bottom:9px;display:flex;align-items:center;gap:6px;}
.rq.target .rqt{color:var(--blue);}
.rq .rqt .rqd{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;}
.rq .chip{display:inline-block;font-size:11px;font-weight:700;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 9px;margin:0 4px 5px 0;}
.rq.target .chip{border-color:rgba(45,127,249,.28);color:var(--ink);}
.roi-xlab{text-align:center;font-size:11.5px;font-weight:800;color:var(--ink-mute);margin-top:8px;padding-left:32px;}
@media(max-width:600px){.roi-quad{grid-template-columns:1fr;grid-template-rows:none;}.roi-frame{grid-template-columns:1fr;}.roi-ylab{display:none;}.roi-xlab{padding-left:0;}}

/* 가로 플로우 (아바타/PoC 프로세스) */
.flow{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:10px;}
.flow .fnode{flex:1 1 0;min-width:120px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px 12px;text-align:center;box-shadow:var(--shadow-sm);}
.flow .fnode b{display:block;font-size:13px;font-weight:800;letter-spacing:-.2px;}
.flow .fnode span{display:block;font-size:11px;color:var(--ink-mute);margin-top:3px;}
.flow .farrow{display:flex;align-items:center;color:#C9D2E0;flex:none;}
@media(max-width:720px){.flow{flex-direction:column;}.flow .farrow{transform:rotate(90deg);align-self:center;}}

/* 특장점 5 */
.feat5{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.feat5 .fc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;}
.feat5 .fc:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(45,127,249,.28);}
.feat5 .fc .fi{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:15px;}
.feat5 .fc h4{font-size:16.5px;font-weight:800;letter-spacing:-.3px;margin-bottom:8px;}
.feat5 .fc p{font-size:13.5px;color:var(--ink-soft);line-height:1.62;}
@media(max-width:900px){.feat5{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.feat5{grid-template-columns:1fr;}}

/* 상담 폼 (홈 통합 문의) */
.simple-form{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:clamp(24px,4vw,40px);}
.sf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.sf-field{margin-bottom:14px;}
.sf-field label{display:block;font-size:13px;font-weight:800;margin-bottom:7px;}
.sf-field label .req{color:var(--blue);margin-left:3px;}
.sf-field input,.sf-field textarea{width:100%;font-family:inherit;font-size:14.5px;color:var(--ink);border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;background:var(--bg-soft);transition:border-color .15s,box-shadow .15s,background .15s;}
.sf-field textarea{resize:vertical;min-height:96px;line-height:1.6;}
.sf-field input:focus,.sf-field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(45,127,249,.1);}
.sf-field input::placeholder,.sf-field textarea::placeholder{color:#AEB7C6;}
.sf-submit{margin-top:8px;display:flex;flex-direction:column;align-items:center;gap:11px;}
.sf-submit .btn{width:100%;max-width:340px;padding:16px;font-size:16px;}
.sf-fine{font-size:12px;color:var(--ink-mute);text-align:center;line-height:1.6;}
.sf-ok{display:none;text-align:center;padding:30px 10px;}
.sf-ok.on{display:block;animation:fadeUp .4s ease;}
.sf-ok .badge{width:60px;height:60px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;background:var(--grad-brand);}
.sf-ok h3{font-size:20px;font-weight:800;margin-bottom:7px;}
.sf-ok p{font-size:14px;color:var(--ink-soft);line-height:1.7;}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@media(max-width:600px){.sf-row{grid-template-columns:1fr;}}

/* 반응형 그리드 유틸 (인라인 grid-template-columns 대체) */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:760px){.grid3{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto;}}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:900px){.grid4{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.grid4{grid-template-columns:1fr;}}

/* 하단 플로팅 배너 (롤플레잉 유도) — 화이트 글래스 바 */
.float-banner{position:fixed;left:0;right:0;bottom:0;z-index:90;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(15,27,45,.09);transform:translateY(110%);transition:transform .45s cubic-bezier(.22,1,.36,1);}
.float-banner::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-role);}
.float-banner.show{transform:none;}
.float-banner .fb-in{max-width:var(--maxw);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:15px;}
.fb-ic{width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;}
.fb-ic img{height:34px;width:auto;object-fit:contain;display:block;}
.fb-txt{flex:1;font-size:14.5px;font-weight:800;color:var(--ink);line-height:1.4;letter-spacing:-.2px;}
.fb-txt b{font-weight:800;}
.fb-txt span{font-weight:600;color:var(--ink-soft);}
.float-banner .btn{flex:none;}
.fb-close{background:none;border:none;color:var(--ink-mute);cursor:pointer;flex:none;padding:4px 6px;font-size:22px;line-height:1;}
.fb-close:hover{color:var(--ink);}
@media(max-width:640px){
  .float-banner .fb-in{padding:11px 15px;gap:11px;}
  .fb-ic{display:none;}
  .fb-txt{font-size:12.5px;}
  .fb-txt span{display:none;}
  .float-banner .btn{padding:10px 13px;font-size:13px;}
}
@media(prefers-reduced-motion:reduce){.float-banner{transition:none;}}
