/* 구읍뱃터 파시 — 한지 · 먹 남색 · 그물 주황
   층 색: 1층 바다(남청) / 2층 아궁이(주황) / 3층 소나무(초록) — 모두 실제 공간에서 가져온 차분한 색 */
:root{
  --paper:#f2ebdd; --paper-2:#e9dfcb; --paper-3:#e2d6bf; --card:#f8f3e9;
  --ink:#15263a; --ink-2:#22364c; --ink-soft:#4b5866; --mute:#7a7466;
  --line:rgba(21,38,58,.14); --line-2:rgba(21,38,58,.24);
  --net:#cf5427; --net-l:#f3b48f;
  --c1:#2b5d78; --c1-t:#e4e6dd;
  --c2:#c8572c; --c2-t:#efe2cf;
  --c3:#3d5b47; --c3-t:#e3e4d4;
  --f-disp:"Hahmlet","Noto Serif KR","AppleMyungjo",serif;
  --f-body:"Pretendard","Apple SD Gothic Neo","Malgun Gothic",sans-serif;
  --f-brush:"Nanum Brush Script","Hahmlet",cursive;
  --wrap:1180px; --gut:clamp(16px,4vw,40px); --r:14px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.7;word-break:keep-all;overflow-wrap:break-word;overflow-x:hidden;
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35  0 0 0 0 .3  0 0 0 0 .22  0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--net);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 14px;z-index:99;border-radius:8px}
.skip:focus{left:12px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.wrap.narrow{max-width:calc(880px + var(--gut)*2)}

/* 글자 */
h1,h2,h3{font-family:var(--f-disp);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:0;text-wrap:balance}
h2{font-size:clamp(30px,4.2vw,50px)}
h3{font-size:clamp(21px,2.2vw,26px)}
p{margin:0}
.hand{font-family:var(--f-brush);font-size:clamp(26px,2.6vw,32px);line-height:1;color:var(--net);margin-bottom:12px}
.lead{font-size:clamp(16.5px,1.5vw,18.5px);color:var(--ink-soft);margin-top:18px}
.small{font-size:14px;color:var(--mute);margin-top:14px}
.link{font-weight:700;text-decoration:none;border-bottom:2px solid var(--net);padding-bottom:2px;white-space:nowrap}
.link:hover{color:var(--net)}
.hl{color:var(--net)}
.hl-1{color:var(--c1)}

/* 층 이름표 */
.tag{display:inline-flex;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.08em;padding:5px 12px;border-radius:999px;background:var(--ink);color:var(--paper);line-height:1.3}
.t1{background:var(--c1)}.t2{background:var(--c2)}.t3{background:var(--c3)}.t0{background:var(--mute)}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:1.5px solid transparent;transition:transform .15s ease,background .15s ease,color .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn-1,.btn-ink{background:var(--ink);color:var(--paper)}
.btn-1:hover,.btn-ink:hover{background:var(--net)}
.btn-2{background:var(--c2);color:#fff}.btn-3{background:var(--c3);color:#fff}
.btn-2:hover,.btn-3:hover{background:var(--ink)}
.btn-line{border-color:var(--line-2);color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}

/* 머리 */
.hd{position:sticky;top:0;z-index:50;background:rgba(242,235,221,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.hd-in{max-width:calc(var(--wrap) + var(--gut)*2);margin:0 auto;padding:0 var(--gut);height:68px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.logo-mark{font-family:var(--f-disp);font-weight:800;font-size:28px;letter-spacing:-.04em;line-height:1;margin:0}
.logo-sub{font-size:12px;color:var(--ink-soft);letter-spacing:.06em}
.nav{display:flex;gap:26px;margin-left:auto}
.nav a{text-decoration:none;font-weight:600;font-size:15px;color:var(--ink-2);position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--net);transform:scaleX(0);transition:transform .2s}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.hd-cta{background:var(--ink);color:var(--paper);text-decoration:none;font-weight:700;font-size:14px;padding:10px 18px;border-radius:999px;white-space:nowrap}
.hd-cta:hover{background:var(--net)}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;border-radius:10px}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary span{width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s}
.mnav[open] summary span:first-child{transform:translateY(4px) rotate(45deg)}
.mnav[open] summary span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mnav nav{position:absolute;right:0;top:54px;width:min(80vw,280px);background:var(--paper);border:1px solid var(--line-2);border-radius:16px;padding:10px;box-shadow:0 16px 40px rgba(21,38,58,.18);display:flex;flex-direction:column}
.mnav nav a{padding:13px 14px;text-decoration:none;font-weight:600;border-radius:10px}
.mnav nav a:hover{background:var(--paper-2)}

/* 사진 */
.photo{margin:0;min-height:0;position:relative;border-radius:var(--r);overflow:hidden;background:var(--paper-3)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo figcaption{position:absolute;left:12px;bottom:12px;margin:0;background:rgba(21,38,58,.78);color:var(--paper);font-family:var(--f-body);font-size:13px;font-weight:600;padding:5px 11px;border-radius:999px;backdrop-filter:blur(4px)}

/* 가격 원형 표시 */
.sticker{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-weight:700;line-height:1.2;color:#fff8f0;background:var(--net);width:128px;height:128px;border-radius:50%;font-size:13px;box-shadow:0 12px 30px rgba(207,84,39,.3)}
.sticker b{font-family:var(--f-disp);font-weight:800;font-size:34px;letter-spacing:-.03em}
.st-1{background:var(--c1);box-shadow:0 12px 30px rgba(43,93,120,.3)}

/* 가격표 — 시장 정찰제 꼬리표 */
.ptag{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--card);color:var(--ink);padding:16px 22px 14px 30px;border-radius:6px 14px 14px 6px;box-shadow:0 14px 34px rgba(21,38,58,.18);border-left:6px solid var(--net);line-height:1.15}
.ptag::before{content:"";position:absolute;left:10px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--paper);box-shadow:inset 0 1px 2px rgba(21,38,58,.35)}
.ptag-k{font-size:12.5px;font-weight:700;letter-spacing:.1em;color:var(--net)}
.ptag b{font-family:var(--f-disp);font-weight:800;font-size:40px;letter-spacing:-.03em}
.ptag b small{font-family:var(--f-body);font-size:16px;font-weight:700;margin-left:3px;letter-spacing:0}
.ptag-s{font-size:12px;color:var(--mute);font-weight:600}
.ptag-hero{position:absolute;right:-14px;bottom:8%;z-index:3;transform:rotate(-3deg)}
.price-band .ptag{flex:0 0 auto;box-shadow:none;background:var(--paper)}

/* 첫 화면 */
.hero{padding-block:clamp(40px,6vw,80px) clamp(70px,9vw,120px)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.hero h1{font-size:clamp(42px,6vw,78px);font-weight:800;line-height:1.13;letter-spacing:-.035em}
.hero .lead{margin-top:24px;max-width:32em}
.hero-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-facts{list-style:none;margin:34px 0 0;padding:16px 0 0;border-top:1px solid var(--line-2);display:flex;flex-wrap:wrap;gap:8px 28px;font-size:15px;color:var(--ink-soft)}
.hero-facts b{font-size:12px;letter-spacing:.12em;color:var(--net);margin-right:8px}
.hero-art{position:relative;min-height:clamp(420px,46vw,620px)}
.p-main{position:absolute;right:0;top:0;width:70%;aspect-ratio:3/4;box-shadow:0 24px 60px rgba(21,38,58,.22)}
.p-sub{position:absolute;left:0;bottom:0;width:44%;aspect-ratio:3/4;border:6px solid var(--paper);box-shadow:0 18px 40px rgba(21,38,58,.22)}
.st-price{position:absolute;right:-10px;bottom:6%;z-index:3}

/* 공통 섹션 */
.sec{position:relative;padding-block:clamp(72px,10vw,130px)}
.sec-head{margin-bottom:clamp(36px,5vw,60px)}
.sec-head.center{text-align:center}
.sec-head.row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.wave{position:absolute;left:0;top:1px;width:100%;height:clamp(20px,3vw,40px);transform:translateY(-100%)}

/* 가족 */
.family{padding-top:clamp(10px,2vw,30px)}
.fam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fam{display:flex;flex-direction:column;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .2s,box-shadow .2s}
.fam:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(21,38,58,.12)}
.fam-art{aspect-ratio:1/1;display:flex;align-items:flex-end;justify-content:center;padding:22px 20px 0;position:relative;overflow:hidden}
.fam-art::before{content:"";position:absolute;left:12%;right:12%;bottom:-40%;height:80%;border-radius:50%;opacity:.16}
.f1 .fam-art::before{background:var(--c1)}.f2 .fam-art::before{background:var(--c2)}.f3 .fam-art::before{background:var(--c3)}
.cutout{height:100%;width:auto;max-width:100%;object-fit:contain;position:relative;transition:transform .3s}
.fam:hover .cutout{transform:translateY(-6px)}
.illust.family-illust{margin:0 auto clamp(30px,4vw,48px);max-width:900px;border-radius:var(--r);overflow:hidden;box-shadow:0 24px 60px rgba(21,38,58,.18)}
.illust{margin:0}
.illust img{width:100%;height:auto;border-radius:var(--r)}
.fam>div{padding:22px 24px 26px}
.fam h3{margin:14px 0 8px}
.fam p{color:var(--ink-soft);font-size:15.5px}

/* 층 섹션 */
.floor-1{background:var(--c1-t)}.floor-1 .wave{fill:var(--c1-t)}
.floor-2{background:var(--c2-t)}.floor-2 .wave{fill:var(--c2-t)}
.floor-3{background:var(--c3-t)}.floor-3 .wave{fill:var(--c3-t)}
.floor-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center;margin-bottom:clamp(40px,5vw,60px)}
.floor-head .illust img{box-shadow:0 24px 60px rgba(21,38,58,.18)}
.floor-head h2{margin-top:16px;font-size:clamp(34px,4.8vw,58px);font-weight:800}
.floor-head .lead{max-width:38em}
.floor-char{width:auto;height:clamp(130px,13vw,170px);object-fit:contain;display:block}
.floor-1 .hl{color:var(--c1)}
.hoe-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr 1fr;grid-template-rows:auto auto;gap:18px;align-items:start}
.h-a{grid-column:1/2;grid-row:1/3;aspect-ratio:9/15}
.h-b{grid-column:2/3;grid-row:1/2;aspect-ratio:3/4}
.h-c{grid-column:3/4;grid-row:1/3;align-self:center}
.h-d{grid-column:4/5;grid-row:1/2;aspect-ratio:3/4}
.h-e{grid-column:2/3;grid-row:2/3;aspect-ratio:4/3.2}
.phone{margin:0;border-radius:28px;padding:7px;background:var(--ink);box-shadow:0 24px 50px rgba(21,38,58,.25)}
.phone video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:22px}
.mini-steps{list-style:none;margin:clamp(44px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid var(--ink)}
.mini-steps li{padding:18px 18px 4px 0;font-weight:700;display:flex;align-items:baseline;gap:12px}
.mini-steps li+li{padding-left:18px;border-left:1px solid var(--line)}
.mini-steps b{font-family:var(--f-disp);font-weight:800;color:var(--c1);font-size:22px}
.price-band{display:flex;align-items:center;gap:26px;margin-top:40px;background:var(--card);border-radius:var(--r);padding:24px 28px}
.price-band .sticker{flex:0 0 auto;width:112px;height:112px}
.price-band p{color:var(--ink-soft)}
.price-band strong{color:var(--ink)}

/* 반반 배치 */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:center}
.split.rev .split-copy{order:2}
.split-copy .floor-char{margin-bottom:14px}
.split-copy h2{margin-top:16px;font-weight:800}
.split-copy .prices{margin-top:26px;border-top:1.5px solid var(--ink)}
.split-copy>p:not(.hand):not(.lead):not(.small){color:var(--ink-soft);margin-top:14px}
.split-art{position:relative;min-height:clamp(440px,46vw,600px)}
.split-art .s-a{position:absolute;left:0;top:6%;width:60%;aspect-ratio:4/5;box-shadow:0 20px 50px rgba(21,38,58,.18)}
.split-art .s-b{position:absolute;right:0;top:0;width:44%;aspect-ratio:3/4;border:6px solid var(--paper);box-shadow:0 18px 40px rgba(21,38,58,.2)}
.split-art .s-c{position:absolute;right:4%;bottom:0;width:48%;aspect-ratio:4/3;border:6px solid var(--paper);box-shadow:0 18px 40px rgba(21,38,58,.2)}
.floor-2 .s-b,.floor-2 .s-c{border-color:var(--c2-t)}
.floor-3 .s-b,.floor-3 .s-c{border-color:var(--c3-t)}
.floor-3 .split-art .s-c{aspect-ratio:4/3;width:60%;right:auto;left:22%;bottom:-4%}
.floor-3 .split-art .s-a{top:2%;width:56%}
.floor-3 .split-art{min-height:clamp(480px,50vw,640px)}
.picnic .s-b{border-color:var(--paper-2)}
.split-art.one{min-height:0}
.split-art.one .s-a{position:relative;width:100%;aspect-ratio:4/3;top:0}
.visit .split-art.one .s-a{aspect-ratio:4/4.4}
.pic-art .s-a{width:58%;aspect-ratio:3/4}
.pic-art .s-b{top:auto;bottom:4%;width:48%;aspect-ratio:3/4}

