/* ============ 리드젠랩 · Together 톤 디자인 시스템 ============ */
:root{
  --ink:#000; --canvas:#fff; --dark:#010120; --dark-soft:#313641; --dark-hair:#26263a;
  --hair:#ebebeb; --body:#6a6a6a; --mut:#999; --on-dark:#fff;
  --orange:#fc4c02; --magenta:#ef2cc1; --peri:#bdbbff; --mint:#c8f6f9;
  --grad:linear-gradient(115deg,var(--orange),var(--magenta) 52%,var(--peri));
  --sans:'Inter','Pretendard Variable',Pretendard,system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,SF Mono,Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--canvas);line-height:1.45;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;word-break:keep-all}
a{color:inherit;text-decoration:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px}
@media(max-width:640px){.wrap{padding:0 18px}}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.03em;line-height:1.1}
.tnum{font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.13em;color:var(--mut)}
.dark .eyebrow,.band-dark .eyebrow{color:var(--mint)}
.gtext{background:var(--grad);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gtext 7s ease infinite}
@keyframes gtext{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes gshift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:13px 24px;border-radius:4px;transition:.2s;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--ink);color:#fff}
.btn-primary:hover{transform:translateY(-2px)}
.btn-mint{background:var(--mint);color:var(--ink)}
.btn-mint:hover{transform:translateY(-2px)}
.btn-ghost{background:var(--dark-soft);color:#fff}
.btn-ghost:hover{background:#3d4350}
.btn-outline{background:#fff;color:var(--ink);border-color:rgba(0,0,0,.14)}
.btn-outline:hover{border-color:var(--ink)}
.dark .btn-outline,.band-dark .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.dark .btn-outline:hover,.band-dark .btn-outline:hover{border-color:#fff}

/* ============ HEADER / NAV ============ */
header.site{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair);transition:.3s}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:500;font-size:18px;color:#000;letter-spacing:-.02em}
.brand .mk{width:28px;height:28px;border-radius:6px;display:block;object-fit:contain}
.navlinks{display:flex;gap:4px;align-items:center}
.navlinks>li{position:relative;list-style:none}
.navlinks>li>a{display:block;padding:8px 14px;font-size:15px;color:#4a4a4a;border-radius:4px}
.navlinks>li>a:hover{color:#000;background:#f5f5f5}
.navlinks>li.active>a{color:#000}
.dropdown{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--hair);border-radius:6px;padding:6px;box-shadow:0 12px 30px -16px rgba(1,1,32,.25);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.navlinks>li:hover .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown a{display:block;padding:9px 12px;font-size:14px;color:#4a4a4a;border-radius:4px}
.dropdown a:hover{background:#f5f5f5;color:#000}
.navcta{display:flex;gap:10px;align-items:center}
.menubtn{display:none;background:none;border:none;font-size:24px;cursor:pointer;color:#000}
.mobnav{display:none}
@media(max-width:1040px){
  .navlinks,.navcta .btn-outline{display:none}
  .menubtn{display:block}
  .mobnav{border-top:1px solid var(--hair);background:#fff}
  .mobnav.open{display:block;padding:8px 0 16px;max-height:calc(100vh - 64px);overflow-y:auto}
  .mobnav a{display:block;padding:12px 32px;font-size:16px;color:#222;border-bottom:1px solid #f4f4f4}
  .mobnav .sub{padding-left:48px;font-size:14px;color:#666}
}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden}
.hero .hgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;min-height:520px;padding:72px 0}
.hero.solo .hgrid{grid-template-columns:1fr;min-height:auto;padding:80px 0 56px;text-align:center}
.hero.solo .lead,.hero.solo .anav{margin-left:auto;margin-right:auto}
h1{font-size:60px;letter-spacing:-.045em}
.hero .lead{font-size:18px;color:var(--body);line-height:1.55;margin-top:22px;max-width:520px}
.hero .cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero.solo .cta{justify-content:center}
.herostats{display:flex;gap:0;margin-top:42px;flex-wrap:wrap}
.herostats .s{padding:0 26px;border-left:2px solid var(--hair)}
.herostats .s:first-child{padding-left:0;border-left:none}
.herostats .s .n{font-size:26px;font-weight:500;letter-spacing:-.02em}
.herostats .s .l{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);margin-top:4px}
.anav{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}
.anav a{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#444;border:1px solid var(--hair);border-radius:4px;padding:8px 12px}
.anav a:hover{border-color:var(--ink)}
@media(max-width:900px){.hero .hgrid{grid-template-columns:1fr;min-height:auto;gap:36px;padding:52px 0}h1{font-size:40px}.ribbon-wrap{order:-1;height:260px}}

/* gradient ribbon */
.ribbon-wrap{position:relative;height:420px;border-radius:8px;overflow:hidden;background:#05051a}
.blob{position:absolute;border-radius:50%;filter:blur(46px);opacity:.92;mix-blend-mode:screen}
.b1{width:340px;height:340px;background:var(--orange);top:-40px;left:-30px;animation:f1 14s ease-in-out infinite}
.b2{width:360px;height:360px;background:var(--magenta);bottom:-60px;right:-20px;animation:f2 16s ease-in-out infinite}
.b3{width:300px;height:300px;background:var(--peri);top:60px;right:40px;animation:f3 18s ease-in-out infinite}
.b4{width:190px;height:190px;background:var(--mint);bottom:30px;left:40px;animation:f1 20s ease-in-out infinite reverse}
@keyframes f1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(56px,38px) scale(1.18)}}
@keyframes f2{0%,100%{transform:translate(0,0) scale(1.05)}50%{transform:translate(-48px,-44px) scale(.85)}}
@keyframes f3{0%,100%{transform:translate(0,0) scale(.9)}50%{transform:translate(-38px,48px) scale(1.2)}}
.ribbon-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:38px 38px}
.ribbon-tag{position:absolute;left:18px;bottom:16px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.7);z-index:2}
.engfloat{position:absolute;inset:0;animation:engdrift 10s ease-in-out infinite;will-change:transform}
@keyframes engdrift{0%{transform:translate(0,0)}25%{transform:translate(8px,-7px)}50%{transform:translate(-6px,6px)}75%{transform:translate(5px,8px)}100%{transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.blob,.mk,.gtext,.brand .mk,.engfloat{animation:none}}

/* ============ MARQUEE ============ */
.marquee{border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:52px 0;overflow:hidden;background:#fff}
.marquee .lab{text-align:center;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--mut);margin-bottom:20px}
.track{display:flex;gap:14px;width:max-content;animation:scroll 80s linear infinite}
.track.rev{animation:scrollrev 96s linear infinite;margin-top:52px}
.chip{display:inline-flex;align-items:center;gap:8px;font-size:16px;color:#222;font-weight:500;white-space:nowrap;border:1px solid var(--hair);border-radius:4px;padding:9px 16px}
.chip .d{width:7px;height:7px;border-radius:50%;background:var(--magenta)}
.track.brand .chip{color:#73768a;border-color:#f0f0f0}
.track.brand .chip .d{background:#d6d6d6}
.track.logos{gap:68px;align-items:center}
.track.logos .slot{flex:0 0 auto;height:20px;display:flex;align-items:center;justify-content:center}
.track.logos .slot img{height:20px;width:auto;max-width:260px;object-fit:contain;display:block;filter:grayscale(1);opacity:.62;transition:filter .2s,opacity .2s}
.track.logos .slot img:hover{filter:none;opacity:1}
.track.logos .slot.h10 img{height:10px}
.track.logos .slot.h30 img{height:30px}
.track.logos .slot.h40 img{height:40px}
.track.logos .slot.narrow img{height:auto;max-height:24px;width:auto;max-width:52px}
@media(max-width:640px){.track.logos{gap:48px}.track.logos .slot{height:16px}.track.logos .slot img{height:16px;max-width:200px}.track.logos .slot.h10 img{height:8px}.track.logos .slot.h30 img{height:24px}.track.logos .slot.h40 img{height:32px}.track.logos .slot.narrow img{height:auto;max-height:20px;max-width:42px}}
.marquee:hover .track{animation-play-state:paused}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes scrollrev{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* ============ SECTIONS ============ */
.band{padding:80px 0}
.band-dark{background:var(--dark);color:var(--on-dark);padding:80px 0}
.band-soft{background:#fafafa}
@media(max-width:640px){.band,.band-dark{padding:56px 0}}
.shead{max-width:720px;margin-bottom:44px}
.shead.center{text-align:center;margin-left:auto;margin-right:auto}
.shead h2{font-size:38px;margin-top:14px;letter-spacing:-.035em}
.shead p{font-size:18px;color:var(--body);margin-top:14px;line-height:1.55}
.band-dark .shead p{color:#9da1b3}
@media(max-width:640px){.shead h2{font-size:28px}}

/* problem / feature cards */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.pcard{border:1px solid var(--hair);border-radius:4px;padding:28px;transition:.25s;background:#fff}
.pcard:hover{border-color:var(--ink)}
.pcard .tag{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.pcard h3{font-size:21px;margin:14px 0 10px}
.pcard p{font-size:15.5px;color:var(--body);line-height:1.55}
.pcard ul{margin:12px 0 0;padding-left:18px}
.pcard li{font-size:14.5px;color:var(--body);line-height:1.5;margin:5px 0}
@media(max-width:820px){.grid3,.grid2{grid-template-columns:1fr}}

/* stat tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{border-radius:4px;padding:30px 26px}
.tile .n{font-size:38px;font-weight:500;letter-spacing:-.03em;line-height:1}
.tile .l{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-top:14px;color:rgba(0,0,0,.55)}
.tile.mint{background:var(--mint)}.tile.peri{background:var(--peri)}
.tile.peach{background:#ffd9c7}.tile.lav{background:#e7d9ff}
@media(max-width:820px){.tiles{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tiles{grid-template-columns:1fr}}

/* research cards (dark steps) */
.rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rcard{background:var(--dark);border:1px solid var(--dark-hair);border-radius:4px;padding:24px;transition:.25s}
.band-dark .rcard{background:#0a0a26}
.rcard:hover{border-color:#3a3a55;transform:translateY(-3px)}
.rcard .step{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--mint)}
.rcard h3{font-size:21px;margin:16px 0 10px;font-weight:500}
.rcard p{font-size:15px;color:#9da1b3;line-height:1.55}
.rcard ul{margin:12px 0 0;padding-left:18px}
.rcard li{font-size:13.5px;color:#aeb2c4;line-height:1.5;margin:4px 0}
@media(max-width:820px){.rgrid{grid-template-columns:1fr}}

/* split rows (solutions steps) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:56px 0;border-top:1px solid var(--hair)}
.split:first-of-type{border-top:none}
.split .num{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--magenta)}
.split h3{font-size:30px;margin:12px 0 16px;letter-spacing:-.03em}
.split p{font-size:16px;color:var(--body);line-height:1.6;margin:0 0 14px}
.split .sub{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#444;margin:18px 0 8px}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{position:relative;padding:8px 0 8px 26px;font-size:15px;color:#333;border-bottom:1px solid #f2f2f2;line-height:1.5}
.checklist li::before{content:"";position:absolute;left:0;top:14px;width:12px;height:12px;border-radius:3px;background:var(--grad)}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:20px;padding:36px 0}.split h3{font-size:24px}}

/* before/after */
.ba{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bbox{border-radius:4px;padding:32px}
.bbox.before{background:#fff;border:1px solid var(--hair)}
.bbox.after{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.bbox .tag{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut)}
.bbox.after .tag{color:var(--mint)}
.bbox h3{font-size:23px;margin:12px 0 12px;font-weight:500}
.bbox p{font-size:15.5px;color:var(--body);line-height:1.55}
.bbox.after p{color:rgba(255,255,255,.72)}
.bbox.after .gline{position:absolute;left:0;bottom:0;height:4px;width:100%;background:var(--grad)}
@media(max-width:680px){.ba{grid-template-columns:1fr}}

/* comparison table */
.ftable{width:100%;border-collapse:collapse;font-size:14.5px;border:1px solid var(--hair)}
.ftable th{background:var(--hair);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#555;text-align:left;padding:12px 16px;font-weight:500}
.ftable td{padding:12px 16px;border-top:1px solid var(--hair);color:#333;vertical-align:top}
.ftable td:first-child{font-weight:500;color:#000;width:22%}
.ftable .hl{background:#f7fdfe}
@media(max-width:680px){.ftable{font-size:13px}.ftable th,.ftable td{padding:9px 10px}}

/* pricing tiers */
.ptier{border:1px solid var(--hair);border-radius:4px;padding:32px;margin-bottom:16px;display:grid;grid-template-columns:1fr 1.3fr;gap:32px;transition:.2s}
.ptier:hover{border-color:var(--ink)}
.ptier .step{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--magenta)}
.ptier h3{font-size:22px;margin:10px 0 14px;letter-spacing:-.02em}
.ptier .price{font-size:30px;font-weight:500;letter-spacing:-.02em}
.ptier .price small{font-size:14px;color:var(--mut);font-weight:400}
.ptier .desc{font-size:14.5px;color:var(--body);margin-top:12px;line-height:1.55}
.ptier ul{list-style:none;padding:0;margin:0}
.ptier li{position:relative;padding:8px 0 8px 24px;font-size:14.5px;color:#333;border-bottom:1px solid #f2f2f2;line-height:1.5}
.ptier li::before{content:"›";position:absolute;left:4px;top:8px;color:var(--magenta)}
.ptier .cta{margin-top:14px}
@media(max-width:760px){.ptier{grid-template-columns:1fr;gap:18px;padding:24px}}

/* case cards */
.casegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ccard{border:1px solid var(--hair);border-radius:4px;overflow:hidden;transition:.25s;background:#fff}
.ccard:hover{border-color:var(--ink);transform:translateY(-3px)}
.ccard .thumb{height:150px;background:#05051a;position:relative;overflow:hidden}
.ccard .thumb .ribbon-grid{opacity:.7}
.ccard .body{padding:24px}
.ccard .tag{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--magenta)}
.ccard h3{font-size:20px;margin:10px 0 10px;line-height:1.3}
.ccard p{font-size:14.5px;color:var(--body);line-height:1.55}
.ccard .stat{margin-top:14px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#000;background:var(--mint);display:inline-block;padding:5px 10px;border-radius:4px}
.catrow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.catrow a{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--hair);border-radius:4px;padding:9px 14px;color:#333}
.catrow a:hover{border-color:var(--ink)}
@media(max-width:680px){.casegrid{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:840px;margin:0 auto}
.faq details{border-bottom:1px solid var(--hair);padding:22px 4px}
.faq summary{font-size:18px;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--magenta)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin-top:14px;color:var(--body);font-size:15.5px;line-height:1.65}

/* contact form */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:760px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1 / -1}
.field label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#555}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:15px;padding:12px 14px;border:1px solid var(--hair);border-radius:4px;background:#fff;color:#000;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}
.field textarea{min-height:120px;resize:vertical}
@media(max-width:680px){.form{grid-template-columns:1fr}}

/* final cta split */
.final .fgrid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.final h2{font-size:42px;letter-spacing:-.04em}
.final p{font-size:18px;color:#9da1b3;margin-top:18px;max-width:440px;line-height:1.55}
.final .cta{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}
@media(max-width:820px){.final .fgrid{grid-template-columns:1fr}.final .ribbon-wrap{height:200px}.final h2{font-size:30px}}

/* reveal */
.rv{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* footer */
footer.site{background:#fff;color:var(--ink);padding:72px 0 0;border-top:1px solid var(--hair)}
.fcols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-bottom:56px}
.fcols .eyebrow{display:block;margin-bottom:16px}
.fcols a{display:block;color:var(--body);font-size:15px;padding:6px 0}
.fcols a:hover{color:var(--ink)}
.fcols .about{color:var(--body);font-size:14px;line-height:1.65;max-width:300px}
.fcols .brand{margin-bottom:14px}
@media(max-width:820px){.fcols{grid-template-columns:1fr 1fr}}
.wordmark{font-size:clamp(32px,11vw,150px);font-weight:500;letter-spacing:-.04em;color:#ededed;line-height:1;padding:24px 0 20px;white-space:nowrap;overflow:hidden;border-top:1px solid var(--hair)}
.copy{color:var(--mut);font-size:13px;padding-bottom:40px}

/* chat orb */
.orb{position:fixed;right:22px;bottom:22px;width:52px;height:52px;border-radius:9999px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 14px rgba(1,1,32,.3);z-index:70;transition:.2s}
.orb:hover{transform:scale(1.08)}

/* prose */
.lead-p{font-size:18px;color:var(--body);line-height:1.6;max-width:760px}
.note{font-size:14px;color:var(--mut);margin-top:10px}

/* article (case detail / posts) */
.article{max-width:760px;margin:0 auto}
.article .meta{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--magenta);margin-bottom:14px}
.article h2{font-size:28px;margin:44px 0 16px;letter-spacing:-.03em}
.article h3{font-size:20px;margin:28px 0 12px}
.article p{font-size:16.5px;color:#2c2c2c;line-height:1.75;margin:0 0 16px}
.article ul{margin:0 0 18px;padding-left:20px}
.article li{font-size:16px;color:#333;line-height:1.7;margin:7px 0}
.article .callout{border-left:3px solid var(--magenta);background:#fafafa;padding:18px 22px;margin:22px 0;border-radius:0 4px 4px 0}
.article .callout .k{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--magenta);display:block;margin-bottom:7px}
.article .callout p{font-size:15.5px;color:#444;margin:0}
.resultbar{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}
.resultbar .r{background:var(--mint);border-radius:4px;padding:18px}
.resultbar .r .n{font-size:24px;font-weight:500;letter-spacing:-.02em}
.resultbar .r .l{font-size:12.5px;color:#1a5a5e;margin-top:6px;line-height:1.4}
@media(max-width:640px){.resultbar{grid-template-columns:1fr}}

/* glossary */
.glist{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.gitem{border:1px solid var(--hair);border-radius:4px;padding:22px 24px;transition:.2s;background:#fff}
.gitem:hover{border-color:var(--ink)}
.gitem .term{font-size:18px;font-weight:500;letter-spacing:-.02em}
.gitem .en{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--magenta);margin-top:4px}
.gitem p{font-size:14.5px;color:var(--body);line-height:1.6;margin-top:10px}
@media(max-width:680px){.glist{grid-template-columns:1fr}}
.gnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.gnav a{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--hair);border-radius:4px;padding:8px 13px;color:#333}
.gnav a:hover,.gnav a.on{border-color:var(--ink);background:var(--ink);color:#fff}

/* post list (insights) */
.postlist{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.post{border:1px solid var(--hair);border-radius:4px;padding:26px;transition:.2s;background:#fff;display:block}
.post:hover{border-color:var(--ink);transform:translateY(-2px)}
.post .cat{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--magenta)}
.post h3{font-size:19px;margin:10px 0 8px;line-height:1.35}
.post p{font-size:14px;color:var(--body);line-height:1.55}
.post .date{font-family:var(--mono);font-size:11px;color:var(--mut);margin-top:12px}
@media(max-width:680px){.postlist{grid-template-columns:1fr}}

/* press cards */
.presslist{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pressc{border:1px solid var(--hair);border-radius:4px;padding:24px;background:#fff}
.pressc .badge{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#000;background:var(--mint);padding:4px 9px;border-radius:4px}
.pressc h3{font-size:18px;margin:14px 0 8px;line-height:1.35}
.pressc p{font-size:14px;color:var(--body);line-height:1.5}
.pressc .date{font-family:var(--mono);font-size:11px;color:var(--mut);margin-top:14px}
@media(max-width:820px){.presslist{grid-template-columns:1fr}}

/* team */
.teamgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tcard{border:1px solid var(--hair);border-radius:4px;padding:28px;background:#fff;text-align:center}
.tcard .av{width:64px;height:64px;border-radius:9999px;background:var(--grad);margin:0 auto 16px}
.tcard h3{font-size:18px}
.tcard .role{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--magenta);margin-top:6px}
.tcard p{font-size:14px;color:var(--body);line-height:1.55;margin-top:12px}
@media(max-width:820px){.teamgrid{grid-template-columns:1fr}}

.valgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.valgrid .pcard li{margin:6px 0}
@media(max-width:820px){.valgrid{grid-template-columns:1fr}}

/* 정적 로고 월 (클라이언트) */
.logowall{display:flex;flex-wrap:wrap;gap:30px 56px;align-items:center;justify-content:center;max-width:920px;margin:0 auto}
.logowall .slot{flex:0 0 auto;height:34px;display:flex;align-items:center;justify-content:center}
.logowall .slot img{height:34px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .2s,opacity .2s}
.logowall .slot img:hover{filter:none;opacity:1}
.logowall .slot.sm img{height:24px}
.logowall .slot.lg img{height:46px}
@media(max-width:640px){.logowall{gap:24px 36px}.logowall .slot{height:26px}.logowall .slot img{height:26px;max-width:130px}.logowall .slot.lg img{height:34px}.logowall .slot.sm img{height:18px}}

/* 서비스 카드 가격 */
.pcard .price{margin-top:14px;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--magenta);letter-spacing:.02em}
.pcard .price b{font-weight:500}
