/* 만복제사 공통 스타일 — 휴대폰 먼저(390px) */
:root{
  --cream:#F6F1E7;
  --ink:#2B2622;
  --ink-soft:#5a514a;
  --vermilion:#C0582A;
  --vermilion-dark:#a3461d;
  --green:#2F4A3A;
  --white:#ffffff;
  --line:#e2d8c6;
  --pending:#8a7f73;
  --radius:14px;
  --serif:"Noto Serif KR","Gowun Batang",serif;
  --sans:"Pretendard","Noto Sans KR",system-ui,sans-serif;
  --header-h:60px;
  --bar-h:64px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 8px);-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:18px;line-height:1.7;color:var(--ink);background:var(--cream);padding-bottom:var(--bar-h);word-break:keep-all;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
html,body{overflow-x:clip}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.35;letter-spacing:-.01em}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}
section{padding:64px 0}
.sec-label{display:inline-block;font-size:16px;font-weight:600;color:var(--vermilion);letter-spacing:.08em;margin-bottom:8px}
.sec-title{font-size:28px;margin-bottom:14px}
.sec-desc{color:var(--ink-soft);font-size:18px;margin-bottom:28px}
.todo{display:none!important}
.pending{display:inline-block;font-size:1em;font-weight:600;color:var(--pending);background:rgba(43,38,34,.07);border:1px dashed var(--pending);border-radius:6px;padding:0 6px;white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:56px;padding:0 24px;border-radius:12px;font-size:18px;font-weight:700;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:var(--sans);transition:background .2s,color .2s,transform .12s cubic-bezier(.2,.8,.2,1),filter .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}
.btn-primary{background:var(--vermilion);color:var(--white)}
.btn-primary:hover{background:var(--vermilion-dark)}
.btn-green{background:var(--green);color:var(--white)}
.btn-ghost{background:rgba(255,255,255,.12);color:var(--white);border-color:rgba(255,255,255,.7)}
.btn-line{background:var(--white);color:var(--ink);border-color:var(--ink)}
.btn small{font-size:16px;font-weight:500;opacity:.85}
.btn-block{width:100%}