/* 가격표 */
.prices{list-style:none;margin:0;padding:0}
.prices li{display:flex;align-items:baseline;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.pn{font-weight:600}
.pn small{font-size:13px;color:var(--mute);font-weight:500;margin-left:2px}
.dots{flex:1;border-bottom:1.5px dotted var(--line-2);transform:translateY(-4px);min-width:16px}
.pp{font-family:var(--f-disp);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
.pp small{font-size:13px;margin-left:1px;font-family:var(--f-body);font-weight:600}

/* 이용법 */
.guide{background:var(--ink);color:var(--paper)}
.guide h2,.guide h3{color:var(--paper)}
.guide .hand{color:var(--net-l)}
.guide-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:g}
.guide-grid li{counter-increment:g}
.guide-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r);margin-bottom:16px}
.guide-grid b{display:block;font-family:var(--f-disp);font-size:20px;font-weight:700}
.guide-grid b::before{content:counter(g) ". ";color:var(--net-l)}
.guide-grid p{font-size:15px;color:rgba(242,235,221,.72);margin-top:4px}
.selfbar-note{margin-top:clamp(44px,5vw,64px);padding-top:30px;border-top:1px solid rgba(242,235,221,.18)}
.selfbar-note h3{margin-bottom:18px}
.selfbar-note h3 span{font-size:.65em;font-family:var(--f-body);font-weight:600;color:rgba(242,235,221,.6);letter-spacing:.04em}
.selfbar-note .small{color:rgba(242,235,221,.55)}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{border:1px solid var(--line-2);border-radius:999px;padding:6px 14px;font-size:15px}
.guide .chips li{border-color:rgba(242,235,221,.35)}

