/* 숨은공장 — Figma 「화면 시안 (차콜+앰버)」 기준(대표 2026-11-09 확정).
   차콜(#1E2124) 바탕·글자 + 앰버(#E3A91A) 강조. 앰버 위 글자는 항상 차콜.
   글꼴 Noto Sans KR. 버튼 8px · 카드 14px · 패널 16px · 상자 12px · 칩 6px. 콘텐츠 폭 1200px. 최소 폭 375px. */
:root{
  --ink:#1E2124; --text:#111827; --muted:#6B7280; --bg:#FAFAFA; --surface:#FFFFFF; --line:#E5E7EB;
  --chip:#EEF0F2; --hero-sub:#C9CDD3; --photo:#D9DCE1; --ph:#8A94A6;
  --amber:#E3A91A; --amber-soft:#FBEFD0; --amber-ink:#6B4A08;
  --ok:#1E7A46; --ok-soft:#E3F3EA; --bad:#B3261E; --bad-soft:#FBE3E1;
  --f-body:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  --f-mono:ui-monospace,"SFMono-Regular",Consolas,monospace;
  --r-btn:8px; --r-card:14px; --r-panel:16px; --r-box:12px; --r-chip:6px;
  color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:15px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.wrap{max-width:1232px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{text-wrap:balance;line-height:1.3;margin:0;font-weight:700;color:var(--ink);letter-spacing:-0.01em}
h1{font-size:32px}
h2{font-size:22px}
h3{font-size:18px}
p,dl,dd,ol,ul{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.label,.eyebrow{font-size:13px;font-weight:500;color:var(--amber-ink)}

/* ---- 머리 ---- */
header.site{position:sticky;top:0;z-index:9;background:var(--surface);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.bar{display:flex;align-items:center;gap:36px;min-height:67px}
.logo{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-0.01em;flex:none}
.logo-mark{width:14px;height:14px;border-radius:3px;background:var(--amber);flex:none}
.gnb{display:flex;gap:36px;flex:1;min-width:0}
.gnb a{font-size:15px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap}
.gnb a:hover{color:var(--ink)}
.gnb a[aria-current="page"]{color:var(--ink);font-weight:700}
.userbar{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:500;flex:none}
.userbar a{text-decoration:none}
.userbar form{display:inline}
.linkbtn{background:none;border:0;padding:0;cursor:pointer;font:inherit;text-decoration:underline}
.burger{display:none}

main{display:block}
.view{display:flex;flex-direction:column;gap:24px;padding-block:48px 72px}

/* ---- 버튼 ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--r-btn);border:1.5px solid var(--ink);background:var(--surface);cursor:pointer;font-size:15px;font-weight:700;line-height:1.3;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn:hover{background:var(--chip)}
.btn.primary{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.btn.primary:hover{filter:brightness(1.05)}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.dark:hover{filter:brightness(1.25)}
.btn.small{padding:8px 16px;font-size:14px}
.btn.lg{padding:14px 28px;font-size:16px}
.btn.block{display:flex;width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* ---- 칩 ---- */
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;line-height:1.5;padding:4px 10px;border-radius:var(--r-chip);background:var(--chip);color:var(--text);text-decoration:none}
.chip.cert{background:var(--amber-soft);color:var(--amber-ink)}
.chip.ok{background:var(--ok-soft);color:var(--ok)}
.chip.bad{background:var(--bad-soft);color:var(--bad)}
.chip.type{background:var(--ink);color:#fff}
a.chip:hover{filter:brightness(.96)}
.pills{display:flex;flex-wrap:wrap;gap:10px}
.pill{display:inline-flex;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--text);text-decoration:none}
.pill:hover{border-color:var(--ink)}

/* ---- 화면 머리말 ---- */
.sec-title{display:flex;flex-direction:column;gap:4px}
.sec-title p{color:var(--muted);max-width:60em}
.sec-head{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.sec-head h2{font-size:28px}
.sec-head p{color:var(--muted)}
.flexrow{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap}
.crumbs{font-size:13px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}

/* ---- 카드(제품·공급사) ---- */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;color:inherit;text-decoration:none;min-width:0}
a.card:hover{border-color:var(--ink)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 18px;background:var(--bg)}
.card-head-l{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.card-cat{font-size:13px;color:var(--muted)}
.card-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}
.card-title{font-size:18px;font-weight:700;line-height:1.4;color:var(--ink)}
.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:14px}
.card-cover{width:100%;height:150px;object-fit:cover;display:block;background:var(--photo)}
.spec{display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 12px;font-size:14px}
.spec dt{font-size:13px;color:var(--muted);padding-top:1px}
.spec dd{font-weight:500;min-width:0;white-space:pre-line}
.meta{display:flex;flex-wrap:wrap;gap:4px 20px;font-size:13px;color:var(--muted)}
.meta b{font-weight:500;color:var(--text);margin-left:2px}
.meta a{color:var(--text);font-weight:500;text-decoration:none}
.meta a:hover{text-decoration:underline}
.verified{flex:none}
.empty{border:1px dashed var(--line);border-radius:var(--r-card);background:var(--surface);padding:40px 24px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:12px;align-items:center}
.empty b{color:var(--ink);font-size:17px}

/* ---- 패널 ---- */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.panel h2{font-size:18px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.pre{white-space:pre-line}
.panel h3{font-size:15px}
.rule{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}
.body-sm{font-size:14px;color:var(--muted)}
.notice{border-radius:var(--r-box);padding:12px 16px;font-size:14px;background:var(--amber-soft);color:var(--amber-ink)}
pre.code{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-btn);padding:12px;font-family:var(--f-mono);font-size:12px;overflow:auto;max-height:300px;white-space:pre-wrap;word-break:break-all;margin:8px 0 0}

/* ---- 번호 단계 ---- */
.steps{list-style:none;padding:0;display:flex;flex-direction:column;gap:12px;counter-reset:s}
.steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;align-items:start;counter-increment:s;background:var(--bg);border-radius:var(--r-box);padding:16px}
.steps li::before{content:counter(s);width:32px;height:32px;border-radius:50%;background:var(--amber);color:var(--ink);font-size:14px;font-weight:700;display:grid;place-items:center}
.steps b{display:block;font-size:15px;color:var(--ink)}
.steps p{font-size:13px;color:var(--muted)}
.steps.row{flex-direction:row;gap:24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:28px}
.steps.row li{flex:1;background:none;padding:0;grid-template-columns:28px minmax(0,1fr)}
.steps.row li::before{width:28px;height:28px}

/* ---- 질문답변 ---- */
details{border-bottom:1px solid var(--line);padding-block:14px}
details summary{cursor:pointer;font-size:15px;font-weight:700;color:var(--ink);list-style:none;display:flex;gap:8px;align-items:baseline}
details summary::-webkit-details-marker{display:none}
details summary::before{content:"▾";font-size:11px;color:var(--ink);flex:none;transform:rotate(-90deg);transition:transform .15s}
details[open] summary::before{transform:none}
details p{margin-top:6px;font-size:14px;color:var(--muted);max-width:90ch}
.faq-list{display:flex;flex-direction:column}
.faq-list.lg summary{font-size:16px}

/* ---- 홈 ---- */
.band{padding-block:56px}
.band.dark{background:var(--ink);padding-block:72px}
.band.white{background:var(--surface);border-top:1px solid var(--line)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:64px;align-items:start}
.hero-copy{display:flex;flex-direction:column;gap:20px;min-width:0}
.hero-copy .eyebrow{font-size:14px;color:var(--amber)}
.hero-copy h1{font-size:48px;line-height:1.25;color:#fff;letter-spacing:-0.02em}
.hero-copy .lead{font-size:17px;color:var(--hero-sub)}
.hero-search{display:flex;gap:8px;background:var(--surface);border-radius:var(--r-box);padding:8px;margin-top:4px}
.hero-search input{flex:1;min-width:0;border:0;background:none;padding:8px 14px;font-size:15px;outline-offset:-2px}
.hero-search input::placeholder,.finder input::placeholder{color:var(--ph)}
.hero-search .btn{padding:12px 24px}
.counters{display:flex;gap:16px 40px;flex-wrap:wrap}
.counters div{display:flex;flex-direction:column}
.counters b{font-size:18px;font-weight:700;color:var(--amber)}
.counters span{font-size:13px;color:var(--hero-sub)}
.sample{display:flex;flex-direction:column;gap:12px;min-width:0}
.sample .card{border:0;border-radius:var(--r-panel)}
.sample-photo{height:160px;background:var(--photo);display:grid;place-items:center;font-size:13px;color:var(--muted);position:relative}
.example-tag{position:absolute;top:12px;right:12px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:var(--r-chip);background:var(--ink);color:#fff}
.sample .card-body{padding:20px}
.sample .card-title{font-size:20px}
.sample-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--muted)}
.sample-cap{font-size:13px;color:var(--hero-sub)}
.fake-btn{display:inline-flex;padding:8px 16px;border-radius:var(--r-btn);background:var(--ink);color:#fff;font-size:14px;font-weight:700}
.pitch{display:grid;grid-template-columns:minmax(0,1fr) 480px;gap:48px;align-items:center}
.pitch-copy{display:flex;flex-direction:column;gap:16px;min-width:0}
.pitch-copy h2{font-size:30px;line-height:1.35}
.pitch-copy p{color:var(--muted)}
.cta-row{display:flex;gap:10px;flex-wrap:wrap}

/* ---- 찾기 ---- */
.finder{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-box);padding:16px}
.finder-top{display:flex;gap:10px}
.finder-top input[type=search]{flex:1;background:var(--bg);font-size:16px;padding:12px 16px}
.finder-row{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap}
.finder .chip{font-size:14px;padding:7px 14px;border:1px solid transparent}
.finder .chip.on{background:var(--ink);color:#fff}
.finder .chip:not(.on):hover{border-color:var(--ink)}
.finder-more summary{color:var(--muted)}
.finder-opts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.finder-opts select{width:auto;flex:1 1 130px;max-width:200px;font-weight:500}
.pager{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}
.pager ol{list-style:none;display:flex;gap:4px;padding:0;margin:0}
.pager li a,.pager li span{display:inline-flex;min-width:36px;height:36px;align-items:center;justify-content:center;border-radius:var(--r-btn);text-decoration:none;color:var(--text);font-weight:500}
.pager li a:hover{background:var(--chip)}
.pager li span[aria-current]{background:var(--ink);color:#fff}
.pager .btn[aria-disabled]{opacity:.4;pointer-events:none}
.seg{display:inline-flex;background:var(--chip);border-radius:var(--r-btn);padding:3px;flex:none}
.seg a{padding:7px 14px;border-radius:var(--r-chip);font-size:14px;font-weight:500;color:var(--muted);text-decoration:none;white-space:nowrap}
.seg a[aria-current="true"]{background:var(--ink);color:#fff}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=search],input[type=password],input[type=number],select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-btn);padding:10px 14px;min-width:0;width:100%;font-size:14px}
.result-row{font-size:14px;color:var(--muted)}
.result-row .chips{align-items:center}
.result-row .clear{font-size:14px;color:var(--muted);margin-left:6px}

/* ---- 미니홈피 ---- */
.mh-hero{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--amber);border-radius:var(--r-panel)}
.mh-head{padding:32px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.mh-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.mh-main h1{font-size:36px}
.mh-main .tagline{font-size:18px;color:var(--muted)}
.mh-cta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:none}
.mh-cta small{font-size:12px;color:var(--muted)}
.media-row{display:flex;gap:12px;align-items:flex-start}
.short-video{width:220px;aspect-ratio:9/16;object-fit:cover;border-radius:10px;background:#000;display:block;flex:none}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;flex:1;min-width:0}
.gallery a{display:block}
.gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;display:block;background:var(--photo)}
/* 미니홈피 대표 사진 — 상단 패널 맨 위, 가로로 넓게 */
.mh-cover{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;border-radius:calc(var(--r-panel) - 1px) calc(var(--r-panel) - 1px) 0 0;background:var(--photo)}
/* 사진·영상 관리(공급사·운영자) */
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.media-item{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.media-item img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;display:block;background:var(--photo);border:1px solid var(--line)}
.media-item .short-video{width:100%;height:auto;aspect-ratio:9/16;max-height:320px}
.media-item figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px}
.media-item figcaption form{display:inline;margin-left:auto}
.media-item figcaption form+form,.media-item figcaption .chip+form{margin-left:0}
.media-item figcaption .btn.small{padding:5px 10px;font-size:13px}
.stack{display:flex;flex-direction:column;gap:10px;min-width:0}
.cta-dark{background:var(--ink);border-radius:var(--r-panel);padding:28px;display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap}
.cta-dark h2{font-size:20px;color:#fff}
.cta-dark p{font-size:14px;color:var(--hero-sub)}

/* ---- 제품 상세 ---- */
.sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);overflow:hidden}
.sheet-body{padding:32px;display:flex;flex-direction:column;gap:18px}
.sheet-body h1{font-size:32px}
.sheet-body .lead{font-size:17px}
.sheet .spec{grid-template-columns:96px minmax(0,1fr);gap:10px 16px;font-size:15px}
.sheet .spec dd{font-weight:400}

/* ---- 요금 ---- */
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.plan.top{border:2px solid var(--ink);padding:27px}
.plan>.flexrow{min-height:26px}
.plan-name{font-size:15px;font-weight:500;color:var(--muted)}
.plan.top .plan-name{color:var(--amber-ink)}
.badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:var(--r-chip);background:var(--amber);color:var(--ink)}
.price{font-size:40px;font-weight:700;line-height:1.2;color:var(--ink);letter-spacing:-0.02em}
.price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.vat{font-size:14px;font-weight:500;color:var(--muted);letter-spacing:0}
h2 .vat{font-size:.6em;margin:0 2px}
.plan-sub{font-size:14px;color:var(--muted)}
.ticks{list-style:none;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;flex:1}
.ticks li::before{content:"✓";margin-right:8px}
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.svc .panel{gap:10px}
.svc h3{font-size:20px}
.feat{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--muted)}
.feat li{padding-left:12px;position:relative}
.feat li::before{content:"•";position:absolute;left:0}
.block-gap{margin-top:40px}

