/* 파마리코드 공식 사이트 1차(site_v3) — v2.css 위에 덧붙이는 것만. 토큰은 v2.css :root 그대로(DESIGN.md).
   모델 컷 히어로 · 브랜드 무드 · 파마리코드 노트 · 소개 쪽 카드 · FAQ 쪽 · 오른쪽 아래 문의 칸(카카오톡·도우미). */

/* 히어로 — 모델 컷 */
.hero-model .hero-media{aspect-ratio:1/1;background:var(--apricot)}
.hero-model .hero-media img{object-position:50% 30%}
@media (min-width:1024px){.hero-model .hero-media{aspect-ratio:1/1}}
dl.hero-meta{margin:var(--s6) 0 0}
dl.hero-meta div{display:flex;gap:var(--s2);align-items:baseline}
dl.hero-meta dt{color:var(--ink-3)}
dl.hero-meta dd{margin:0;color:var(--ink);font-weight:600}

/* 브랜드 무드 — 사진 반, 글 반 */
.mood{display:grid;background:var(--cream)}
.mood figure{margin:0;aspect-ratio:1/1;overflow:hidden}
.mood figure img{width:100%;height:100%;object-fit:cover}
.mood-txt{padding:var(--s8) var(--s5);align-self:center;max-width:560px}
.mood-txt h2{font-size:28px;line-height:1.3;margin:var(--s4) 0;letter-spacing:-0.02em}
.mood-txt p{color:var(--ink-2);margin:0 0 var(--s6)}
@media (min-width:768px){.mood{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mood-txt{padding:var(--s8)}.mood-txt h2{font-size:36px}}
.mood figure.contain{background:var(--bg)}   /* 11/3 AI티 점검 7a: 순수 흰색 → 바탕 토큰 */
.mood figure.contain img{object-fit:contain;padding:12%}

/* 카드뉴스 「시안」 표시 — 인스타 칸 왼쪽 위 (모델 컷 AI 표시는 10/25 제거: 실제 모델) */
figure:has(> .img-tag){position:relative}
.img-tag{position:absolute;left:8px;bottom:8px;z-index:2;background:rgba(45,33,24,.72);color:#FFFDFA;font-size:12px;font-weight:600;line-height:1.4;padding:2px 8px;border-radius:var(--r-s);pointer-events:none}

/* 파마리코드 노트 */
.notes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s4)}
@media (min-width:768px){.notes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.notes{grid-template-columns:repeat(5,minmax(0,1fr))}.notes-all{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s7) var(--s6)}}
.note-card a,.note-card > div{display:flex;flex-direction:column;gap:var(--s2);color:inherit;text-decoration:none}
.note-card figure{margin:0 0 var(--s2);aspect-ratio:1/1;border-radius:var(--r-m);overflow:hidden;background:var(--cream)}
.note-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--m-micro) var(--m-ease)}
.note-card a:hover img{transform:scale(1.03)}
.note-card strong{font-size:16px;line-height:1.45;font-weight:600}
.note-card a:hover strong{color:var(--brand-ink)}
.note-card small{font-size:14px;color:var(--ink-3);line-height:1.5}
.note-card figure{position:relative}
.note-card.soon img{filter:saturate(.55) brightness(1.04)}
.note-card .tag{position:absolute;left:var(--s3);top:var(--s3);background:var(--bg);color:var(--ink-2);font-size:12px;font-weight:600;padding:4px 12px;border-radius:var(--r-s)}
.note-card.soon strong{color:var(--ink-2)}

/* 쪽 머리(FAQ·노트) */
.page{padding-top:var(--s8);padding-bottom:var(--s9)}
.page-hd h1{font-size:32px;letter-spacing:-0.02em;margin:var(--s3) 0}
@media (min-width:1024px){.page-hd h1{font-size:44px}}
.faq details{border-top:1px solid var(--line);padding:var(--s5) 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:var(--s4)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brand-ink);font-weight:400}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:var(--s3) 0 0;color:var(--ink-2);max-width:720px}
.more{margin-top:var(--s6)}

