/* Hallmark · checked: 2026-10-25 · genre: editorial (inferred)
 * floor: 736 FAIL, was 776 (most are colour literals outside tokens, left at polish) · fixed: 26a, 40, 62 · structural: printed (58, 44c, 77, 78, 79)
 * reworded "공유키 — 가족·직원과 함께 쓰기" to "셰어 키 — 가족·직원과 함께 쓰기" · PRODUCT.md brand term
 * built: the project · redesign: polish · v2.0.0 */
/* keyfree 통합 스타일 — site.css, upgrade.css, support-path.css, product-visuals.css, typography.css, minimal.css, page-message.css, detail-groups.css, purchase-guide.css, detail-template.css, order-guide.css, product-specs.css, compact-type.css
   2026-09-14 CSS 통합(감사 후속). 순서는 통합 전 각 페이지의 로드 순서 그대로다.
   ☠개별 파일을 고치면 이 번들을 다시 만들어야 한다: scratchpad/bundle_css.py
   ☠페이지 안 <style> 은 이 번들보다 뒤에 온다(더 강함). */

/* ═══ site.css ═══ */
/* ============================================================
   KEY-FREE × 캠프 가드 — 시네마틱 브랜드 사이트
   이미지가 주연 · 카피는 한 줄 · 은은한 모션
   화이트 베이스 · 블루 #2563EB · 오렌지 #F97316(대화 묻기 전용)
   ============================================================ */
:root {
  --bg:        #ffffff;
  --bg-soft:   #f7f8fa;
  --bg-card:   #f3f4f6;
  --bg-night:  #07090d;
  --ink:       #111418;
  --ink-2:     #4a4f57;
  --ink-3:     #5f6772;
  --line:      #e8e8ea;
  --accent:    #2563eb;
  --focus-ring:#2563eb;            /* 포커스 링 — 흰 바탕 5.2:1·가장 어두운 띠 #101a2a 3.4:1, 한 색으로 둘 다 3:1 넘김 (2026-10-25 Hallmark 26a) */
  --accent-2:  #4a9eff;            /* 어두운 배경 전용 */
  --accent-ink:#1d5fb8;            /* 밝은 배경 글자용 — #4a9eff 는 흰 배경에서 2.6:1 (2026-09-14 감사) */
  --orange:    #c2560b;
  --red:       #ef4444;
  --sans: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', sans-serif;
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-font-smoothing:antialiased; scroll-behavior:smooth; }
body { font-family:var(--sans); background:var(--bg); color:var(--ink); line-height:1.6; text-wrap:pretty; word-break:keep-all; overflow-x:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:1080px; margin:0 auto; padding:0 28px; }

/* ── 스크롤 리빌 ── */
@media (scripting: enabled) { .reveal { opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.2,.6,.2,1), transform .8s cubic-bezier(.2,.6,.2,1); } }  /* 스크립트가 꺼지면 내용이 그대로 보인다 (2026-10-25 Hallmark 62) */
.reveal.in { opacity:1; transform:none; }
.reveal.d1 { transition-delay:.12s; }
.reveal.d2 { transition-delay:.24s; }
.reveal.d3 { transition-delay:.36s; }

/* ── 내비 ── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  transition:background .3s ease, box-shadow .3s ease;
}
.nav .inner {
  max-width:1180px; margin:0 auto; padding:0 28px;
  display:flex; align-items:center; justify-content:space-between; gap:10px; height:68px;
}
.nav .logo { font-size:16px; font-weight:900; letter-spacing:.02em; color:#fff; white-space:nowrap; text-shadow:0 1px 12px rgba(0,0,0,.4); }
.nav .logo .x { opacity:.55; font-weight:300; margin:0 7px; }
.nav .logo .home-m { display:none; }
.nav .menu { display:flex; gap:4px; align-items:center; margin-left:auto; }
.nav .menu a,
.nav .acts .buy {
  padding:8px 15px; border-radius:999px; white-space:nowrap;
  font-size:13.5px; font-weight:700; color:rgba(255,255,255,.85);
  text-shadow:0 1px 8px rgba(0,0,0,.35);
  transition:background .2s ease, color .2s ease;
}
.nav .menu a:hover { background:rgba(255,255,255,.14); color:#fff; }
.nav .menu a[aria-current="page"] { background:rgba(255,255,255,.18); color:#fff; }
.nav.scrolled .menu a[aria-current="page"], .nav.open .menu a[aria-current="page"] { background:var(--bg-card); color:var(--ink); }
.nav .acts { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.nav .acts .buy { background:#fff; color:var(--ink); text-shadow:none; }
/* 햄버거 — 폰 전용, 데스크톱 숨김 */
.nav .nav-toggle {
  display:none; width:44px; height:44px; padding:0; border:0; border-radius:8px;
  background:rgba(255,255,255,.16); cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
  -webkit-tap-highlight-color:transparent;
}
.nav .nav-toggle span { display:block; width:18px; height:2px; border-radius:2px; background:#fff; transition:transform .2s ease, opacity .2s ease; }
.nav.open .nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav.open .nav-toggle span:nth-child(2) { opacity:0; }
.nav.open .nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.nav.scrolled, .nav.open { background:rgba(255,255,255,.92); backdrop-filter:blur(16px) saturate(160%); box-shadow:0 1px 0 rgba(0,0,0,.06); }
.nav.scrolled .logo, .nav.open .logo { color:var(--ink); text-shadow:none; }
.nav.scrolled .logo .cg, .nav.open .logo .cg { color:var(--accent); }
.nav.scrolled .menu a, .nav.open .menu a { color:var(--ink-2); text-shadow:none; }
.nav.scrolled .menu a:hover { background:var(--bg-card); color:var(--ink); }
.nav.scrolled .acts .buy, .nav.open .acts .buy { background:var(--accent); color:#fff; }
.nav.scrolled .nav-toggle, .nav.open .nav-toggle { background:var(--bg-card); }
.nav.scrolled .nav-toggle span, .nav.open .nav-toggle span { background:var(--ink); }

/* ── 풀스크린 히어로 ── */
.cine-hero {
  position:relative; min-height:100svh;
  display:flex; align-items:flex-end; overflow:hidden; color:#fff;
}
.cine-hero .bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  animation:kenburns 18s ease-out forwards;
}
@keyframes kenburns {
  from { transform:scale(1.12); }
  to   { transform:scale(1.0); }
}
.cine-hero::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,8,14,.35) 0%, rgba(5,8,14,0) 35%, rgba(5,8,14,.72) 100%);
}
.cine-hero .inner {
  position:relative; z-index:2; width:100%;
  max-width:1080px; margin:0 auto; padding:0 28px 13vh;
}
.cine-hero .eyebrow-pill {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 16px; border:1px solid rgba(255,255,255,.35); border-radius:999px;
  font-size:12px; letter-spacing:3px; font-weight:700; color:rgba(255,255,255,.9);
  backdrop-filter:blur(8px); margin-bottom:28px;
}
.cine-hero .eyebrow-pill .dot { width:6px; height:6px; border-radius:50%; background:var(--accent-2); }
.cine-hero h1 {
  font-size:clamp(40px, 6.4vw, 76px); font-weight:900;
  letter-spacing:-.045em; line-height:1.08;
  text-shadow:0 4px 40px rgba(0,0,0,.45);
}
.cine-hero h1 .thin { font-weight:300; }
.cine-hero .sub {
  margin-top:22px; font-size:clamp(16px, 2vw, 20px);
  color:rgba(255,255,255,.88); line-height:1.6;
  text-shadow:0 2px 20px rgba(0,0,0,.5);
  max-width:560px;
}

/* ── 마키 리본·스크롤 유도 점 — 쓰는 HTML 이 없어 2026-09-14 제거(감사) ── */