/* ---- 서식(가입·로그인·공급사 등록) ---- */
.narrow{max-width:720px;width:100%;margin-inline:auto;display:flex;flex-direction:column;gap:20px}
.auth{max-width:440px;width:100%;margin-inline:auto;display:flex;flex-direction:column;gap:20px}
.center{text-align:center}
.form{gap:20px}
.form h2{margin-top:8px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
fieldset.field{border:0;padding:0;margin:0}
.field>label,.field>legend,.lbl{font-size:14px;font-weight:700;color:var(--ink);padding:0}
.field>legend{margin-bottom:6px}
.req,.optl{font-size:12px;font-weight:500;margin-left:6px}
.req{color:var(--bad)}
.optl{color:var(--muted)}
.hint{font-size:13px;color:var(--muted)}
.err{font-size:13px;font-weight:500;color:var(--bad)}
.has-err input:not([type=checkbox]):not([type=radio]),.has-err select,.has-err textarea{border-color:var(--bad)}
textarea{resize:vertical;line-height:1.6;display:block}
.alert{border-radius:var(--r-box);padding:12px 16px;font-size:14px;font-weight:500;background:var(--bad-soft);color:var(--bad)}
.notice.ok{background:var(--ok-soft);color:var(--ok)}
.chip.warn{background:var(--amber-soft);color:var(--amber-ink)}
.checks{display:flex;flex-wrap:wrap;gap:8px 18px}
.checks.col{flex-direction:column;gap:10px}
.check{display:inline-flex;align-items:flex-start;gap:8px;font-size:14px;cursor:pointer;min-height:24px}
.check input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink)}
.check input:disabled+span{color:var(--muted)}
.inline{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:8px}
details.more{font-size:14px}
details.more summary,details.danger summary{cursor:pointer;color:var(--muted);font-weight:500}
details.more[open] summary{margin-bottom:8px}
details.danger{gap:10px}
details.danger[open] summary{margin-bottom:10px}
.pair{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.pair:last-of-type{border-bottom:0;padding-bottom:0}
.stepbar{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;counter-reset:w;font-size:13px;font-weight:500;color:var(--muted)}
.stepbar li{counter-increment:w;border-top:4px solid var(--line);padding-top:8px;min-width:0}
.stepbar li::before{content:counter(w) ". "}
.stepbar li.done{border-color:var(--ink);color:var(--ink)}
.stepbar li[aria-current]{border-color:var(--amber);color:var(--ink);font-weight:700}
.picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pick{position:relative;display:block;cursor:pointer}
.pick input{position:absolute;top:14px;right:14px;width:18px;height:18px;margin:0;accent-color:var(--ink)}
.pick-body{display:flex;flex-direction:column;gap:4px;height:100%;border:1.5px solid var(--line);border-radius:var(--r-box);padding:14px 16px;font-size:14px;background:var(--surface)}
.pick-body>b{font-size:16px;color:var(--ink);padding-right:28px}
.pick-body small{color:var(--muted);font-size:12px}
.pick-pay{margin-top:auto;padding-top:8px;border-top:1px dashed var(--line)}
.pick input:checked+.pick-body{border-color:var(--ink);background:var(--amber-soft)}
.pick input:focus-visible+.pick-body{outline:2px solid var(--ink);outline-offset:2px}
.spec.wide{grid-template-columns:96px minmax(0,1fr);gap:8px 16px}
.status h2{font-size:22px}
.rows{list-style:none;padding:0;display:flex;flex-direction:column;font-size:14px}
.rows li{display:flex;justify-content:space-between;align-items:center;gap:8px 12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}
.rows li:last-child{border-bottom:0;padding-bottom:0}
.rows-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.tick{color:var(--muted)}
.tick.on{color:var(--ok);font-weight:500}

/* ---- 약관·방침 ---- */
.prose-doc{max-width:72ch;display:flex;flex-direction:column;gap:14px}
.prose-doc h1{font-size:28px}
.prose-doc h2{font-size:18px;margin-top:12px}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-box);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:13px;color:var(--muted);font-weight:500;background:var(--bg);white-space:nowrap}
tr:last-child td{border-bottom:0}