/* 브랜드 소개 */
.about-hero{padding:var(--s8) 0}
.about-grid{display:grid;gap:var(--s7);align-items:center}
.about-grid h1{font-size:30px;line-height:1.3;letter-spacing:-0.02em;margin:var(--s4) 0}
.about-grid .lead{color:var(--ink-2)}
.about-grid figure{margin:0;border-radius:var(--r-m);overflow:hidden;aspect-ratio:1/1}
.about-grid figure img{width:100%;height:100%;object-fit:cover}
@media (min-width:1024px){.about-grid{grid-template-columns:6fr 5fr;gap:var(--s9)}.about-grid h1{font-size:44px}.about-hero{padding:var(--s9) 0}}
.dirs{display:grid;gap:var(--s6)}
@media (min-width:768px){.dirs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7)}}
.dir{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s5);align-items:end;background:var(--bg);border-radius:var(--r-m);padding:var(--s5) var(--s5) 0;overflow:hidden}
.dir figure{margin:0;align-self:end}
.dir figure img{width:100%;height:auto;display:block}
.dir > div{padding-bottom:var(--s5)}
.dir .role{font-size:13px;color:var(--brand-ink);font-weight:600;letter-spacing:.02em}
.dir h3{font-size:22px;margin:var(--s2) 0 var(--s3)}
.dir p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.6}
@media (min-width:1024px){.dir{grid-template-columns:180px minmax(0,1fr);padding:var(--s6) var(--s6) 0}.dir h3{font-size:26px}}
.dir.no-photo{grid-template-columns:minmax(0,1fr);padding:var(--s6)}.dir.no-photo > div{padding-bottom:0}
.story{list-style:none;margin:0;padding:0;display:grid;gap:var(--s6)}
@media (min-width:768px){.story{grid-template-columns:repeat(3,1fr);gap:var(--s7)}}
.story li{border-top:2px solid var(--brand);padding-top:var(--s4)}
.story .k{font-size:13px;color:var(--ink-3);margin:0}
.story h3{font-size:20px;margin:var(--s2) 0 var(--s3)}
.story p{margin:0;color:var(--ink-2)}

/* 제품 갤러리 — 첫 컷 크게, 나머지 2열 */
.pd-gal{grid-template-columns:repeat(2,1fr)}

/* 오른쪽 아래 문의 칸 */
.dock{position:fixed;right:var(--s4);bottom:calc(var(--bar) + var(--s4));z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:var(--s3)}
@media (min-width:1024px){.dock{bottom:var(--s6);right:var(--s6)}}
.dock-btn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;padding:0}
.dock-btn svg{width:24px;height:24px}
.dock-btn.kakao{background:#FEE500;border-color:#FEE500;color:#191600}
.dock-btn.kakao svg{fill:currentColor;stroke:none}
.dock-btn.kakao[aria-disabled="true"]{cursor:not-allowed}
.dock-btn.chat{background:var(--brand-ink);border-color:var(--brand-ink);color:var(--bg)}
.dock-btn:focus-visible{outline:2px solid var(--brand-ink);outline-offset:3px}
.helper{position:absolute;right:0;bottom:calc(100% + var(--s3));width:min(320px,calc(100vw - 32px));background:var(--bg);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--s5)}
.helper[hidden]{display:none}
.helper-hd{display:flex;justify-content:space-between;align-items:center}
.helper-hd h2{font-size:17px;margin:0}
.helper-x{background:none;border:0;padding:4px;cursor:pointer;color:var(--ink-2)}
.helper-x svg{width:20px;height:20px}
.helper-msg{font-size:15px;color:var(--ink-2);margin:var(--s3) 0}
.helper-links{list-style:none;margin:0;padding:0}
.helper-links a{display:block;padding:var(--s3) 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:15px}
.helper-links a:hover{color:var(--brand-ink)}
.helper-note{font-size:13px;color:var(--ink-3);margin:var(--s3) 0 0}

/* 문의 칸이 바닥글 끝 글자를 가리지 않게 */
.ft .legal{padding-right:72px}
@media (min-width:1024px){.ft .legal{padding-right:0}}
.ft .biz{margin-top:var(--s5);display:grid;gap:var(--s1)}.ft .biz-row{display:flex;flex-wrap:wrap;gap:2px var(--s4);margin:0;line-height:1.7;padding-right:72px}.ft .biz a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (min-width:1024px){.ft .biz-row{padding-right:0}}