/* 1. 상단 고정 메뉴 */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:rgba(246,241,231,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:100}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{display:flex;align-items:center;gap:8px;line-height:1;font-family:var(--serif);font-size:23px;font-weight:700;text-decoration:none;color:var(--ink)}
.logo-mark{height:42px;width:auto;flex:none;display:block}
.footer-mark{height:64px;width:auto;flex:none;display:block;filter:drop-shadow(0 0 1.5px rgba(255,244,222,.95)) drop-shadow(0 0 10px rgba(255,214,150,.35))}
.menu-btn{width:48px;height:48px;border:0;background:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.menu-btn span{display:block;width:26px;height:2px;background:var(--ink);transition:transform .25s,opacity .25s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.gnb{position:fixed;top:var(--header-h);left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);display:none}
.gnb.open{display:block}
.gnb ul{list-style:none;padding:8px 20px 20px}
.gnb a{display:block;padding:16px 4px;font-size:19px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.gnb a.gnb-cta{margin-top:14px;border:0;background:var(--vermilion);color:var(--white);text-align:center;border-radius:12px}

/* 2. 첫 화면 */
.hero{position:relative;min-height:680px;min-height:min(100vh,880px);min-height:min(100svh,880px);display:flex;align-items:flex-end;color:var(--white);overflow:hidden;padding:calc(var(--header-h) + 40px) 0 56px}
.hero-bg{position:absolute;inset:-4%;background:url("../img/hero_bow.jpg") center 42%/cover no-repeat;animation:kenburns 20s ease-in-out infinite alternate;will-change:transform}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,38,34,.25) 0%,rgba(43,38,34,.45) 45%,rgba(43,38,34,.88) 100%)}
@keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.12) translate(-2%,-2%)}}
@media (prefers-reduced-motion:reduce){.hero-bg{animation:none}html{scroll-behavior:auto}}
.hero .wrap{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:20px;font-weight:700;color:#fff;margin-bottom:18px;text-shadow:0 2px 10px rgba(0,0,0,.45)}.hero-kicker .seal{width:46px;height:46px;border-radius:8px;background:#b5321f;color:#fff;font-family:var(--serif);font-size:15px;font-weight:900;line-height:1.05;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.4);text-shadow:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero h1{font-size:34px;margin-bottom:16px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.hero-sub{font-size:18px;opacity:.95;margin-bottom:18px;max-width:560px;margin-left:auto;margin-right:auto}
.hero-price{font-family:var(--serif);font-size:22px;font-weight:700;margin-bottom:22px;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.hero-price b{font-size:36px;margin:0 2px}
.hero-btns{display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:320px}
.hero-btns .btn{padding:0 10px;font-size:17px}
.hero-btns .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-btns .btn-ghost{font-size:16px;flex-direction:column;gap:0;line-height:1.25}

/* 사진 틀 */
.photo{position:relative;overflow:hidden;border-radius:var(--radius)}
.photo img{width:100%;height:100%;object-fit:cover}

/* 3. 상담 유도 띠 */
.band{background:var(--green);color:var(--white);padding:28px 0}
.band .wrap{display:flex;flex-direction:column;gap:14px}
.band p{font-family:var(--serif);font-size:21px;font-weight:700;line-height:1.45}
.band p span{display:block;font-family:var(--sans);font-size:17px;font-weight:400;opacity:.85;margin-top:4px}


/* 2. 믿음 3개 (만복 이야기 사진 옆) */
.story-photo{aspect-ratio:4/3;margin-bottom:24px}
.shorts-title{font-size:20px;margin-bottom:14px}
.shorts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.short-card{aspect-ratio:9/16;background:#cfc8bd;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#6b635b;font-size:16px;font-weight:600;text-align:center;padding:8px}
.short-card .play{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.6);position:relative}
.short-card .play::after{content:"";position:absolute;left:16px;top:12px;border-left:12px solid #8f877e;border-top:8px solid transparent;border-bottom:8px solid transparent}


/* 7. 가격 공개 */
.price-include{display:inline-block;background:var(--green);color:var(--white);font-weight:600;font-size:16px;padding:8px 16px;border-radius:999px;margin-bottom:24px}
.product-add{font-size:17px;line-height:1.55;color:var(--green);background:#eef2ec;border-radius:10px;padding:10px 12px;margin:-4px 0 14px}
.product-add b{color:var(--vermilion)}
.toggle{margin-top:auto;width:100%;min-height:52px;border:1.5px solid var(--ink);background:none;border-radius:10px;font-size:17px;font-weight:700;font-family:var(--sans);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink)}
.toggle::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.toggle[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-3px)}
.full-list{display:none;margin-top:14px;padding:16px;background:var(--cream);border-radius:10px}
.full-list.open{display:block}
.full-list ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.full-list li{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:16px}
.product-pick{margin-top:12px}

/* 8. 예약 STEP */
.reserve{background:var(--white)}
.steps{display:grid;gap:22px}
.step{border:1px solid var(--line);border-radius:var(--radius);padding:22px 18px;background:var(--cream)}
.step-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.step-no{flex:none;width:40px;height:40px;border-radius:50%;background:var(--vermilion);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}
.step-head h3{font-size:21px}
.pick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pick{position:relative}
.pick input{position:absolute;opacity:0;inset:0;cursor:pointer}
.pick label{display:flex;flex-direction:column;justify-content:center;min-height:84px;padding:12px 14px;border:2px solid var(--line);border-radius:12px;background:var(--white);cursor:pointer;font-weight:700;font-size:18px;line-height:1.3}
.pick label span{font-size:16px;font-weight:600;color:var(--vermilion);margin-top:4px}
.pick input:checked + label{border-color:var(--vermilion);background:#fbeee6;box-shadow:0 0 0 2px rgba(192,88,42,.15)}
.pick input:focus-visible + label{outline:3px solid var(--green);outline-offset:2px}
.field{margin-bottom:16px}
.field:last-child{margin-bottom:0}
.field > label,.field-label{display:block;font-weight:700;font-size:18px;margin-bottom:6px}
.field input[type=text],.field input[type=tel],.field input[type=date],.field select,.field textarea{width:100%;min-height:56px;padding:12px 14px;font-size:18px;font-family:var(--sans);border:1.5px solid #cbbfab;border-radius:10px;background:var(--white);color:var(--ink)}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--vermilion);box-shadow:0 0 0 3px rgba(192,88,42,.15)}
.field-help{font-size:16px;color:var(--ink-soft);margin-top:6px}
.field-warn{font-size:16px;font-weight:700;color:var(--vermilion-dark);margin-top:6px}
.field-warn[hidden]{display:none}
.promise{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:28px;padding:14px 18px;background:var(--white);border:1px solid var(--green);border-radius:var(--radius);font-size:16px;color:var(--ink)}
.promise b{background:var(--green);color:var(--white);font-weight:700;padding:4px 12px;border-radius:999px}
.promise span+span::before{content:"·";margin-right:14px;color:var(--ink-soft)}
.field > label.agree,.agree{display:flex;font-weight:500;margin-bottom:0;align-items:flex-start;gap:10px;font-size:18px;cursor:pointer}
.agree input{width:24px;height:24px;flex:none;margin-top:2px;accent-color:var(--vermilion)}
.summary{background:var(--white);border:1.5px solid var(--ink);border-radius:12px;padding:16px;margin-bottom:16px}
.summary dl{display:grid;grid-template-columns:104px 1fr;gap:8px 10px;font-size:18px}
.summary dt{color:var(--ink-soft)}
.summary dd{font-weight:600}
.summary .sum-total{border-top:1px dashed var(--line);padding-top:10px;margin-top:4px}
.summary dd.sum-total{font-family:var(--serif);font-size:24px;color:var(--vermilion)}
.no-pay{margin-top:12px;font-size:16px;color:var(--green);font-weight:600;text-align:center}


/* 10. 자주 묻는 질문 */
.faq{background:var(--white)}
.faq-list{display:grid;gap:10px}
.faq-item{border:1px solid var(--line);border-radius:12px;background:var(--cream);overflow:hidden}
.faq-q{width:100%;text-align:left;background:none;border:0;padding:18px 48px 18px 18px;font-size:18px;font-weight:700;font-family:var(--sans);color:var(--ink);cursor:pointer;position:relative;line-height:1.45}
.faq-q::before{content:"Q.";color:var(--vermilion);font-family:var(--serif);margin-right:6px}
.faq-q::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:26px;font-weight:400;color:var(--ink-soft)}
.faq-q[aria-expanded="true"]::after{content:"−"}
.faq-a{display:none;padding:0 18px 18px;color:var(--ink-soft);font-size:18px}
.faq-a.open{display:block}

/* 11. 마무리 CTA */
.closing{background:var(--ink);color:var(--white);text-align:center}
.closing h2{font-size:28px;margin-bottom:12px}
.closing p{opacity:.85;margin-bottom:26px}
.closing .btns{display:grid;gap:10px;max-width:420px;margin:0 auto}
.closing .btn-ghost{flex-direction:column;gap:0;line-height:1.25}

/* 12. 푸터 */
.site-footer{background:#221e1b;color:#cfc6bb;padding:40px 0 32px;font-size:16px}
.site-footer .logo{color:var(--white);margin-bottom:12px;gap:14px}
.site-footer p{margin-bottom:6px}
.site-footer .pending{color:#b9ae9f;border-color:#8a7f73;background:rgba(255,255,255,.05)}
.footer-links{display:flex;gap:18px;margin:16px 0}
.footer-links a{color:var(--white);font-weight:600}
.copy{margin-top:16px;font-size:16px;opacity:.7}

/* 13. 휴대폰 하단 고정 바 */
.mobile-bar{position:fixed;left:0;right:0;bottom:0;height:var(--bar-h);display:grid;grid-template-columns:1fr;background:var(--white);border-top:1px solid var(--line);z-index:90;padding-bottom:env(safe-area-inset-bottom)}
.mobile-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;font-size:18px;font-weight:700;line-height:1.2;gap:2px}
.mobile-bar a small{font-size:16px;font-weight:500;color:var(--pending)}
.mobile-bar a + a{border-left:1px solid var(--line)}
.mobile-bar .bar-reserve{background:var(--vermilion);color:var(--white);font-size:19px;border-left:0}

/* 넓은 화면 */
@media (min-width:768px){
  body{padding-bottom:0}
  .mobile-bar{display:none}
  section{padding:96px 0}
  .sec-title{font-size:36px}
  .menu-btn{display:none}
  .gnb{position:static;display:block;background:none;border:0}
  .gnb ul{display:flex;align-items:center;gap:4px;padding:0}
  .gnb a{border:0;padding:8px 14px;font-size:17px}
  .gnb a.gnb-cta{margin:0 0 0 8px;padding:10px 20px}
  .hero{align-items:center}
  .hero h1{font-size:52px}
  .hero-sub{font-size:20px}
  .hero-btns{grid-template-columns:auto;justify-content:center}
  .hero-btns .btn{padding:0 28px;font-size:18px}
  .hero-price{font-size:26px}
  .hero-price b{font-size:44px}
  .hero-btns .btn-row{display:contents}
  .band .wrap{flex-direction:row;align-items:center;justify-content:space-between}
  .story-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  .story-photo{margin-bottom:0;position:sticky;top:90px}
  .pick-grid{grid-template-columns:repeat(5,1fr)}
  .steps{grid-template-columns:1fr 1fr;align-items:start}
  .closing .btns{max-width:420px}
}

/* ===== 상차림 안내 (guide.html) ===== */
.gnb a[aria-current="page"]{color:var(--vermilion)}
.page-head{padding:calc(var(--header-h) + 36px) 0 40px}
.page-title{font-size:34px;margin-bottom:12px}
.page-lead{font-size:18px;color:var(--ink-soft);margin-bottom:22px}
.guide-toc{display:grid;gap:8px;margin-bottom:28px}
.guide-toc a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;background:var(--white);border:1px solid var(--line);border-radius:12px;font-weight:700;text-decoration:none}
.guide-toc a::after{content:"";width:8px;height:8px;border-right:2px solid var(--vermilion);border-bottom:2px solid var(--vermilion);transform:rotate(45deg) translateY(-3px)}
.page-photo{aspect-ratio:4/3}
.guide-sec-white{background:var(--white)}
.dir-note{background:var(--white);border-left:4px solid var(--green);border-radius:0 12px 12px 0;padding:16px 18px;margin-bottom:24px;font-size:18px}
.guide-sec-white .dir-note{background:var(--cream)}
.dir-note strong{display:block;font-family:var(--serif);font-size:19px;color:var(--green);margin-bottom:4px}
.dir-note b{color:var(--vermilion)}
.rows{list-style:none;display:grid;gap:8px;margin-bottom:40px}
.row-item{display:flex;gap:14px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:16px}
.row-no{flex:none;min-width:52px;height:36px;border-radius:999px;background:var(--green);color:var(--white);font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center}
.row-item:first-child .row-no{background:var(--vermilion)}
.row-item h3{font-size:20px;margin-bottom:2px}
.row-item p{font-size:17px;color:var(--ink-soft)}
.sub-title{font-size:23px;margin-bottom:14px}
.rule-list{display:grid;gap:12px;margin-bottom:24px}
.rule{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.rule-han{display:inline-block;font-family:var(--serif);font-weight:700;color:var(--vermilion);font-size:16px;letter-spacing:.06em;margin-bottom:4px}
.rule h4{font-family:var(--serif);font-size:20px;line-height:1.4;margin-bottom:6px}
.rule p{font-size:17px;color:var(--ink-soft)}
.caution{background:#fbeee6;border:1px solid #efcdb9;border-radius:12px;padding:16px 18px;font-size:18px}
.caution b{color:var(--vermilion)}
.jibang-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.jibang{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:18px 12px;display:flex;flex-direction:column;align-items:center;text-align:center}
.jibang-paper{writing-mode:vertical-rl;text-orientation:upright;font-family:var(--serif);font-size:20px;letter-spacing:.12em;background:var(--white);border:1px solid #d9cfbd;padding:16px 10px;min-height:280px;margin-bottom:14px;box-shadow:0 2px 8px rgba(43,38,34,.08)}
.jibang figcaption{font-size:16px;line-height:1.5}
.jibang figcaption strong{display:block;font-family:var(--serif);font-size:19px;color:var(--vermilion)}
.jibang figcaption small{display:block;font-size:16px;color:var(--ink-soft);margin-top:6px}
.word-list{list-style:none;display:grid;gap:8px;margin-bottom:24px}
.word-list li{background:var(--cream);border-radius:10px;padding:12px 16px;font-size:16px}
.word-list b{display:block;font-family:var(--serif);font-size:18px;color:var(--green)}
.order-table-wrap{margin-bottom:24px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.order-table{width:100%;border-collapse:collapse;background:var(--white);font-size:16px}
.order-table thead th{background:var(--green);color:var(--white);font-weight:700;padding:12px 10px;text-align:left}
.order-table td,.order-table tbody th{padding:12px 10px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.order-table td:first-child{width:44px;text-align:center;font-weight:700;color:var(--vermilion)}
.order-table tbody th{font-family:var(--serif);font-weight:700;white-space:nowrap}
.order-table tbody tr:nth-child(even){background:#fbf8f2}
@media (min-width:768px){
  .page-head{padding:calc(var(--header-h) + 64px) 0 64px}
  .page-head-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
  .page-title{font-size:46px}
  .guide-toc{grid-template-columns:repeat(3,auto);justify-content:start}
  .rows{grid-template-columns:1fr}
  .rule-list{grid-template-columns:repeat(3,1fr)}
  .jibang-grid{max-width:560px}
  .word-list{grid-template-columns:repeat(2,1fr)}
  .order-table{font-size:17px}
}

/* =====================================================================
   움직임 · 효과 (11/02 · 투잇 LIVE 효과를 우리 화면에 옮김)
   값 출처: cupiting_online 의 eum.css · OnlineFlow.tsx · globals.css (줄 번호는 각 주석)
   '움직임 줄이기' 설정이면 모두 멈춤 → 이 묶음 맨 아래
   ===================================================================== */
:root{
  --err:#c8322b;
  /* 종이 무늬: 옅은 사선 + feTurbulence 종이 결 (eum.css:1284·1285) — 사선 색만 우리 먹색 */
  --paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cpath d='M0 22L22 0' stroke='%232B2622' stroke-width='.6' opacity='.07'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .38 0 0 0 0 .3 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* 쪽이 열릴 때 옆에서 밀려 들어옴 (eum.css:529·531) — 아래 고정 바만 뺌 */
@keyframes eu-page-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
body > *:not(.mobile-bar){animation:eu-page-in .45s cubic-bezier(.2,.7,.2,1) backwards}

/* 첫 화면 글자 등장 (eum.css:713~718 · PC 900px 이상 ±120px eum.css:753~757) */
@keyframes eu-in-name{from{opacity:0;scale:.85}to{opacity:1;scale:1}}
@keyframes eu-in-man{from{opacity:0;translate:-48px 0}to{opacity:1;translate:0 0}}
@keyframes eu-in-lady{from{opacity:0;translate:48px 0}to{opacity:1;translate:0 0}}
@keyframes eu-in-man-pc{from{opacity:0;translate:-120px 0}to{opacity:1;translate:0 0}}
@keyframes eu-in-lady-pc{from{opacity:0;translate:120px 0}to{opacity:1;translate:0 0}}
.hero h1{transform-origin:50% 50%;animation:eu-in-name .8s cubic-bezier(.16,1,.3,1) both}
.hero-kicker,.hero-price{animation:eu-in-man .8s cubic-bezier(.16,1,.3,1) .4s both}
.hero-sub{animation:eu-in-lady .8s cubic-bezier(.16,1,.3,1) .4s both}
@media (min-width:900px){
  .hero-kicker,.hero-price{animation-name:eu-in-man-pc}
  .hero-sub{animation-name:eu-in-lady-pc}
}

/* 버튼 위로 빛 한 줄, 8초마다 (eum.css:517·518·540·541) */
.hero-btns .btn-primary,.mobile-bar .bar-reserve{position:relative;overflow:hidden}
.hero-btns .btn-primary::after,.mobile-bar .bar-reserve::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;background:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.22) 50%,rgba(255,255,255,0) 100%);transform:skewX(-18deg);animation:eu-shine 8s ease-in-out infinite;pointer-events:none}
@keyframes eu-shine{0%,80%{left:-40%}100%{left:130%}}

/* 버튼 눌림 (globals.css:172·175) */
.btn:active,.toggle:active,.bar-reserve:active{transform:scale(.98)}
.toggle,.bar-reserve{transition:transform .12s cubic-bezier(.2,.8,.2,1)}

/* 카드 살짝 들림 — 마우스 있는 화면만 (eum.css:628·634 translateY -4px · 0.4s)
   ※ .rv 보다 앞에 둬야 스르륵 움직임을 덮지 않음 */
@media (hover:hover){
  .trust-list li,.rule,.card{transition:translate .4s ease,box-shadow .4s ease}
  .trust-list li:hover,.rule:hover,.card:hover{translate:0 -4px;box-shadow:0 10px 24px rgba(43,38,34,.12)}
}

/* 스크롤하면 아래에서 스르륵 (eum.css:880·881 최종 값) */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1),translate .4s ease,box-shadow .4s ease;transition-delay:var(--rv-d,0ms),var(--rv-d,0ms),0s,0s}
.rv.in{opacity:1;transform:none}
.rv.rv-l{transform:translateX(-28px) scale(.96);transform-origin:left bottom;transition-timing-function:ease,cubic-bezier(.34,1.4,.64,1),ease,ease}
.rv.rv-r{transform:translateX(28px) scale(.96);transform-origin:right bottom;transition-timing-function:ease,cubic-bezier(.34,1.4,.64,1),ease,ease;transition-delay:280ms,280ms,0s,0s}
.rv.rv-l.in,.rv.rv-r.in{transform:none}
/* 만복 이야기 사진: 살짝 당겨지며 (eum.css:887·888) */
.rv.rv-z{transform:scale(1.06);transition:opacity .9s ease,transform 1.4s cubic-bezier(.16,1,.3,1)}
.rv.rv-z.in{transform:none}

/* 번호 톡 튀어나옴 (eum.css:510·511) — 예약 STEP 번호 */
@keyframes eu-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
.step.rv.in .step-no{animation:eu-pop .5s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--rv-d,0ms) + .15s)}

/* 숫자 올라가기 — 자릿수 폭 고정 */
[data-count]{font-variant-numeric:tabular-nums}

/* 만복 이야기 사진: 따뜻한 빛 막 (eum.css:1031) */
.story-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(255,190,130,.14);mix-blend-mode:soft-light}

/* 안심 약속 띠: 유리판 */
.promise{background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* 종이 무늬 바탕: 자주 묻는 질문 · 상차림 안내 머리 */
.faq{background:var(--paper),var(--cream)}
.faq .faq-item{background:var(--white)}
.page-head{background:var(--paper),var(--cream)}

/* PC 위 메뉴 (1024px 이상): 첫 화면 위 투명 → 내리면 미색 바탕 (eum.css:1151·1157·1160) */
@media (min-width:1024px){
  .site-header{transition:background .25s,box-shadow .25s,color .25s,border-color .25s}
  .gnb a:not(.gnb-cta):hover{color:var(--vermilion)}
  .site-header.solid{background:rgba(246,241,231,.96);box-shadow:0 6px 20px rgba(0,0,0,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .js .site-header.over:not(.solid){background:linear-gradient(180deg,rgba(43,38,34,.5) 0%,rgba(43,38,34,0) 100%);border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--white)}
  .js .site-header.over:not(.solid) .logo{color:var(--white);text-shadow:0 1px 4px rgba(0,0,0,.35)}
  .js .site-header.over:not(.solid) .gnb a:not(.gnb-cta){text-shadow:0 1px 4px rgba(0,0,0,.35)}
  .site-header .logo-mark{transition:filter .25s}
  .js .site-header.over:not(.solid) .logo-mark{filter:drop-shadow(0 0 1.5px rgba(255,244,222,.95)) drop-shadow(0 0 8px rgba(255,214,150,.4))}
}

/* 아래 고정 '바로 예약' 바: 올라옴 · 예약 칸 15% 보이면 숨김 (eum.css:224·225) */
.mobile-bar{transition:transform .35s ease}
.js .mobile-bar{transform:translateY(110%)}
.js .mobile-bar.show{transform:none}
/* PC: 오른쪽 아래 둥근 버튼 (eum.css:1368~1372) */
@media (min-width:768px){
  .mobile-bar{display:block;left:auto;right:32px;bottom:28px;height:auto;padding:0;background:none;border:0}
  .js .mobile-bar{transform:translateY(160%)}
  .js .mobile-bar.show{transform:none}
  .mobile-bar .bar-reserve{flex-direction:row;height:56px;padding:0 26px;border-radius:999px;font-size:18px;font-weight:800;gap:8px;box-shadow:0 10px 28px rgba(43,38,34,.32),0 0 0 2px rgba(255,255,255,.85);transition:transform .12s cubic-bezier(.2,.8,.2,1),filter .15s}
  .mobile-bar .bar-reserve::before{content:"→";order:2;font-family:Arial,sans-serif;font-weight:700}
  .mobile-bar .bar-reserve:hover{filter:brightness(1.06)}
  .site-footer{padding-bottom:96px}
}

/* 예약 진행 막대: 위에 붙어 따라옴 · 폭이 늘어남 (OnlineFlow.tsx:418·433) */
.step-progress{position:sticky;top:var(--header-h);z-index:5;margin:0 -20px 18px;padding:12px 20px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.step-progress-top{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:600;color:var(--ink-soft)}
.step-progress-top b{color:var(--ink);font-weight:700}
.step-progress-track{margin-top:8px;height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.step-progress-bar{height:6px;width:25%;border-radius:999px;background:var(--vermilion);transition:all .15s cubic-bezier(.4,0,.2,1)}

/* 신청 때 빠진 칸: 빨간 테두리 */
.field input.is-err,.field select.is-err,.field textarea.is-err{border-color:var(--err);box-shadow:0 0 0 3px rgba(200,50,43,.15)}
.pick-grid.is-err .pick label{border-color:var(--err)}
.agree.is-err{outline:2px solid var(--err);outline-offset:4px;border-radius:6px}
.field-err,.pick-warn{font-size:16px;font-weight:700;color:var(--err);margin-top:8px}
.pick-warn[hidden]{display:none}

/* '움직임 줄이기' 설정이면 모두 멈춤 (globals.css:1086 · eum.css:520·537·719·892) */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  body > *,.hero h1,.hero-kicker,.hero-sub,.hero-price,.step-no{animation:none!important}
  .rv,.rv.in,.rv.rv-l,.rv.rv-r,.rv.rv-z{opacity:1!important;transform:none!important;transition:none!important}
  .hero-btns .btn-primary::after,.mobile-bar .bar-reserve::after{animation:none!important;display:none}
}

/* 믿음 3개 · 안심 약속 줄 (11/02 단순화) */
.trust{background:var(--white)}
.trust-list{list-style:none;display:grid;gap:12px;margin-top:8px}
.trust-list li{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--cream);border:1px solid var(--line);border-left:4px solid var(--vermilion);border-radius:0 var(--radius) var(--radius) 0}
.trust-list b{flex:none;min-width:96px;font-family:var(--serif);font-size:30px;line-height:1.2;color:var(--vermilion)}
.trust-list li > span{font-size:19px;font-weight:600}
.promise-band{background:var(--cream);padding:0 0 56px}
.promise-band .promise{margin:0;justify-content:center;font-size:18px}
@media (min-width:768px){.story-grid{align-items:center}.story-photo{position:static}}
.trust-list li.rv.rv-r{transition-delay:var(--rv-d,0ms),var(--rv-d,0ms),0s,0s}
.footer-links{align-items:center;flex-wrap:wrap}
.footer-links .copy{margin:0}

.hero h1 .h1-q{display:block;font-size:19px;font-weight:600;line-height:1.5;margin-bottom:12px;opacity:.95;word-break:keep-all}
@media (min-width:768px){.hero h1 .h1-q{font-size:28px;margin-bottom:16px}}

.hero-sub{line-height:1.7;word-break:keep-all;text-shadow:0 2px 10px rgba(0,0,0,.45)}.hero-sub strong{font-weight:700}

.hero-contact{grid-template-columns:1fr;max-width:360px;margin-top:6px}.hero-contact .btn{height:58px;font-size:18px;gap:8px}.btn-kakao{background:#FEE500;color:#191600;border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;text-decoration:none}@media (min-width:768px){.hero-contact{grid-template-columns:1fr 1fr;max-width:560px}}

.hero-badges{list-style:none;margin:4px 0 20px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.hero-badges li{font-size:16px;font-weight:600;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(8px);color:#fff}

.site-header .wrap{gap:12px}.logo-tag{display:inline-flex;align-items:center;gap:8px;margin-left:10px;margin-right:auto;font-family:var(--serif);font-weight:700;font-size:16px;white-space:nowrap}.logo-tag .seal{width:34px;height:34px;border-radius:6px;background:#b5321f;color:#fff;font-family:var(--serif);font-size:11px;font-weight:900;line-height:1.05;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.3)}@media (max-width:420px){.logo-tag-t{display:none}}

/* 9번 디자인 */.hero h1{font-family:'Noto Serif KR',var(--serif);font-weight:900;line-height:1.3}.hero h1 .h1-q{font-family:'Nanum Pen Script',cursive;font-weight:400;font-size:30px;color:#ffe2bf;opacity:1;margin-bottom:14px;text-shadow:0 2px 6px rgba(0,0,0,.85),0 0 18px rgba(0,0,0,.6);letter-spacing:.01em}.hero h1 .h1-em{font-style:normal;background:linear-gradient(transparent 70%,rgba(233,182,90,.8) 70%);padding:0 4px}@media (min-width:768px){.hero h1 .h1-q{font-size:44px}}

.site-header .logo-tag{margin-left:0;margin-right:12px}.site-header .logo-tag + .logo{margin-right:auto}

/* 질문 2번 주홍 띠 */.hero h1 .h1-q{display:table;margin:0 auto 18px;font-family:'Noto Serif KR',var(--serif);font-weight:700;font-size:17px;color:#fff;background:#c0582a;padding:8px 16px;border-radius:4px;box-shadow:0 6px 18px rgba(0,0,0,.35);text-shadow:none;line-height:1.4;letter-spacing:0}@media (min-width:768px){.hero h1 .h1-q{font-size:22px;padding:10px 24px}}

/* 고민 대화 칸 */
.chat{background:linear-gradient(160deg,#3a2c24 0%,#4a382d 55%,#5b3a2b 100%);padding:64px 0;color:#fff}
.chat-title{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:26px;text-align:center;margin:0 0 30px;word-break:keep-all}
.chat-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.bub{display:flex;align-items:center;gap:12px}
.bub p{margin:0;font-size:17px;font-weight:700;line-height:1.5;padding:14px 20px;max-width:78%;word-break:keep-all}
.bub.q p{background:#fff;color:#2b2622;border-radius:22px 22px 22px 6px}
.bub.a{justify-content:flex-end}
.bub.a p{background:linear-gradient(120deg,#c0582a,#a8461f);color:#fff;border-radius:22px 22px 6px 22px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.av{flex:none;width:48px;height:48px;border-radius:50%;border:2px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.3);background:#d9cbb8 center/62% no-repeat}
.av-c{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237a6a58'%3E%3Ccircle cx='12' cy='8' r='4.2'/%3E%3Cpath d='M3.5 21c.8-4.3 4.3-6.8 8.5-6.8s7.7 2.5 8.5 6.8z'/%3E%3C/svg%3E")}
.av-m{background-color:#f6f1e7;background-image:url("../img/logo-mark-3d.svg");background-size:74%}
@media (min-width:768px){.chat{padding:96px 0}.chat-title{font-size:36px}.bub p{font-size:20px;padding:16px 24px}.av{width:58px;height:58px}}

/* 대화 칸 5번: 상차림 사진 배경 */
.chat{background:linear-gradient(rgba(30,24,20,.78),rgba(30,24,20,.82)),url("../img/hero.jpg") center/cover}
.chat .bub.a p{background:linear-gradient(120deg,#e9b65a,#c98f2e);color:#2b2622}

/* 받으시고 놓기만 하세요 */
.care{background:#f6f1e7;padding:64px 0}
.care-title{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:28px;text-align:center;margin:0 0 10px;color:var(--ink)}
.care-sub{text-align:center;font-size:18px;color:#6b5f54;margin:0 0 30px}
.care-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
.care-list li{background:#fff;border-radius:18px;padding:26px 24px;box-shadow:0 8px 24px rgba(43,38,34,.08)}
.care-list b{display:block;font-size:19px;font-weight:800;color:var(--ink);margin-bottom:10px}
.care-list span{display:block;font-size:17px;line-height:1.7;color:#4a4440;word-break:keep-all}
@media (min-width:768px){.care{padding:96px 0}.care-title{font-size:40px}.care-sub{font-size:20px}.care-list{grid-template-columns:repeat(3,1fr);gap:22px}}

/* 놓기만 하세요: 2번 아이콘 + 4번 흐름 */
.care-flow li{text-align:center;position:relative;padding:30px 22px 26px}
.care-flow i{display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:0 auto 14px;border-radius:50%;background:#fbe9dd;font-size:34px;font-style:normal;box-shadow:inset 0 -4px 0 rgba(192,88,42,.18)}
.care-flow em{display:inline-block;font-style:normal;font-size:15px;font-weight:800;color:#fff;background:#c0582a;border-radius:999px;padding:3px 12px;margin-bottom:10px}
.care-flow li+li::before{content:"↓";position:absolute;left:50%;top:-22px;transform:translateX(-50%);font-size:24px;font-weight:900;color:#c0582a}
@media (min-width:768px){.care-flow{gap:44px}.care-flow li+li::before{content:"→";left:-34px;top:50%;transform:translateY(-50%)}}

/* 상차림 사진 흐르는 띠 (두 줄, 반대 방향) */
.gal{background:#fff;padding:28px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.gal-row{overflow:hidden}.gal-row+.gal-row{margin-top:14px}
.gal-track{display:flex;gap:14px;width:max-content;animation:gal-move 60s linear infinite}
.gal-row.is-rev .gal-track{animation-direction:reverse;animation-duration:70s}
.gal-track img{height:150px;width:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px;flex:none}
/* 11/04: 올리면 멈춤은 마우스 화면에서 사진 줄 위에서만 (휴대폰은 멈춤 단추로) */
@keyframes gal-move{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (min-width:768px){.gal-track img{height:220px}}
@media (prefers-reduced-motion:reduce){.gal-track{animation:none}}

.av.av-ic{background:#fbe9dd;background-image:none;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1}@media (min-width:768px){.av.av-ic{font-size:30px}}

/* 믿고 맡기는 이유 2번 */
.reason{background:#f6f1e7;padding:64px 0}
.reason-kicker{display:block;text-align:center;color:#c0582a;font-weight:700;letter-spacing:.2em;font-size:15px}
.reason-title{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:28px;text-align:center;margin:8px 0 28px;color:var(--ink)}
.reason-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px}
.reason-list li{background:#fff;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.reason-list b{display:block;color:#c0582a;font-family:'Noto Serif KR',var(--serif);font-weight:700;font-size:21px;margin-bottom:10px}
.reason-list span{font-size:17px;line-height:1.75;color:#3b3530;word-break:keep-all}
@media (min-width:768px){.reason{padding:96px 0}.reason-title{font-size:38px}.reason-list{grid-template-columns:repeat(3,1fr);gap:20px}}

/* 가격 칸 새 디자인 (11/02 시안 1번 + 2번) */
.cmp-wrap{margin-top:32px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;box-shadow:0 2px 12px rgba(43,38,34,.07);background:var(--white)}
.cmp-wrap:focus-visible{outline:3px solid var(--vermilion);outline-offset:2px}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:17px;background:var(--white)}
.cmp th,.cmp td{padding:12px 10px;text-align:center;border-bottom:1px solid #eee3d4;white-space:nowrap}
.cmp tbody tr:last-child th,.cmp tbody tr:last-child td{border-bottom:0}
.cmp thead th{background:var(--green);color:var(--white);font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.3}
.cmp thead th span{display:block;color:#ffd99a;font-size:17px}
.cmp tbody th{text-align:left;background:#fbf6ee;font-weight:700}
.cmp td.o{color:var(--vermilion);font-weight:800}
.cmp th:first-child{position:sticky;left:0;z-index:1}
.cmp thead th:first-child{background:var(--green)}
@media (max-width:767px){
  .cmp{min-width:620px;font-size:16px}
  .cmp th,.cmp td{padding:11px 9px}
  .cmp tbody th{box-shadow:2px 0 4px rgba(43,38,34,.08)}
}
/* 후기 */
section.rev{padding:64px 0}
.rev-title{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:28px;text-align:center;margin:0 0 10px;color:var(--ink)}
.rev-sub{text-align:center;font-size:18px;color:#6b5f54;margin:0 0 28px}
.rev-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 18px;-webkit-overflow-scrolling:touch}
.rev-card{flex:0 0 86%;scroll-snap-align:center;background:#fff;border:1px solid #efe6da;border-radius:18px;padding:24px;box-shadow:0 8px 24px rgba(43,38,34,.07)}
.rev-star{color:#c0582a;font-size:20px;letter-spacing:2px;margin-bottom:8px}
.rev-name{display:block;font-size:18px;margin-bottom:12px;color:var(--ink)}
.rev-card p{margin:0;font-size:17px;line-height:1.8;color:#4a4440;word-break:keep-all}
.rev-card strong{color:#2b2622;font-weight:800}
@media (min-width:768px){section.rev{padding:96px 0}.rev-title{font-size:40px}.rev-rail{padding:6px max(24px,calc((100vw - 1120px)/2)) 18px}.rev-card{flex:0 0 420px}}

/* =====================================================================
   11/02 효과 빠진 칸 채움 (스르륵 · 말풍선 튕김 · 카드 들림 · 표 줄)
   ===================================================================== */
/* 대화 말풍선: 손님 왼쪽 · 답 오른쪽에서 톡 (차례 간격은 main.js가 --rv-d로 줌) */
.bub.rv.rv-l{transform:translateX(-40px) scale(.9)}
.bub.rv.rv-r{transform:translateX(40px) scale(.9)}
.bub.rv.rv-l,.bub.rv.rv-r{transition-delay:var(--rv-d,0ms),var(--rv-d,0ms),0s,0s}
.bub.rv.in{transform:none}
/* 카드 살짝 들림 (마우스 있는 화면) */
@media (hover:hover){
  .care-list li,.reason-list li,.rev-card,.faq-item{transition:translate .4s ease,box-shadow .4s ease}
  .care-list li:hover,.reason-list li:hover,.rev-card:hover{translate:0 -4px;box-shadow:0 14px 30px rgba(43,38,34,.13)}
  .faq-item:hover{translate:0 -2px;box-shadow:0 8px 18px rgba(43,38,34,.08)}
  .care-flow li:hover i{transform:scale(1.08) rotate(-4deg)}
  .gal-track img{transition:transform .4s ease,filter .4s ease}
  .gal-track img:hover{transform:scale(1.05);filter:brightness(1.05)}
  .cmp tbody tr:hover td,.cmp tbody tr:hover th{background:#fdf1e6}
}
.care-flow i{transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
/* 놓기만 하세요 아이콘: 카드가 나타날 때 톡 */
.care-flow li.rv.in i{animation:eu-pop .5s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--rv-d,0ms) + .15s)}
/* 비교표 줄: 표 안에서는 옆이 아니라 아래에서 짧게 */
.cmp tbody tr.rv{transform:translateY(12px)}
.cmp tbody tr.rv.in{transform:none}
/* 펼칠 때 살짝 내려오며 (전체 구성 · 자주 묻는 질문) */
@keyframes eu-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq-a.open,.full-list.open{animation:eu-drop .3s ease both}

/* =====================================================================
   8. 만복 이야기 (투잇 STORY 칸처럼: 큰 사진 + 아래로 어둡게 + 글 · 더 보기/접기)
   ===================================================================== */
.mstory{padding:0;background:#221e1b;color:#efe6da;overflow:hidden}
.mstory-hero{position:relative;min-height:620px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(20,16,14,.1) 0%,rgba(20,16,14,.35) 35%,rgba(20,16,14,.78) 65%,#221e1b 100%),url("../img/hands.jpg") center/cover no-repeat;color:#fff;overflow:hidden}
.mstory-ht{max-width:760px;padding-top:80px;padding-bottom:36px}
.mstory-lab{display:inline-block;font-size:15px;font-weight:800;letter-spacing:.18em;color:#ffd99a;margin-bottom:14px}
.mstory-lab::before{content:"";display:inline-block;width:28px;height:2px;background:#ffd99a;vertical-align:middle;margin-right:10px}
.mstory-hero h2{font-family:'Gowun Batang',var(--serif);font-size:27px;line-height:1.4;margin-bottom:14px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.mstory-hook{font-family:'Gowun Batang',var(--serif);font-size:18px;line-height:1.8;opacity:.92;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.mstory-body{max-width:760px;padding-top:36px;padding-bottom:64px}
.mstory-full{position:relative;max-height:520px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.mstory-full.open{max-height:none;-webkit-mask-image:none;mask-image:none;animation:eu-drop .4s ease both}
.mstory-full p{font-family:'Gowun Batang',var(--serif);font-size:18px;line-height:1.95;margin-bottom:22px}
.mstory-num{font-family:var(--sans)!important;font-size:15px!important;font-weight:800;letter-spacing:.12em;color:#ffd99a;margin:44px 0 8px!important}
.mstory-lead .mstory-num{margin-top:0!important}
.mstory-full h3{font-family:'Noto Serif KR',var(--serif);font-size:25px;line-height:1.4;color:#fff;margin-bottom:20px}
.mstory-hl{color:#fff;font-weight:700;border-left:3px solid #e9b65a;padding-left:16px}
.mstory-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:22px 20px 4px;margin-bottom:14px}
.mstory-item h3{font-size:21px;margin-bottom:12px}
.mstory-inum{font-family:var(--serif)!important;font-size:26px!important;font-weight:700;color:#e9b65a;line-height:1!important;margin-bottom:10px!important}
.mstory-cta{margin-top:8px}
.mstory-end{text-align:center;margin-top:8px}
.mstory-more{min-width:220px;min-height:54px;padding:0 28px;border:1.5px solid rgba(255,255,255,.85);border-radius:999px;background:none;color:#fff;font-family:var(--sans);font-size:18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .2s,color .2s}
.mstory-more::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.mstory-more[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-3px)}
.mstory-more:hover{background:#fff;color:#221e1b}
.mstory-more:focus-visible{outline:3px solid #ffd99a;outline-offset:3px}
@media (min-width:768px){
  .mstory-hero{min-height:760px;background-attachment:scroll}
  .mstory-ht{padding-bottom:56px}
  .mstory-hero h2{font-size:42px}
  .mstory-hook{font-size:22px}
  .mstory-body{padding-top:56px;padding-bottom:96px}
  .mstory-full p{font-size:20px}
  .mstory-full h3{font-size:32px}
  .mstory-item h3{font-size:23px}
}
@media (prefers-reduced-motion:reduce){
  .mstory-full.open,.faq-a.open,.full-list.open,.care-flow li.rv.in i{animation:none!important}
}
/* 기존 vs 만복제사 */
.vs-hd{background:#f6f1e7 repeating-linear-gradient(135deg,rgba(0,0,0,.025) 0 2px,transparent 2px 12px);padding:48px 20px 22px;text-align:center}
.vs-hd h2{margin:0;font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:26px;color:#2b2622;word-break:keep-all}
.vs-hd em{font-style:normal;color:#c0582a}
.vs-stage{position:relative;background:linear-gradient(rgba(30,24,20,.55),rgba(30,24,20,.72)),url(../img/hero.jpg) center/cover;padding:30px 20px 36px}
.vs-pics{position:relative;height:260px;max-width:440px;margin:0 auto}
.vs-old,.vs-new{position:absolute;border-radius:16px;background:center/cover;box-shadow:0 12px 30px rgba(0,0,0,.45);transition:transform .5s}
.vs-old{left:0;top:0;width:62%;height:170px;background-image:url(../img/g_charye.jpg);filter:grayscale(1) brightness(.9)}
.vs-new{right:0;bottom:0;width:70%;height:190px;background-image:url(../img/p34_jung_dae.jpg);border:4px solid #c0582a}
.vs-new:hover{transform:scale(1.03)}
.vs-lb{position:absolute;left:10px;bottom:10px;font-weight:800;font-size:15px;padding:4px 10px;border-radius:999px;color:#fff;background:#555}
.vs-new .vs-lb{background:#c0582a}
.vs-panel{max-width:440px;margin:22px auto 0;background:rgba(32,26,22,.92);color:#fff;border-radius:18px;padding:24px}
.vs-panel small{color:#ffb27a;font:700 16px 'Noto Serif KR',serif}
.vs-panel h3{font:900 24px/1.35 'Noto Serif KR',serif;margin:8px 0 10px}
.vs-panel p{margin:0;font-size:17px;line-height:1.7;color:#e8dfd3;word-break:keep-all}
.vs-go{display:inline-block;margin-top:14px;color:#ffd99a;font-weight:800;text-decoration:none}
@media (min-width:900px){
.vs-hd{padding:80px 20px 28px}.vs-hd h2{font-size:40px}
.vs-stage{display:flex;align-items:center;justify-content:center;gap:40px;padding:60px 40px;min-height:470px}
.vs-pics{flex:0 0 640px;max-width:none;height:350px;margin:0}
.vs-old{width:360px;height:250px}.vs-new{width:380px;height:260px}
.vs-panel{flex:0 0 400px;margin:0;padding:30px}.vs-panel h3{font-size:30px}}

/* 칸 배경 1안 · 한지와 햇살 */
:root{--hanji:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .09' numOctaves='4' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .45 0 0 0 0 .32 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23f)'/%3E%3C/svg%3E")}
section.care{background:var(--hanji),#f4ecdf}
section.gal{background:#fff}
section.reason{background:radial-gradient(ellipse 60% 70% at 88% 15%,rgba(255,214,150,.55),transparent 70%),linear-gradient(100deg,#faf6ef 0%,#f1e3cf 100%)}
section.price{background:var(--paper),#f6f1e7}
section.rev{background:radial-gradient(ellipse 50% 60% at 15% 20%,rgba(192,88,42,.12),transparent 70%),#fffdf9}
section.reserve{background:#fff}
section.faq{background:#fff}
section.mstory{background:linear-gradient(180deg,rgba(20,16,14,.82),rgba(20,16,14,.95)),url(../img/hands.jpg) center/cover}

/* vs 슬라이드 6장 */
.vs-old,.vs-new{background-size:cover;background-position:center}
.vs-old{background-image:none}.vs-new{background-image:none}
.vs-stage{display:block!important}
.vs-track{position:relative}
.vs-slide{display:none}
.vs-slide.on{display:block;animation:vsIn .6s ease}
@keyframes vsIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.vs-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.vs-prev,.vs-next{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.35);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.vs-dots{display:flex;gap:0}
.vs-dot{box-sizing:border-box;width:32px;height:32px;border-radius:999px;border:10px solid transparent;background-clip:content-box;padding:0;background-color:rgba(255,255,255,.45);cursor:pointer;transition:width .3s}
.vs-dot.on{width:48px;background-color:#c0582a}
@media (min-width:900px){
.vs-slide.on{display:flex;align-items:center;justify-content:center;gap:40px}
.vs-stage{padding:50px 40px 40px}}
@media (prefers-reduced-motion:reduce){.vs-slide.on{animation:none}}


/* 전체 구성 위 상차림 사진 */
.full-list .fl-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin:0 0 12px}

/* 가격: 카드 + 비교표 합침 */
.cmp thead th{vertical-align:top;padding:12px 8px 14px;position:relative}
.cmp thead th.best{background:#c0582a}
.cmp .cmp-ph{display:block;width:100%;max-width:150px;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin:0 auto 8px;border:2px solid rgba(255,255,255,.6)}
.cmp thead th b{display:block;font-size:20px}
.cmp thead th span{font-family:var(--sans)}.cmp thead th span i{font-style:normal;font-weight:800}
.cmp-badge{position:absolute;top:4px;left:50%;transform:translateX(-50%);font-style:normal;font-size:15px;font-weight:800;background:#ffd99a;color:#2b2622;border-radius:999px;padding:1px 8px}
.cmp tfoot td,.cmp tfoot th{padding:12px 8px;background:#fbf6ee}
.cmp tfoot .btn{display:inline-block;min-height:0;padding:10px 18px;font-size:16px;white-space:nowrap}
.cmp-all{margin-top:18px}
.full-all.open{display:grid;grid-template-columns:1fr;gap:16px}
.fa-col{background:#fff;border-radius:12px;padding:14px}
.fa-col h4{margin:0 0 10px;font-family:var(--serif);font-size:20px}.fa-col h4 small{color:#c0582a;font-size:16px}
@media (min-width:900px){.full-all.open{grid-template-columns:repeat(4,1fr)}.cmp{font-size:17px}}

/* 후기 4번: 상차림 사진 + 후기 */
.rev-card.rev-ph{padding:0;overflow:hidden;border:0;box-shadow:0 8px 24px rgba(0,0,0,.07)}
.rev-img{height:200px;background:center/cover}
.rev-in{padding:20px 22px 24px}
.rev-hd{font-family:'Noto Serif KR',var(--serif);font-weight:700;font-size:20px;line-height:1.5;margin:4px 0 10px;color:#2b2622}
.rev-ph .rev-name{order:9;margin:14px 0 0;font-size:16px}
.rev-in{display:flex;flex-direction:column}.rev-in p{font-size:17px}

.field-fixed{margin:0;padding:14px 16px;background:#fff4ec;border:1.5px solid #f0d6c4;border-radius:10px;font-size:17px}


/* 가격표 사진 크게 + 누르면 확대 */
.cmp thead th:not(:first-child){min-width:170px;width:18%}
.cmp .cmp-ph{max-width:none;width:100%;aspect-ratio:4/3;border-radius:12px;cursor:zoom-in;margin-bottom:10px}
.cmp thead th b{font-size:22px}
.cmp-zoom{display:block;font-size:15px;color:#ffd99a;margin-top:2px}
.lb{position:fixed;inset:0;z-index:999;background:rgba(15,12,10,.88);display:none;align-items:center;justify-content:center;padding:16px;cursor:zoom-out}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:86vh;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.lb p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font-weight:800;font-size:18px;margin:0}
@media (max-width:767px){.cmp thead th:not(:first-child){min-width:140px;width:auto}.cmp{min-width:796px}}

.rev-rail{scrollbar-width:none}.rev-rail::-webkit-scrollbar{display:none}

/* 11/03 고침 */
.chat{overflow:hidden}
.vs{padding:0}
/* 가격표: 휴대폰에서 오른쪽 그림자 + 밀어 보기 안내 */
.cmp-box{position:relative;margin-top:32px}
.cmp-box .cmp-wrap{margin-top:0}
.cmp-box::after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;pointer-events:none;border-radius:0 14px 14px 0;background:linear-gradient(to left,rgba(43,38,34,.22),rgba(43,38,34,0));opacity:0;transition:opacity .2s;z-index:2}
.cmp-hint{display:none}
@media (max-width:767px){
  .cmp-hint{display:block;margin:24px 0 -20px;font-size:16px;font-weight:700;color:var(--vermilion-dark);text-align:center}
  .cmp-box::after{opacity:1}
  .cmp-box.at-end::after{opacity:0}
  .cmp tbody th,.cmp tfoot th,.cmp thead th:first-child{width:96px;min-width:96px;max-width:96px;font-size:15px;white-space:normal;word-break:keep-all;line-height:1.4}
  .cmp thead th:not(:first-child){padding:10px 6px 12px}
  .cmp .cmp-ph{width:100%}
}
/* 예약: 결제 안내 */
.pay-note{margin-top:4px;font-size:16px;color:var(--ink-soft);text-align:center}
/* 안심 약속: 휴대폰은 가운데로 쌓기 */
@media (max-width:767px){
  .promise-band .promise{flex-direction:column;justify-content:center;text-align:center;gap:6px}
  .promise span+span::before{display:none}
}
/* 비교 슬라이드: 휴대폰 */
@media (max-width:899px){
  .vs-old .vs-lb{top:10px;bottom:auto}
  .vs-panel{min-height:200px}
}
/* 후기 넘기기 버튼 */
.rev-nav{display:flex;justify-content:center;gap:14px;margin-top:6px}
.rev-prev,.rev-next{width:48px;height:48px;border-radius:50%;border:1px solid rgba(43,38,34,.35);background:#fff;color:var(--ink);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(43,38,34,.1)}
.rev-prev:hover,.rev-next:hover{background:var(--vermilion);color:#fff;border-color:var(--vermilion)}
/* 사진 크게 보기: 닫기 버튼 */
.lb-x{position:absolute;top:12px;right:12px;width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.8);background:rgba(0,0,0,.45);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lb-x:focus-visible{outline:3px solid #ffd99a;outline-offset:2px}

/* 인원 · 추가 메뉴 */
.cmp .cmp-ppl{display:inline-block;font-style:normal;font-family:var(--sans);font-size:15px;font-weight:800;background:rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:1px 10px;margin:2px 0 4px}
.addon{margin:14px 0 0;padding:12px 16px;background:#fff;border:1.5px dashed #e0cdb5;border-radius:12px;font-size:17px;line-height:1.6}
.addon b{color:#c0582a}.addon span{color:#6b5f54;font-size:15px}

/* 같은 값은 한 칸으로 묶기 */
.cmp td.mg{background:#fbf6ee;font-weight:700;letter-spacing:.02em}
.cmp td.mg-all{background:#f3ece2;color:#2f4a3a}

/* 이유 카드: 사진 전체에 글 올리기 (시안 5번) */
.reason-list li.rs-ph{position:relative;min-height:260px;background-size:cover;background-position:center;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:22px}
.reason-list li.rs-ph::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(20,15,10,.88));z-index:0}
.reason-list li.rs-ph>*{position:relative;z-index:1}
.reason-list li.rs-ph b{color:#ffd99a}
.reason-list li.rs-ph span{color:#fff}
@media (min-width:768px){.reason-list li.rs-ph{min-height:320px}}

/* 직접 장보면 vs 만복제사 */
section.cost{background:#f6f1e7;padding:56px 0;border-top:1px solid #e8dccb}
.cost-title{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:26px;text-align:center;margin:0 0 6px;color:#2b2622;word-break:keep-all}
.cost-title em{font-style:normal;color:#c0582a}
.cost-sub{text-align:center;color:#6b5f54;font-size:16px;margin:0 0 20px}
.cost-t{width:100%;border-collapse:separate;border-spacing:0 8px;font-size:16px}
.cost-t thead th{padding:10px 8px;font-family:'Noto Serif KR',var(--serif);font-weight:700;font-size:17px}
.cost-t thead th.o{color:#8a7d70}.cost-t thead th.n{background:#c0582a;color:#fff;border-radius:12px 12px 0 0}
.cost-t tbody th{text-align:left;font-weight:800;padding:12px 6px;width:30%;word-break:keep-all}
.cost-t td{padding:12px 10px;background:#fff;text-align:center;word-break:keep-all;line-height:1.45}
.cost-t td.o{color:#8a7d70}.cost-t td.n{background:#fff4ec;font-weight:800;border-left:3px solid #c0582a}
.cost-src{font-size:15px;color:#6f6358;text-align:center;margin:12px 0 0;word-break:keep-all}
@media (min-width:768px){section.cost{padding:90px 0}.cost-title{font-size:38px}.cost-t{font-size:18px}.cost-t thead th{font-size:20px}.cost-t tbody th{width:22%}.cost-t td{padding:14px 16px}}

/* 만복 이야기 맨 위: 3대 사진 (디자인 A) */
.mstory-gen{background:#221e1b;color:#efe6da;text-align:center;padding:52px 16px 40px}
.mg-t{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:24px;margin:0 0 24px;color:#fff}
.mg-t em{font-style:normal;color:#ffd99a}
.mg-row{display:flex;align-items:flex-start;justify-content:center;gap:8px}
.mstory-gen figure{margin:0;flex:0 1 120px}
.mg-ph{display:block;width:100%;max-width:120px;aspect-ratio:1;margin:0 auto 10px;border-radius:50%;background:#3a332d center 20%/cover;border:4px solid #f0d6c4}
.mg-ph:not(.mg-color){filter:grayscale(1)}
.mg-empty{background:#3a332d}
.mstory-gen figcaption{font-size:15px;line-height:1.4;color:#cfc4b8;word-break:keep-all}
.mstory-gen figcaption b{display:block;font-family:'Noto Serif KR',var(--serif);font-size:20px;color:#fff}
.mg-ar{font-style:normal;color:#c0582a;font-size:24px;font-weight:900;margin-top:44px}
@media (min-width:768px){.mstory-gen{padding:80px 20px 56px}.mg-t{font-size:34px}.mg-row{gap:28px}.mstory-gen figure{flex-basis:200px}.mg-ph{max-width:190px}.mg-ar{font-size:34px;margin-top:80px}.mstory-gen figcaption{font-size:17px}.mstory-gen figcaption b{font-size:24px}}

.mg-ph{border-color:#c0582a}

/* 11/04b 고침 */
/* 가격표: 묶은 칸 글자 · 추천(중) 열 테두리 */
.cmp td.best-col{border-left:2px solid #c0582a;border-right:2px solid #c0582a}
@media (max-width:767px){
  .cmp td.mg{text-align:left}
  .cmp td.mg>span{position:sticky;left:110px;display:inline-block}
}
/* 직접 장보면 표 */
.cost-t td.n small{font-size:.85em;font-weight:600;color:#8a5a3e}
.cost-cta{text-align:center;margin:22px 0 0}
@media (max-width:767px){.cost-t tbody th{white-space:nowrap;font-size:15px}}
/* 아래 고정 바: 가격 보기 | 바로 예약 */
.mobile-bar{grid-template-columns:1fr 1fr}
.mobile-bar .bar-price{background:var(--white);color:var(--vermilion);box-shadow:inset 0 0 0 2px var(--vermilion);font-size:19px}
@media (min-width:768px){.mobile-bar .bar-price{display:none}}
@media (min-width:768px) and (max-width:1099px){
  .mobile-bar{right:16px;bottom:16px}
  .mobile-bar .bar-reserve{height:48px;padding:0 20px;font-size:17px}
}
/* 후기: 휴대폰에서 6줄까지 · 더 보기 */
.rev-more{display:none}
@media (max-width:767px){
  .rev-card p{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
  .rev-card.open p{display:block;-webkit-line-clamp:unset;overflow:visible}
  .rev-more{display:inline-block;margin-top:8px;padding:4px 12px;font-size:15px;font-weight:700;font-family:var(--sans);color:var(--vermilion);background:none;border:1px solid var(--vermilion);border-radius:999px;cursor:pointer}
  .rev-more[hidden]{display:none}
}
/* 예약: 모으는 것 안내 */
.agree-info{margin:0 0 10px;font-size:15px;color:#6f6358;word-break:keep-all}

/* 11/03 효과 보강: 사진 카드 확대 · 3대 사진 · 비용표 줄 */
.reason-list li.rs-ph{transition:transform .35s ease,box-shadow .35s ease;background-size:110%}
@media (hover:hover){.reason-list li.rs-ph:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,0,0,.18);background-size:118%}
.mg-ph{transition:transform .35s ease,box-shadow .35s ease}.mstory-gen figure:hover .mg-ph{transform:scale(1.06);box-shadow:0 0 0 6px rgba(192,88,42,.25)}
.cost-t tbody tr:hover td.n{background:#ffe9d8}.cost-t tbody tr:hover td.o{background:#faf6f0}}
.reason-list li.rs-ph{transition:transform .35s ease,box-shadow .35s ease,background-size .6s ease}
@media (prefers-reduced-motion:reduce){.reason-list li.rs-ph,.mg-ph{transition:none}}
.reason-list li.rs-ph,.reason-list li.rs-ph:hover{background-size:cover}

/* 11/03 배경 사진 겹침 정리: 첫 화면(hero.jpg)과 다른 사진 */
.chat{background:linear-gradient(rgba(30,24,20,.8),rgba(30,24,20,.84)),url("../img/real/r01.jpg") center/cover}
.vs-stage{background:linear-gradient(rgba(30,24,20,.6),rgba(30,24,20,.76)),url("../img/real/r03.jpg") center 40%/cover}

/* 직접 장보면 표 v2: 한 장의 카드로 정돈 */
.cost-wrap{background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(43,38,34,.07);overflow:hidden;max-width:880px;margin:0 auto}
.cost-t.cost-v2{border-collapse:collapse;border-spacing:0;table-layout:fixed;width:100%}
.cost-v2 col{width:auto}
.cost-v2 thead th{padding:14px 10px;font-size:17px;border-radius:0;background:#fbf6ee;color:#8a7d70}
.cost-v2 thead th:first-child{width:28%;background:#fbf6ee}
.cost-v2 thead th.n{background:#c0582a;color:#fff;border-radius:0}
.cost-v2 tbody th,.cost-v2 td{padding:14px 12px;border-top:1px solid #f0e8dc;vertical-align:middle;background:#fff;border-left:0}
.cost-v2 tbody th{text-align:left;font-weight:800;white-space:nowrap;font-size:16px}
.cost-v2 .ci{display:inline-block;width:1.6em;font-style:normal;text-align:center;margin-right:4px}
.cost-v2 td.o{color:#8a7d70;text-align:center}
.cost-v2 td.n{background:#fff4ec;color:#2b2622;font-weight:800;text-align:center;border-left:0}
.cost-v2 td.n small{display:block;font-weight:600;color:#8a5a3c;font-size:14px;margin-top:2px}
@media (min-width:768px){.cost-v2 thead th{font-size:20px}.cost-v2 tbody th{font-size:18px}.cost-v2 td{font-size:18px;padding:16px 14px}}
@media (max-width:767px){.cost-v2 tbody th{font-size:15px;padding:12px 8px}.cost-v2 td{font-size:15px;padding:12px 6px}.cost-v2 thead th:first-child{width:30%}}

/* 이야기: 첫 글까지만 보이고 나머지는 '이야기 더 보기' */
.mstory-full:not(.open){max-height:0;-webkit-mask-image:none;mask-image:none;margin:0}
.mstory-body{padding-top:8px}

/* 이야기 한 장 (시안 5번): 가운데 정렬 · 제목 아래 3대 */
.mstory-hero.ms5{min-height:0;align-items:center;justify-content:center;text-align:center;background:linear-gradient(rgba(18,14,12,.86),rgba(18,14,12,.92)),url("../img/hands.jpg") center/cover no-repeat}
.ms5 .mstory-ht{max-width:880px;margin:0 auto;padding-top:64px;padding-bottom:26px}
.ms5 .mstory-lab::before{display:none}
.ms5 .mg-row{margin:22px 0 24px}
.ms5 .mstory-hook{margin:0 auto}
.mstory-body .mstory-end{text-align:center}
@media (min-width:768px){.ms5 .mstory-ht{padding-top:96px}}

.mg-row figure{margin:0;flex:0 1 120px}
.mg-row figcaption{font-size:15px;line-height:1.4;color:#cfc4b8;word-break:keep-all;text-shadow:none}
.mg-row figcaption b{display:block;font-family:'Noto Serif KR',var(--serif);font-size:20px;color:#fff}
.mg-row .mg-ph{width:100%;max-width:120px}
@media (min-width:768px){.mg-row{gap:28px}.mg-row figure{flex-basis:170px}.mg-row .mg-ph{max-width:160px}.mg-ar{margin-top:66px}.mg-row figcaption{font-size:16px}.mg-row figcaption b{font-size:22px}}
/* 사진 띠 제목 */
.gal-hd{text-align:center;padding:40px 16px 18px}
.gal-k{display:block;color:#c0582a;font-weight:800;font-size:15px;letter-spacing:.12em;margin-bottom:6px}
.gal-title{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:26px;margin:0;color:#2b2622;word-break:keep-all}
@media (min-width:768px){.gal-hd{padding:64px 16px 26px}.gal-title{font-size:38px}}
/* =====================================================================
   11/04o 디자인 점검 고침 (제목 통일 · 칸 배경 번갈아 · 누르는 칸 44px · 초점 표시)
   ===================================================================== */
/* 칸 제목: 모든 칸 같은 글꼴·크기·가운데 (휴대폰 26px · PC 38px) */
.rev-title,.chat-title,.gal-title,.care-title,.reason-title,.vs-hd h2,.cost-title,
.price .sec-title,.proc .sec-title,.reserve .sec-title,.faq .sec-title{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:26px;line-height:1.4;text-align:center;word-break:keep-all;text-wrap:balance}
.mstory-hero h2{text-wrap:balance}
.price .sec-title,.proc .sec-title,.reserve .sec-title,.faq .sec-title{margin-bottom:24px}
@media (min-width:768px){
  .rev-title,.chat-title,.gal-title,.care-title,.reason-title,.vs-hd h2,.cost-title,
  .price .sec-title,.proc .sec-title,.reserve .sec-title,.faq .sec-title{font-size:38px}
  .price .sec-title,.proc .sec-title,.reserve .sec-title,.faq .sec-title{margin-bottom:32px}
}
/* 칸 위아래 간격 맞춤 */
section.cost{padding:64px 0}
@media (min-width:768px){section.cost{padding:96px 0}}

/* 붙은 칸 배경이 같아 섞이던 곳 */
/* 받으시고 놓기만(한지) → 믿고 맡기는 이유: 밝은 바탕으로 */
section.reason{background:radial-gradient(ellipse 60% 70% at 88% 15%,rgba(255,214,150,.4),transparent 70%),#fffdf9}
/* 안심 약속: 녹색 띠로 (직접 장보면 · 가격 칸 사이 구분) */
.promise-band{background:var(--green);padding:26px 0}
.promise-band .promise{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;padding:0;color:#fff;font-size:18px;font-weight:600}
.promise-band .promise b{background:#ffd99a;color:var(--ink)}
.promise-band .promise span+span::before{color:rgba(255,255,255,.6)}
@media (min-width:768px){.promise-band{padding:30px 0}}
/* 예약하기(흰색) → 자주 묻는 질문: 미색 종이 바탕 */
section.faq{background:var(--paper),var(--cream)}
section.faq .faq-item{background:#fff}

/* 예약: PC에서도 한 줄로 차례대로 (빈 칸 없이) · 질문도 가운데 */
@media (min-width:768px){
  .reserve .wrap{max-width:800px}
  .steps{grid-template-columns:1fr}
  .faq .wrap{max-width:860px}
}

/* 가격표 추천(중) 열: 끊기는 빨간 세로줄 대신 옅은 바탕 */
.cmp td.best-col{border-left:0;border-right:0;background:#fff6ee}

/* 누르는 칸 44px 이상 */
.rev-more{align-self:flex-start;min-height:44px;padding:0 18px!important;font-size:16px!important}
.vs-prev,.vs-next{width:48px;height:48px}
.vs-dot,.vs-dot.on{position:relative;height:44px;border:0;background:none}
.vs-dot::before{content:"";position:absolute;left:10px;right:10px;top:16px;bottom:16px;border-radius:999px;background:rgba(255,255,255,.45);transition:background .3s}
.vs-dot.on::before{background:#c0582a}
.agree{min-height:44px;padding:8px 0;align-items:flex-start}
.footer-links{gap:8px 22px}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.cmp tfoot .btn{min-height:44px;padding:0 20px;display:inline-flex;align-items:center}

/* 휴대폰 글자 15px 아래 없애기 */
.cost-v2 td.n small{font-size:15px}

/* 키보드 초점 표시: 밝은 칸은 주홍, 어두운 칸은 금색 */
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--vermilion);outline-offset:3px}
.hero a:focus-visible,.mstory a:focus-visible,.mstory button:focus-visible,.chat a:focus-visible,.vs-stage button:focus-visible,.site-footer a:focus-visible,.promise-band a:focus-visible{outline-color:#ffd99a}
.agree input:focus-visible{outline:3px solid var(--vermilion);outline-offset:2px}
/* 11/05 5가지 상 */
.pick label small{font-size:15px;font-weight:600;color:var(--ink-soft)}
@media (max-width:767px){.pick-grid .pick:last-child:nth-child(odd){grid-column:1/-1}}

.cmp-note{display:block;font-size:14px;font-weight:600;color:#8a7d70}

/* 가격 카드 5장 (시안 1번) + 재료 이모티콘 */
.pcards{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;margin:0 -2px;scrollbar-width:none}
.pcards::-webkit-scrollbar{display:none}
.pc{flex:0 0 78%;scroll-snap-align:center;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(43,38,34,.08);align-self:flex-start}
.pc.best{outline:3px solid #c0582a}
.pc-ph{height:170px;background:center/cover;position:relative}
.pc-ph em{position:absolute;top:10px;left:10px;background:#ffd99a;color:#2b2622;font-style:normal;font-weight:800;font-size:15px;padding:3px 12px;border-radius:999px}
.pc-in{padding:16px}
.pc-in h3{margin:0;font-family:'Noto Serif KR',var(--serif);font-size:24px}
.pc-pp{display:inline-block;background:#2f4a3a;color:#fff;font-weight:800;font-size:15px;border-radius:999px;padding:2px 12px;margin:6px 0}
.pc-pr{margin:2px 0 4px;font-family:'Noto Serif KR',var(--serif);font-weight:900;font-size:26px;color:#c0582a}
.pc-k{margin:0 0 10px;font-size:15px;color:#5a514a;line-height:1.5;min-height:45px;word-break:keep-all}
.pc-more{width:100%;min-height:48px;border:1.5px solid #2b2622;border-radius:10px;background:#fff;font-size:16px;font-weight:800;cursor:pointer;color:#2b2622}
.pc-more[aria-expanded="true"]{background:#2b2622;color:#fff}
.pc-list{list-style:none;margin:10px 0;padding:10px 12px;background:#fbf6ee;border-radius:10px;font-size:15px;line-height:1.85}
.pc-list i{font-style:normal;display:inline-block;width:1.6em}
.pc .btn{margin-top:10px}
.cmp-open{margin:8px auto 0;display:flex;max-width:420px}
.cmp-box.open{display:block;background:none;padding:0;margin-top:14px}
@media (min-width:900px){.pcards{display:grid;grid-template-columns:repeat(5,1fr);overflow:visible}.pc{flex:none}.pc-ph{height:130px}.pc-in h3{font-size:22px}.pc-pr{font-size:22px}}

.pc-list.full-list li,.pc-list li{display:block!important;background:none!important;border:0!important;box-shadow:none!important;padding:1px 0!important;margin:0!important;font-size:15px;line-height:1.7;opacity:1!important;transform:none!important}
.pc-list{display:none}.pc-list.open{display:block}

/* 자세히 보기 = 가운데 큰 창 (시안 4번) */
.md-dim{position:fixed;inset:0;z-index:1000;background:rgba(20,15,10,.6);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;padding:16px}
.md-dim.open{display:flex}
.md{position:relative;width:min(920px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.35);display:grid;grid-template-columns:1fr}
.md-ph{min-height:200px;background:center/cover}
.md-in{padding:18px 18px 20px}
.md-in h3{margin:0;font-family:'Noto Serif KR',var(--serif);font-size:22px}.md-in h3 small{display:block;font-family:var(--sans);font-size:15px;color:#c0582a;font-weight:800;margin-top:2px}
.md-cnt{color:#8a7d70;font-size:14px;font-weight:700;margin:4px 0 0}
.md-gp{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
.md-gc{background:#fbf6ee;border-radius:10px;padding:10px 12px}.md-gc h5{margin:0 0 3px;font-size:15px;color:#c0582a}.md-gc p{margin:0;font-size:15px;line-height:1.6;word-break:keep-all}
.md-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:22px;font-weight:900;cursor:pointer;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.md .btn{margin-top:14px}
@media (min-width:768px){.md{grid-template-columns:320px 1fr}.md-ph{min-height:100%}.md-gp{grid-template-columns:1fr 1fr}.md-in{padding:22px 24px}}

.md-dim{backdrop-filter:none;background:rgba(20,15,10,.7)}

.md-ph{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:#2b2622;aspect-ratio:4/3;min-height:0!important}
@media (min-width:768px){.md{grid-template-columns:400px 1fr;align-items:center}.md-ph{align-self:stretch;aspect-ratio:auto}}

/* 자세히 보기 창 5번: 사진 넘기기 + 구성 표 */
.md.md5 .md-ph{display:none}
.md-sl{position:relative;overflow:hidden;background:#2b2622;aspect-ratio:4/3}
.md-track{display:flex;height:100%;transition:transform .35s ease}
.md-pic{flex:0 0 100%;height:100%}.md-pic img{width:100%;height:100%;object-fit:cover;display:block}
.md-ar{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:26px;cursor:pointer}
.md-ar.l{left:10px}.md-ar.r{right:10px}
.md-dots{position:absolute;bottom:12px;left:0;right:0;display:flex;gap:6px;justify-content:center}
.md-dots i{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.55);transition:width .2s}.md-dots i.on{width:24px;background:#fff}
.md-tb{width:100%;border-collapse:collapse;margin-top:10px;font-size:15px}
.md-tb th{text-align:left;width:118px;color:#c0582a;font-weight:800;padding:8px 4px;border-bottom:1px solid #f0e8dc;vertical-align:top;font-size:14.5px}
.md-tb td{padding:8px 4px;border-bottom:1px solid #f0e8dc;line-height:1.55;word-break:keep-all}
@media (min-width:768px){.md.md5{grid-template-columns:440px 1fr;align-items:stretch}.md-sl{aspect-ratio:auto;min-height:100%}}
@media (prefers-reduced-motion:reduce){.md-track{transition:none}}

.md-pic{display:flex;align-items:center;justify-content:center;background:#f3ece2}.md-pic img{object-fit:contain!important;width:100%;height:auto!important;max-height:100%}
.md-sl{background:#f3ece2}
@media (min-width:768px){.md.md5{align-items:center}.md-sl{aspect-ratio:4/3;min-height:0;align-self:center}}

/* 이야기 한 줄 · 환불 안내 */
.mstory-quote{font-family:'Gowun Batang',var(--serif);font-weight:700;font-size:22px;color:#ffd99a;margin:0 0 10px;word-break:keep-all}
@media (min-width:768px){.mstory-quote{font-size:30px}}
.refund-box{background:#fff;border:2px solid #2f4a3a;border-radius:16px;padding:16px 18px;margin:0 0 22px}
.refund-box b{display:block;font-size:18px;margin-bottom:8px;color:#2f4a3a}
.refund-box ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.refund-box li{background:#f6f1e7;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.refund-box li span{font-size:14px;color:#6b5f54;font-weight:700}.refund-box li strong{font-size:17px;color:#c0582a}
.refund-box p{margin:10px 0 0;font-size:14px;color:#6b5f54;line-height:1.6;word-break:keep-all}
@media (min-width:768px){.refund-box ul{grid-template-columns:repeat(4,1fr)}}
/* 11/04 한시한편 반영: 하루 한정 · 같은 레시피 · 4단계 · 숫자 · 묶음 할인 */
.hero-limit{display:inline-block;background:rgba(255,217,154,.95);color:var(--ink);font-weight:900;font-size:1.05rem;border-radius:999px;padding:.45em 1.1em;margin:0 0 14px}
.hero-limit[hidden],.worry-num[hidden],.bundle[hidden]{display:none}
.same-recipe{max-width:820px;margin:0 auto 22px;background:var(--green);color:#fff;border-radius:16px;padding:16px 22px;text-align:center;font:700 1.25rem/1.5 var(--serif)}
.same-recipe em{font-style:normal;color:#ffd99a}.same-recipe small{display:block;font:600 .9rem var(--sans);color:#cfe0d4;margin-top:4px}
.proc{background:#fff;padding:64px 0}.proc-sub{text-align:center;color:#6b5f54;margin:-6px 0 24px}
.proc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.proc-steps li{background:var(--cream);border-radius:16px;overflow:hidden;padding-bottom:16px}
.proc-ph{height:190px;background:center/cover;position:relative;margin-bottom:14px}
.proc-ic{background:var(--green);display:flex;align-items:center;justify-content:center;font-size:76px}
.proc-no{position:absolute;left:12px;top:12px;background:var(--vermilion);color:#fff;font:900 1rem var(--serif);border-radius:999px;padding:3px 12px}
.proc-steps b{display:block;font:700 1.15rem var(--serif);padding:0 16px;margin-bottom:6px}.proc-steps p{margin:0;padding:0 16px;font-size:.95rem;line-height:1.6;color:#5a514a}
.worry-num{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.wn-q,.wn-a{margin:0;border-radius:16px;padding:22px}
.wn-q{background:var(--cream);font:700 1.2rem/1.5 var(--serif)}.wn-q small{display:block;font:700 .85rem var(--sans);color:#8a7d70}
.wn-a{background:var(--green);color:#e8dfd3;text-align:center}.wn-a strong{display:block;font:900 3.5rem var(--serif);color:#ffd99a}
.bundle{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}.bd{background:#fff4ec;border:2px dashed var(--vermilion);border-radius:16px;padding:16px 20px}
.bd h3{margin:0 0 6px;font:700 1.15rem var(--serif);color:var(--vermilion)}.bd p{margin:0;line-height:1.6}
@media(max-width:820px){.proc-steps{grid-template-columns:1fr 1fr}.proc-ph{height:130px}.worry-num,.bundle{grid-template-columns:1fr}.same-recipe{font-size:1.05rem}}
/* 11/04 4단계 사진 칸을 '받으시고 놓기만' 칸 안으로 합침 */
.care .proc-steps li{background:#fff;box-shadow:0 8px 24px rgba(43,38,34,.08)}

/* 11/04 칸 순서 회의 반영: 안심 약속 띠를 가격 칸 맨 위로 · 이야기 핵심 두 줄 · 결제 없음 위로 */
.price > .promise-band{margin:-64px 0 40px}
@media (min-width:768px){.price > .promise-band{margin:-96px 0 56px}}
.mstory-hook-hl{font-family:'Gowun Batang',var(--serif);font-size:19px;line-height:1.7;color:#ffd99a;margin:18px auto 0;text-shadow:0 2px 10px rgba(0,0,0,.5);word-break:keep-all}
@media (min-width:768px){.mstory-hook-hl{font-size:23px}}
.no-pay-top{margin:-4px 0 20px}
/* =====================================================================
   11/04 특수효과 회의 반영 (추천 4 + 고칠 것)
   ===================================================================== */
/* 1. 안심 약속 띠: '만복' 도장 한 번 꾹 (튕김·흔들림·되풀이 없음) */
.pm-seal{flex:none;width:44px;height:44px;border-radius:6px;background:#b5321f;color:#fff;font-family:'Noto Serif KR',var(--serif);font-style:normal;font-size:14px;font-weight:900;line-height:1.05;display:inline-flex;align-items:center;justify-content:center;text-align:center;border:1.5px solid #f3e6cf;transform:rotate(-4deg);position:relative;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.pm-seal::after{content:"";position:absolute;inset:-3px;border-radius:9px;pointer-events:none;opacity:0}
.js .pm-seal.pm-wait{opacity:0}
.pm-seal.pm-in{animation:pm-stamp .35s cubic-bezier(.2,.8,.2,1) both}
.pm-seal.pm-in::after{animation:pm-ink .6s ease-out .3s both}
@keyframes pm-stamp{from{opacity:.35;transform:rotate(-4deg) scale(1.3)}to{opacity:1;transform:rotate(-4deg) scale(1)}}
@keyframes pm-ink{0%{opacity:1;box-shadow:0 0 0 0 rgba(181,50,31,.55)}100%{opacity:0;box-shadow:0 0 0 14px rgba(181,50,31,0)}}

/* 칸마다 다른 등장: 옅게만(rv-f) · 제자리에서 커지며(rv-zi) · 왼쪽에서 한 줄씩(rv-x) */
.rv.rv-f{transform:none;transition:opacity .8s ease;transition-delay:0s}
.rv.rv-f.in{transition-delay:var(--rv-d,0ms)}
.rv.rv-zi{transform:scale(.94);transition:opacity .6s ease,transform .7s cubic-bezier(.16,1,.3,1),translate .4s ease,box-shadow .4s ease;transition-delay:var(--rv-d,0ms),var(--rv-d,0ms),0s,0s}
.rv.rv-zi.in{transform:none}
.cost-t tbody tr.rv.rv-x{transform:translateX(-24px)}
.cost-t tbody tr.rv.rv-x.in{transform:none}

/* 2. 3대 사진: 1대 → 2대 → 3대 차례로, 3대만 흑백에서 천천히 컬러로 (스크립트가 .rv를 붙였을 때만 흑백 시작) */
.mg-row figure.rv .mg-color{filter:grayscale(1)}
/* 색 번짐은 나타날 때만 (흑백으로 바뀔 때는 바로) */
.mg-row figure.rv.in .mg-color{filter:none;transition:filter 1.2s ease;transition-delay:calc(var(--rv-d,0ms) + .5s)}

/* 3. 예약 확인 카드: 동그라미 0.5초 → 체크 0.35초 */
.done-card{background:#fff;border:2px solid var(--green);border-radius:18px;padding:22px 20px 24px;text-align:center;}
.done-card:focus{outline:none}
.done-mock{margin:0 0 14px;background:#fbeeee;color:#b02a2a;font-weight:800;font-size:16px;border-radius:10px;padding:10px 12px}
.done-ic{width:76px;height:76px;display:block;margin:0 auto 6px}
.done-c,.done-k{fill:none;stroke:var(--vermilion);stroke-linecap:round;stroke-linejoin:round}
.done-c{stroke-width:5;stroke-dasharray:189;stroke-dashoffset:189;animation:done-draw .5s ease-out forwards}
.done-k{stroke-width:6;stroke-dasharray:44;stroke-dashoffset:44;animation:done-draw .35s ease-out .5s forwards}
@keyframes done-draw{to{stroke-dashoffset:0}}
.done-t{margin:4px 0 14px;font-family:'Noto Serif KR',var(--serif);font-size:22px}
.done-sum{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;max-width:420px;margin:0 auto 6px;text-align:left;font-size:17px}
.done-sum dt{color:#8a7d70;font-weight:700}.done-sum dd{margin:0;font-weight:700;color:var(--ink);word-break:keep-all;overflow-wrap:anywhere}
.done-edit{margin-top:14px;min-height:48px;padding:0 22px;border-radius:12px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font-size:16px;font-weight:800;cursor:pointer}

/* 4. 휴대폰 가격 카드: 처음 한 번 살짝 밀기 */
@keyframes pc-nudge{0%{transform:none}45%{transform:translateX(-40px)}100%{transform:none}}
.pcards.pc-nudge .pc{animation:pc-nudge .9s cubic-bezier(.3,.7,.3,1) both}
.pc-hint{display:none}
@media (max-width:899px){.pc-hint{display:block;margin:0 0 8px;text-align:right;font-size:15px;font-weight:700;color:#6b5f54}}

/* 고칠 것: 후기 '1 / 5' + 처음·끝 단추 흐리게 */
.rev-count{align-self:center;min-width:60px;text-align:center;font-size:16px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.rev-prev.is-dim,.rev-next.is-dim{opacity:.35;cursor:default}
/* 고칠 것: 상차림 사진 띠 멈춤 단추 · 화면 밖이면 멈춤 */
.gal-ctl{display:flex;justify-content:flex-end;max-width:1120px;margin:12px auto 0;padding:0 20px}
.gal-pause{min-height:48px;padding:0 18px;border-radius:999px;border:1px solid rgba(43,38,34,.3);background:#fff;color:var(--ink);font-size:15px;font-weight:800;cursor:pointer}
@media (hover:hover) and (pointer:fine){.gal-row:hover .gal-track{animation-play-state:paused}}
.gal.paused .gal-track,.gal.off .gal-track{animation-play-state:paused}
/* 고칠 것: '자세히 보기'·'사진 크게 보기' 창이 열 때마다 옆에서 밀려 들어오던 것 */
body > .lb,body > .md-dim{animation:none}
/* 고칠 것: 가격표 그림자는 표를 바로 감싼 안쪽 칸에만 */
.full-list.cmp-box::after{display:none}
/* 고칠 것: 첫 화면 가볍게 (배지 흐림 → 반투명 색 · 화면 밖이면 배경 멈춤 · 빛 줄은 모양 옮기기로) */
.hero-badges li{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(30,24,20,.42)}
.hero-btns .btn-primary::after,.mobile-bar .bar-reserve::after{animation-name:eu-shine2}
@keyframes eu-shine2{0%,80%{transform:translateX(0) skewX(-18deg)}100%{transform:translateX(570%) skewX(-18deg)}}

@media (prefers-reduced-motion:reduce){
  .rv.rv-f,.rv.rv-zi,.cost-t tbody tr.rv.rv-x{opacity:1!important;transform:none!important;transition:none!important}
  .mg-row figure.rv .mg-color{filter:none!important}
  .js .pm-seal.pm-wait{opacity:1}
  .pm-seal.pm-in,.pm-seal.pm-in::after,.pcards.pc-nudge .pc{animation:none!important}
  .done-c,.done-k{animation:none!important;stroke-dashoffset:0}
  .gal-ctl{display:none}
}
/* 11/04 검토 반영 */
/* 사진 띠 양끝 흐림은 사진 줄에만 (멈춤 단추가 흐려지지 않게) */
.gal{-webkit-mask-image:none;mask-image:none}
.gal-row{-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
/* 768px 이상: 도장을 띠 오른쪽 끝에 고정 (어떤 폭에서도 혼자 아랫줄로 떨어지지 않게) */
@media (min-width:768px){.promise-band .wrap{position:relative}.promise-band .promise{padding-right:56px}.pm-seal{position:absolute;right:20px;top:calc(50% - 22px)}}
/* 띄어쓰기 없는 긴 주소도 칸 안에서 줄바꿈 */
.summary dd{overflow-wrap:anywhere}
/* 11/05 가격 할인 표시 (시안 3번): 원래 가격 줄 긋기 + '○만 할인' 붉은 도장 (약속 띠 '만복' 도장과 같은 모양) */
.pc-in{position:relative}
.pc-was{margin:2px 0 0;font-size:15px}
.pc-was s{position:relative;text-decoration:none;color:#8a7d70;font-weight:600}
.pc-was s::after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:2px;background:#8a7d70;transform-origin:left center}
.pc-seal{position:absolute;right:14px;top:14px;width:50px;height:50px;border-radius:6px;background:#b5321f;color:#fff;font-family:'Noto Serif KR',var(--serif);font-style:normal;font-size:13px;font-weight:900;line-height:1.1;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-8deg);border:1.5px solid #f3e6cf;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.pc-seal::after{content:"";position:absolute;inset:-3px;border-radius:9px;pointer-events:none;opacity:0}
.js .pc-in.wait .pc-was s::after{transform:scaleX(0)}
.js .pc-in.wait .pc-seal{opacity:0}
.pc-in.go .pc-was s::after{transition:transform .45s ease .15s}
.pc-in.go .pc-seal{animation:pc-stamp .35s cubic-bezier(.2,.8,.2,1) .6s both}
.pc-in.go .pc-seal::after{animation:pm-ink .6s ease-out .9s both}
@keyframes pc-stamp{from{opacity:0;transform:rotate(-8deg) scale(1.35)}to{opacity:1;transform:rotate(-8deg) scale(1)}}
@media (prefers-reduced-motion:reduce){.js .pc-in.wait .pc-was s::after{transform:none}.js .pc-in.wait .pc-seal{opacity:1}.pc-in.go .pc-seal,.pc-in.go .pc-seal::after{animation:none}}
/* 11/05 전체 점검 반영 (화면) */
/* 비교표: PC·태블릿에서도 칸 안에서 줄바꿈 · 사진 높이 같게 */
@media (min-width:768px){.cmp th,.cmp td{white-space:normal}.cmp thead th:not(:first-child){min-width:140px;width:auto}}
.cmp .cmp-ph{height:110px;object-fit:cover;aspect-ratio:auto}
/* 상차림 안내·칼럼: 아래 바 단추가 하나면 꽉 채움 */
.mobile-bar a:only-child{grid-column:1/-1}
/* 태블릿: 위 메뉴 글자 꺾이지 않게 */
@media (min-width:768px) and (max-width:1023px){.gnb a{white-space:nowrap;padding-left:8px;padding-right:8px}.logo-tag-t{display:none}}
/* 900~1080px: 가격 카드 예약 단추 한 줄로 */
@media (min-width:900px){.pc .btn{padding:0 10px;font-size:16px;white-space:nowrap}}
/* 959px 이하: 약속 띠는 세로로 (둘째 줄이 '·'로 시작하지 않게) */
@media (max-width:959px){.promise-band .promise{flex-direction:column;justify-content:center;text-align:center;gap:6px}.promise span+span::before{display:none}}
/* 휴대폰: 첫 화면 문의 단추가 아래 바에 가리지 않게 */
@media (max-width:767px){.hero{padding-bottom:calc(56px + var(--bar-h))}}
/* 할인 도장 글자 조금 크게 */
.pc-seal{width:54px;height:54px;font-size:14px}
/* 사진 띠 한 바퀴 돌 때 툭 튀지 않게 */
.gal-track{gap:0}.gal-track img{margin-right:14px}
/* 11/06 번호만 남기면 전화드려요 */
.cb{position:relative;box-sizing:border-box;width:100%;max-width:520px;margin:18px auto 0;text-align:left;align-self:center}
.cb-t{margin:0 0 10px;font-weight:900;font-size:17px;line-height:1.4;text-align:center}
.cb-row{display:flex;gap:8px}
.cb-row input{flex:1 1 0;width:0;min-width:0;height:54px;border-radius:12px;border:2px solid #d8cbb8;padding:0 14px;font:800 19px/1 var(--sans);background:#fff;color:#2b2622}
.cb-row input:focus{outline:3px solid #e9b65a;outline-offset:1px;border-color:#c0582a}
.cb-btn{flex:0 0 auto;height:54px;padding:0 18px;border:0;border-radius:12px;background:#c0582a;color:#fff;font:900 18px/1 var(--sans);white-space:nowrap;cursor:pointer}
.cb-btn:hover{background:#a8461f}.cb-btn:disabled{opacity:.6;cursor:wait}
.cb-ok{display:flex;gap:8px;align-items:flex-start;margin:10px 2px 0;font-size:13.5px;line-height:1.5;cursor:pointer}
.cb-ok input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#c0582a}
.cb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.cb-msg{min-height:1.3em;margin:8px 0 0;font-weight:800;font-size:15px;text-align:center}
.cb-msg:empty{min-height:0;margin:0}
.cb-dark{background:rgba(30,24,20,.55);border:1px solid rgba(255,255,255,.28);border-radius:16px;padding:14px 14px 12px}
.cb-dark .cb-t,.cb-dark .cb-ok{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.55)}
.cb-dark .cb-msg{color:#ffd99a}
.cb-light{background:#fff;border:2px solid #e8dccb;border-radius:16px;padding:16px;margin:16px auto 22px;box-shadow:0 6px 18px rgba(43,38,34,.06)}
.cb-light .cb-ok{color:#5a514a}.cb-light .cb-msg{color:#2f7a4a}
@media (max-width:380px){.cb-btn{padding:0 12px;font-size:16px}.cb-row input{font-size:17px;padding:0 10px}}
.cb-ok a{color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:800}
.cb-row input[aria-invalid=true]{border-color:#b02a2a}
@media (max-width:359px){.cb-row{flex-wrap:wrap}.cb-row input{flex:1 1 100%;width:100%}.cb-btn{flex:1 1 100%}}