/* 포장 · 영상 · 이야기 */
.picnic{background:var(--paper-2)}.picnic .wave{fill:var(--paper-2)}
.reel-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.reel-row figure{margin:0}
.reel-row video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:var(--r);background:var(--ink)}
.reel-row figcaption{font-size:14px;color:var(--mute);margin-top:10px}
.story{background:var(--paper-2)}
.visit{background:var(--paper)}.visit .wave{fill:var(--paper)}

/* 정보 */
.info{margin:24px 0 28px;border-top:1.5px solid var(--ink)}
.info div{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.info dt{font-size:13px;font-weight:700;color:var(--net);letter-spacing:.08em;padding-top:3px}
.info dd{margin:0;font-weight:600}
.info dd span{font-weight:500;color:var(--ink-soft);font-size:15px}
.info a{text-decoration:none;border-bottom:1.5px solid var(--net)}
.act{display:flex;flex-wrap:wrap;gap:10px}

/* 질문 */
.faq-teaser{background:var(--paper-2)}
.qa-list details{border-bottom:1px solid var(--line-2)}
.qa-list details:first-child{border-top:1.5px solid var(--ink)}
.qa-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-family:var(--f-disp);font-weight:600;font-size:clamp(18px,1.8vw,21px)}
.qa-list summary::-webkit-details-marker{display:none}
.qa-list summary::after{content:"+";font-family:var(--f-body);font-weight:400;font-size:28px;color:var(--net);line-height:1;transition:transform .2s}
.qa-list details[open] summary::after{transform:rotate(45deg)}
.qa-list details p{padding:0 40px 24px 0;color:var(--ink-soft);max-width:44em}

