@import url('https://cdn.jsdelivr.net/gh/webfontworld/gmarket/GmarketSans.css');
:root{
  --green:#13c57f; --green-d:#0aa766; --green-l:#e8faf1; --mint:#5fe6a8;
  --ink:#0c1a12; --body:#3a4a41; --muted:#7c8b82;
  --line:#e3ebe7; --bg:#f4f8f6; --soft:#eef4f1; --forest:#08130d;
  --accent:#13c57f; --accent-d:#0aa766; --accent-l:#e8faf1; --accent-mint:#5fe6a8;
  --radius:24px; --shadow:0 24px 60px rgba(10,80,48,.16); --maxw:1180px;
}
/* 인플루언서 페이지 = 보라/코랄 액센트로 분기 차별화(브랜드 그린은 유지) */
body.role-inf{
  --accent:#7c5cff; --accent-d:#6a47ff; --accent-l:#efeaff; --accent-mint:#b9a9ff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Pretendard',-apple-system,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
/* === 예쁜 디스플레이 폰트(Gmarket Sans) — 헤딩 전면 적용, Pretendard 폴백 === */
h1,h2,h3,.hero h1,.choose h1,.sec-head h2,.agency h2,.final h2,.rolecard h2,.step h3,.wf-card h3,.modal .m-body h3,.hero-badge,.eyebrow,.logo,.foot-logo,.choose .c-logo,.choose .c-logo span{font-family:'GmarketSansMedium','Pretendard',-apple-system,sans-serif}
.hero h1,.choose h1,.sec-head h2,.agency h2,.final h2,.rolecard h2{font-family:'GmarketSansBold','Pretendard',-apple-system,sans-serif}

img,video{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border:none;cursor:pointer;border-radius:14px;transition:.2s;font-size:16px;white-space:nowrap}
.btn-green{background:var(--accent);color:#fff;padding:15px 28px;box-shadow:0 12px 28px rgba(19,197,127,.34)}
.btn-green:hover{background:var(--accent-d);transform:translateY(-2px)}
.btn-dark{background:var(--ink);color:#fff;padding:15px 28px}
.btn-dark:hover{transform:translateY(-2px);opacity:.92}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1.5px solid rgba(255,255,255,.4);padding:14px 24px;backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.2)}
.eyebrow{font-weight:800;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--accent-d)}

/* reveal — 스크롤 시 떠오름 */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

/* HEADER */
header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:21px}
.logo img{width:36px;height:36px;border-radius:10px}
.logo b{color:var(--accent-d)}
.logo .role-pill{font-size:12px;font-weight:800;color:var(--accent-d);background:var(--accent-l);padding:3px 9px;border-radius:999px;margin-left:2px}
.nav-links{display:flex;gap:30px;font-weight:600;color:var(--body)}
.nav-links a:hover{color:var(--accent-d)}
.nav-cta{display:flex;gap:10px;align-items:center}
.nav .btn{padding:10px 18px;font-size:14.5px}
.nav .switch{font-weight:700;font-size:13.5px;color:var(--body);padding:8px 14px;border:1.5px solid var(--line);border-radius:999px}
.nav .switch:hover{border-color:var(--accent);color:var(--accent-d)}
@media(max-width:900px){.nav-links{display:none}.nav-cta .btn-ghost2{display:none}}