/* 노트 상세(아티클) */
.article{max-width:760px;padding-top:var(--s6);padding-bottom:var(--s9)}
.art-hd h1{font-size:28px;line-height:1.35;letter-spacing:-0.02em;margin:var(--s3) 0}
@media (min-width:1024px){.art-hd h1{font-size:38px}}
.byline{font-size:14px;color:var(--ink-3);margin:0 0 var(--s6)}
.art-fig{margin:0 0 var(--s7);border-radius:var(--r-m);overflow:hidden;aspect-ratio:16/9}
.art-fig img{width:100%;height:100%;object-fit:cover}
.art-body h2{font-size:22px;margin:var(--s8) 0 var(--s4);letter-spacing:-0.01em}
.art-body p,.art-body li{color:var(--ink-2);line-height:1.75}
.art-body p.answer{background:var(--cream);border-left:3px solid var(--brand);padding:var(--s4) var(--s5);border-radius:0 var(--r-s) var(--r-s) 0;color:var(--ink)}
.art-body ul,.art-body ol{padding-left:1.2em}
.art-body a{color:var(--brand-ink)}
.tbl-wrap{overflow-x:auto;margin:var(--s4) 0}
.art-body details{border-top:1px solid var(--line);padding:var(--s4) 0}
.art-body details:last-of-type{border-bottom:1px solid var(--line)}
.art-body summary{cursor:pointer;font-weight:600;color:var(--ink)}
.art-body details p{margin:var(--s3) 0 0}

/* 홈 — 둘째·셋째 제품 카드(.vl-*) */
.vl-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);margin-top:var(--s7)}
@media (min-width:768px){.vl-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.vl-card{display:flex;gap:var(--s4);align-items:center;background:var(--bg);border-radius:var(--r-m);padding:var(--s3);color:inherit;text-decoration:none}
.vl-card img{width:96px;height:96px;border-radius:var(--r-s);object-fit:cover;flex:none}
.vl-card strong{display:block;font-size:18px}
.vl-card small{display:block;color:var(--ink-3);font-size:14px;margin-top:4px}
.vl-card:hover strong{color:var(--brand-ink)}

/* 버전 2 — 노트·콘텐츠 탭 · 인스타 영상 · 구매 후기 띠 · 채널 (기존 토큰만) */
.tabs{display:flex;gap:var(--s5);border-bottom:1px solid var(--line);margin:0 0 var(--s7)}
.tabs a{padding:var(--s3) 0;color:var(--ink-3);text-decoration:none;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.tabs a:hover{color:var(--ink)}
.film{position:relative;margin:0;border-radius:var(--r-m);overflow:hidden;background:var(--surface)}
.film video{display:block;width:100%;height:auto}
.draft-tag{position:absolute;right:8px;top:8px;z-index:2;background:var(--bg);color:var(--ink-2);font-size:12px;font-weight:600;line-height:1.4;padding:2px 10px;border-radius:var(--r-s)}
.rv-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.rv-in{padding-top:var(--s7);padding-bottom:var(--s7)}
.rv-in > *{max-width:680px}
.rv-in h2{font-size:20px;letter-spacing:-.02em;margin:var(--s3) 0}
@media (min-width:1024px){.rv-in h2{font-size:24px}}
.rv-in p{color:var(--ink-2);margin:0}
.rv-in strong{color:var(--ink);margin-right:var(--s2)}
.ch-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s4)}
@media (min-width:768px){.ch-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ch-card{display:grid;gap:var(--s2);align-content:start;background:var(--cream);border-radius:var(--r-m);padding:var(--s5)}
.ch-card strong{font-size:18px}
.ch-card small{color:var(--ink-3);font-size:14px}
.ch-card .soon{color:var(--ink-3);font-size:13px;font-weight:600}
.ch-card .tlink{justify-self:start}
.ch-note{color:var(--ink-3);margin-top:var(--s6)}
.channels{border-top:1px solid var(--line);margin-top:var(--s7);padding-top:var(--s5)}
.channels h2{font-size:18px;margin:0 0 var(--s3)}
.channels ul{list-style:none;margin:0 0 var(--s3);padding:0;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5)}
.channels small{color:var(--ink-3);margin-left:var(--s2)}
.channels li{display:flex;align-items:center;min-height:44px}
.channels li a{color:var(--brand-ink);display:inline-flex;min-height:44px;align-items:center}
.channels p a{color:var(--brand-ink)}
.channels p{color:var(--ink-3);font-size:14px;margin:0}
/* 버전 3 — 홈 인스타 카드 그리드: 카드뉴스 비율(4:5)만 다르게, 나머지는 기존 .feed 틀 */
.feed.insta > *{aspect-ratio:4/5}
.feed.insta a.txt{text-decoration:none}
/* 버전 3 디자인 리뷰 반영 — 크림 위 칸 구분(바탕 bg + 1px line) · 표시 왼쪽 위 · 모바일 줄바꿈 */
.feed.insta .txt{background:var(--bg);word-break:keep-all}
.feed.insta > *{outline:1px solid var(--line);outline-offset:-1px}
.feed.insta .img-tag{top:8px;bottom:auto}
@media (max-width:767px){.feed.insta .img-tag{font-size:12px;padding:1px 6px;left:4px;top:4px}.feed.insta .txt .id{display:none}}
/* about 하단 OUR STORY */
.our-story{max-width:680px}
.our-story p{margin:0 0 var(--s5);color:var(--ink-2)}
.our-story .q{color:var(--ink);font-weight:600;margin-bottom:var(--s2)}
/* 판매처 표 — 「준비 중」 줄바꿈 막기(10/26) */
.tbl .nw{white-space:nowrap}
/* 오프라인 판매처 매장 사진 카드(10/29) — 사진 있는 매장 먼저, 이름만 있는 매장은 아래 목록 */
.store-grid{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
@media (min-width:768px){.store-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1080px){.store-grid{grid-template-columns:repeat(4,1fr)}}
.store-card{margin:0;min-width:0}
.store-card img{display:block;width:100%;height:auto;aspect-ratio:640/441;object-fit:cover;border-radius:var(--r-s)}
.store-card p{margin:var(--s2) 0 0;line-height:1.4}
.store-card strong{display:block;font-size:15px;overflow-wrap:anywhere}
.store-card span,.store-names span{color:var(--ink-2);font-size:13px}
.store-sub{margin:var(--s7) 0 var(--s3);font-size:18px}
.store-names{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--s2) var(--s5)}
@media (min-width:768px){.store-names{grid-template-columns:1fr 1fr}}
.store-names li{overflow-wrap:anywhere}