/* 하위 페이지 머리 */
.phero{padding-block:clamp(40px,6vw,80px) clamp(30px,4vw,50px)}
.phero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.phero h1{font-size:clamp(38px,5.4vw,66px);font-weight:800;margin-top:16px;line-height:1.15;letter-spacing:-.035em}
.phero-art{position:relative}
.phero-art .photo{aspect-ratio:4/3.3;box-shadow:0 24px 60px rgba(21,38,58,.2)}
.ph-char{position:absolute;left:-7%;bottom:-12%;height:clamp(150px,17vw,230px);width:auto;filter:drop-shadow(0 12px 18px rgba(21,38,58,.22))}

/* 메뉴 페이지 */
.menu-page{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.mp{background:var(--paper-2);border-radius:var(--r);padding:26px}
.mp-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.mp-head h2{font-size:26px}
.mp .photo{aspect-ratio:4/3;margin-bottom:18px;border-radius:10px}
.mp>p{color:var(--ink-soft);font-size:15.5px}
.mp .price-band{margin:0 0 16px;padding:14px 18px;gap:16px;background:var(--card)}
.mp .price-band .sticker{width:92px;height:92px;font-size:12px}
.mp .price-band .sticker b{font-size:26px}
.mp .price-band p{font-family:var(--f-disp);font-weight:700;font-size:22px;color:var(--ink)}
.menu-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,48px);margin-top:clamp(50px,6vw,80px);padding-top:36px;border-top:1.5px solid var(--ink)}
.menu-notes h3{font-size:22px;margin-bottom:14px}
.menu-notes p{color:var(--ink-soft);font-size:15.5px;margin-bottom:12px}

