/* 나누마이 공개 사이트(3단계, 2026-10-31) — 랜딩·기능·요금·가이드·베타 신청이 같이 쓴다.
   색은 /brand/tokens.css 의 이름만 쓴다(BRAND.md). 폰 먼저: 본문 17px, 한 화면에 한 메시지(215번).
   portal.css 와 같이 실리는 홈(/)에서는 .pub 안에서만 효력이 나게 전부 .pub 아래에 둔다. */
/* 브랜드 토큰을 .pub 안에 다시 적는다 — 홈(/)은 portal.css 의 :root 토큰(--ink·--line)을 쓰므로 tokens.css 를 전역으로 싣지 않는다(어두운 테마 변수가 홈 전체에 번진다). 값은 /brand/tokens.css 와 같아야 한다. */
.pub{--brand:#2E69FC;--brand-ink:#1E2340;--brand-soft:#E8EFFF;--link:#1F55D6;--accent:#2E69FC;--sage:#C9D0DC;--sky:#E8EFFF;--ink:#1E2340;--ink-soft:#5A6078;--paper:#FFFFFF;--surface:#F6F8FC;--line:#E6EAF2;--line-strong:#C9D0DC;--on-brand:#FFFFFF;--r:14px;font-size:17px;line-height:1.7;color:var(--ink);word-break:keep-all;-webkit-font-smoothing:antialiased;font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif}
.pub *{box-sizing:border-box}
.pub h1,.pub h2,.pub h3{color:var(--brand-ink);letter-spacing:-.01em;line-height:1.3;margin:0;text-wrap:balance;font-family:inherit;letter-spacing:-.025em}
.pub h1{font-weight:700}.pub h2{font-weight:700}.pub h3{font-weight:700}
.pub h1{font-size:1.75rem;font-weight:800}
.pub h2{font-size:1.4rem;font-weight:800}
.pub h3{font-size:1.08rem;font-weight:800}
.pub p{margin:0}
.pub a{color:var(--link);text-decoration:none}
.pub a:hover{text-decoration:underline}
/* 글 속 링크는 밑줄로도 구별한다(웹 접근성 2026-11-04, WCAG 1.4.1) — 단추·카드처럼 클래스가 있는 링크와 머리줄 메뉴는 그대로 */
.pub :is(p,li,dd,td,figcaption,.pubfoot div,.note,.lead) a:not([class]){text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.pub .pwrap{max-width:1040px;margin:0 auto;padding:0 18px}
.pub section{padding:44px 0}
.pub section+section{border-top:1px solid var(--line)}
.pub .eyebrow{display:inline-block;font-size:.84rem;font-weight:800;color:var(--link);background:var(--brand-soft);padding:3px 10px;border-radius:99px;margin-bottom:12px}
.pub .lead{font-size:1.08rem;color:var(--ink-soft);margin-top:12px}
/* 단추 — 흰 글자/전기 파랑 4.6:1(굵게·16px 이상) */
.pub .pbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 22px;border-radius:12px;
  background:var(--brand);color:var(--on-brand);font-weight:800;font-size:1.02rem;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.pub .pbtn:hover{filter:brightness(1.08);text-decoration:none}
.pub .pbtn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line-strong)}
.pub .pbtn.ghost:hover{background:var(--brand-soft)}
.pub .pbtn:disabled{opacity:.5;cursor:not-allowed}
.pub .ctas{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.pub .ctas .pbtn{width:100%}
/* 머리줄(공개 페이지 전용 — 앱 껍데기는 P.nav 를 쓴다) */
.pub .pubhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px;border-bottom:1px solid var(--line)}
.pub .pubhead .plogo{display:inline-flex;align-items:center;min-height:44px}   /* 누름 칸 44px(§7-100) */
.pub .pubhead .plogo img{height:26px;display:block}
.pub .pubhead nav{display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none}
.pub .pubhead nav::-webkit-scrollbar{display:none}
.pub .pubhead nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 11px;border-radius:99px;font-weight:700;font-size:.95rem;color:var(--brand-ink);white-space:nowrap}
.pub .pubhead nav a[aria-current="page"]{background:var(--brand-soft)}
.pub .pubhead nav a.go{background:var(--brand);color:var(--on-brand);font-weight:800}
/* 히어로 */
.pub .phero{padding:36px 0 28px}
.pub .phero .pgrid{display:grid;gap:22px;align-items:center}
.pub .phero img,.pub .pfig img{width:100%;height:auto;border-radius:18px;display:block}
.pub .pfig{position:relative;border-radius:18px;background:var(--paper)}
/* 홈 첫 그림 — 연필 선화 위에 커서(손가락) 자리만 색이 입혀진다(2026-10-31 대표님 확정 그림체 = 연필 난선 + 옅은 물감) */
/* 홈 첫 그림 위의 「지금 투표 중」 배지와 실제 도구(발표 평가) 폰 화면 — A 밝은 첨단(2026-10-31 밤): 화면은 그림이 아니라 실제 UI 로 보여 준다 */
.pub .pfig.hero{margin:0 0 18px 0}
.pub .plive{position:absolute;left:14px;top:14px;background:var(--paper);color:var(--ink);border-radius:99px;padding:4px 11px;font-size:.78rem;font-weight:800;display:flex;gap:7px;align-items:center;box-shadow:0 4px 14px rgba(30,35,64,.16)}
.pub .plive b{width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px var(--brand-soft);animation:plive 1.6s ease-in-out infinite}
@keyframes plive{0%,100%{box-shadow:0 0 0 3px var(--brand-soft)}50%{box-shadow:0 0 0 7px var(--brand-soft)}}
.pub .pphone{position:absolute;right:6px;bottom:-16px;width:138px;background:var(--paper);border:4px solid var(--brand-ink);border-radius:22px;padding:11px 9px 9px;box-shadow:0 14px 34px rgba(30,35,64,.26);color:var(--ink);font-size:.6rem;line-height:1.3}
.pub .pphone .pt{font-weight:800;opacity:.65;margin-bottom:6px}
.pub .pphone .pr{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:5px 7px;border-radius:7px;background:var(--surface);margin-bottom:4px}
.pub .pphone .pr i{font-style:normal;letter-spacing:-1px;color:var(--link)}
.pub .pphone .pok{margin-top:6px;text-align:center;background:var(--brand);color:var(--on-brand);border-radius:8px;padding:6px;font-weight:800}
@media(prefers-reduced-motion:reduce){.pub .plive b{animation:none}}
/* 히어로 세 덩이(B 메인, 2026-11-01): 폰은 제목(ha) → 실제 화면(pfig) → 단추(hb) 순서, 넓은 화면은 글 왼쪽·그림 오른쪽 */
.pub .pgrid.hero3{display:grid;gap:18px;align-items:center}
.pub .pgrid.hero3 .pfig.hero{margin:6px 0 8px}
/* 3분 흐름 — 실제 화면 3컷(노트북 틀 둘·폰 틀 하나). 제품 화면은 실제 UI 모양(BRAND.md) */
.pub .flow3{display:grid;gap:16px;margin-top:22px}
.pub .fstep{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.pub .fstep .fn{position:absolute;top:-12px;left:16px;width:28px;height:28px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-weight:800;font-size:.9rem;display:flex;align-items:center;justify-content:center}
.pub .fstep h3{margin:4px 0 12px}
.pub .fstep>p{color:var(--ink-soft);font-size:.95rem;margin-top:12px}
.pub .frame{background:var(--paper);border:3px solid var(--brand-ink);border-radius:14px;overflow:hidden;color:var(--ink);font-size:.78rem;line-height:1.35}
.pub .frame.lap{min-height:210px}
.pub .fstep{display:flex;flex-direction:column}.pub .fstep .frame{flex:none}.pub .fstep>p{margin-top:auto;padding-top:12px}
.pub .frame.phone{width:168px;margin:0 auto;border-radius:22px;border-width:4px;padding:12px 10px 10px;aspect-ratio:9/16;display:flex;flex-direction:column}
.pub .fbar{display:flex;gap:5px;padding:7px 10px;border-bottom:1px solid var(--line);background:var(--surface)}
.pub .fbar b{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}
.pub .fform{padding:12px 14px}
.pub .fform label{display:block;font-size:.66rem;font-weight:800;color:var(--ink-soft);margin:6px 0 3px}
.pub .fin{border:1.5px solid var(--line);border-radius:8px;padding:5px 8px;font-weight:700;background:var(--paper)}
.pub .fin.dim{color:var(--ink-soft);font-weight:500}
.pub .fchips{display:flex;gap:4px;flex-wrap:wrap}
.pub .fchips span{border:1.5px solid var(--line);border-radius:99px;padding:2px 8px;font-size:.66rem;font-weight:700}
.pub .fchips span.on{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.pub .fbtn{margin-top:10px;background:var(--brand);color:var(--on-brand);border-radius:8px;padding:7px;text-align:center;font-weight:800}
.pub .fqr{display:flex;align-items:center;gap:14px;padding:22px 16px}
.pub .fqr svg{width:110px;height:110px;flex:none;border:1px solid var(--line);border-radius:8px}
.pub .fqr span{font-weight:800;font-size:.9rem;line-height:1.4}
.pub .fqr small{font-weight:600;color:var(--ink-soft)}
.pub .fq{font-weight:800;font-size:.84rem;margin-bottom:10px}
.pub .fopt{margin:6px 0}
.pub .fopt span{display:block;font-weight:700;margin-bottom:3px}
.pub .fopt b{display:block;height:9px;border-radius:5px;background:var(--brand);width:8%;transition:width 1.1s cubic-bezier(.2,.8,.2,1) var(--d,0s)}
.pub .frame.phone.go .fopt b{width:var(--w,50%)}
.pub .fsend{margin-top:auto;font-size:.7rem;color:var(--ink-soft);font-weight:700;padding-top:8px}
@media(prefers-reduced-motion:reduce){.pub .fopt b{transition:none;width:var(--w,50%)}}
/* 기능 상세 5장(C 묶음, js/feature-pages.js)의 화면 틀 부품 */
.pub .fp-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;padding-left:4px}
.pub .fp-hero .eyebrow .ic{margin:0}
.pub .fp-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.pub .fp3 .frame.phone{width:168px}
.pub .frow{display:flex;justify-content:space-between;align-items:center;font-weight:700;padding:6px 8px;border-radius:8px;background:var(--surface);margin-bottom:5px}
.pub .frow .fst{font-style:normal;color:var(--link);letter-spacing:-1px}
.pub .fbig{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px}
.pub .fbig div{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand-ink);border-radius:10px;padding:14px 6px;font-weight:800;font-size:.8rem}
.pub .fbig .ni{width:20px;height:20px;color:var(--link)}
.pub .fnote{padding:0 14px 12px;font-size:.72rem;color:var(--ink-soft);font-weight:700}
.pub .fsteps{display:flex;gap:4px;padding:12px 14px 4px;flex-wrap:wrap}
.pub .fsteps span{font-size:.66rem;font-weight:800;padding:3px 8px;border-radius:99px;background:var(--surface);color:var(--ink-soft);border:1px solid var(--line)}
.pub .fsteps span.done{background:var(--brand-soft);color:var(--link);border-color:transparent}
.pub .fsteps span.on{background:var(--brand);color:var(--on-brand);border-color:transparent}
.pub .fcert{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 8px;height:100%;justify-content:center}
.pub .fcert .ni{width:36px;height:36px;color:var(--link)}
.pub .fcert b{font-size:1rem}.pub .fcert span{font-size:.72rem;color:var(--ink-soft)}.pub .fcert .dim{opacity:.6}
.pub .fcert .fbtn{width:100%;margin-top:10px}
.pub .flist{padding:12px 14px}.pub .flist b{display:block;font-size:.74rem;color:var(--ink-soft);margin-bottom:6px}
.pub .flist div{border:1.5px solid var(--line);border-radius:8px;padding:6px 8px;margin-bottom:5px;font-weight:700;font-size:.76rem}
.pub .fthumbs{display:flex;gap:4px;padding:10px 12px 0}
.pub .fthumbs span{width:28px;height:18px;border:1.5px solid var(--line);border-radius:3px;font-size:.6rem;display:flex;align-items:center;justify-content:center;color:var(--ink-soft)}
.pub .fthumbs span.on{border-color:var(--brand);color:var(--link);font-weight:800}
.pub .fslide{margin:10px 12px 14px;border:1.5px solid var(--line-strong);border-radius:8px;padding:14px;min-height:96px;display:flex;flex-direction:column;gap:6px}
.pub .fslide b{font-size:.95rem}.pub .fslide span{font-size:.72rem;color:var(--ink-soft)}
.pub .fslide em{font-style:normal;font-size:.68rem;font-weight:800;color:var(--link);display:inline-flex;align-items:center;gap:4px;margin-top:auto}
.pub .fmail{padding:14px}.pub .fmail b{display:block;font-size:.72rem;color:var(--ink-soft);margin-bottom:4px}
.pub .fmail p{font-size:.78rem;line-height:1.55;margin-top:8px}
.pub .paper.small{box-shadow:0 6px 18px rgba(30,35,64,.1);font-size:.82rem;padding:14px}
.pub .paper.small .prow b{font-size:.8rem}.pub .paper.small .prow span{font-size:.7rem}
.pub .pladder .step b{display:block;margin-bottom:4px}.pub .pladder .step p{color:var(--ink-soft);font-size:.95rem}
.pub .pgrid.two.top{align-items:start}
.pub .fp-ul{margin:12px 0 0;padding-left:20px;color:var(--ink-soft)}.pub .fp-ul li{margin:6px 0}
.pub .fp-nav{display:grid;gap:8px;margin-top:12px}
.pub .fp-nav a{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--brand-ink);font-weight:800}
.pub .fp-nav a .ic{margin:0}.pub .fp-nav a>.ni{margin-left:auto;color:var(--link)}
.pub h2 .sec-more{float:right;font-size:.9rem;font-weight:800;color:var(--link);display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 6px;margin:-8px 0 0}
@media(min-width:720px){.pub .fp-nav{grid-template-columns:repeat(3,1fr)}}
/* 결과보고서 실물 — 종이 한 장 */
.pub .paper{background:var(--paper);border:1px solid var(--line-strong);border-radius:6px;padding:18px 18px 14px;box-shadow:0 10px 30px rgba(30,35,64,.12);font-size:.9rem}
.pub .paper .phead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:2px solid var(--brand-ink);padding-bottom:8px;margin-bottom:6px}
.pub .paper .phead b{font-size:1.05rem}.pub .paper .phead span{font-size:.72rem;color:var(--ink-soft)}
.pub .prow{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.pub .prow .pn{flex:none;width:20px;height:20px;border-radius:50%;background:var(--brand-soft);color:var(--link);font-size:.72rem;font-weight:800;display:flex;align-items:center;justify-content:center;margin-top:2px}
.pub .prow b{display:block;font-size:.88rem}.pub .prow span{display:block;color:var(--ink-soft);font-size:.78rem;line-height:1.45}
.pub .paper .pfoot{font-size:.7rem;color:var(--ink-soft);padding-top:10px}
/* 두려움 카드(펼침) */
.pub .fears{display:grid;gap:12px;margin-top:20px}
.pub .fear{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.pub .fear b{display:block;font-size:1.05rem;color:var(--brand-ink);margin:8px 0 6px}
.pub .fear p{color:var(--ink-soft);font-size:.95rem}
.pub .cardp .more{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-style:normal;font-size:.86rem;font-weight:800;color:var(--link)}
.pub a.cardp{text-decoration:none;color:inherit;display:block;transition:border-color .2s}
.pub a.cardp:hover{border-color:var(--brand);text-decoration:none}
.pub .day h3 .ni{width:18px;height:18px;color:var(--link);margin-right:6px}
.pub .pgrid.two{display:grid;gap:22px;align-items:center}
@media(min-width:720px){.pub .pgrid.two{grid-template-columns:1fr 1fr;gap:36px}}
.pub .phero h1{font-size:1.9rem}
/* 장면 카드 */
.pub .cards{display:grid;gap:12px;margin-top:20px}
.pub .cardp{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.pub .cardp .ic,.pub .fear .ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--brand-soft);font-size:1.3rem;margin-bottom:10px;color:var(--link)}
/* 선 아이콘(n-icons.js, 2026-11-01) — 카드 타일과 절 제목 앞 작은 타일. 이모지는 더 쓰지 않는다. */
.pub .cardp .ic .ni,.pub .fear .ic .ni{width:22px;height:22px}
.pub h2 .ic{width:34px;height:34px;border-radius:10px;margin:0 8px 0 0;vertical-align:middle;font-size:1rem}
.pub h2 .ic .ni{width:19px;height:19px}
.pub h2 .ic[style*="--gc"]{background:color-mix(in srgb,var(--gc) 12%,#fff);color:var(--gc)}
.pub .cardp b{display:block;font-size:1.02rem;color:var(--brand-ink);margin-bottom:4px;font-family:inherit}
.pub .cardp span{color:var(--ink-soft);font-size:.95rem}
.pub .cardp .dot{position:absolute}
.pub .scene{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line)}
.pub .scene:first-of-type{border-top:0}
.pub .scene .n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--ink);font-weight:800;display:flex;align-items:center;justify-content:center}
.pub .scene p{font-size:1.05rem}
/* 하루 전후 세 칸 */
.pub .days{display:grid;gap:12px;margin-top:20px}
.pub .day{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.pub .day h3{margin-bottom:8px}
.pub .day ul{margin:0;padding-left:18px;color:var(--ink-soft)}
.pub .day li{margin:4px 0}
.pub .day .tag{display:inline-block;font-size:.76rem;font-weight:800;background:var(--brand-soft);color:var(--link);border-radius:6px;padding:1px 7px;margin-left:4px}
/* 두려움 Q&A */
.pub details{border-top:1px solid var(--line);padding:4px 0}
.pub details summary{cursor:pointer;font-weight:800;font-size:1.05rem;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:10px;color:var(--brand-ink)}
.pub details summary::-webkit-details-marker{display:none}
.pub details summary::after{content:"+";color:var(--link);font-size:1.3rem;line-height:1}
.pub details[open] summary::after{content:"–"}
.pub details p{padding:0 0 16px;color:var(--ink-soft)}
/* 보안 띠 */
.pub .safe{background:var(--brand-soft);border-radius:var(--r);padding:20px}
.pub .safe ul{margin:10px 0 0;padding-left:20px}
.pub .safe li{margin:6px 0}
/* 사람 */
.pub .person{display:grid;gap:16px;align-items:center}
.pub .person img{width:140px;height:140px;object-fit:cover;border-radius:50%;border:4px solid var(--surface);box-shadow:0 2px 12px rgba(30,27,46,.12)}
.pub .person small{display:block;color:var(--ink-soft);margin-top:6px}
/* 요금 */
.pub .plans{display:grid;gap:14px;margin-top:20px}
.pub .plan{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:20px;position:relative}
.pub .plan.hot{border-color:var(--brand)}
.pub .plan .price{color:var(--link)}
.pub .plan .pick{position:absolute;top:-12px;left:18px;background:var(--brand);color:var(--on-brand);font-size:.78rem;font-weight:800;padding:3px 10px;border-radius:99px}
.pub .plan{display:flex;flex-direction:column}
.pub .plan .pbtn{margin-top:auto;width:100%;box-sizing:border-box}
.pub .plan h3{font-size:1.25rem}
.pub .plan .price{font-size:1.05rem;font-weight:800;color:var(--link);margin:8px 0 12px}
.pub .plan ul{margin:0 0 16px;padding-left:18px;color:var(--ink-soft)}
.pub .plan li{margin:5px 0}
.pub .pladder{display:grid;gap:10px;margin-top:16px}
.pub .step{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}
.pub .step .n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--brand-soft);color:var(--link);font-weight:800;display:flex;align-items:center;justify-content:center}
/* 표 */
.pub table{width:100%;border-collapse:collapse;font-size:.95rem;margin-top:14px}
.pub th,.pub td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.pub th{color:var(--brand-ink);font-weight:800;background:var(--brand-soft)}
/* 폼 */
.pub label.f{display:block;font-weight:800;font-size:.92rem;color:var(--brand-ink);margin:16px 0 6px}
.pub label.f:first-of-type{margin-top:0}
.pub input,.pub select,.pub textarea{width:100%;font:inherit;font-size:1rem;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
.pub input:focus,.pub select:focus,.pub textarea:focus{outline:none;border-color:var(--brand)}
.pub .req{color:#B91C1C}
.pub .err{color:#B91C1C;font-size:.92rem;min-height:1.2em;margin-top:10px}
.pub .ok{background:var(--brand-soft);border-radius:12px;padding:18px;margin-top:14px}
.pub .pcount{font-size:.95rem;color:var(--ink-soft);margin-top:8px}
.pub .pcount:empty{display:none}
/* 1차 베타 남은 자리(pub.js betaSeats) — 글 한 줄 + 찬 만큼 막대. 값이 오기 전에는 칸이 없다 */
.pub .pseats{display:grid;gap:8px;margin-top:14px;max-width:420px}.pub .pseats:empty{display:none}
.pub .pseats b{font-size:.98rem;color:var(--ink)}
/* 첫 화면 land.css 의 .hb span 같은 규칙이 막대에 칸 모양을 입혀서(실측) 막대 칸만은 값을 못 박는다 */
.pub .pseats .pbar{display:block!important;height:8px!important;min-height:0!important;max-height:8px!important;width:100%!important;padding:0!important;margin:0!important;border:0!important;border-radius:4px!important;background:var(--line)!important;box-shadow:none!important;overflow:hidden}.pub .pseats .pbar i{display:block!important;height:100%!important;padding:0!important;margin:0!important;background:var(--brand)!important;border-radius:4px!important;transition:width .6s ease}
.pub .pchk{display:flex;gap:10px;align-items:flex-start;font-size:.95rem;color:var(--ink-soft);margin-top:14px}
.pub .pchk input{width:20px;height:20px;flex:none;margin-top:3px}
/* 꼬리 */
.pub .pubfoot{border-top:1px solid var(--line);padding-block:26px 48px;font-size:.84rem;color:var(--ink-soft);line-height:1.8}
.pub .pubfoot nav{display:flex;gap:2px;flex-wrap:wrap;margin:0 0 10px -10px}
.pub .pubfoot nav a{color:var(--brand-ink);font-weight:700;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 10px}   /* 누름 칸 44px */
.pub .pubfoot .dim{opacity:.7}
/* 작은 글씨·주의 */
.pub .note{font-size:.9rem;color:var(--ink-soft)}
.pub .beta-band{background:var(--brand-ink);color:#FFFFFF;border-radius:var(--r);padding:22px;margin-top:8px}
.pub .beta-band h2{color:var(--on-brand)}
.pub .beta-band .pbtn{background:var(--paper);color:var(--link);margin-top:14px}
.pub .beta-band p{opacity:.92}
@media(min-width:720px){
  .pub h1{font-size:2.2rem}.pub .phero h1{font-size:2.4rem}.pub h2{font-size:1.65rem}
  .pub section{padding:60px 0}
  .pub .phero{padding:52px 0 40px}
  .pub .phero .pgrid{grid-template-columns:1.1fr .9fr;gap:40px}
  .pub .pgrid.hero3{grid-template-columns:1.1fr .9fr;grid-template-areas:"a fig" "b fig";gap:8px 40px}
  .pub .pgrid.hero3 .ha{grid-area:a;align-self:end}.pub .pgrid.hero3 .hb{grid-area:b;align-self:start}.pub .pgrid.hero3 .pfig.hero{grid-area:fig;margin:0 0 18px}
  .pub .flow3{grid-template-columns:repeat(3,1fr)}
  .pub .fears{grid-template-columns:repeat(2,1fr)}
  .pub .ctas{flex-direction:row}.pub .ctas .pbtn{width:auto}
  .pub .cards{grid-template-columns:repeat(3,1fr)}
  .pub .days{grid-template-columns:repeat(3,1fr)}
  .pub .plans{grid-template-columns:repeat(3,1fr)}
  .pub .person{grid-template-columns:160px 1fr;gap:28px}
  .pub .person img{width:160px;height:160px}
}
@media(min-width:960px){.pub .cards.two{grid-template-columns:repeat(2,1fr)}}

/* 공개 머리줄 기능 펼침·폰 고정 신청 단추(E 묶음 2026-11-01, 5-1) */
.pub .pubhead nav .pmenu{position:relative;display:inline-block}
.pub .pubhead nav .pmenu>a{padding-right:26px}
.pub .pubhead nav .pmenu>a::after{content:"";position:absolute;right:11px;top:50%;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.pub .pdrop{display:none;position:absolute;left:0;top:calc(100% + 6px);min-width:220px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(30,35,64,.14);padding:8px;z-index:50}
.pub .pdrop a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border-radius:10px;font-weight:700;color:var(--brand-ink);white-space:nowrap}
.pub .pdrop a:hover{background:var(--brand-soft);text-decoration:none}
.pub .pdrop a .ic{width:30px;height:30px;border-radius:9px;margin:0}
.pub .pdrop a .ic .ni{width:16px;height:16px}
.pub .pmenu.open .pdrop{display:block}
@media(hover:hover){.pub .pmenu:hover .pdrop{display:block}}
.pub .pcta-fixed{display:none}
/* 칸에 치는 중이거나 로그인이 열리면 고정 단추가 비킨다(NA1-280) */
html:has(input:not([type=checkbox]):focus,textarea:focus,select:focus) .pcta-fixed,html:has(#authBox>*) .pcta-fixed{display:none!important}
/* 건너뛰기 링크 — 키보드 초점이 닿을 때만 보인다 */
.pub .pskip{position:absolute;left:-9999px;top:6px;z-index:80;padding:10px 14px;background:var(--brand-ink);color:var(--paper);border-radius:8px;font-weight:700}
.pub .pskip:focus{left:12px}
.pub main:focus{outline:none}
@media(max-width:719px){
  .pub .pcta-fixed{display:flex;align-items:center;justify-content:center;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;min-height:52px;border-radius:14px;background:var(--brand);color:var(--on-brand);font-weight:800;font-size:1.02rem;box-shadow:0 10px 26px rgba(47,107,255,.35);text-decoration:none}
  .pub .pcta-fixed:hover{text-decoration:none}
  body.pub{padding-bottom:84px}
  .pub .pubhead nav{overflow:visible;flex-wrap:wrap}   /* 펼침이 잘리지 않게 */
  .pub .pdrop{position:static;box-shadow:none;border:0;padding:4px 0 0;width:100%;flex-basis:100%}
}
/* 소식 받기 칸(모객 GR-78, pub.js newsBox) — 홈·기능·요금 끝. 넓은 화면은 설명 | 입력 두 칸 */
.pub .pnews{display:grid;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px}
.pub .pnews h2{margin-top:6px}
.pub .pnews .kit-priv{margin-top:10px;font-size:.84rem;color:var(--ink-soft)}
.pub .pnews .kit-priv a{text-decoration:underline}
@media(min-width:860px){.pub .pnews{grid-template-columns:1fr 1fr;align-items:start;gap:28px;padding:28px}}
/* 나가려는 순간 키트 카드(모객 GR-41) — 화면을 가리지 않는 오른쪽 아래 작은 카드 */
.pexit{position:fixed;right:20px;bottom:20px;z-index:60;width:300px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(30,35,64,.16);padding:18px 18px 16px;font-family:inherit}
.pexit b{display:block;font-size:1rem;color:var(--ink,#1E2340)}
.pexit p{margin:6px 0 12px;font-size:.9rem;line-height:1.5;color:var(--ink-soft,#5A6275)}
.pexit .pbtn{display:block;width:100%;text-align:center;font-size:.9rem;box-sizing:border-box}
.pexit-more{display:block;margin-top:8px;text-align:center;font-size:.85rem;color:var(--accent,#2E69FC)}
.pexit-x{position:absolute;top:6px;right:8px;background:none;border:0;font-size:20px;line-height:1;color:var(--ink-soft,#5A6275);cursor:pointer;padding:4px}
/* 비교 한 장(모객 GR-42, /features/#sec-vs) */
.pub .pvs td:first-child{font-weight:700;white-space:nowrap;color:var(--ink)}
.pub .pvs td:last-child{color:var(--ink);font-weight:600}