/* ── 큰 선언 타이포 ── */
/* 키워드 4종 밴드 — 히어로 사진 위에서 안 읽혀 아래로 내린 자리 (8/29 사장님, 실기 확인) */
.kwband { background:var(--bg-soft); border-bottom:1px solid var(--line); padding:30px 0; }
.kwgrid { max-width:1080px; margin:0 auto; padding:0 28px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.kwband .kw { background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:16px 18px; }
.kwband .kw b { display:block; color:var(--accent); font-size:14.5px; letter-spacing:.04em; margin-bottom:5px; }
.kwband .kw span { display:block; font-size:13px; color:var(--ink-2); line-height:1.6; }
@media (max-width:920px) { .kwgrid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px) { .kwband { padding:22px 0; } .kwgrid { grid-template-columns:1fr; gap:10px; padding:0 20px; } .kwband .kw { padding:13px 15px; } }

.statement { padding:140px 0; text-align:center; }
.statement .small {
  font-size:13px; letter-spacing:4px; font-weight:800; color:var(--accent);
  margin-bottom:28px; text-transform:uppercase;
}
.statement h2 {
  font-size:clamp(30px, 4.6vw, 56px); font-weight:900;
  letter-spacing:-.04em; line-height:1.18;
}
.statement h2 .dim { color:var(--ink-3); font-weight:700; }
.statement .after {
  margin-top:26px; font-size:18px; color:var(--ink-2); line-height:1.7;
  max-width:560px; margin-left:auto; margin-right:auto;
}

/* ── 풀블리드 장면 (패럴럭스) ── */
.scene {
  position:relative; min-height:88vh;
  display:flex; align-items:center; overflow:hidden; color:#fff;
}
.scene .bg {
  position:absolute; inset:-1px;
  background-size:cover; background-position:center;
  background-attachment:fixed;
}
.scene::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(5,8,14,.62) 0%, rgba(5,8,14,.25) 55%, rgba(5,8,14,0) 100%);
}
.scene.from-right::after {
  background:linear-gradient(270deg, rgba(5,8,14,.62) 0%, rgba(5,8,14,.25) 55%, rgba(5,8,14,0) 100%);
}
.scene.bottom-veil::after {
  background:linear-gradient(180deg, rgba(5,8,14,.15) 0%, rgba(5,8,14,.7) 100%);
}
.scene .inner {
  position:relative; z-index:2; width:100%;
  max-width:1080px; margin:0 auto; padding:120px 28px;
}
.scene.from-right .inner { display:flex; justify-content:flex-end; }
.scene.from-right .copy { text-align:right; }
.scene .copy { max-width:520px; }
.scene .moment {
  font-size:13px; letter-spacing:3.5px; font-weight:800;
  color:var(--accent-2); margin-bottom:20px;
}
.scene h2 {
  font-size:clamp(30px, 4.4vw, 52px); font-weight:900;
  letter-spacing:-.04em; line-height:1.16;
  text-shadow:0 4px 36px rgba(0,0,0,.5);
}
.scene .line {
  margin-top:20px; font-size:17px; color:rgba(255,255,255,.85);
  line-height:1.65; text-shadow:0 2px 16px rgba(0,0,0,.5);
}
.scene .go {
  display:inline-flex; align-items:center; gap:8px; margin-top:32px;
  padding:13px 28px; border-radius:999px;
  background:rgba(255,255,255,.95); color:var(--ink);
  font-size:14.5px; font-weight:800;
  transition:transform .2s ease, box-shadow .2s ease;
}
.scene .go:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(0,0,0,.35); }

/* ── 음성 대화 (묻기=오렌지 / 답하기=파랑+✦) ── */
.dialog-zone { padding:120px 0; }
.dialog {
  background:var(--bg-card); border-radius:18px;
  padding:26px 30px; max-width:600px; margin:0 auto 14px;
}
.dialog .q { font-size:clamp(17px, 2.2vw, 21px); font-weight:800; color:var(--orange); letter-spacing:-.02em; }
.dialog .a { font-size:clamp(17px, 2.2vw, 21px); font-weight:800; color:var(--accent); letter-spacing:-.02em; margin-top:10px; }
.dialog .a::before { content:'✦ '; }
.dialog .meta { margin-top:12px; font-size:13px; color:var(--ink-3); line-height:1.6; }
.dialog-zone .caption {
  text-align:center; margin-top:36px; font-size:14px; color:var(--ink-3); letter-spacing:.04em;
}

/* ── 다크 무드 섹션 ── */
.night {
  position:relative; background:var(--bg-night); color:#fff;
  padding:140px 0; overflow:hidden;
}
.night .orb {
  position:absolute; border-radius:50%; filter:blur(90px); opacity:.35;
  animation:float 14s ease-in-out infinite alternate;
  pointer-events:none;
}
.night .orb.blue { width:480px; height:480px; background:#1d4fd7; top:-160px; right:-120px; }
.night .orb.teal { width:380px; height:380px; background:#0d9488; bottom:-140px; left:-100px; animation-delay:-7s; }
.night .orb.red  { width:420px; height:420px; background:#dc2626; top:-120px; left:30%; animation:pulse-red 3.2s ease-in-out infinite; }
@keyframes float {
  from { transform:translate(0,0) scale(1); }
  to   { transform:translate(40px,30px) scale(1.12); }
}
@keyframes pulse-red {
  0%,100% { opacity:.16; }
  50%     { opacity:.42; }
}
.night .inner { position:relative; z-index:2; }
.night h2 {
  font-size:clamp(30px, 4.4vw, 54px); font-weight:900;
  letter-spacing:-.04em; line-height:1.16; color:#fff;
}
.night .small {
  font-size:13px; letter-spacing:4px; font-weight:800; color:var(--accent-2);
  margin-bottom:26px; text-transform:uppercase;
}
.night .line { margin-top:22px; font-size:18px; color:#aab2bf; line-height:1.7; max-width:600px; }
.night .line b { color:#fff; }

/* ── 아이덴티티 키워드 하이라이트 (9/01 사장님 "키워드는 하이라이트로") ──
   QUICK 버튼 · DIRECT 방식 · AUTO 패스 · SMART 리모컨 — 본문에서 부를 땐 항상 .kwhl
   형광펜 밑줄(글자 60% 아래만 칠함) + 액센트 — 어두운 섹션에선 밝은 블루로 자동 전환 */
.kwhl {
  font-weight:800; color:var(--accent);
  background:linear-gradient(transparent 58%, rgba(37,99,235,.18) 58%);
  padding:0 .12em; border-radius:2px;
}
.scene .kwhl, .night .kwhl {
  color:var(--accent-2);
  background:linear-gradient(transparent 58%, rgba(74,158,255,.24) 58%);
}

/* ── 이미지 카드 (호버 줌) ── */
.shot {
  border-radius:24px; overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.16);
}
.shot img {
  width:100%; transform:scale(1.01);
  transition:transform 1.2s cubic-bezier(.2,.6,.2,1);
}
.shot:hover img { transform:scale(1.06); }
.night .shot { box-shadow:0 30px 80px rgba(0,0,0,.55); }

/* ── 제품 포털 ── */
.portals { padding:130px 0; }
.portal-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; margin-top:56px; }
.portal {
  position:relative; border-radius:26px; overflow:hidden;
  aspect-ratio:4/5; display:flex; align-items:flex-end; color:#fff;
}
.portal .pbg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  transition:transform 1.4s cubic-bezier(.2,.6,.2,1);
}
.portal:hover .pbg { transform:scale(1.07); }
.portal::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(5,8,14,0) 18%, rgba(5,8,14,.45) 55%, rgba(5,8,14,.88) 100%);
}
.portal .pbody { position:relative; z-index:2; padding:38px; width:100%; }
.portal .ptag { display:inline-block; background:rgba(9,17,28,.66); padding:4px 10px; border-radius:5px; font-size:12.5px; letter-spacing:3px; font-weight:800; color:#cfe6ff; margin-bottom:10px;
  text-shadow:0 1px 8px rgba(0,0,0,.9); }  /* 사진 위라 밝은 부분에서 안 읽혔다 (2026-09-14 라이브 점검) */
.portal .pname { font-size:34px; font-weight:900; letter-spacing:-.03em; margin-bottom:8px; }
.portal .pline { font-size:15.5px; color:rgba(255,255,255,.85); line-height:1.55; margin-bottom:20px; }
.portal .parrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:800; color:#fff;
  border-bottom:2px solid var(--accent-2); padding-bottom:3px;
  transition:gap .2s ease;
}
.portal:hover .parrow { gap:14px; }