/* 10/30 슬로건(브랜드북 v2) */
.slogan{margin:0 0 16px;font-size:16px;font-weight:600;line-height:1.4;letter-spacing:-.01em;color:var(--ink)}
.slogan::before{content:"";display:block;width:24px;height:2px;background:var(--brand);margin-bottom:12px}
.slogan-en{display:block;margin-top:4px;font-size:14px;font-weight:500;font-style:normal;letter-spacing:.01em;color:var(--ink-2)}
.slogan-sub{display:block;margin-top:4px;font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--ink-3)}
@media (min-width:1024px){.slogan{font-size:20px}.slogan-en{font-size:15px}}
.slogan-tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px;padding:0;list-style:none}
.slogan-tags li{padding:4px 8px;border-radius:6px;background:var(--surface);font-size:13px;color:var(--ink-2)}

/* ───────── 10/30 jury 채점 반영(미리보기 v5) ───────── */
/* #2 반응 하나로 통일(omd-feel: 200ms ease-out · transform만 · 움직임 줄이기면 v2.css 규칙으로 즉시): 글자 링크 = 왼→오 밑줄 · 버튼 = 왼→오 채우기 */
.gnb > a,.logo span,.ft nav a,.crumb a,.tbl th a,.helper-links a{position:relative}
.gnb > a::after,.logo span::after,.ft nav a::after,.crumb a::after,.tbl th a::after,.helper-links a::after{content:"";position:absolute;left:0;right:0;top:calc(50% + .75em);height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--m-micro) ease-out;pointer-events:none}
.gnb > a:hover::after,.gnb > a:focus-visible::after,.gnb > a[aria-current="page"]::after,.logo:hover span::after,.logo:focus-visible span::after,.ft nav a:hover::after,.ft nav a:focus-visible::after,
.crumb a:hover::after,.crumb a:focus-visible::after,.tbl th a:hover::after,.tbl th a:focus-visible::after,.helper-links a:hover::after,.helper-links a:focus-visible::after{transform:scaleX(1)}
.helper-links a{display:block}
.tbl th a{text-decoration:none;color:var(--ink)}
.logo:focus-visible{outline:2px solid var(--brand-ink);outline-offset:4px;border-radius:var(--r-s)}
.btn,.hd .go,.dock-btn.chat{position:relative;overflow:hidden;isolation:isolate}
.btn::before,.hd .go::before,.dock-btn.chat::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform var(--m-micro) ease-out;pointer-events:none}
.btn:hover::before,.btn:focus-visible::before,.hd .go:hover::before,.hd .go:focus-visible::before,.dock-btn.chat:hover::before,.dock-btn.chat:focus-visible::before,.dock-btn.chat[aria-expanded="true"]::before{transform:scaleX(1)}
.btn-solid:hover,.hd .go:hover{background:var(--brand-ink)}
.btn-line:hover{background:transparent;color:var(--bg)}