/* 오시는 길 */
.card{background:var(--paper-2);border-radius:var(--r);padding:32px}
.park h2{margin:16px 0 14px;font-size:clamp(28px,3vw,38px)}
.park p{color:var(--ink-soft);margin-bottom:10px}
.park strong{color:var(--ink)}
.bld{margin-top:clamp(60px,8vw,100px)}
.bld-list{list-style:none;margin:0 0 16px;padding:0;border-top:1.5px solid var(--ink)}
.bld-list li{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.bld-list .tag{justify-self:start}
.bld-list b{font-family:var(--f-disp);font-size:21px}
.bld-list p{color:var(--ink-soft);font-size:15.5px}

/* 예약 */
.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.res{background:var(--paper-2);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.res .photo{border-radius:0;aspect-ratio:16/11}
.res-body{padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:1}
.res-body h2{font-size:30px}
.res-body p{color:var(--ink-soft);flex:1}
.res-note{margin-top:30px;color:var(--ink-soft)}
.res-note a{font-weight:700;text-decoration:none;border-bottom:1.5px solid var(--net)}

/* FAQ */
.faq-page{display:grid;grid-template-columns:1fr 290px;gap:clamp(30px,5vw,70px);align-items:start}
.faq-side{position:sticky;top:96px;background:var(--ink);color:var(--paper);border-radius:var(--r);padding:16px 16px 26px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.faq-side img{border-radius:10px}
.faq-side .hand{color:var(--net-l);margin:8px 4px 0}
.faq-side .btn-ink{background:var(--paper);color:var(--ink);margin-left:4px}
.faq-side .small{color:rgba(242,235,221,.6);margin:0 4px}

/* 바닥 */
.ft{position:relative;background:var(--ink);color:var(--paper);padding-block:70px 34px;padding-bottom:calc(34px + env(safe-area-inset-bottom,0px));margin-top:40px}
.ft .wave{fill:var(--ink)}
.ft-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:start}
.ft .logo-mark{font-size:40px}
.ft-line{margin-top:12px;color:rgba(242,235,221,.7);font-family:var(--f-disp)}
.ft-fam{margin-top:22px;border-radius:12px;max-width:340px;width:100%;opacity:.95}
.ft-info{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:22px 30px}
.ft-info dt{font-size:12px;letter-spacing:.12em;color:var(--net-l);font-weight:700;margin-bottom:6px}
.ft-info dd{margin:0;font-size:15px;color:rgba(242,235,221,.88)}
.ft-info a{text-decoration:none}
.ft-links{display:flex;flex-wrap:wrap;gap:6px 16px}
.ft-links a:hover{color:var(--net-l)}
.ft-note{margin-top:44px;padding-top:20px;border-top:1px solid rgba(242,235,221,.14);font-size:13px;color:rgba(242,235,221,.5)}

/* 반응형 */
@media (max-width:1040px){
  .nav{display:none}.hd-cta{margin-left:auto}.mnav{display:block}
  .hoe-grid{grid-template-columns:1.1fr 1fr .9fr}
  .h-a{grid-column:1/2;grid-row:1/3}
  .h-b{grid-column:2/3;grid-row:1/2}
  .h-c{grid-column:3/4;grid-row:1/3}
  .h-d{grid-column:2/3;grid-row:2/3}
  .h-e{display:none}
  .guide-grid,.reel-row{grid-template-columns:repeat(2,1fr)}
  .mini-steps{grid-template-columns:1fr 1fr}
  .mini-steps li:nth-child(3){padding-left:0;border-left:0}
  .menu-page{grid-template-columns:1fr 1fr}.mp1{grid-column:1/-1}
}
@media (max-width:780px){
  body{font-size:16px}
  .floor-head{grid-template-columns:1fr}
  .ptag-hero{right:4px;bottom:2%}
  .ptag b{font-size:34px}
  .hd-in{height:60px;gap:12px}
  .logo-sub{display:none}
  .hd-cta{padding:9px 14px}
  .hero-grid,.split,.phero-grid,.res-grid,.faq-page,.menu-page,.menu-notes,.ft-grid{grid-template-columns:1fr}
  .split.rev .split-copy{order:0}
  .hero-art{min-height:clamp(380px,100vw,520px)}
  .fam-grid{grid-template-columns:1fr;gap:14px}
  .fam{display:grid;grid-template-columns:120px 1fr}
  .fam img{aspect-ratio:auto;height:100%}
  .fam>div{padding:16px}
  .floor-head{grid-template-columns:1fr}
  .floor-head .floor-char{display:none}
  .hoe-grid{grid-template-columns:1fr 1fr;gap:12px}
  .h-a{grid-column:1/2;grid-row:1/2;aspect-ratio:3/4}
  .h-b{grid-column:2/3;grid-row:1/2}
  .h-c{grid-column:1/3;grid-row:2/3;width:min(260px,72%);justify-self:center}
  .h-d{grid-column:1/3;grid-row:3/4;aspect-ratio:4/3}
  .mini-steps{grid-template-columns:1fr}
  .mini-steps li,.mini-steps li+li{padding:14px 0;border-left:0;border-bottom:1px solid var(--line)}
  .price-band{flex-direction:column;align-items:flex-start;padding:20px}
  .split-art{min-height:clamp(360px,96vw,500px)}
  .guide-grid{grid-template-columns:1fr 1fr;gap:14px}
  .guide-grid b{font-size:17px}
  .reel-row{grid-template-columns:1fr 1fr;gap:12px}
  .faq-side{position:static}
  .ph-char{left:auto;right:-2%;bottom:-8%}
  .ft-info{grid-template-columns:1fr}
  .info div{grid-template-columns:56px 1fr}
  .qa-list details p{padding-right:0}
}
@media (max-width:420px){
  .hero-act .btn{flex:1 1 100%}
  .sticker{width:104px;height:104px}.sticker b{font-size:28px}
}