/* ── 작은 느낌 그리드 ── */
.feel-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:48px; }
.feel {
  padding:28px 22px; border-radius:18px; background:var(--bg-card);
  transition:transform .25s ease, background .25s ease;
}
.feel:hover { transform:translateY(-4px); background:#eceef2; }
.feel .fk { font-size:12px; letter-spacing:2.5px; font-weight:800; color:var(--accent); margin-bottom:10px; }
.feel .ft2 { font-size:16.5px; font-weight:800; letter-spacing:-.02em; line-height:1.4; }
.night .feel { background:rgba(255,255,255,.06); }
.night .feel:hover { background:rgba(255,255,255,.1); }
.night .feel .ft2 { color:#fff; }   /* 카드 3장짜리 */

/* ── CTA ── */
.cta {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#1d4fd7 0%,#4a9eff 100%);
  color:#fff; text-align:center; padding:130px 0;
}
.cta .orb { position:absolute; border-radius:50%; filter:blur(80px); opacity:.3; background:#fff; width:400px; height:400px; top:-200px; left:50%; transform:translateX(-50%); }
.cta h2 { position:relative; font-size:clamp(32px, 4.8vw, 56px); font-weight:900; letter-spacing:-.04em; line-height:1.12; }
.cta .sub { position:relative; margin-top:20px; font-size:18px; color:rgba(255,255,255,.88); }
.cta .btn {
  position:relative; display:inline-flex; align-items:center; gap:10px; margin-top:44px;
  padding:18px 42px; background:#fff; color:var(--accent);
  font-size:17px; font-weight:800; border-radius:999px;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
  transition:transform .2s ease;
}
.cta .btn:hover { transform:translateY(-3px); }
.cta .meta { position:relative; margin-top:30px; font-size:12.5px; color:rgba(255,255,255,.7); letter-spacing:1.5px; }
/* 브랜드 축 — 닫는 CTA 의 마지막 서명 줄 (2026-08-22) */
.cta .axis { position:relative; max-width:520px; margin:28px auto 0; padding-top:24px; border-top:1px solid rgba(255,255,255,.3); font-size:20px; font-weight:800; letter-spacing:-.02em; color:#fff; }

/* ── Footer ── */
.ft-site {
  padding:48px 28px; background:var(--bg-night); color:#8b95a3;
  font-size:13px; text-align:center; letter-spacing:.04em;
}
.ft-site b { color:#9aa0a6; font-weight:600; }
.ft-site .links { margin-bottom:16px; display:flex; flex-wrap:wrap; gap:0 20px; justify-content:center; }
.ft-site .links a { color:#8b95a3; font-weight:600; transition:color .2s ease;
  padding:14px 4px; display:inline-block; line-height:1.35; }  /* 손가락 44px (2026-09-14 감사) */
.ft-site .links a:hover { color:#fff; }
/* 사업자 정보 (2026-09-15) */
.ft-site .fbiz { margin:10px auto 0; max-width:720px; font-size:12.5px; line-height:1.7; letter-spacing:.01em; word-break:keep-all; color:#8b95a3; }
.ft-site .fbiz a { color:#aeb6c1; text-decoration:underline; text-underline-offset:3px; }

/* ── 모션 줄이기 ── */
@media (prefers-reduced-motion: reduce) {
  .cine-hero .bg { animation:none; }
  .ribbon .track { animation:none; }
  .reveal { opacity:1; transform:none; transition:none; }
}

/* ── 반응형 ── */
@media (max-width: 920px) {
  .feel-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px) {
  /* 폰 우선 — 여백·글자 한 단계 내리고, 한 줄에 담기는 폭을 지킨다 */
  .wrap { padding:0 20px; }

  /* 내비: 브랜드 + [AI 상담][☰] · 메뉴는 아래로 펼치는 패널 */
  .nav .inner { height:58px; padding:0 14px; gap:8px; }
  .nav .logo { font-size:13px; letter-spacing:.01em; }
  .nav .logo .x { margin:0 5px; }
  .nav .nav-toggle { display:inline-flex; }
  .nav .acts .buy { padding:12px 16px; font-size:13px; }  /* 44px (2026-09-14 디자인 시스템 검토) */
  .nav .menu {
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:0; margin:0;
    padding:6px 10px 12px; background:#fff;
    border-top:1px solid var(--line); box-shadow:0 18px 40px rgba(0,0,0,.14);
  }
  .nav.open .menu { display:flex; }
  .nav .menu a {
    padding:15px 12px; border-radius:10px; font-size:16px; font-weight:700;
    color:var(--ink); text-shadow:none; border-bottom:1px solid var(--line);
  }
  .nav .menu a:last-child { border-bottom:0; }
  .nav .menu a:hover { background:var(--bg-soft); }

  /* 히어로 — ★폰(짧은 세로)에서 내용이 100svh 를 넘으면 위로 넘쳐 고정 내비 밑으로 들어간다
     (실기 384x690 재현: 아이브로우 알약이 브랜드 글자와 겹침). 히어로에 내비 높이만큼
     상단 여백을 줘서 넘칠 때 아래로 밀리게 하고, 바닥 여백은 줄여 숨통을 준다. (8/29 실기 검증) */
  .cine-hero { padding-top:66px; }
  .cine-hero .inner { padding:0 20px 8vh; }
  .cine-hero .eyebrow-pill { font-size:12px; letter-spacing:1.6px; padding:7px 13px; margin-bottom:20px; white-space:nowrap; }
  .cine-hero h1 { font-size:clamp(32px, 9.4vw, 40px); }
  .cine-hero .sub { margin-top:16px; font-size:15.5px; }

  /* 선언·장면·밤·CTA — 섹션 여백과 제목 크기 */
  .statement { padding:72px 0; }
  .statement .small, .night .small { letter-spacing:3px; margin-bottom:18px; }
  .statement h2 { font-size:clamp(26px, 7.4vw, 32px); }
  .statement .after { margin-top:18px; font-size:16px; }
  .scene .bg { background-attachment:scroll; }
  .scene { min-height:72vh; }
  .scene .inner { padding:76px 20px; }
  /* 폰은 카피가 항상 왼쪽 — 좌우 그라데이션 대신 위아래로 고르게 어둡힌다 */
  .scene::after, .scene.from-right::after {
    background:linear-gradient(180deg, rgba(5,8,14,.55) 0%, rgba(5,8,14,.38) 45%, rgba(5,8,14,.72) 100%);
  }
  .scene.bottom-veil::after { background:linear-gradient(180deg, rgba(5,8,14,.25) 0%, rgba(5,8,14,.78) 100%); }
  .scene.from-right .copy { text-align:left; }
  .scene.from-right .inner { justify-content:flex-start; }
  .scene .moment { letter-spacing:2.5px; margin-bottom:14px; }
  .scene h2 { font-size:clamp(26px, 7.2vw, 32px); }
  .scene .line { margin-top:16px; font-size:15.5px; }
  .scene .go { margin-top:24px; padding:12px 22px; font-size:14px; }
  .night { padding:72px 0; }
  .night h2 { font-size:clamp(26px, 7.2vw, 32px); }
  .night .line { margin-top:16px; font-size:16px; }
  .dialog-zone { padding:64px 0; }
  .dialog { padding:20px 20px; border-radius:16px; }
  .dialog-zone .caption { margin-top:26px; }
  .cta { padding:84px 0; }
  .cta h2 { font-size:clamp(28px, 7.6vw, 34px); }
  .cta .sub { font-size:16px; margin-top:14px; }
  .cta .btn { margin-top:30px; padding:15px 28px; font-size:16px; }
  .cta .meta { margin-top:22px; font-size:12px; letter-spacing:1px; }
  .cta .axis { margin-top:22px; padding-top:18px; font-size:17px; }

  /* 포털·느낌 카드 */
  .portals { padding:72px 0; }
  .portal-grid { grid-template-columns:1fr; gap:16px; margin-top:36px; }
  .portal { aspect-ratio:4/4.4; border-radius:22px; }
  .portal .pbody { padding:24px 22px; }
  .portal .ptag { font-size:12px; letter-spacing:2px; }
  .portal .pname { font-size:30px; }
  .portal .pline { font-size:15px; margin-bottom:16px; }
  .feel-grid, .feel-grid.three { grid-template-columns:1fr 1fr; gap:10px; margin-top:32px; }
  .feel { padding:20px 18px; }
  .feel .ft2 { font-size:15.5px; }
  .feel .ft2 br { display:none; }   /* 데스크톱용 줄바꿈은 폰에서 글자를 쪼갠다 */
  .shot, .hiw-photo { border-radius:18px; }
  .ft-site { padding:36px 20px; }
}
@media (max-width: 480px) {
  .feel-grid, .feel-grid.three { grid-template-columns:1fr; }
}

.parkmap{margin-top:16px;border-radius:14px;overflow:hidden;border:1px solid #1d2733;max-width:560px;box-shadow:0 12px 32px rgba(0,0,0,.45);}
.parkmap svg,.parkmap img{display:block;width:100%;height:auto;}

/* ═══ upgrade.css ═══ */
/* Product selection refresh — 2026-09-09 */
.decision{padding:64px 24px;background:#fff;color:#182230;scroll-margin-top:90px}.decision-inner{max-width:1040px;margin:auto}.decision small{font-size:12px;font-weight:800;color:#526477}.decision h2{font-size:clamp(26px,4vw,40px);line-height:1.3;margin:12px 0 16px}.decision p{line-height:1.75;color:#526477}.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.decision-card{display:flex;flex-direction:column;gap:12px;padding:26px;background:#f4f6f8;border:1px solid #e1e6ed;border-radius:12px;color:#182230;text-decoration:none}.decision-card h3{font-size:23px;line-height:1.4;margin:0}.decision-card p{margin:0}.decision-card strong{font-size:18px}.decision-card .next{margin-top:auto;padding-top:16px;font-weight:800;color:#2563eb}.decision-card img{width:100%;height:180px;object-fit:contain}.decision-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.decision-actions a{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;min-height:48px;border-radius:8px;background:#fff;color:#172335;font-weight:800;text-decoration:none;border:1px solid #cbd5e1}.decision-actions a:first-child{background:#2563eb;color:#fff;border-color:#2563eb}.decision a:focus-visible,.decision-actions a:focus-visible{outline:3px solid var(--focus-ring,#2563eb);outline-offset:4px}html{scroll-padding-top:90px}.cine-hero .decision-actions{position:relative;z-index:2}.cine-hero .sub{color:#eef2f7}.cine-hero .inner{padding-bottom:70px}.cine-hero{min-height:760px}.decision-note{font-size:14px;margin-top:22px!important}@media(max-width:700px){.decision{padding:40px 20px}.decision-grid{grid-template-columns:1fr}.decision-card{padding:22px}.decision-actions a{flex:1 1 180px}.cine-hero{min-height:700px;height:auto}.cine-hero h1{font-size:clamp(38px,9vw,60px)}.decision-card img{height:150px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}

#choose.night{padding:64px 0;background:#101a2a}#choose .ways{margin-top:28px}#choose .way{border:1px solid #3c4b60;background:#172337;border-radius:12px;padding:26px}#choose .way p{color:#d0d9e5}#choose .wn{color:#9fc4ff}#choose .reveal{opacity:1;transform:none}

/* Reading rhythm and keyboard navigation */
.page-shortcuts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:24px 20px;background:#fff}.page-shortcuts a{padding:10px 16px;border:1px solid #d3dce8;border-radius:8px;color:#24364c;font-size:15px;font-weight:700;text-decoration:none}.page-shortcuts a:hover{background:#edf3fb}:focus-visible{outline:3px solid var(--focus-ring,#2563eb);outline-offset:4px}video:focus-visible{outline-offset:-3px}.decision-card{transition:border-color .18s,box-shadow .18s}.decision-card:hover{border-color:#8dabc9;box-shadow:0 8px 24px #1723350d}.decision-card h3{word-break:keep-all}.decision-note:empty{display:none}@media(max-width:700px){.decision-card strong{font-size:16px}.decision-card h3{font-size:22px}}

.product-intro{display:flex;align-items:center;gap:28px;margin:24px 0;padding:24px;background:#f4f6f8;border-radius:12px}.product-intro img{width:180px;height:140px;object-fit:contain}.product-intro p{margin:0}.product-intro strong{font-size:20px;color:#182230}#choose .way a{display:inline-block;margin-top:12px;color:#a8caff;font-weight:700}#prices{padding:40px 20px 56px!important}#prices .reveal{opacity:1;transform:none}.cine-hero .eyebrow-pill{max-width:100%;white-space:normal;letter-spacing:1.5px;line-height:1.6}.dialog-zone{padding-top:64px;padding-bottom:64px}@media(max-width:700px){.product-intro{gap:16px;padding:18px}.product-intro img{width:110px;height:110px}.product-intro strong{font-size:17px}.product-intro p{font-size:14px}.cine-hero .eyebrow-pill{font-size:12px;letter-spacing:.6px}#choose .way p{font-size:15px}#prices .wrap>div>div{flex-wrap:wrap}}
[style*="color:#98a2b3"]{color:#59677b!important}  /* 흰 배경 2.4:1 → 4.6:1 (2026-09-14 감사) */@media(max-width:700px){#prices .wrap>div>div{text-align:left;row-gap:8px}#prices .wrap>div>div>span:last-child{font-weight:700}}

/* Match typography to the quiet camping setting; keep the hero emphatic. */
.camp-page section h2{font-weight:700!important;letter-spacing:-.025em}.camp-page section h3{font-weight:700!important}.camp-page .way .wh{font-weight:700}.camp-page .line,.camp-page .after{line-height:1.8}.camp-page section p b{font-weight:600}
.quick-explainer{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:center;max-width:820px;margin:40px auto 0;padding:36px;background:#f4f6f8;border-radius:16px;text-align:left}.quick-explainer figure{margin:0;text-align:center}.quick-explainer img{display:block;width:160px;max-width:100%;height:auto;margin:auto;border:6px solid #17202c;border-radius:20px}.quick-explainer figcaption{font-size:13px;color:#526477;margin-top:12px}.quick-copy h3{font-size:30px;line-height:1.35;font-weight:700;color:#172335;margin:12px 0 18px}.quick-copy p{font-size:16px;line-height:1.8;color:#526477}.quick-copy ol{padding-left:24px;margin:20px 0;color:#24364c;font-size:17px;line-height:2}.quick-copy .quick-caption{font-size:14px}@media(max-width:700px){.quick-explainer{grid-template-columns:1fr;gap:28px;padding:24px}.quick-explainer img{width:140px}.quick-copy h3{font-size:26px}.camp-page .line,.camp-page .after{font-size:16px}}

/* ═══ support-path.css ═══ */
.support-path{box-sizing:border-box;max-width:1040px;margin:48px auto;padding:28px 30px;background:#f1f5f9;color:#172235;border:1px solid #dbe3ec;border-radius:16px;font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:24px}.support-path h2{font-size:23px;line-height:1.4;margin:0 0 8px;color:#172235}.support-path p{font-size:16px;line-height:1.7;margin:0;color:#475569}.support-path a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:9px;background:#163b65;color:#fff;font-size:16px;font-weight:700;text-decoration:none;flex-shrink:0}.support-path a:focus-visible{outline:3px solid var(--focus-ring,#2563eb);outline-offset:4px}@media(max-width:700px){.support-path{margin:32px 16px;padding:24px;display:block}.support-path a{margin-top:18px;width:100%;box-sizing:border-box}.support-path h2{font-size:21px}}

/* ═══ product-visuals.css ═══ */
.cine-hero.product-hero{min-height:0;display:block;background:#07172c;padding:124px 0 64px;color:#fff}.product-hero::after{display:none}.cine-hero.product-hero .inner{max-width:1440px;padding:0 32px;display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:center}.product-hero h1{font-size:clamp(32px,3.5vw,56px);line-height:1.18}.product-hero .sub{font-size:17px;line-height:1.8}.product-hero .eyebrow-pill{font-size:11px;letter-spacing:1px;white-space:normal}.product-hero figure{margin:0;min-width:0}.product-hero figure img{display:block;width:100%;height:auto;border-radius:20px}.product-hero figcaption{font-size:12px;line-height:1.6;color:#b7c8de;margin-top:10px}.product-assembly{max-width:1080px;margin:0 auto;padding:56px 24px}.product-assembly img{display:block;width:100%;height:auto;border-radius:18px}.product-assembly h2{font-size:clamp(25px,3vw,38px);line-height:1.35;margin:0 0 14px}.product-assembly p{font-size:17px;line-height:1.8}.product-assembly figcaption{font-size:13px;color:#627083;line-height:1.6;margin-top:12px}.product-assembly figure{margin:24px 0 0}.assembly-flow{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.assembly-flow span{background:#edf2f7;color:#203047;border-radius:8px;padding:10px 14px;font-size:15px;font-weight:700}@media(max-width:800px){.cine-hero.product-hero{padding:98px 0 36px}.cine-hero.product-hero .inner{display:flex;flex-direction:column;padding:0 20px;gap:24px}.product-hero h1{font-size:36px}.product-hero figure{width:100%}.product-hero .sub{font-size:16px}.product-hero .entry-actions{display:grid}.product-assembly{padding:36px 20px}}
.product-assembly figure,.assembly-overview{max-width:820px;margin-left:auto;margin-right:auto}@media(max-width:600px){.product-assembly figure,.assembly-overview{max-width:100%}}

.product-hero figure{width:80%;max-width:620px;justify-self:center;margin-left:auto;margin-right:auto}@media(max-width:800px){.product-hero figure{width:80%;max-width:620px}}

.statement.assembly-summary{padding-bottom:28px}.assembly-summary + .portals{padding-top:36px}.assembly-detail-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;color:#1857a4;text-decoration:underline;text-underline-offset:4px;font-weight:700}.assembly-detail-link:hover{color:#0b366b}.assembly-detail-link:focus-visible{outline:3px solid var(--focus-ring,#2563eb);outline-offset:3px}#assembly{scroll-margin-top:90px}

@media(min-width:801px){.cine-hero.product-hero .inner{max-width:1240px;margin-left:auto;margin-right:auto;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px}.product-hero figure{width:100%;max-width:620px}}

/* Balanced reading and product proportions */
.product-hero h1{word-break:keep-all;text-wrap:balance}.product-hero .sub{max-width:560px;font-weight:400;word-break:keep-all;line-height:1.75}.product-hero figcaption{font-size:13px;color:#c3cfe0}.product-hero .entry-actions a{justify-content:center;min-height:48px}.statement.assembly-summary{padding-top:88px}.product-assembly figcaption{color:#536174}
@media(min-width:801px) and (max-width:1000px){.cine-hero.product-hero .inner{grid-template-columns:1fr;max-width:760px;gap:32px}.product-hero figure{width:80%}.product-hero .entry-actions{display:flex}.product-hero h1{font-size:40px}}
@media(max-width:800px){.product-hero h1{font-size:clamp(30px,6vw,40px)}.product-hero .entry-actions{display:flex;gap:12px}.product-hero .entry-actions a{flex:1 1 220px}.statement.assembly-summary{padding-top:56px}}

@media(max-width:820px){
.cine-hero.product-hero{padding:88px 0 36px}.cine-hero.product-hero .inner{display:block;padding:0 20px}.product-hero h1{font-size:clamp(28px,7.3vw,36px);margin-bottom:22px}.product-hero figure{width:100%;max-width:520px;margin:0 auto 22px}.product-hero figcaption{font-size:12px;line-height:1.5;color:#c3cfe0}.product-hero .sub{font-size:16px;line-height:1.7}.product-hero .entry-actions{margin-top:20px;gap:10px}.product-hero .entry-actions a{width:100%;flex:1 1 100%;font-size:15px}.product-hero .eyebrow-pill{margin-bottom:22px}.product-assembly{padding:36px 20px}.product-assembly p{font-size:16px}.product-assembly figcaption{font-size:13px}.assembly-flow{gap:8px}.assembly-flow span{font-size:13px;padding:9px}
}

/* ═══ typography.css ═══ */
/* Shared reading hierarchy: body 16px, headings distinct, metadata compact. */
body.type-hierarchy p,
body.type-hierarchy :is(section,article,main,.doc) :is(li,dd),
body.type-hierarchy :is(.lead,.sub,.desc,.gdesc,.pline,.line,.exp){font-size:16px!important;line-height:1.8!important;font-weight:400!important;}
body.type-hierarchy p :is(strong,b),body.type-hierarchy li :is(strong,b){font-weight:600!important;}
body.type-hierarchy :is(section,article,main) h3{font-size:20px!important;line-height:1.45!important;font-weight:700!important;}
body.type-hierarchy :is(section,article,main) h4{font-size:19px!important;line-height:1.5!important;font-weight:700!important;}
body.type-hierarchy :is(.card,.decision-card,.scard,.pcard,.pg) h3{font-size:21px!important;}
body.type-hierarchy .decision-card>strong{font-size:17px!important;line-height:1.5!important;}
body.type-hierarchy :is(.decision-card,.card,.scard,.pcard) p{margin-top:8px;}
body.type-hierarchy :is(figcaption,.caption,.scap){font-size:13px!important;line-height:1.6!important;}
body.type-hierarchy :is(p.note,p.meta,p.small,footer p){font-size:14px!important;line-height:1.7!important;}
body.type-hierarchy :is(p.price,p.product-price,p.catch,p.big,p.quote){font-size:18px!important;font-weight:700!important;line-height:1.55!important;}
body.type-hierarchy :is(.maker-service,.product-value-update) h2{line-height:1.4;}
body.type-hierarchy .decision-card .next{font-size:14px!important;}
@media(max-width:680px){body.type-hierarchy :is(section,article,main) h3{font-size:20px!important;}body.type-hierarchy :is(section,article,main) h4{font-size:19px!important;}}

/* Descriptions rendered as divs and table cells use the same reading size. */
body.type-hierarchy :is(.rank .row .t,.card .body,.card .d,.step .d,.warn,.fit),
body.type-hierarchy :is(section,article,main) td{font-size:16px!important;line-height:1.8!important;}
body.type-hierarchy :is(.rank .row .t,.card .body,.card .d,.step .d) :is(strong,b){font-weight:600!important;}

/* ═══ minimal.css ═══ */
/* Conclusion first; optional information remains accessible without JavaScript. */
body.minimal .reveal,body.minimal .rv{opacity:1!important;transform:none!important;transition:none!important}
/* 흰 .minimal-detail 안의 .night 라벨 — 어두운 띠용 --accent-2(#4a9eff)는 흰 바탕 2.75:1 → --accent-ink 5.6:1 (2026-10-25 Hallmark 40) */
body.minimal .minimal-detail .night :is(.small,.kwhl){color:var(--accent-ink)}
body.minimal .cine-hero .bg{animation:none}
body.minimal .cine-hero{min-height:min(720px,88svh);padding-top:84px}
body.minimal .cine-hero .inner{padding-bottom:64px}
body.minimal .cine-hero.product-hero.home-hero{height:auto;min-height:min(650px,88svh);padding:100px 0 48px;align-items:center}
body.minimal .cine-hero.home-hero .inner{padding:0 28px}
body.minimal .hero,body.minimal .phero{padding-top:52px;padding-bottom:52px;min-height:0}
body.minimal header h1{font-size:clamp(32px,4.2vw,56px)!important;line-height:1.2!important;letter-spacing:-.045em!important}
body.minimal header .lead,body.minimal header .sub{font-size:18px!important;max-width:580px;line-height:1.6!important;margin-top:20px!important}
body.minimal .minimal-note{font-size:14px!important;line-height:1.6;margin-top:14px;opacity:.8}
.minimal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px}
/* 가운데 정렬 히어로(자료실·커뮤니티)에서는 버튼 줄도 가운데 — flex 라 text-align 을 따르지 않는다 (2026-09-14 데스크톱 점검) */
.docs-hero .minimal-actions{justify-content:center}
.minimal-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid currentColor;border-radius:8px;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none}
.minimal-actions a:first-child{background:var(--accent-btn,var(--accent,#2563eb));color:#fff;border-color:var(--accent-btn,var(--accent,#2563eb))}
.cine-hero .minimal-actions a{background:#fff;color:#152031;border-color:#fff}
.cine-hero .minimal-actions a+a{background:transparent;color:#fff;border-color:#ffffff80}
body.minimal-keylink header.hero .minimal-actions a:first-child{background:#fff;color:#244f95;border-color:#fff}
body.minimal-keylink header.hero .minimal-actions a+a{color:#fff;border-color:#ffffffaa}
body.minimal-techbrick header.hero{background:#f6f7f9}
body.minimal-techbrick header.hero::before,body.minimal-techbrick header.hero::after{display:none}
body.minimal .minimal-overview{padding:48px 0!important;background:var(--bg,#fff);color:var(--ink,#18202b)}
body.minimal .minimal-overview h2{font-size:clamp(21px,3vw,30px);line-height:1.4;margin:0 0 12px}
.minimal-product-photo{display:block;width:100%;max-width:620px;max-height:380px;object-fit:contain;margin:0 auto 28px}
.minimal-shortcuts{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;font-size:16px;font-weight:700}
.minimal-shortcuts a{padding:12px 0}
.minimal-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.minimal-feature-grid>a{display:block;min-width:0;text-align:center;padding:16px;border-radius:12px;background:#f6f7f9}
.minimal-feature-grid img{width:100%!important;height:180px!important;max-height:180px!important;max-width:100%!important;object-fit:contain;margin:0 auto 16px}
.minimal-feature-grid span{font-size:14px;color:#596271}
body.minimal .minimal-detail{display:block;max-width:1000px;margin:0 auto;background:#fff;color:#1c2733;border:0;border-bottom:1px solid #e1e5ea;border-radius:0;padding:0 24px;overflow:visible;scroll-margin-top:90px}
body.minimal .minimal-detail>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:18px 0;font-size:17px;font-weight:700;line-height:1.5;cursor:pointer;list-style:none;color:#1c2733}
.minimal-detail>summary::-webkit-details-marker{display:none}
.minimal-detail>summary::after{content:'+';font-size:24px;font-weight:400;flex:0 0 auto}
.minimal-detail[open]>summary::after{content:'−'}
body.minimal .minimal-detail-body{padding:8px 0 28px;line-height:1.8}
body.minimal .minimal-detail-body>section{max-width:none!important;margin:0!important;padding:24px 0!important;min-height:0!important;border:0!important;border-radius:0!important}
body.minimal .minimal-detail-body>section>.wrap{padding-left:0;padding-right:0}
body.minimal .minimal-detail-body .scene .inner{padding:40px 24px;min-height:0}
body.minimal .minimal-detail-body h2{font-size:clamp(22px,3vw,30px)!important;line-height:1.4!important}
body.minimal .minimal-detail-body h3{font-size:20px!important;line-height:1.5!important}
body.minimal .minimal-detail-body p{font-size:16px!important}
body.minimal .minimal-detail-body .orb{display:none}
body.minimal .minimal-detail-body .bg{background-attachment:scroll}
body.minimal .inline-detail{padding:0;margin-top:20px;width:100%;background:transparent}
body.minimal .inline-detail>summary{font-size:15px;min-height:52px;padding:14px 0}
body.minimal .minimal-price{font-size:22px!important;font-weight:800;margin-top:20px;color:var(--accent-d,var(--accent,#2563eb))}
body.minimal .prod h2{font-size:clamp(24px,3vw,34px)!important}
body.minimal .prod .desc{font-size:17px!important;line-height:1.7}
body.minimal .prod .stage{min-height:220px}
body.minimal .portals{padding:48px 0}
body.minimal .portals .statement{padding:0!important}
body.minimal .portals .small,body.minimal .portals .after{display:none}
body.minimal .portals h2{font-size:30px}
body.minimal .portal{min-height:0;aspect-ratio:1.25}
body.minimal .portal-grid{margin-top:24px}
body.minimal .minimal-resources{display:flex;justify-content:center;flex-wrap:wrap;gap:0 24px;padding-bottom:12px;font-size:14px}
body.minimal footer{margin-top:48px}
body.minimal .minimal-resources a{color:inherit;text-decoration:underline;text-underline-offset:4px;padding:12px 2px;display:inline-block;line-height:1.4}  /* 손가락 44px (2026-09-14 감사) */
.minimal-anchor,[id]{scroll-margin-top:90px}
.minimal-actions a:focus-visible,.minimal-detail>summary:focus-visible,.minimal-shortcuts a:focus-visible{outline:3px solid var(--focus-ring,#2563eb);outline-offset:5px}
@media(max-width:720px){
 body.minimal .cine-hero{min-height:min(600px,88svh);padding-top:76px}
 body.minimal .cine-hero .inner{padding-bottom:36px}
 body.minimal .cine-hero.product-hero.home-hero{padding:90px 0 36px;min-height:88svh}
 body.minimal .cine-hero.home-hero .inner{padding:0 20px}
 body.minimal .home-hero figure img{top:0;width:100%;height:100%;object-fit:cover;object-position:center}
 body.minimal .home-hero figure::after{background:rgba(3,18,41,.66)}
 body.minimal .hero,body.minimal .phero{padding-top:30px;padding-bottom:30px}
 body.minimal header h1{font-size:32px!important}
 body.minimal header .lead,body.minimal header .sub{font-size:16px!important;margin-top:16px!important}
 body.minimal .minimal-note{font-size:13px!important}
 .minimal-actions{gap:10px;margin-top:22px}
 .minimal-actions a{font-size:15px;padding:11px 16px;min-height:46px}
 body.minimal .hero .grid2,body.minimal .phero .grid2{gap:28px}
 body.minimal .hero-products{margin-top:12px}
 body.minimal .hero-product{min-width:0}
 body.minimal .minimal-overview{padding:32px 0!important}
 .minimal-feature-grid{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .minimal-feature-grid>a{padding:10px 6px}
 .minimal-feature-grid img{height:100px!important;max-height:100px!important}
 body.minimal .minimal-feature-grid h2{font-size:16px!important}
 .minimal-feature-grid span{font-size:12px}
 .minimal-shortcuts{justify-content:flex-start;gap:0 22px;font-size:14px}
 body.minimal .minimal-detail{padding:0 20px}
 body.minimal .minimal-detail>summary{font-size:16px;min-height:60px}
 body.minimal .inline-detail{padding:0}
 body.minimal .prod{gap:24px}
 body.minimal .prod .stage{min-height:0}
 body.minimal .portal{aspect-ratio:1.4}
 body.minimal .minimal-detail-body .wrap{max-width:100%}
 body.minimal .minimal-detail-body table{display:block;max-width:100%;overflow-x:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* ═══ page-message.css ═══ */
/* One readable message between the hero and optional product detail. */
body.minimal .page-message{position:relative;z-index:4;width:100%;max-width:none;box-sizing:border-box;margin:0;padding:36px 24px;background:#fff;color:#263340;border:0;border-radius:0;text-align:left}
.page-message-inner{max-width:1000px;margin:0 auto}
body.minimal .page-message p{max-width:700px;margin:0;font-size:19px!important;font-weight:400;line-height:1.85!important;letter-spacing:-.02em;color:#46515c;word-break:keep-all;overflow-wrap:break-word}
body.minimal .page-message h2{display:block;max-width:700px;margin:0 0 12px;color:#204b73;font-size:24px!important;font-weight:750;line-height:1.5!important;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:break-word}
/* 안내 문단 바로 아래 상담 한 줄 — 문의 버튼이 페이지 끝(5화면 아래)에만 있던 것을 첫 화면 가까이로 (2026-09-15) */
body.minimal .page-message p.page-ask{margin-top:14px;font-size:16px!important;line-height:1.75!important;color:#4d5661}
body.minimal .page-message p.page-ask a{color:#1d5fb8;font-weight:700;text-decoration:underline;text-underline-offset:4px;padding:6px 0;display:inline-block}
body.minimal .page-message+.minimal-overview,body.minimal .page-message+.portals,body.minimal .page-message+#products{padding-top:24px!important}
@media(max-width:720px){
 body.minimal .page-message{padding:28px 20px}
 body.minimal .page-message p{font-size:18px!important;line-height:1.8!important}
 body.minimal .page-message h2{font-size:22px!important;margin-bottom:10px}
}

/* ═══ detail-groups.css ═══ */
/* Shared disclosure vocabulary; one level of expansion. */
.detail-menu-list{clear:both;margin:0 auto;width:100%}
body.minimal .menu-group>.minimal-detail-body{padding-top:0}
body.minimal .menu-group .menu-topic{padding:24px 0!important;margin:0!important;min-height:0!important;background:transparent;border:0;border-radius:0}
body.minimal .menu-group .menu-topic+.menu-topic{border-top:1px solid #e1e5ea!important;margin-top:12px!important}
body.minimal .menu-group h3.menu-topic-title{font-size:20px!important;line-height:1.5!important;color:#25384e;margin:0 0 16px}
body.minimal .menu-topic-body>section{max-width:none!important;min-height:0!important;margin:0!important;padding:16px 0!important;border:0!important;border-radius:0!important}
body.minimal .menu-topic-body>section>.wrap{padding-left:0;padding-right:0;max-width:100%}
body.minimal .menu-subtopic{padding:16px 0 0}
body.minimal .menu-subtopic>h4{font-size:17px;margin:0 0 12px;color:#25384e}
.menu-topic-link{display:inline-block;margin-top:18px;padding:8px 0;font-size:15px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
header .menu-topic-link{color:inherit}
.menu-topic-link:focus-visible{outline:3px solid var(--focus-ring,#2563eb);outline-offset:4px}
@media(max-width:720px){body.minimal .menu-group h3.menu-topic-title{font-size:18px!important}.menu-topic-link{font-size:14px}}

/* Folded scenes use their own content width and safe inner spacing. */
body.minimal .menu-topic-body>section{box-sizing:border-box;width:100%;max-width:100%!important}
body.minimal .menu-topic-body>section>.wrap{box-sizing:border-box;width:100%;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding:24px!important}
body.minimal .menu-topic-body .copy{box-sizing:border-box;max-width:100%}
body.minimal .menu-topic-body .shot{box-sizing:border-box;max-width:100%;height:auto;overflow:visible}
body.minimal .menu-topic-body .shot img{display:block;max-width:100%!important;width:100%;height:auto!important;transform:none!important;object-fit:contain}
body.minimal .menu-topic-body svg{max-width:100%;height:auto}
@media(max-width:720px){body.minimal .menu-topic-body>section>.wrap{padding:20px 16px!important}}

/* Readable insets and width constraints for every expanded content block. */
body.minimal .menu-topic-body{min-width:0;max-width:100%}
body.minimal .menu-topic-body>section{box-sizing:border-box;width:100%;max-width:100%!important}
body.minimal .menu-topic-body>section>.wrap{box-sizing:border-box;width:100%;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding:24px!important}
body.minimal .menu-topic-body>.maker-service{padding:24px!important}
body.minimal .menu-topic-body :is(h2,h3,h4,p,li,dd,a){overflow-wrap:break-word}
body.minimal .menu-topic-body .shot img{max-width:100%;height:auto;transform:none!important;object-fit:contain}
@media(max-width:720px){body.minimal .menu-topic-body>section>.wrap,body.minimal .menu-topic-body>.maker-service{padding:20px 16px!important}}

/* ═══ purchase-guide.css ═══ */
/* An always-visible next step directly after the detail menus. */
body.minimal .purchase-guide{max-width:1000px;box-sizing:border-box;margin:32px auto 0;padding:36px 24px;background:#f4f6f9;border:0;border-radius:12px;text-align:center;color:#233244}
.purchase-guide-inner{max-width:720px;margin:0 auto}
body.minimal .purchase-guide h2{font-size:24px!important;line-height:1.45!important;margin:0 0 12px;color:#233244}
body.minimal .purchase-guide p{font-size:17px!important;line-height:1.8!important;margin:0 auto 22px;max-width:660px;color:#4b5868;word-break:keep-all}
body.minimal .purchase-primary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;box-sizing:border-box;background:#234f88;color:#fff;border:1px solid #234f88;border-radius:8px;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none}
body.minimal-techbrick .purchase-primary{background:#b6411b;border-color:#b6411b}
.purchase-secondary-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin-top:16px}
.purchase-secondary{font-size:15px;font-weight:600;line-height:1.7;color:#43546b;text-decoration:underline;text-underline-offset:4px}
.purchase-primary:focus-visible,.purchase-secondary:focus-visible{outline:3px solid var(--focus-ring,#2563eb);outline-offset:4px}
@media(max-width:720px){body.minimal .purchase-guide{margin:24px 16px 0;padding:28px 20px}body.minimal .purchase-guide h2{font-size:22px!important}body.minimal .purchase-guide p{font-size:16px!important}body.minimal .purchase-primary{width:100%;font-size:15px;padding:12px 16px}}

/* Product-specific ordering conditions remain visible below the common action. */
body.minimal .purchase-order-content{max-width:100%;text-align:left;margin-top:24px}
body.minimal .purchase-order-content:empty{display:none}
body.minimal .purchase-order-content>.menu-topic{padding:24px 0!important;margin:0!important;min-height:0!important;background:transparent;border:0;border-top:1px solid #dce2e9;border-radius:0}
body.minimal .purchase-order-content .menu-topic-title{font-size:20px!important;line-height:1.5!important;color:#25384e;margin:0 0 16px}
body.minimal .purchase-order-content p{max-width:none;margin:0 0 16px;text-align:left}
body.minimal .purchase-order-content .menu-topic-body>section{background:transparent!important}
body.minimal .purchase-order-content :is(.wrap,.grid,.cards,form){box-sizing:border-box;max-width:100%;min-width:0}
body.minimal .purchase-order-content :is(input,textarea,select){box-sizing:border-box;max-width:100%}
@media(max-width:720px){body.minimal .purchase-order-content .menu-topic-title{font-size:18px!important}body.minimal .purchase-order-content .menu-topic-body>section>.wrap{padding:16px 0!important}}

/* 카카오 문의 버튼 — 제품 페이지에 문의 경로가 없었다 (2026-09-14 감사) */
.order-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;justify-content:center}  /* 카카오 버튼을 넣으며 flex 로 바꿨더니 버튼이 왼쪽으로 밀렸다 — 원래 가운데 (2026-09-14 사장님 지적) */
.purchase-kakao{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;box-sizing:border-box;background:#fff;color:#234f88;border:1.5px solid #234f88;border-radius:8px;font-size:16px;font-weight:700;line-height:1.5;text-decoration:none}
.purchase-kakao:focus-visible{outline:3px solid var(--focus-ring,#2563eb);outline-offset:4px}
.order-ask,.overview-ask{margin:14px 0 0;font-size:15px;line-height:1.7;color:#43546b}
.overview-ask a{color:#234f88;font-weight:700;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.order-actions{flex-direction:column}.purchase-kakao,.order-actions .purchase-primary{width:100%}}

/* 구성·가격 표 — 키프리 제품 페이지에 가격이 없었다 (2026-09-14 사장님) */
.kf-price{max-width:760px;margin:0 auto 8px;padding:0 4px}
.kf-price h3{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px;color:#1b2a3a;text-align:center}
.kf-price-wrap{overflow-x:auto}
.kf-price table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.65}
.kf-price th,.kf-price td{padding:12px 10px;border-bottom:1px solid #e2e8ef;text-align:left;vertical-align:top}
.kf-price thead th{background:#eef3f8;font-size:13px;font-weight:700;color:#44566b;white-space:nowrap}
.kf-price tbody th{font-weight:700;color:#1b2a3a;white-space:nowrap}
.kf-price td{color:#44566b}
.kf-price .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;color:#1b2a3a}
.kf-price .kf-price-total th,.kf-price .kf-price-total td{border-bottom:none;border-top:2px solid #234f88;background:#f5f8fc}
.kf-price .kf-price-total .num{color:#234f88;font-size:16px}
.kf-price-note{max-width:760px;margin:12px auto 0;font-size:13.5px;line-height:1.8;color:#5b6b7c;text-align:center}
@media(max-width:600px){.kf-price table{font-size:14px}.kf-price th,.kf-price td{padding:10px 6px}.kf-price tbody th{white-space:normal}}

/* ═══ detail-template.css ═══ */
/* Common expanded-detail layout. Keep hero and product-card styling independent. */
body.minimal{--detail-accent:#204b73}
body.minimal-keylink{--detail-accent:#244f95}
body.minimal-techbrick{--detail-accent:#963d20}
body.minimal .menu-group>.minimal-detail-body{padding:0 24px 24px!important}
body.minimal .detail-block{box-sizing:border-box;min-width:0}
body.minimal .menu-group .detail-block,body.minimal .purchase-order-content>.detail-block{padding:32px 0!important;margin:0!important}
body.minimal .detail-intro{max-width:760px;margin:0 0 24px;text-align:left}
body.minimal .detail-intro .menu-topic-title{font-size:24px!important;line-height:1.45!important;letter-spacing:-.025em;color:var(--detail-accent)!important;margin:0 0 12px!important}
body.minimal .detail-intro .detail-lead{font-size:18px!important;line-height:1.8!important;color:#445164!important;margin:0!important;max-width:none!important}
body.minimal .detail-content{color:#344154;font-size:17px;line-height:1.8;text-align:left;max-width:100%;min-width:0}
body.minimal .detail-content>section{background:transparent!important;color:inherit!important;min-height:0!important;padding:0!important}
body.minimal .detail-content>section>.wrap{padding:0!important}
body.minimal .detail-content :is(.wrap,.inner,.copy){max-width:100%!important;width:100%!important;min-width:0;box-sizing:border-box;text-align:left}
body.minimal .detail-content :is(.reveal,.d1,.d2,.d3){opacity:1!important;transform:none!important}
body.minimal .detail-content :is(h2,h3,h4){font-size:20px!important;line-height:1.5!important;color:#25384e!important;margin:24px 0 12px!important;text-align:left}
body.minimal .detail-content p{font-size:17px!important;line-height:1.8!important;color:#445164!important;max-width:none!important;text-align:left;margin:0 0 16px!important}
body.minimal .detail-content a:not(.btn):not(.purchase-primary){color:var(--detail-accent);text-underline-offset:3px}
body.minimal .detail-content figure{margin:24px auto!important;max-width:100%;text-align:center}
body.minimal .detail-content img{height:auto!important;max-width:100%!important;object-fit:contain;transform:none!important}
body.minimal .detail-media img{display:block;width:100%;max-width:760px!important;margin:auto}
body.minimal .detail-content figcaption{font-size:14px!important;line-height:1.7;color:#637084;text-align:center;margin-top:12px}
body.minimal .detail-content .shot{max-width:100%;height:auto!important;overflow:visible!important;margin:24px auto!important;text-align:center}
body.minimal .detail-content .shot svg{display:block;margin:auto;max-width:100%;height:auto}
body.minimal .detail-content :is(.spec,.spec-grid){display:grid;grid-template-columns:minmax(90px,22%) minmax(0,1fr);gap:0;margin:24px 0;border-top:1px solid #dce2e9}
body.minimal .detail-content :is(.spec,.spec-grid)>:is(dt,dd){margin:0;padding:12px 14px;border-bottom:1px solid #dce2e9;font-size:16px;line-height:1.7;min-width:0;overflow-wrap:anywhere}
body.minimal .detail-content :is(.spec,.spec-grid)>dt{background:#f4f6f9;font-weight:700;color:#25384e}
body.minimal .detail-content table{width:100%;border-collapse:collapse;margin:24px 0;table-layout:auto;font-size:16px;line-height:1.7}
body.minimal .detail-content :is(th,td){padding:12px 14px!important;border-bottom:1px solid #dce2e9;text-align:left;vertical-align:top;white-space:normal!important;overflow-wrap:anywhere}
body.minimal .detail-content thead th{background:#f4f6f9;color:#25384e;font-weight:700}
body.minimal .detail-content .detail-steps{list-style:none;counter-reset:detail-step;margin:24px 0;padding:0}
body.minimal .detail-content .detail-steps>li{position:relative;counter-increment:detail-step;padding:14px 0 14px 42px;border-bottom:1px solid #e1e5ea}
body.minimal .detail-content .detail-steps>li:before{content:counter(detail-step);position:absolute;left:0;top:15px;width:27px;height:27px;border-radius:50%;background:#eef2f7;color:var(--detail-accent);font-size:14px;line-height:27px;font-weight:700;text-align:center}
body.minimal .detail-content :is(.detail-note,.fit){background:#f4f6f9;border:0;border-radius:8px;padding:16px 20px;margin:24px 0 0;color:#4b5868;font-size:15px;line-height:1.8}
body.minimal .detail-content .detail-note p{font-size:15px!important;margin:0!important}
body.minimal .detail-content :is(.ptags,.tagrow){margin:0 0 16px}
body.minimal .detail-content .detail-app-guide{margin-top:24px}
@media(max-width:720px){
 body.minimal .menu-group>.minimal-detail-body{padding:0 16px 16px!important}
 body.minimal .menu-group .detail-block,body.minimal .purchase-order-content>.detail-block{padding:24px 0!important}
 body.minimal .detail-intro .menu-topic-title{font-size:22px!important}
 body.minimal .detail-intro .detail-lead{font-size:17px!important}
 body.minimal .detail-content,body.minimal .detail-content p{font-size:16px!important}
 body.minimal .detail-content :is(h2,h3,h4){font-size:18px!important}
 body.minimal .detail-content :is(th,td){padding:10px 8px!important;font-size:14px}
 body.minimal .detail-content :is(.spec,.spec-grid)>:is(dt,dd){padding:10px;font-size:15px}
}

body.minimal .menu-group .detail-intro h3.menu-topic-title{font-size:24px!important}
body.minimal .detail-content.menu-topic-body>.maker-service{padding:0!important}
body.minimal .detail-content span[style*="inline-flex"]{flex-wrap:wrap;max-width:100%;box-sizing:border-box;justify-content:center}
body.minimal .detail-content span[style*="inline-flex"]>img{min-width:0;max-width:100%!important}
@media(max-width:720px){body.minimal .menu-group .detail-intro h3.menu-topic-title{font-size:22px!important}}

/* Reserve a full marker column even when legacy list styles set padding. */
body.minimal .detail-content ol.detail-steps>li{padding:14px 0 14px 42px!important;text-indent:0!important;list-style:none!important;min-height:28px;box-sizing:border-box}
body.minimal .detail-content ol.detail-steps>li::before{left:0!important;top:15px!important;width:27px!important;margin:0!important}

/* 어두운 구간(.night)에서는 본문 잉크를 밝게 — #445164 on #172337 은 2.0:1 (2026-09-14 감사) */
body.minimal .night .detail-intro .detail-lead,
body.minimal .night .detail-content p{color:#c5d0de!important}
body.minimal .night .detail-content li{color:#c5d0de}
/* .night 가 .detail-content 안에 들어간 경우(캠프가드 HOW TO START 카드) — 위 선택자가 안 걸려 1.96:1 이었다 (2026-09-15) */
body.minimal .detail-content .night p{color:#c5d0de!important}
body.minimal .detail-content .night li{color:#c5d0de}

/* ═══ order-guide.css ═══ */
/* Order-only template: essential steps and one final action. */
body.minimal section.purchase-guide.order-essential{padding:26px 24px;margin-top:24px}
body.minimal .order-essential>h2{margin:0 0 18px!important;font-size:24px!important}
body.minimal .order-essential .order-steps{max-width:820px;margin:0 auto!important;padding:0!important;list-style:none!important;counter-reset:order-step;text-align:left}
body.minimal .order-essential .order-steps>li{position:relative;counter-increment:order-step;padding:8px 0 8px 40px!important;margin:0!important;border:0!important;list-style:none!important;text-indent:0!important;font-size:16px;line-height:1.8;color:#344154}
body.minimal .order-essential .order-steps>li:before{content:counter(order-step);position:absolute;left:0;top:10px;width:25px;height:25px;line-height:25px;text-align:center;font-size:14px;font-weight:700;border-radius:50%;background:#eaf0f7;color:#234f88}
body.minimal .order-essential p.order-note{max-width:820px;margin:12px auto 0!important;font-size:14px!important;line-height:1.7!important;color:#5d6878!important;text-align:left}
body.minimal .order-essential .order-actions{margin:20px auto 0;text-align:center}
.order-mail-dialog{box-sizing:border-box;width:min(760px,94vw);max-height:90vh;border:0;border-radius:12px;padding:28px;background:#fff;color:#233244}
.order-mail-dialog::backdrop{background:rgba(15,23,42,.5)}
.order-mail-close{display:block;margin-left:auto;padding:8px 14px;border:1px solid #ccd4df;border-radius:6px;background:#fff;color:#233244;cursor:pointer}
.order-mail-dialog :is(input,textarea,form,.wrap){box-sizing:border-box;max-width:100%}
@media(max-width:720px){body.minimal section.purchase-guide.order-essential{padding:22px 20px;margin:20px 16px 0}body.minimal .order-essential>h2{font-size:22px!important}body.minimal .order-essential .order-steps>li{padding-left:36px!important;font-size:15px}.order-mail-dialog{padding:20px}}

/* ═══ product-specs.css ═══ */
/* Each product expands only its own specifications, in place. */
body.minimal details.product-spec-details{width:100%;max-width:none;margin:16px 0 0!important;padding:0!important;border:0!important;background:transparent}
body.minimal details.product-spec-details>summary{display:flex;justify-content:space-between;gap:16px;min-height:44px;padding:10px 0;font-size:15px;color:inherit;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
body.minimal details.product-spec-details>.minimal-detail-body{padding:16px 0 0!important}
body.minimal details.product-spec-details .detail-block{padding:0!important;margin:0!important;border:0!important}
body.minimal details.product-spec-details .detail-content{font-size:16px}
body.minimal details.product-spec-details .spec{grid-template-columns:minmax(70px,25%) minmax(0,1fr)}
body.minimal details.product-spec-details .detail-content :is(dt,dd){padding:10px;font-size:15px}

.camp-product-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
body.minimal details.camp-spec-card{margin:0!important;padding:16px!important;background:#f6f7f9;border-radius:12px}
body.minimal details.camp-spec-card>summary{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:430px auto;align-items:center;justify-items:center;text-align:center;text-decoration:none;gap:12px;padding:0 0 8px}
body.minimal details.camp-spec-card>summary>img{width:100%;height:160px;object-fit:contain}
.camp-spec-card summary strong{display:block;font-size:18px;line-height:1.5;min-height:3em}
.camp-spec-card .spec-prompt{display:block;font-size:14px;margin-top:8px;text-decoration:underline;text-underline-offset:4px}
body.minimal details.camp-spec-card[open]{grid-column:1/-1}
body.minimal details.camp-spec-card[open]>summary{display:flex;flex-direction:row;align-items:center;justify-content:center}
body.minimal details.camp-spec-card[open]>summary>img{width:140px;height:120px}
@media(max-width:720px){.camp-product-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}body.minimal details.camp-spec-card>summary{grid-template-rows:280px auto}.camp-spec-card summary strong{font-size:16px}body.minimal details.camp-spec-card>summary>img{height:120px}body.minimal details.camp-spec-card[open]>summary>img{width:100px;height:100px}}

/* ═══ compact-type.css ═══ */
/* One-step reduction of supporting type across the three sites. */
body.minimal .page-message p{font-size:17px!important;line-height:1.8!important}
body.minimal .page-message h2{font-size:22px!important}
body.minimal .menu-group>summary{font-size:16px!important}
body.minimal .detail-content,body.minimal .detail-content p,body.minimal .detail-intro .detail-lead{font-size:16px!important;line-height:1.75!important}
body.minimal .menu-group .detail-intro h3.menu-topic-title{font-size:22px!important}
body.minimal .detail-content :is(h2,h3,h4){font-size:18px!important}
body.minimal .detail-content :is(table,th,td),body.minimal .detail-content :is(.spec,.spec-grid)>:is(dt,dd){font-size:14px!important;line-height:1.7!important}
body.minimal .detail-content :is(th,td){padding:10px 12px!important}
body.minimal .detail-content :is(.flist,.fit,.detail-note){font-size:15px!important}
body.minimal .detail-content figcaption{font-size:13px!important}
body.minimal .minimal-price,body.minimal .pitem .desc{font-size:16px!important}
body.minimal .order-essential .order-steps>li{font-size:15px!important}
body.minimal .detail-content table.compact-price-table tr>:last-child{min-width:92px;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
@media(max-width:720px){
 body.minimal .page-message p{font-size:16px!important}
 body.minimal .page-message h2{font-size:20px!important}
 body.minimal .detail-content,body.minimal .detail-content p,body.minimal .detail-intro .detail-lead{font-size:15px!important}
 body.minimal .menu-group .detail-intro h3.menu-topic-title{font-size:20px!important}
 body.minimal .detail-content :is(h2,h3,h4){font-size:17px!important}
 body.minimal .detail-content :is(table,th,td),body.minimal .detail-content :is(.spec,.spec-grid)>:is(dt,dd){font-size:13px!important}
 body.minimal .detail-content :is(th,td){padding:9px 6px!important}
 body.minimal .detail-content :is(.flist,.fit,.detail-note){font-size:14px!important}
 body.minimal .detail-content table.compact-price-table tr>:last-child{min-width:74px}
}