/* #1 문의 버튼: 48px 하나 · 하단 막대 위 · 첫 화면을 지나야 나타남(v3.js) — 첫 화면 제목·글을 가리지 않게 */
.dock-btn{width:48px;height:48px}
.js-dock .dock{transition:opacity var(--m-micro) ease-out,transform var(--m-micro) ease-out,visibility 0s linear var(--m-micro)}
.js-dock .dock:not(.show){opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none}
.js-dock .dock.show{transition-delay:0s}
.ft .legal,.ft .biz-row{padding-right:64px}
/* 390px 이하: 글 단 오른쪽 72px 비움(화면 끝 16 + 여백 56) — 문의 버튼(오른쪽 16 + 48)이 글자를 덮지 않게. 카드·표·탭 칸은 제외 */
@media (max-width:767px){
  main :is(p,li,dd,summary,h1,h2,h3,caption):not(:is(.store-card,.store-grid,.note-card,.notes,.vl-card,.vl-row,.feed,.scene-tabs,.steps,.dirs,.story,.sm,.ch-list,.rv-list,.tabs,.nf-links,.crumb,.hero-meta,.facts,.hero-txt) *){padding-right:56px}
  .tbl{margin-right:0}
}

/* #5 휴대폰 첫 화면: 사진 4:3(얼굴·스틱 중심)으로 줄여 슬로건·제목·「제품 보기」가 한 화면에 */
@media (max-width:1023px){
  .hero-model .hero-media{aspect-ratio:4/3}
  .hero-model .hero-media img{object-position:50% 40%}
  .hero{padding-top:var(--s3)}
  .hero-grid{gap:var(--s5)}
  .hero-cta{margin-top:var(--s5)}
}

/* #7·#8 터치 영역 24px 이상(빵부스러기·바닥글 전화·판매처 제품 링크) */
.crumb a,.ft .biz a,.tbl th a{display:inline-flex;align-items:center;min-height:24px;min-width:24px}
.crumb ol{flex-wrap:wrap;align-items:center}

/* #9 대표 소개 카드: 위 정렬 · 같은 안쪽 여백 */
.dirs{align-items:stretch}
.dir.no-photo{align-items:start;align-content:start;padding:var(--s6)}

/* #3 404 */
.nf{min-height:50vh}
.nf-links{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s5);align-items:center;margin-top:var(--s6)}

/* #6 쪽 넘김 = 0.25초 교차 페이드(지원 브라우저만 · 움직임 줄이기면 없음) */
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:250ms;animation-timing-function:ease-out}
}

/* 10/31 뷰라인 상세 그림 — 860px 장을 틈 없이 이어 붙임 · 모바일은 화면 끝까지(가로 넘침 없음) */
.pd-detail .dt-imgs{max-width:860px;margin:var(--s5) auto 0}
.pd-detail .dt-imgs img{display:block;width:100%;height:auto}
@media (max-width:767px){.pd-detail .dt-imgs{margin-left:calc(-1*var(--s4));margin-right:calc(-1*var(--s4))}}

/* 10/31 구매·입점 문의(/contact/) — 모바일 한 칸 · 768px 이상 두 칸 · 글자 16px(휴대폰 확대 방지) · 가로 넘침 없음 */
.ct-sec{padding:var(--s7) 0;border-top:1px solid var(--line)}
.ct-sec .sec-hd{margin-bottom:var(--s5)}
.ct-btns{display:flex;flex-wrap:wrap;gap:var(--s3)}
.ct-form{max-width:720px;display:grid;gap:var(--s5);min-width:0}
.ct-grid{display:grid;gap:var(--s5);min-width:0}
@media (min-width:768px){.ct-grid{grid-template-columns:1fr 1fr}}
.ct-field{display:grid;gap:var(--s2);min-width:0}
.ct-field label,.ct-set legend{font-size:15px;font-weight:600;color:var(--ink)}
.ct-field input,.ct-field textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:var(--s3) var(--s4);font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--ink-3);border-radius:var(--r-s)}
.ct-field textarea{min-height:120px;resize:vertical}
.ct-field input:focus-visible,.ct-field textarea:focus-visible,.ct-check input:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
.ct-set{display:grid;gap:var(--s1);min-width:0;margin:0;padding:0;border:0}
.ct-set legend{padding:0;margin-bottom:var(--s2)}
.ct-hint{margin:0;font-size:14px;color:var(--ink-3)}
.ct-check{display:flex;align-items:center;gap:var(--s3);min-height:44px;cursor:pointer}
.ct-check input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--brand-ink)}
.ct-actions{margin:0}
.ct-form [hidden],.ct-done{display:none!important}
.ct-status{margin:0;color:var(--ink-2)}
.ct-status:empty{display:none}
.ct-alt{max-width:720px;margin-top:var(--s5);color:var(--ink-2)}
.ct-alt .tlink{overflow-wrap:anywhere}
.more .tlink+.tlink{margin-left:var(--s5)}

