/* ===== Theme C · 비포·애프터 (dark) ===== */
.theme-c{--ink:#efe9e1;--ink-2:#cfc7bc;--muted:#958d83;--line:#2f2c29;--bg-soft:#1f1d1b;--panel:#1a1918;background:#121110;color:var(--ink)}
.theme-c a{color:inherit}
.c-bar{position:sticky;top:0;z-index:120;background:rgba(18,17,16,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.is-home-c .c-bar{position:fixed;left:0;right:0;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);border-color:transparent;backdrop-filter:none}
.is-home-c .c-bar.is-scrolled{background:rgba(18,17,16,.92);border-color:var(--line);backdrop-filter:blur(10px)}
.c-bar-in{display:flex;align-items:center;gap:28px;height:76px;padding:0 32px}
.c-bar .logo-text{color:#fff}
.c-nav{flex:1}
.c-nav ul{display:flex;gap:6px;justify-content:center}
.c-nav a{display:block;padding:8px 14px;font-size:15px;font-weight:500;color:rgba(255,255,255,.78)}
.c-nav li.is-active a,.c-nav a:hover{color:#fff}
.c-bar-r{display:flex;align-items:center;gap:12px;margin-left:auto}
.c-cta{padding:10px 18px;border:1px solid var(--accent);color:var(--accent)!important;font-weight:700;font-size:14px}
.c-cta:hover{background:var(--accent);color:#141210!important}
.c-menu-btn{display:none;align-items:center;gap:10px;background:none;border:0;color:#fff;font-weight:700;font-size:13px;letter-spacing:.14em;padding:10px 0}
.c-burger{display:grid;gap:6px;width:24px}.c-burger i{display:block;height:2px;background:currentColor;transition:.3s}
.c-menu-open .c-burger i:first-child{transform:translateY(4px) rotate(45deg)}.c-menu-open .c-burger i:last-child{transform:translateY(-4px) rotate(-45deg)}
.c-overlay{position:fixed;inset:0;z-index:110;background:#121110;opacity:0;visibility:hidden;transition:.35s;overflow:auto}
.c-menu-open .c-overlay{opacity:1;visibility:visible}
.c-menu-open{overflow:hidden}
.c-overlay-in{min-height:100%;display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center;padding:120px 6vw 60px}
.c-big-nav a{display:flex;align-items:baseline;gap:18px;font-size:clamp(30px,5vw,58px);font-weight:700;letter-spacing:-.03em;padding:6px 0;color:#fff;transition:color .2s}
.c-big-nav a:hover{color:var(--accent)}
.c-big-nav small{font-size:14px;color:var(--muted);font-weight:600}
.c-overlay-side{color:var(--ink-2);display:grid;gap:10px}
.c-ov-phone{font-size:30px;font-weight:700;color:var(--accent)!important}
.c-hero{position:relative;height:100vh;min-height:600px;max-height:1000px;overflow:hidden}
.c-hero .compare.c-hero-cmp{position:absolute;inset:0;aspect-ratio:auto;height:100%}
.c-hero-txt{position:absolute;left:6vw;bottom:12vh;z-index:3;max-width:720px;pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.c-hero-txt a{pointer-events:auto;border-bottom:1px solid rgba(255,255,255,.6);font-weight:600}
.c-kick{display:inline-block;font-size:13px;letter-spacing:.3em;font-weight:700;color:var(--accent);margin-bottom:14px}
.c-hero-txt h1{font-size:clamp(42px,7vw,104px);line-height:1.04;letter-spacing:-.05em;font-weight:800;color:#fff;margin-bottom:18px}
.c-hero-txt p{color:#fff;font-size:16px}
.c-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 45%);pointer-events:none;z-index:2}
.c-hero .cmp-tag{top:96px}
.c-card.show-before .cc-before{opacity:1}
.c-card.show-before .c-flag i:first-child{background:rgba(0,0,0,.6);color:#fff}.c-card.show-before .c-flag i:last-child{background:var(--accent);color:#141210}
.c-flag i:last-child{cursor:pointer}
.c-drag{position:absolute;right:6vw;bottom:12vh;z-index:3;font-size:12px;letter-spacing:.3em;color:rgba(255,255,255,.8);pointer-events:none}
.c-sec{padding:120px 0}
.c-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 24px;margin-bottom:44px}
.c-head h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.04em;font-weight:800;color:#fff}
.c-head p{color:var(--muted);font-size:15px}
.c-link{margin-left:auto;font-weight:700;color:var(--accent)!important}
.c-intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:72px}
.c-intro h2{font-size:clamp(32px,4.2vw,56px);line-height:1.2;letter-spacing:-.045em;font-weight:800;color:#fff}
.c-intro p{color:var(--ink-2);line-height:1.9;font-size:17px}
.c-nums{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:40px}
.c-nums dd{margin:0;font-size:clamp(34px,4vw,54px);font-weight:800;color:#fff;letter-spacing:-.04em}
.c-nums dd small{font-size:18px;color:var(--accent);margin-left:3px}
.c-nums dt{color:var(--muted);font-size:14px}
.c-trans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.c-card{display:block}
.c-card-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-soft)}
.c-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.c-card .cc-before,.case-card .cc-before{opacity:0;transition:opacity .5s}
.c-card:hover .cc-before,.c-card:focus-visible .cc-before{opacity:1}
.theme-c .case-card:hover .cc-before{opacity:1}
.c-flag{position:absolute;left:14px;top:14px;display:flex;gap:4px;z-index:2}
.c-flag i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.14em;padding:5px 9px;background:rgba(0,0,0,.6);color:#fff;transition:.3s}
.c-flag i:first-child{background:var(--accent);color:#141210}
.c-card:hover .c-flag i:first-child{background:rgba(0,0,0,.6);color:#fff}.c-card:hover .c-flag i:last-child{background:var(--accent);color:#141210}
.c-card-txt{padding:16px 2px 0;display:grid;gap:4px}
.c-card-txt small{color:var(--accent);font-weight:600}
.c-card-txt b{font-size:18px;font-weight:600;color:#fff}
.c-svc-sec{background:var(--panel)}
.c-svc li{border-top:1px solid var(--line)}
.c-svc li:last-child{border-bottom:1px solid var(--line)}
.c-svc a{position:relative;display:grid;grid-template-columns:60px 1.2fr 2fr 40px;gap:24px;align-items:center;padding:30px 0}
.c-svc-n{color:var(--muted);font-weight:700}
.c-svc-t{font-size:clamp(22px,2.4vw,30px);font-weight:700;color:#fff;letter-spacing:-.03em}
.c-svc-d{color:var(--ink-2);font-size:15px}
.c-svc img{position:absolute;right:80px;top:50%;width:220px;aspect-ratio:4/3;object-fit:cover;transform:translateY(-50%) scale(.9);opacity:0;transition:.35s;pointer-events:none;z-index:2}
.c-svc a:hover img{opacity:1;transform:translateY(-50%) scale(1)}
.c-svc a:hover .c-svc-t{color:var(--accent)}
.c-arrow{font-size:22px;color:var(--accent)}
.c-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:16px;overflow-x:auto;padding:0 max(24px,calc((100vw - 1280px)/2 + 24px)) 12px;scroll-snap-type:x mandatory}
.c-step{scroll-snap-align:start;display:grid;gap:10px;padding:28px;background:var(--panel);border:1px solid var(--line);min-height:240px;align-content:start;transition:border-color .2s}
.c-step:hover{border-color:var(--accent)}
.c-step b{font-size:42px;font-weight:800;color:var(--accent);line-height:1}
.c-step strong{font-size:20px;color:#fff}
.c-step span{color:var(--ink-2);font-size:14.5px;line-height:1.7}
.c-revs{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.c-rev{display:grid;gap:14px;padding:32px;background:var(--panel);border:1px solid var(--line);align-content:start}
.c-rev p{font-size:17px;line-height:1.8;color:var(--ink)}
.c-rev small{color:var(--muted)}
.c-news{display:grid;grid-template-columns:240px 1fr;gap:40px;border-top:1px solid var(--line);padding-top:40px}
.c-news h2{font-size:24px;color:#fff}
.c-news a{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.c-news time{color:var(--muted);font-size:14px}
.c-foot{background:#0c0b0a;padding:90px 0 40px;color:var(--muted)}
.c-foot-big{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:56px;margin-bottom:40px;border-bottom:1px solid var(--line);color:#fff}
.c-foot-big span{font-size:clamp(30px,5vw,68px);font-weight:800;letter-spacing:-.05em;line-height:1.1}
.c-foot-big b{font-size:clamp(30px,5vw,68px);color:var(--accent);transition:transform .3s}
.c-foot-big:hover b{transform:translateX(10px)}
.c-foot-grid{display:grid;grid-template-columns:240px 1fr;gap:40px;font-size:14px}
.c-foot-grid .logo-text{color:#fff}
.c-foot-grid .ci p{margin:0 0 6px;display:flex;flex-wrap:wrap;gap:4px 16px}
/* dark overrides for shared sub pages */
.theme-c .subvisual{background:#0c0b0a}
.theme-c .subnav{background:#121110;border-color:var(--line)}
.theme-c .subnav a{color:var(--ink-2)}
.theme-c .subnav a.is-on{color:#fff}
.theme-c .review-card,.theme-c .case-spec,.theme-c .si-card,.theme-c .p-card,.theme-c .done-box,.theme-c .related-case,.theme-c .quote-interest,.theme-c .consent-box{background:var(--panel);border-color:var(--line);color:var(--ink)}
.theme-c .input,.theme-c .select,.theme-c .textarea{background:#1a1918;border-color:#34302c;color:var(--ink)}
.theme-c .prose,.theme-c .prose p,.theme-c .prose li{color:var(--ink-2)}
.theme-c .prose h2,.theme-c .prose h3,.theme-c h1,.theme-c h3{color:#fff}
.theme-c .prose table th{background:#1f1d1b;color:#fff}.theme-c .prose table td,.theme-c .prose table th{border-color:var(--line)}
.theme-c .btn-line{color:#fff;border-color:#4a4540}
.theme-c .btn-primary{background:var(--accent);color:#141210}
.theme-c .btn-accent{background:var(--accent);color:#141210}
.theme-c .pagination a,.theme-c .pagination span{color:var(--ink-2);border-color:var(--line)}
.theme-c .post-nav a{border-color:var(--line)}
.theme-c .notice-table td,.theme-c .notice-table th,.theme-c table{border-color:var(--line)}
.theme-c .gallery-thumbs button{background:#1a1918}
.theme-c .tag{background:#2a2622;color:var(--accent)}
.theme-c .breadcrumb,.theme-c .subvisual p{color:rgba(255,255,255,.85)}
@media (min-width:1101px){.c-menu-btn{display:none}}
@media (max-width:1100px){.c-nav{display:none}.c-menu-btn{display:flex}.c-intro-grid,.c-overlay-in{grid-template-columns:1fr;gap:40px}.c-trans,.c-revs{grid-template-columns:1fr 1fr}.c-svc a{grid-template-columns:44px 1fr 32px}.c-svc-d{grid-column:2;grid-row:2}.c-svc img{display:none}.c-news,.c-foot-grid{grid-template-columns:1fr;gap:20px}}
@media (max-width:720px){.c-hero .cmp-tag{top:80px}.c-bar-in{padding:0 18px;height:64px}.c-cta{display:none}.c-sec{padding:72px 0}.c-hero{height:88vh;min-height:520px}.c-hero-txt{left:20px;right:20px;bottom:90px}.c-drag{left:20px;right:auto;bottom:56px}.c-trans,.c-revs{grid-template-columns:1fr}.c-card-img{aspect-ratio:4/3}.c-nums{gap:18px}.c-foot{padding:60px 0 32px}}