/* HERO */
.hero{position:relative;min-height:90vh;display:flex;align-items:center;color:#fff;overflow:hidden;background:#06120c}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6;z-index:1}
.hero-fallback{position:absolute;inset:0;z-index:0;background:
  radial-gradient(1200px 600px at 75% 15%,rgba(95,230,168,.45),transparent 60%),
  radial-gradient(900px 700px at 15% 85%,rgba(19,197,127,.4),transparent 60%),
  linear-gradient(160deg,#06150e 0%,#0a2b1c 55%,#06150e 100%);
  animation:heroShift 14s ease-in-out infinite alternate}
body.role-inf .hero-fallback{background:
  radial-gradient(1200px 600px at 75% 15%,rgba(185,169,255,.45),transparent 60%),
  radial-gradient(900px 700px at 15% 85%,rgba(124,92,255,.42),transparent 60%),
  linear-gradient(160deg,#0c0a1e 0%,#1c1340 55%,#0c0a1e 100%)}
@keyframes heroShift{0%{filter:hue-rotate(0deg) brightness(1)}100%{filter:hue-rotate(-12deg) brightness(1.12)}}
.hero-grain{position:absolute;inset:0;z-index:2;opacity:.4;background:
  radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.18),transparent),
  radial-gradient(2px 2px at 70% 60%,rgba(255,255,255,.12),transparent),
  radial-gradient(1.5px 1.5px at 40% 80%,rgba(255,255,255,.14),transparent),
  radial-gradient(1.5px 1.5px at 85% 25%,rgba(255,255,255,.12),transparent);
  background-size:300px 300px;animation:floatGrain 20s linear infinite}
@keyframes floatGrain{0%{transform:translateY(0)}100%{transform:translateY(-300px)}}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,12,8,.55) 0%,rgba(4,12,8,.32) 40%,rgba(4,12,8,.82) 100%)}
.hero-inner{position:relative;z-index:2;padding:96px 0}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:999px;font-weight:700;font-size:14px;backdrop-filter:blur(8px)}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--accent-mint);box-shadow:0 0 12px var(--accent-mint)}
.hero h1{font-size:clamp(34px,6vw,64px);line-height:1.12;font-weight:800;letter-spacing:-1.5px;margin:22px 0 18px}
.hero h1 .hl{color:var(--accent-mint)}
.hero .sub{font-size:clamp(16px,2.2vw,20px);color:rgba(255,255,255,.86);max-width:620px;margin-bottom:34px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-meta{margin-top:26px;display:flex;gap:22px;flex-wrap:wrap;color:rgba(255,255,255,.7);font-weight:600;font-size:14px}
.hero-meta b{color:#fff}
.scrolltip{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.6);font-size:12px;font-weight:600;letter-spacing:1px;animation:bob 2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* MARQUEE */
.marquee{background:var(--forest);color:#cdeadd;padding:18px 0;overflow:hidden;white-space:nowrap}
body.role-inf .marquee{color:#d8cfff}
.marquee-track{display:inline-flex;gap:40px;animation:scrollx 28s linear infinite;font-weight:700;font-size:15px}
.marquee-track span{opacity:.85}.marquee-track .sep{color:var(--accent)}
@keyframes scrollx{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* SECTION base */
section{padding:100px 0}
.sec-head{max-width:740px;margin:0 auto 56px;text-align:center}
.sec-head h2{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-1px;line-height:1.25;margin:14px 0}
.sec-head p{font-size:17px;color:var(--body)}

/* HOW IT WORKS */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.step:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.step .shot{background:linear-gradient(160deg,#0a2b1c,#0e3a26);padding:26px 26px 0;text-align:center}
body.role-inf .step .shot{background:linear-gradient(160deg,#1c1340,#2a1d5c)}
.step .shot img{border-radius:14px 14px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.18);margin:0 auto}
.step .body{padding:26px}
.step .no{font-weight:800;color:var(--accent-d);font-size:14px;letter-spacing:1px}
.step h3{font-size:21px;font-weight:800;margin:6px 0 10px}
.step p{color:var(--body);font-size:15px;margin-bottom:16px}
.step a{font-weight:700;color:var(--accent-d)}
@media(max-width:900px){.steps{grid-template-columns:1fr}}

/* WORKFLOWS GRID + FILTER */
.wf{background:var(--soft)}
.filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:36px}
.chip{border:1.5px solid var(--line);background:#fff;color:var(--body);font-weight:700;font-size:14px;padding:9px 18px;border-radius:999px;cursor:pointer;transition:.18s}
.chip:hover{border-color:var(--accent)}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.wf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wf-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;transition:.2s;cursor:pointer;text-align:left}
.wf-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.wf-card .tag{display:inline-block;font-size:12px;font-weight:800;color:var(--accent-d);background:var(--accent-l);padding:4px 10px;border-radius:8px;margin-bottom:12px}
.wf-card h3{font-size:17px;font-weight:800;margin-bottom:8px}
.wf-card p{font-size:14px;color:var(--muted);line-height:1.6}
.wf-card .more{margin-top:14px;font-size:13px;font-weight:800;color:var(--accent-d);display:inline-flex;align-items:center;gap:5px}
.wf-card .more .ar{transition:.2s}.wf-card:hover .more .ar{transform:translateX(4px)}
@media(max-width:900px){.wf-grid{grid-template-columns:1fr}}

/* FEATURE POPUP MODAL */
.modal-bg{position:fixed;inset:0;background:rgba(6,18,12,.62);backdrop-filter:blur(4px);z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:.25s}
.modal-bg.on{opacity:1;pointer-events:auto}
.modal{background:#fff;border-radius:24px;max-width:860px;width:100%;max-height:90vh;overflow:hidden;display:grid;grid-template-columns:.92fr 1.08fr;transform:translateY(20px) scale(.98);transition:.3s cubic-bezier(.2,.7,.2,1);box-shadow:0 40px 100px rgba(0,0,0,.4)}
.modal-bg.on .modal{transform:none}
.modal .m-shot{background:linear-gradient(160deg,#0a2b1c,#0e3a26);display:flex;align-items:center;justify-content:center;padding:30px}
body.role-inf .modal .m-shot{background:linear-gradient(160deg,#1c1340,#2a1d5c)}
.modal .m-shot img{border-radius:18px;box-shadow:0 24px 50px rgba(0,0,0,.32);max-height:62vh}
.modal .m-body{padding:34px 34px 30px;overflow-y:auto}
.modal .m-tag{display:inline-block;font-size:12px;font-weight:800;color:var(--accent-d);background:var(--accent-l);padding:4px 11px;border-radius:8px}
.modal .m-body h3{font-size:25px;font-weight:850;letter-spacing:-.5px;margin:12px 0 6px;line-height:1.25}
.modal .m-lead{color:var(--body);font-size:15.5px;margin-bottom:22px}
.modal .m-row{margin-bottom:18px}
.modal .m-row .k{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px;color:var(--ink);margin-bottom:5px}
.modal .m-row .k .ic{width:24px;height:24px;border-radius:7px;background:var(--accent-l);color:var(--accent-d);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.modal .m-row .v{color:var(--body);font-size:14.5px;line-height:1.65;padding-left:32px}
.modal .m-x{position:absolute;top:18px;right:20px;width:38px;height:38px;border-radius:12px;border:none;background:rgba(255,255,255,.16);color:#fff;font-size:20px;cursor:pointer;backdrop-filter:blur(6px);z-index:2}
.modal .m-x:hover{background:rgba(255,255,255,.3)}
.modal .m-cta{margin-top:8px;display:flex;gap:10px;flex-wrap:wrap}
.modal .m-cta .btn{font-size:14px;padding:12px 20px}
@media(max-width:760px){.modal{grid-template-columns:1fr;max-height:92vh}.modal .m-shot{padding:24px 24px 0}.modal .m-shot img{max-height:34vh}.modal .m-x{background:rgba(0,0,0,.3)}}

/* MEDIA WALL — 시네마틱 움직이는 갤러리 (AWC식) */
.wall{background:var(--forest);color:#fff;overflow:hidden;position:relative}
body.role-inf .wall{background:#0c0a1e}
.wall .sec-head h2{color:#fff}.wall .sec-head p{color:rgba(255,255,255,.7)}
.wall-rows{display:flex;flex-direction:column;gap:18px;margin-top:10px}
.wall-row{display:flex;gap:18px;width:max-content;animation:wallL 42s linear infinite}
.wall-row.r2{animation:wallR 50s linear infinite}
@keyframes wallL{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes wallR{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}
.wall-tile{flex:0 0 auto;width:188px;height:392px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#0a2b1c;box-shadow:0 20px 50px rgba(0,0,0,.35);position:relative}
.wall-tile img,.wall-tile video{width:100%;height:100%;object-fit:cover}
.wall-tile .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 14px 12px;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent);font-size:12.5px;font-weight:700;color:#fff}
.wall::before,.wall::after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:3;pointer-events:none}
.wall::before{left:0;background:linear-gradient(90deg,var(--forest),transparent)}
.wall::after{right:0;background:linear-gradient(270deg,var(--forest),transparent)}
body.role-inf .wall::before{background:linear-gradient(90deg,#0c0a1e,transparent)}
body.role-inf .wall::after{background:linear-gradient(270deg,#0c0a1e,transparent)}

/* AGENCY (대행) split */
.agency{background:var(--forest);color:#fff}
.agency-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.agency .eyebrow{color:var(--accent-mint)}
.agency h2{font-size:clamp(26px,3.6vw,38px);font-weight:800;letter-spacing:-.8px;line-height:1.28;margin:14px 0 16px}
.agency p.lead{color:rgba(255,255,255,.82);font-size:17px;margin-bottom:24px}
.agency ul{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.agency li{display:flex;gap:12px;align-items:flex-start;color:rgba(255,255,255,.9);font-size:15.5px}
.agency li .ck{flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:rgba(95,230,168,.18);color:var(--accent-mint);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;margin-top:2px}
.agency-card{background:linear-gradient(160deg,rgba(255,255,255,.08),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:34px;backdrop-filter:blur(8px)}
.agency-card h3{font-size:20px;margin-bottom:6px}
.agency-card .price{font-size:14px;color:rgba(255,255,255,.7);margin-bottom:20px}
.agency-svc{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.agency-svc div{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12);font-size:15px}
.agency-svc span:last-child{color:var(--accent-mint);font-weight:700}
@media(max-width:900px){.agency-grid{grid-template-columns:1fr;gap:30px}}

/* FAQ */
.faq{max-width:820px;margin:0 auto}
.qa{border-bottom:1px solid var(--line)}
.qa button{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:24px 0;font-size:18px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:inherit}
.qa .ans{max-height:0;overflow:hidden;transition:max-height .3s ease;color:var(--body);font-size:15.5px}
.qa.open .ans{max-height:420px}
.qa .ans div{padding:0 0 24px}
.qa .ic{flex:0 0 auto;color:var(--accent-d);font-size:22px;transition:.25s}
.qa.open .ic{transform:rotate(45deg)}

/* FINAL CTA */
.final{background:linear-gradient(150deg,var(--accent) 0%,var(--accent-d) 100%);color:#fff;text-align:center}
.final h2{font-size:clamp(28px,4.4vw,46px);font-weight:800;letter-spacing:-1px;margin-bottom:14px}
.final p{font-size:18px;opacity:.95;margin-bottom:32px}
.final .hero-cta{justify-content:center}
.final .btn-white{background:#fff;color:var(--ink);padding:16px 30px;border-radius:14px;font-weight:700}
.final .btn-white:hover{transform:translateY(-2px)}
.final .btn-outline{background:transparent;border:1.5px solid rgba(255,255,255,.6);color:#fff;padding:15px 28px;border-radius:14px;font-weight:700}

/* FOOTER */
footer{background:#081109;color:#9fb3a8;padding:54px 0 44px;font-size:14px}
.foot-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;border-bottom:1px solid #18271e;padding-bottom:28px;margin-bottom:24px}
.foot-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:18px}
.foot-logo img{width:30px;height:30px;border-radius:8px}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;font-weight:600}
.foot-links a:hover{color:#fff}
.biz{line-height:1.9;color:#7e928a}.biz b{color:#c7d6cd;font-weight:600}
.copy{margin-top:18px;color:#5f7268;font-size:13px}

/* CHOOSER (진입 선택) */
.choose{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:40px 20px;overflow:hidden}
.choose .c-inner{position:relative;z-index:2;width:100%;max-width:960px}
.choose .c-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:22px;margin-bottom:26px}
.choose .c-logo img{width:38px;height:38px;border-radius:11px}
.choose h1{font-size:clamp(30px,5.4vw,52px);font-weight:850;letter-spacing:-1.3px;line-height:1.16;margin-bottom:14px}
.choose h1 .hl{color:var(--mint)}
.choose .c-sub{font-size:clamp(15px,2vw,19px);color:rgba(255,255,255,.82);margin-bottom:46px}
.choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;text-align:left}
.rolecard{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:26px;padding:36px 32px;backdrop-filter:blur(10px);transition:.28s cubic-bezier(.2,.7,.2,1);overflow:hidden}
.rolecard:hover{transform:translateY(-8px);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}
.rolecard .glow{position:absolute;inset:0;opacity:0;transition:.3s;background:radial-gradient(400px 300px at 70% 0%,rgba(95,230,168,.4),transparent 60%)}
.rolecard.inf .glow{background:radial-gradient(400px 300px at 70% 0%,rgba(185,169,255,.45),transparent 60%)}
.rolecard:hover .glow{opacity:1}
.rolecard .ic{position:relative;width:62px;height:62px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:30px;background:rgba(95,230,168,.16);margin-bottom:20px}
.rolecard.inf .ic{background:rgba(185,169,255,.18)}
.rolecard h2{position:relative;font-size:25px;font-weight:850;margin-bottom:8px}
.rolecard p{position:relative;color:rgba(255,255,255,.78);font-size:15px;line-height:1.6;margin-bottom:22px;min-height:48px}
.rolecard .go{position:relative;display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:15px;color:var(--mint)}
.rolecard.inf .go{color:#b9a9ff}
.rolecard .go .ar{transition:.2s}.rolecard:hover .go .ar{transform:translateX(5px)}
.choose .c-foot{position:relative;z-index:2;margin-top:38px;color:rgba(255,255,255,.55);font-size:13px}
.choose .c-foot a{color:rgba(255,255,255,.8);font-weight:600}
@media(max-width:760px){.choose-grid{grid-template-columns:1fr}}

/* =================================================================
   LIGHT GLOW THEME — 밝은 시네마틱(그린×퍼플 글로우). 다크 섹션 라이트화.
   ================================================================= */
.hero{color:var(--ink);background:#e8f2ee}
.hero-bg video{opacity:.14}
.hero-fallback{background:
  radial-gradient(1150px 600px at 82% 2%,rgba(19,197,127,.46),transparent 58%),
  radial-gradient(880px 700px at 4% 98%,rgba(124,92,255,.34),transparent 60%),
  linear-gradient(165deg,#eef7f2 0%,#e3f1ea 44%,#e7e0fb 100%)}
body.role-inf .hero-fallback{background:
  radial-gradient(1150px 600px at 82% 2%,rgba(124,92,255,.46),transparent 58%),
  radial-gradient(880px 700px at 4% 98%,rgba(19,197,127,.30),transparent 60%),
  linear-gradient(165deg,#efeafb 0%,#e7e0fb 44%,#e3f1ea 100%)}
@keyframes heroShift{0%{filter:hue-rotate(0deg) brightness(1)}100%{filter:hue-rotate(8deg) brightness(1.04)}}
.hero-grain{opacity:.55;background:
  radial-gradient(2px 2px at 20% 30%,rgba(19,197,127,.16),transparent),
  radial-gradient(2px 2px at 70% 60%,rgba(124,92,255,.13),transparent),
  radial-gradient(1.5px 1.5px at 40% 80%,rgba(19,197,127,.11),transparent),
  radial-gradient(1.5px 1.5px at 85% 25%,rgba(124,92,255,.11),transparent);
  background-size:300px 300px}
.hero-scrim{background:linear-gradient(180deg,rgba(232,242,238,0) 0%,rgba(232,242,238,0) 62%,rgba(232,242,238,.55) 100%)}
.hero-badge{background:rgba(255,255,255,.72);border:1px solid var(--line);color:var(--ink);box-shadow:0 6px 18px rgba(10,80,48,.08)}
.hero h1{color:var(--ink)} .hero h1 .hl{color:var(--accent-d)}
.hero .sub{color:var(--body)}
.hero-meta{color:var(--muted)} .hero-meta b{color:var(--ink)}
.scrolltip{color:var(--muted)}
.btn-ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{background:#fff;border-color:var(--accent);color:var(--accent-d)}

.marquee{background:var(--accent-l);color:var(--accent-d);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
body.role-inf .marquee{background:var(--accent-l);color:var(--accent-d)}

.step .shot{background:linear-gradient(160deg,#eafdf4,#f1ecff)}
body.role-inf .step .shot{background:linear-gradient(160deg,#f1ecff,#eafdf4)}
.modal .m-shot{background:linear-gradient(160deg,#eafdf4,#f1ecff)}
body.role-inf .modal .m-shot{background:linear-gradient(160deg,#f1ecff,#eafdf4)}
.modal .m-x{background:rgba(10,26,18,.06);color:var(--ink)}
.modal .m-x:hover{background:rgba(10,26,18,.12)}

.wall{background:linear-gradient(165deg,#eaf4ef,#e7e0fb);color:var(--ink)}
body.role-inf .wall{background:linear-gradient(165deg,#efeafb,#e3f1ea)}
.wall .sec-head h2{color:var(--ink)} .wall .sec-head p{color:var(--body)}
.wall-tile{border:1px solid var(--line);background:#eafdf4;box-shadow:0 18px 44px rgba(10,80,48,.14)}
.wall::before{background:linear-gradient(90deg,#eaf4ef,transparent)}
.wall::after{background:linear-gradient(270deg,#e7e0fb,transparent)}
body.role-inf .wall::before{background:linear-gradient(90deg,#f7f4ff,transparent)}
body.role-inf .wall::after{background:linear-gradient(270deg,#eafdf4,transparent)}

.agency{background:linear-gradient(165deg,#eaf4ef,#e7e0fb);color:var(--ink)}
body.role-inf .agency{background:linear-gradient(165deg,#efeafb,#e3f1ea)}
.agency .eyebrow{color:var(--accent-d)}
.agency p.lead{color:var(--body)}
.agency li{color:var(--ink)}
.agency li .ck{background:var(--accent-l);color:var(--accent-d)}
.agency-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.agency-card .price{color:var(--muted)}
.agency-svc div{border-bottom:1px solid var(--line)}
.agency-svc span:last-child{color:var(--accent-d)}

footer{background:var(--soft);color:var(--muted);border-top:1px solid var(--line)}
.foot-top{border-bottom:1px solid var(--line)}
.foot-logo{color:var(--ink)}
.foot-links a:hover{color:var(--accent-d)}
.biz{color:var(--muted)} .biz b{color:var(--body)}
.copy{color:var(--muted)}

/* 진입화면(index)은 원래 다크 시네마틱 유지 — 라이트 오버라이드보다 우선(.choose 스코프) */
.choose{color:#fff}
.choose .c-logo b{color:var(--mint)!important}
.choose .hero-fallback{background:
  radial-gradient(1200px 600px at 75% 15%,rgba(95,230,168,.45),transparent 60%),
  radial-gradient(900px 700px at 15% 85%,rgba(124,92,255,.34),transparent 60%),
  linear-gradient(160deg,#06150e 0%,#0a2b1c 55%,#06150e 100%)}
.choose .hero-grain{opacity:.4;background:
  radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.18),transparent),
  radial-gradient(2px 2px at 70% 60%,rgba(255,255,255,.12),transparent),
  radial-gradient(1.5px 1.5px at 40% 80%,rgba(255,255,255,.14),transparent),
  radial-gradient(1.5px 1.5px at 85% 25%,rgba(255,255,255,.12),transparent);
  background-size:300px 300px}
.choose .hero-scrim{background:linear-gradient(180deg,rgba(4,12,8,.55) 0%,rgba(4,12,8,.32) 40%,rgba(4,12,8,.82) 100%)}
.choose h1{color:#fff} .choose h1 .hl{color:var(--mint)}
.choose .c-sub{color:rgba(255,255,255,.82)}
.rolecard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);box-shadow:none}
.rolecard:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);box-shadow:none}
.rolecard .glow{background:radial-gradient(400px 300px at 70% 0%,rgba(95,230,168,.4),transparent 60%)}
.rolecard.inf .glow{background:radial-gradient(400px 300px at 70% 0%,rgba(185,169,255,.45),transparent 60%)}
.rolecard .ic{background:rgba(95,230,168,.16)} .rolecard.inf .ic{background:rgba(185,169,255,.18)}
.rolecard h2{color:#fff} .rolecard p{color:rgba(255,255,255,.78)}
.rolecard .go{color:var(--mint)} .rolecard.inf .go{color:#b9a9ff}
.choose .c-foot{color:rgba(255,255,255,.55)} .choose .c-foot a{color:rgba(255,255,255,.8)}

/* 새 에셋: 히어로 배경 사진(은은) + 생태계 쇼케이스 */
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;z-index:0;mix-blend-mode:luminosity}
.showcase{padding:84px 0}
.showcase-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#0d1430;line-height:0}
.showcase-card img{width:100%;display:block}
@media(max-width:760px){.showcase{padding:56px 0}}


/* 진입화면 이모지 기능 스트립 (앱 첫화면식) */
.feat-strip{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:34px}
.feat-strip .fs{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.92);font-weight:700;font-size:14px;padding:10px 16px;border-radius:999px;backdrop-filter:blur(8px);transition:.2s}
.feat-strip .fs:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
@media(max-width:600px){.feat-strip .fs{font-size:13px;padding:8px 13px}}

/* ============ 모바일 최적화: 긴 카드 → 가로 스와이프 + 여백 정리 ============ */
@media(max-width:760px){
  section{padding:58px 0}
  .showcase{padding:46px 0}
  .sec-head{margin-bottom:34px}

  /* 기능 카드(13개) 세로 스택 → 가로 스와이프 캐러셀 */
  .wf-grid{
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; gap:12px; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    margin:0 -24px; padding:2px 24px 12px;
  }
  .wf-grid::-webkit-scrollbar{display:none}
  .wf-grid{scrollbar-width:none}
  .wf-card{flex:0 0 80%; scroll-snap-align:start; min-width:0}

  /* How it works 3단계도 가로 스와이프 */
  .steps{
    display:flex !important; grid-template-columns:none !important;
    overflow-x:auto; gap:14px; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    margin:0 -24px; padding:2px 24px 12px; scrollbar-width:none;
  }
  .steps::-webkit-scrollbar{display:none}
  .step{flex:0 0 84%; scroll-snap-align:start}

  /* 워크플로 필터 칩: 줄바꿈 → 가로 스크롤 */
  .filters{flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start;
    margin:0 -24px 30px; padding:0 24px 6px; scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .chip{flex:0 0 auto}

  /* "← 옆으로 밀어보세요" 힌트 */
  .wf .sec-head p::after, #work .sec-head p::after{content:" · 옆으로 밀어보세요 →"; color:var(--accent-d); font-weight:700}
}


/* 진입화면 3D 캔버스 (데스크탑) — 다크 히어로 위 글로우 네트워크 */
#hero3d{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block;pointer-events:none}
@media(max-width:760px){#hero3d{display:none}}  /* 모바일=CSS 그라데이션 폴백 */


/* ===== 사장님·인플루언서 히어로 2단(텍스트+폰 목업) + 인터랙션 다듬기 ===== */
.hero-inner{display:grid;grid-template-columns:1.06fr .94fr;gap:46px;align-items:center}
.hero-copy{max-width:600px}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;z-index:2}
.hero-visual::before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle, var(--accent-l), transparent 68%);filter:blur(6px);opacity:.9;z-index:0}
.phone{position:relative;z-index:1;width:296px;padding:11px;border-radius:40px;
  background:linear-gradient(160deg,#16241d,#0b1510);
  box-shadow:0 44px 90px rgba(8,44,30,.34), 0 0 0 1px rgba(255,255,255,.06), inset 0 0 0 1px rgba(255,255,255,.05);
  animation:floaty 5.5s ease-in-out infinite}
.phone img{width:100%;display:block;border-radius:30px}
.phone::after{content:"";position:absolute;top:11px;left:50%;transform:translateX(-50%);width:108px;height:20px;background:#0b1510;border-radius:0 0 14px 14px;z-index:2}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-15px)}}
body.role-inf .hero-visual::before{background:radial-gradient(circle,#efeaff,transparent 68%)}
body.role-inf .phone{background:linear-gradient(160deg,#211b38,#120e22)}
body.role-inf .phone::after{background:#120e22}
@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr;text-align:center;gap:30px}
  .hero-copy{max-width:none;margin:0 auto}
  .hero-cta,.hero-meta{justify-content:center}
  .phone{width:232px}
  .hero-visual::before{width:250px;height:250px}
}

/* 카드 호버 더 깔쌈하게 */
.wf-card{transition:transform .22s cubic-bezier(.2,.7,.2,1), box-shadow .22s, border-color .22s}
.wf-card:hover{transform:translateY(-6px);border-color:var(--accent)}
.step{transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s}
.step:hover{transform:translateY(-8px)}

/* 한국어 줄바꿈: 단어 중간 끊김 방지(헤드라인·본문) */
.hero h1,.choose h1,.sec-head h2,.agency h2,.final h2,.hero .sub,.sec-head p{word-break:keep-all}
.hero h1{font-size:clamp(32px,4.4vw,52px)}

/* 모바일 헤더 정리: 좁은 화면에서 로고+다운로드만(보조요소 숨김, 줄바꿈 방지) */
@media(max-width:600px){
  header .nav{height:60px}
  .logo{white-space:nowrap;font-size:18px}
  .logo img{width:30px;height:30px}
  .logo .role-pill{display:none}
  .nav .switch{display:none}
  .nav .btn{padding:9px 15px;font-size:13.5px}
}

/* ===== 인터랙션 강화 레이어 ===== */
.scroll-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:200;background:linear-gradient(90deg,var(--accent),var(--accent-mint));box-shadow:0 0 12px rgba(19,197,127,.55);transition:width .12s linear;pointer-events:none}
header{transition:box-shadow .3s,background .3s}
header.scrolled{box-shadow:0 8px 30px rgba(10,40,25,.10);background:rgba(255,255,255,.93)}
.tilt{transform-style:preserve-3d;will-change:transform}
.btn-green{position:relative;overflow:hidden}
.btn-green::after{content:"";position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .6s ease;pointer-events:none}
.btn-green:hover::after{left:150%}
.reveal.s1{transition-delay:.06s}.reveal.s2{transition-delay:.12s}.reveal.s3{transition-delay:.18s}
.reveal.s4{transition-delay:.24s}.reveal.s5{transition-delay:.3s}.reveal.s6{transition-delay:.36s}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1 !important;transform:none !important;transition:none !important}
  .tilt{transform:none !important}.scroll-prog{display:none}
  *{animation:none !important}
}

/* ===== 마케팅 점수 섹션 (owner) ===== */
.score{padding:90px 0}
.score-wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:40px;align-items:center;margin-top:38px}
@media(max-width:820px){.score-wrap{grid-template-columns:1fr;gap:26px}}
.score-dial{background:linear-gradient(165deg,#08130d,#0d2b1c);border-radius:28px;padding:46px 30px;text-align:center;color:#fff;box-shadow:0 30px 60px rgba(10,80,48,.20);position:relative;overflow:hidden}
.score-dial::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 240px at 50% -12%,rgba(95,230,168,.36),transparent 62%)}
.score-num{position:relative;line-height:1}
.score-num b{font-size:clamp(64px,12vw,88px);font-weight:900;letter-spacing:-3px;color:#5fe6a8;font-family:var(--font-d,inherit)}
.score-num span{font-size:22px;color:rgba(255,255,255,.55);font-weight:800;margin-left:6px}
.score-cap{position:relative;margin-top:10px;font-weight:700;color:rgba(255,255,255,.82);font-size:15px}
.score-tag{position:relative;display:inline-block;margin-top:14px;background:rgba(95,230,168,.16);color:#9af0c8;padding:7px 15px;border-radius:999px;font-size:13px;font-weight:800}
.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:520px){.score-grid{grid-template-columns:1fr}}
.score-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;transition:.2s}
.score-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,60,40,.08);border-color:transparent}
.score-card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}
.score-card .nm{font-weight:800;font-size:14.5px;color:var(--ink)}
.score-card .pt{font-weight:900;color:var(--accent-d);font-size:15px}
.score-card .bar{height:7px;border-radius:99px;background:var(--soft);overflow:hidden}
.score-card .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent-mint))}
.score-cta{text-align:center;margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:10px}
.score-cta .score-note{font-size:13px;color:var(--muted);font-weight:600}

/* ===== 홈페이지 제작 가격 (owner) ===== */
.pricing{padding:90px 0;background:var(--soft)}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
@media(max-width:820px){.price-grid{grid-template-columns:1fr}}
.price-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px 26px;position:relative;transition:.2s}
.price-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(20,60,40,.10)}
.price-card.hot{border:2px solid var(--accent);box-shadow:0 26px 54px rgba(19,197,127,.18)}
.pc-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:12.5px;font-weight:800;padding:6px 16px;border-radius:999px;white-space:nowrap}
.pc-tier{font-weight:800;font-size:15px;color:var(--accent-d)}
.pc-price{font-family:var(--font-d,inherit);font-size:46px;font-weight:900;letter-spacing:-2px;margin:6px 0 2px;color:var(--ink)}
.pc-price small{font-size:18px;font-weight:700;color:var(--muted);margin-left:3px;letter-spacing:0}
.pc-sub{color:var(--body);font-weight:600;margin-bottom:18px}
.price-card ul{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
.price-card li{font-size:14.5px;color:var(--body);font-weight:500;padding-left:22px;position:relative}
.price-card li::before{content:"✓";position:absolute;left:0;color:var(--accent-d);font-weight:900}
.price-foot{margin-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;color:var(--body);font-size:14.5px;font-weight:600}
.price-foot a{color:var(--accent-d);font-weight:800}