/* 11/2 판매처 — 온라인·오프라인 바로가기 + 제품 썸네일 줄 */
.where-jump{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s5) 0 0}
#online,#offline{scroll-margin-top:96px}
.where-prods{list-style:none;padding:0;margin:var(--s7) 0 var(--s4);display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6)}
.where-prods a{display:flex;align-items:center;gap:var(--s3);color:inherit;text-decoration:none;font-weight:600;min-height:44px}
.where-prods img{width:72px;height:72px;border-radius:var(--r-s);object-fit:cover;flex:none}
.where-prods a:hover span{color:var(--brand-ink)}
/* 11/2 리뷰 콘텐츠 탭(notes/reviews) 재디자인 — 유입 흐름 + 제품별 섹션(큰 썸네일 · 후기 카드 가로 줄 · 판매처 버튼). 그라데이션 없음 */
.rv-flow{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s5) 0;margin:0 0 var(--s7);display:grid;gap:var(--s4)}
@media (min-width:1024px){.rv-flow{grid-template-columns:200px minmax(0,1fr);align-items:center}}
.rv-flow h2{margin:0;font-size:15px;font-weight:600;letter-spacing:0;color:var(--ink-2)}
.rv-steps{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
@media (min-width:768px){.rv-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}}
.rv-steps li{position:relative;min-width:0}
.rv-steps a{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s2) var(--s4) var(--s2) 0;color:inherit;text-decoration:none}
@media (min-width:768px){.rv-steps li+li a{padding-left:var(--s5)}
  .rv-steps li+li::before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;border-top:1.5px solid var(--ink-3);border-right:1.5px solid var(--ink-3);transform:translate(-50%,-50%) rotate(45deg)}}