/* ---- 운영 관리 ---- */
.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-box);padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.tile b{font-size:22px;color:var(--ink);line-height:1.3}
.tile small{font-size:12px;color:var(--muted)}
.copy{user-select:all;-webkit-user-select:all;cursor:copy;border-bottom:1px dashed var(--line)}
.kv{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px}
.kv small{font-size:13px;color:var(--muted);margin-right:6px}
.head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.rows.fill .rows-main{flex:1 1 320px}
.act{display:inline-flex;margin:0}
.acts{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.acts details{flex-basis:100%}
details.fold{border-bottom:0;padding-block:2px;font-size:14px}
details.fold summary{font-size:14px;font-weight:500;color:var(--muted)}
details.fold[open] summary{margin-bottom:8px}
table.adm{min-width:880px}
table.adm td{font-size:14px}
[id]{scroll-margin-top:16px}

/* ---- 바닥 ---- */
footer.site{border-top:1px solid var(--line);background:var(--surface);padding:32px 0 calc(32px + env(safe-area-inset-bottom,0px));font-size:13px;color:var(--muted)}
footer.site .wrap{display:flex;flex-direction:column;gap:12px}
.foot-links{display:flex;gap:8px 20px;flex-wrap:wrap}
.foot-links a{color:var(--text);font-weight:500;text-decoration:none}
.foot-links a:hover{text-decoration:underline}

/* ---- 좁은 화면 ---- */
@media (max-width:1040px){
  .hero,.pitch{grid-template-columns:minmax(0,1fr)}
  .hero{gap:40px}
  .sample{max-width:420px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .bar{flex-wrap:wrap;gap:0 12px;min-height:52px;padding-block:6px}
  .logo{font-size:17px}
  .logo-mark{width:12px;height:12px}
  .burger{display:grid;place-items:center;margin-left:auto;width:40px;height:40px;font-size:20px;line-height:1;color:var(--ink);cursor:pointer;border-radius:var(--r-btn)}
  .nav-toggle:focus-visible + .burger{outline:2px solid var(--ink);outline-offset:-2px}
  .gnb,.userbar{display:none;width:100%}
  .nav-toggle:checked ~ .gnb{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);margin-top:6px}
  .nav-toggle:checked ~ .gnb a{padding:12px 0;border-bottom:1px solid var(--line)}
  .nav-toggle:checked ~ .userbar{display:flex;justify-content:space-between;padding-block:12px 8px}
  .view{gap:16px;padding-block:20px 48px}
  h1{font-size:26px}
  .band{padding-block:40px}
  .band.dark{padding-block:40px}
  .hero-copy h1{font-size:32px}
  .hero-copy .lead{font-size:15px}
  .sec-head h2{font-size:22px}
  .pitch-copy h2{font-size:22px}
  .two,.price-grid,.svc{grid-template-columns:minmax(0,1fr)}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .tile{padding:12px}
  .tile b{font-size:19px}
  .price-grid,.svc{gap:12px}
  .panel{padding:20px}
  .plan{padding:20px}.plan.top{padding:19px}
  .mh-head{padding:20px;flex-direction:column;align-items:stretch;gap:16px}
  .mh-main h1{font-size:28px}
  .mh-main .tagline{font-size:15px}
  .mh-cta{align-items:stretch;text-align:center}
  .short-video{width:160px}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mh-cover{max-height:220px}
  .cta-dark{flex-direction:column;align-items:stretch;padding:20px}
  .cta-dark .btn{width:100%}
  .steps.row{flex-direction:column;gap:16px;padding:20px}
  .sheet-body{padding:20px}
  .sheet-body h1{font-size:24px}
  .sheet .spec{grid-template-columns:80px minmax(0,1fr)}
  .block-gap{margin-top:24px}
  .finder-opts select{max-width:none;flex:1 1 40%}
  .finder-top{flex-direction:column}
  .finder-row{flex-direction:column;align-items:stretch}
  .seg{width:100%}
  .seg a{flex:1;text-align:center}
  footer.site{font-size:12px;padding-top:24px}
  .form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{font-size:16px}
  .picks{grid-template-columns:minmax(0,1fr)}
  .stepbar{font-size:12px;gap:4px}
  .status h2{font-size:19px}
}
@media (max-width:640px){
  .grid{grid-template-columns:minmax(0,1fr);gap:12px}
  .hero-search{flex-direction:column}
  .media-row{flex-direction:column}
  .price{font-size:34px}
  .inline{grid-template-columns:minmax(0,1fr)}
  .spec.wide{grid-template-columns:80px minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