.rv-no{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid var(--ink);display:grid;place-items:center;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);transition:background var(--m-micro) ease-out,color var(--m-micro) ease-out}
.rv-step{display:grid;min-width:0}
.rv-step strong{font-size:16px;line-height:1.35}
.rv-step small{font-size:13px;color:var(--ink-3);line-height:1.45}
.rv-steps a:hover .rv-no,.rv-steps a:focus-visible .rv-no{background:var(--ink);color:var(--bg)}
.rv-steps a:hover strong{color:var(--brand-ink)}
.rv-steps a:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px;border-radius:var(--r-s)}
.rv-prods{display:grid}
.rv-prodsec{display:grid;gap:var(--s5);padding:var(--s7) 0;border-top:1px solid var(--line);scroll-margin-top:96px;min-width:0}
.rv-prodsec:first-child{border-top:0;padding-top:var(--s2)}
@media (min-width:768px){.rv-prodsec{grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:var(--s7);align-items:start}}
@media (min-width:1024px){.rv-prodsec{grid-template-columns:360px minmax(0,1fr);gap:var(--s8)}}
.rv-thumb{display:block;aspect-ratio:4/5;border-radius:var(--r-m);overflow:hidden;background:var(--cream)}
@media (max-width:767px){.rv-thumb{aspect-ratio:4/3}}
.rv-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 400ms var(--m-ease)}
.rv-thumb:hover img{transform:scale(1.02)}
.rv-body{min-width:0;display:grid;align-content:start}
.rv-body h2{margin:var(--s3) 0 0;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.3}
@media (min-width:1024px){.rv-body h2{font-size:32px}}
.rv-body h2 a{color:inherit;text-decoration:none}
.rv-body h2 a:hover{color:var(--brand-ink)}
.rv-sub{margin:var(--s2) 0 0;color:var(--ink-3);font-size:15px}
.rv-empty{margin:var(--s5) 0 0;padding:var(--s4) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-2);font-size:15px}
.rv-btns{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s5) 0 0}
@media (max-width:767px){.rv-btns .btn{flex:1 1 100%}}
/* 후기 카드 가로 줄 — scroll-snap · 모바일 스와이프 · 화살표(v3.js, 넘칠 때만) */
.rv-slider{position:relative;margin-top:var(--s5);min-width:0}
.rv-track{list-style:none;margin:0;padding:0 0 var(--s3);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,82%);gap:var(--s3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent;-webkit-overflow-scrolling:touch}
@media (min-width:768px){.rv-track{grid-auto-columns:minmax(260px,calc((100% - var(--s3))/2))}}
@media (min-width:1280px){.rv-track{grid-auto-columns:calc((100% - 2*var(--s3))/3)}}
.rv-track:focus-visible{outline:2px solid var(--brand-ink);outline-offset:4px;border-radius:var(--r-m)}
.rv-rcard{scroll-snap-align:start;display:grid;grid-template-rows:auto 1fr auto auto;gap:var(--s3);min-width:0;background:var(--cream);border:1px solid var(--line);border-radius:var(--r-m);padding:var(--s5)}
.rv-stars{display:flex;gap:2px;margin:0}
.rv-stars svg{fill:var(--brand);stroke:none}
.rv-stars svg.off{fill:var(--line)}
.rv-text{margin:0;color:var(--ink);font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.rv-meta{margin:0;display:flex;gap:var(--s3);font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.rv-meta span+span::before{content:"·";margin-right:var(--s3);color:var(--ink-3)}
.rv-src{margin:0;font-size:12px;color:var(--ink-3);padding-top:var(--s3);border-top:1px solid var(--line)}
.rv-disc{margin:var(--s2) 0 0;font-size:12px;color:var(--ink-3)}
.rv-nav{position:absolute;right:0;top:calc(-1*var(--s7));display:flex;gap:var(--s2)}
.rv-nav[hidden]{display:none}
.rv-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--ink);background:var(--bg);color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;transition:background var(--m-micro) ease-out,color var(--m-micro) ease-out,opacity var(--m-micro) ease-out}
.rv-arrow svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rv-arrow:hover,.rv-arrow:focus-visible{background:var(--ink);color:var(--bg)}
.rv-arrow:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
.rv-arrow:disabled{opacity:.3;cursor:not-allowed;background:var(--bg);color:var(--ink-3);border-color:var(--line)}   /* 11/3 AI티 점검 39a: 흐림만이 아니라 색·선·커서로도 */
@media (max-width:767px){.rv-nav{display:none!important}}
/* 제품 상세 「구매 후기」 — 판매처 안내 바로 위 */
.pd-body,.pd-rv{min-width:0}   /* 후기 줄이 제품 쪽 그리드 칸을 넓히지 않게(390px 가로 넘침 방지) */
.pd-rv .rv-slider{margin-top:var(--s6)}
.pd-rv .rv-nav{top:calc(-1*var(--s6) - 44px)}
.rv-more{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin:var(--s4) 0 0}
@media (max-width:767px){main :is(.rv-steps,.rv-prodsec,.rv-track,.rv-slider,.rv-btns) :is(p,li,h2){padding-right:0}}
@media (prefers-reduced-motion:reduce){.rv-track{scroll-behavior:auto}.rv-thumb img{transition:none}}

/* 11/2 소개 화면 — 파마리코드 북 v2 스토리(짧은 줄·넉넉한 여백·슬로건 위계) */
.book{max-width:600px;margin:0 auto;text-align:center}
.book p{margin:0 0 var(--s4);color:var(--ink-2);line-height:1.9}
.book-logo{width:200px;margin:var(--s6) auto var(--s7)}
.book .book-sl{font-size:28px;font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--ink);margin:var(--s5) 0 0}
.book .book-en{font-size:13px;font-weight:600;letter-spacing:.24em;color:var(--brand-ink);margin-top:var(--s3)}
.book .book-q{font-size:20px;font-weight:600;color:var(--ink);line-height:1.5}
.book .book-names{color:var(--ink);font-weight:600}
.book .blk{margin-top:var(--s8)}
.book .book-gap{padding-top:var(--s7);border-top:1px solid var(--line)}
@media (min-width:1024px){.book .book-sl{font-size:40px}.book .book-q{font-size:24px}.book .blk{margin-top:var(--s9)}.book-logo{width:240px}}

/* 11/2 콜리오 A안 — 홈 히어로(0스텝 질문 크게 · 제품명 작게 · 짝 문장 · Science) + 제품 카드 한 줄·장점 3 */
.hero-a h1{font-size:30px;font-weight:700;line-height:1.32;letter-spacing:-.03em;margin-top:var(--s3);text-wrap:balance;word-break:keep-all}
.hero-a h1 .w{display:block}
.hero-a h1 .h1-name{margin-top:var(--s4);font-size:16px;font-weight:600;line-height:1.5;letter-spacing:.01em;color:var(--ink-2)}
.hero-a .hero-sub{margin-top:var(--s5);font-size:18px;font-weight:500;line-height:1.6;color:var(--ink);word-break:keep-all}
.hero-a .hero-en{margin-top:var(--s2);font-size:13px;font-weight:500;letter-spacing:.08em;color:var(--brand-ink)}
.hero-a .hero-cta{gap:var(--s3)}
@media (max-width:479px){.hero-a .hero-cta .btn{flex:1 1 100%}}
@media (min-width:1024px){.hero-a h1{font-size:44px;line-height:1.26}.hero-a h1 .h1-name{font-size:19px;margin-top:var(--s5)}.hero-a .hero-sub{font-size:20px;margin-top:var(--s6)}.hero-a .hero-en{font-size:14px}}
.feature .pd-line{margin-top:var(--s3);font-size:19px;font-weight:600;line-height:1.5;color:var(--ink);word-break:keep-all}
.pd-points{list-style:none;margin:var(--s5) 0 0;padding:0;counter-reset:pd;display:grid;gap:var(--s3)}
.pd-points li{counter-increment:pd;position:relative;padding-left:var(--s6);color:var(--ink-2);font-size:16px;line-height:1.7;overflow-wrap:anywhere;word-break:keep-all}
.pd-points li::before{content:counter(pd,decimal-leading-zero);position:absolute;left:0;top:.2em;font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--brand-ink);font-variant-numeric:tabular-nums}
.pd-meta{margin-top:var(--s5)}
.pd-cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s6)}
@media (max-width:479px){.pd-cta .btn{flex:1 1 100%}}
.vl-card .vl-line{display:block;font-style:normal;font-size:15px;color:var(--ink-2);margin-top:2px;word-break:keep-all}
.pd-cta .btn{margin-top:0}   /* v2.css .feature .btn 위 여백 상쇄(반박 리뷰 L) */

/* 11/3 홈 브랜드 영상(#brand-film) — 히어로 바로 아래. 넉넉한 여백·각진 틀·글 한 줄. 포스터(picture)가 깔려 있고 영상은 움직이기 시작하면 위로 나타남 */
.bf-sec{padding:var(--s8) 0 var(--s9)}
.bf{margin:0 auto;max-width:var(--max);padding:0 var(--s4)}
@media (min-width:768px){.bf{padding:0 var(--s6)}.bf-sec{padding:var(--s9) 0 var(--s10)}}
.bf-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--surface);border-radius:2px}
@media (max-width:640px){.bf-frame{aspect-ratio:4/5}}
.bf-poster,.bf-poster img,.bf-video{position:absolute;inset:0;width:100%;height:100%}
.bf-poster img,.bf-video{object-fit:cover}
.bf-video{opacity:0;transition:opacity var(--m-enter) var(--m-ease);background:transparent}
.bf-frame.is-on .bf-video{opacity:1}
.bf-video::cue{font-family:var(--font);font-size:14px;letter-spacing:.12em;background:rgba(45,33,24,.45);color:#FFFDFA}
.bf-toggle{position:absolute;right:var(--s4);bottom:var(--s4);z-index:2;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,253,250,.55);border-radius:2px;background:rgba(45,33,24,.5);color:#FFFDFA;cursor:pointer;transition:background var(--m-micro) var(--m-ease)}
.bf-toggle:hover{background:rgba(45,33,24,.72)}
.bf-toggle:focus-visible{outline:2px solid #FFFDFA;outline-offset:2px;box-shadow:0 0 0 4px var(--ink)}
.bf-toggle svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bf-toggle .i-play{fill:currentColor}
.bf-toggle .i-play,.bf-toggle.is-paused .i-pause{display:none}
.bf-toggle.is-paused .i-play{display:block}
.bf-cap{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:var(--s1) var(--s3);margin-top:var(--s5);text-align:center;font-size:14px;line-height:1.6;color:var(--ink-2);letter-spacing:.02em}
.bf-cap [lang="en"]{font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--brand-ink)}
.bf-dot{color:var(--ink-3)}
@media (min-width:1024px){.bf-cap{font-size:15px;margin-top:var(--s6)}}
@media (prefers-reduced-motion:reduce){.bf-video{transition:none}}
